Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance tabs beneath slide area #1152

Open
wants to merge 61 commits into
base: inclusiveOCW
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
8c0ac0e
SWIK-1958 initial
dpaun Mar 7, 2018
8570d7f
SWIK-1958 added a service and a store
dpaun Mar 8, 2018
f812fca
SWIK-1958 added ui components
dpaun Mar 8, 2018
6febea1
SWIK-1958 Removed console log
dpaun Mar 8, 2018
ed84edd
SWIK-1958 finding the deck title
dpaun Mar 8, 2018
2cc4074
SWIK-1958 fixing some prediction ui components
dpaun Mar 8, 2018
9d0c926
SWIK-1958 creating a new prediction job - initial
dpaun Mar 9, 2018
59cf421
SWIK-1958 prediction item component changes
dpaun Mar 13, 2018
0d17883
SWIK-1958 added accordion and thumbnail for predicion job
dpaun Mar 21, 2018
04bd437
SWIK-1958 fixed missing semicolons
dpaun Mar 21, 2018
9545225
SWIK-1958 selecting a deck for a prediction job
dpaun Mar 23, 2018
285db1b
SWIK-1958 changed uri to use the analytics service on a server in PUPIN
dpaun Apr 4, 2018
f486035
SWIK-1958 merge from master
dpaun Apr 4, 2018
b2b33c2
SWIK-1958 correcting categories index
dpaun Apr 4, 2018
8721f71
SWIK-1958 performance predictions small ui improvements
dpaun Apr 12, 2018
47191a0
SWIK-1958 Performance prediction panel small ui changes
dpaun Apr 17, 2018
5b096b3
SWIK-1958 merged from master
dpaun May 17, 2018
32fdde0
SWIK-1958 corrected some labels
dpaun May 17, 2018
5233106
SWIK-1958 Fixing progress bars
dpaun May 17, 2018
e299525
SWIK-1958 added delete prediction functionality
dpaun May 31, 2018
91f9873
SWIK-1958 collapse predictions accordion when adding or deleting
dpaun Jun 6, 2018
61f6a26
SWIK-1958 Notify if dummy data were used
dpaun Jun 26, 2018
c109aea
SWIK-1958 show notification that dummy data were used
dpaun Jun 26, 2018
4c29975
SWIK-1958 Merged from master
dpaun Jul 4, 2018
ba14d5d
SWIK-1958 Marked analytics as beta feature
dpaun Jul 4, 2018
d9e8f78
SWIK-1958 show analytics only on experimental until the service is pr…
dpaun Aug 14, 2018
90b8941
SWIK-1958 fixing analytics uri
dpaun Sep 28, 2018
9d45c19
SWIK-1958 creating prediction activity
dpaun Sep 28, 2018
81db480
SWIK-1958 creating prediction-delete activity
dpaun Sep 28, 2018
4bf9f72
SWIK-1958 merged from master
dpaun Sep 28, 2018
fa35791
SWIK-1958 Removed analytics div condition
dpaun Sep 28, 2018
fc62c83
SWIK-1958 reading past predictions from the activity-service
dpaun Oct 3, 2018
b90f081
SWIK-1958 Correcting creation of prediction item
dpaun Oct 3, 2018
ea823b5
Merge branch 'master' into SWIK-1958-Student_performance_prediction_p…
dpaun Oct 4, 2018
28c686c
SWIK-1958 small change in the service url
dpaun Oct 15, 2018
9f6ec2c
SWIK-1958 changed some url settings
dpaun Oct 15, 2018
869263f
swik-1958 modified condition for recommended decks
dpaun Oct 16, 2018
2cbb818
SWIK-1958 merged from master and resolved conflicts
dpaun Oct 16, 2018
7b149c4
SWIK-1958 show deck thumbnail as soon as the new prediction item is a…
dpaun Oct 19, 2018
5a81749
SWIK-1958 show analytics category only if microservice uri is defined
dpaun Oct 19, 2018
5f87836
Merge branch 'master' into SWIK-1958-Student_performance_prediction_p…
dpaun Oct 19, 2018
b05f855
Merge branch 'master' into SWIK-1958-Student_performance_prediction_p…
kprist Oct 25, 2018
ba5a4db
Fix integration of analytics components to UI
kprist Oct 25, 2018
8f44cc1
Sync intl assets after analytics UI integration
kprist Oct 25, 2018
53dccfb
Style "New prediction button" for consistency with other buttons
kprist Oct 27, 2018
42c60e0
Merge branch 'master' into SWIK-1958-Student_performance_prediction_p…
kadevgraaf Oct 29, 2018
07c7483
SWIK-1958 merged from master
dpaun Feb 5, 2019
eb5e23c
Merge branch 'master' into SWIK-1958-Student_performance_prediction_p…
dpaun Feb 18, 2019
9a9bf76
Adding tabpanel role to the panels.
sednanref Feb 18, 2019
6203c9b
Starting to handle key's down/up events on tabs.
sednanref Feb 18, 2019
0ed6dd9
Handling tabs through arrow and home-end keys.
sednanref Feb 18, 2019
83ad787
Adding listeners when the tablist component is updated with new tabs …
sednanref Feb 18, 2019
79ed97a
lint...
sednanref Feb 18, 2019
7c820d2
Fixing bug with first and Last tabs.
sednanref Feb 19, 2019
07bf1a0
updated data protection statement
bwulff Feb 24, 2019
accd6e2
fixed syntax error
bwulff Feb 24, 2019
76b4c0b
Merge pull request #1047 from slidewiki/SWIK-1958-Student_performance…
kprist Feb 26, 2019
fb1b6a8
Try and fix docker push / deploy to experimental
kprist Feb 26, 2019
e2f2604
Fix predictions not showing due to code conflicts
kprist Feb 26, 2019
ad29127
Accessibility improvements InclusiveOCW (#1155)
aoelen Mar 16, 2019
260a048
Merge branch 'master' into enhance-tabs-beneath-slide-area
sednanref Mar 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,5 @@ env:
- secure: ip2jRSidbyxwFeb8tx+azPdjm/ngJK90KDg567l4fNjc0bFu0fJlQtTWFOKN9X3VjIMQI5+u7sZF50IeXvQCyLjj3V9EQK2WEj1gwsS1oOdgNW9mPwxGMlM1sd68Dxmaxxh7UGGUdwOaQEHGtTRWBaJ2ZYYRpeLVz11vKpS4NzVW++7Ve94FPtDsXjdl/yGQYSjdFkrGc8XvY4yG9Sn91SepyhGfryiB7FIrXMTcJwZx33luQSE4kLoxBixciqhnKBcA7AlPvoGOu9pl6SUsnid3vHb2zN/gP35SP+t5g1Vo5NJm3oAKyRPrXWmh06N2+bOOD9Bli7KI36KnsuoVjtvChaBwEyzc4CnMyMxtc1f8zhd+GJkowPYBOdMl1EH95vlJuzx1BSLnd3ONSRZU74Y0daQwoAKn6fQSncRi7Mt8dmXnun3MUVls2vd7w2NIMJVYsm+E86Bj1FfCbDINz+5ntHPgQk2EaGCORRHW2e4MBurf+NE/Byq6+R08ign0msDb2C8IjdxmSThnXe1hkavq12PkTH+iSAPzESCAzQmLcgU2sQUFGbYSnLgA8qEF9crprAu5Nz2sQuiB9DfaeQwmrZm/Kj4mdfhjc/XeE9xjXRP927UoAIMrIZKdG+GjDVAbDtQOt/L30QfmpTEKXnzdJiVXDYFcvZ1K5s3n4eE=
- secure: GPrnHJfDtuP/7o63Ph7iaCKNo1EDTd4JRv4u2oEQFDV5cfFjZ5n90R9XNIcWSRyPUBTBiLEWjP+xhaH+F+EktAbF08FcL2FxXgfOvUbOfjqK6ZGYZGV+bwIriJTxveyn/sGT52AN697/XMGRQbGQvKGbUXSMvK4OQ6g+2QXt0/v5rWN026zqKS1+/WqVYTYKGNG2qqfOG6pnfT8rSZZk7aOh8xFdO0sxoG0siVbIr7fK4HNa25TAViv/CF8buPgNxarYaYfo4WSxE/EChZemz5CuKOHG5gKh2oToCIicOGSlX537E+uvunn/y3q6ii2pyQ0kah73KFc+AzyN3s/vjjh5iGzgrcvoujYHyNc/q+N0MsrScne1Bpli6Rzny5pds2ubXIQ7U+1A/HlvKwJHbpt1Znr8lxTp5dqu1vFCd4sZ+VC3tv8SkaMlP1tjP3T4Zj3+mbPcquh6+KXPTf7t/Vp8fHYN+GRxHX04EHMnHEYPyBeSBn70bMKj0Hqm+OKT8uP7A8xd/cdeA0v6burHIPefyonfyX/fmaXvI2R7PuGFPR4s3onmA0BLsog6bIj+6Mj2cjB5E5q8hwrclZU4/jgMiQygvzFy/sQlVBXP9dx+Fl/5SrAqgUbk+RWGjoXDiON0w+drxt6qUKYlA36KcM+0u3piaEelmmrQwIWr6EM=
- secure: Vy/GqS5cXwNk/4MeV528TlEvdhhra9O2wdKLYDEkWKOHsNnjiTQ4BCthlvjQgckN6nOb0aGptEHR135vEue3FKPEmwtsbx7TO3r2cmzZum+sQZBr+orhwrLL1oV2REi8dr0bBOJkncUMoXEjw1jPwiBnsSb5g+Owfaytv1briJ0b6I7Lop6ZUwsEErOxBYPTqs8e67eztjYg+x2RDGlDMwxI2DexzPcSj+VZQ43bEu5Kbgn5d8+rF4lSj6L0st+2VLpCHRTlC4r0BMOP/1BuRXMN8/OT3epy3OjqWTkRuw8zm1IUrCA2wslrabgurYdE5narrK3WrLx/b7LB8xjvHXGAvcFj3RybwD7J7lg5niqx23kSohN/RN/7vBOMrbSg2/3x1sKlPhtxebc7lO0HFI1L8Zbm3O4/SF+ThGd4yMYAF53i9QpJkwrqV7TpVtEgZo5T45SNDxxjuA9yVmwTsYwOetKmoNB+t/6jWS5oXIiSQG1zsCqWOJPLIgVEUYEL8Ep2kXUOwf4e9AarF43QCKQWyl0xSktaQmXNQnMcxgXWCuBbPK3zPK9lrduG9TlVDslBL6HWtPk4SAy1bCqC69OUBAAhckj+DVIVy3MZZaKCB+TYkw1lXyBxxmcyd/yhyFxdugKF7GtlUKmyGb+vduLtJ1lP0hiBG7EJBgqFbCU=
- secure: iYRrePFLste1CbR1ckrcJz2TAyp3T4XGEN67lgIHxG4tbxIPcyoSmwy3OTnMt1ZbqMSajs/nU5UM8nrT1x5O/995Daxz8xKNgXQj61aM/SOytgLQCfPOlUuF1iMY7Nkr66EEVPaljOAjLOnjVYMGpDxPqCQ+4CsjM90If9r2A4/6lssgGOtxEkH/xSift7beElEUIhMRj1538b7m+ivLU7zYyTmOxzbDToRjSBTwZIvE7VKaaTFf7mpbeJ2B/uRP+YsQ4sjdBN9xeCQg+6rJkpkkvgnNmj8BGixU1FSTYn4vfNHX6OOL8LrpsNvfEkjzNQjgvGfCbvUlLEnnD8fdFLcl5bv5Yq9F3x/G0zosHWtPZxT3FoHC3AuiA530FBSGLk7AmG5QJTL99H/6IhtV0Cws2xgv0EZc1J4a4kNtPZ5e9ggGjUnzwXcu6TuFhmCeUCSXwYWEb9mQbma0iDjBYO+zrKhQMwYUxO/FJzZyzvvf2F2TMAODyjUOd/EciCtQxlqUydCGizg/MvW5O9izJytuWLgPiWpkPrBOfdPRWVEWfRtsDrVIxwpyN5Qeiw45KPhDUKVPTAoXYiIzdemMsdwWvpEyanzLVviyPjvfWsUO1nLtOtsUCCSRvxpCRaWUte+bIOFz1PLnNl3ba4dTBo0QtC5j4bxSul7fbWMpZSg=
- secure: paPSK/WkaDAUAL/Nx2mYIZwGo4dsHwX/j0oV2p5O+J+SsGLQSmaXBQeyxAG2p4pepCIEliuMAv7qIlwL2OkSBLrE2qshD2CAEzjvgkNzZ3v4iMeldYCs98c9jfXtjL3hmMmYLZO7O+bo/Uh1pqwXkUJ/JKnE3tj9uOTgXrQalpb6jSmgrigLkM/8K/QsZ7UC2gPCgJyOxvCsQmGG0QGD7I7TC5m9vc3NVXzUXCvsGQGzubdBfBXJ3hiw6Ln1nvQ/Kgk86ypz8a+FVJG2PieJEMQtQc2aKThdJtszkRS/wTUpdWg9q5CYE4FoRajWBt6YQ/nEm3fPAc6be9klGjtrLZI7rVxnluS9fwvRrLHj7cqKEiyGIv+FSqWfE3alJyPyzWFgrpXAlsz53YodhhW/Szg4sQHrLDa/h1MCug2HAnQEPqYfQMfy0vX6Ka6ONF8WAicreKCqR3hAs2gx/qoY5dpj0mmsaK7QVko/a7MTgSgMGFhnBUIAUaeEAD2YjTRe4qjjaJdfqoxicMrozxU7KBI1u8MMJMJqQNHolmtR3A/S709Y0AMuFgyrZTlANMYXtyPdIv233lFinV1ePGejwAG3z9kP1DjhZVnpAwkkm9z7IiKHVxfWvYLIfZidhAROETr1/BQzQcPxXrxI8Qd7nV9K7j68NdufxbRYDGccjiE=
25 changes: 25 additions & 0 deletions actions/analytics/addPerformancePredictionJob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const log = require('../log/clog');
import serviceUnavailable from '../error/serviceUnavailable';
import UserProfileStore from '../../stores/UserProfileStore';
import executePerformancePredictionJob from './executePerformancePredictionJob';

export default function addPerformancePredictionJob(context, payload, done) {
log.info(context, payload);
//enrich data
payload.jwt = context.getStore(UserProfileStore).jwt;

context.service.create('analytics.predictionActivity', payload, {timeout: 60 * 1000}, {timeout: 600 * 1000}, (err, res) => {
if (err) {
log.error(context, {filepath: __filename});
context.executeAction(serviceUnavailable, payload, done);
} else {
let activeRevision = res.deck.revisions[res.deck.revisions.length-1];
payload.prediction.deckFirstSlide = activeRevision.firstSlide;
payload.prediction.deckTheme = activeRevision.theme;
payload.prediction.id = res.activity.id;
context.dispatch('ADD_PERFORMANCE_PREDICTION_SUCCESS', payload);
context.executeAction(executePerformancePredictionJob, payload, done);
}
done();
});
}
30 changes: 30 additions & 0 deletions actions/analytics/deletePerformancePredictionJob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
const log = require('../log/clog');
// import serviceUnavailable from '../error/serviceUnavailable';
import addActivity from '../activityfeed/addActivity';

export default function deletePerformancePredictionJob(context, payload, done) {
log.info(context, payload);
let activity = {
activity_type: 'prediction',
user_id: String(payload.userId),
content_id: String(payload.deckId),
content_name: payload.deckTitle,
content_kind: 'deck',
prediction_info: {
prediction_activity_type: 'delete',
related_prediction_activity_id: payload.id
}
};
context.executeAction(addActivity, {activity: activity});
context.dispatch('DELETE_PERFORMANCE_PREDICTION_SUCCESS', payload);
done();
// context.service.delete('analytics.prediction', payload, {timeout: 60 * 1000}, (err, res) => {
// if (err) {
// log.error(context, {filepath: __filename});
// context.executeAction(serviceUnavailable, payload, done);
// } else {
// context.dispatch('DELETE_PERFORMANCE_PREDICTION_SUCCESS', payload);
// }
// done();
// });
}
16 changes: 16 additions & 0 deletions actions/analytics/executePerformancePredictionJob.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const log = require('../log/clog');
import serviceUnavailable from '../error/serviceUnavailable';

export default function executePerformancePredictionJob(context, payload, done) {
log.info(context, payload);

context.service.create('analytics.prediction', payload, {timeout: 60 * 1000}, {timeout: 600 * 1000}, (err, res) => {
if (err) {
log.error(context, {filepath: __filename});
context.executeAction(serviceUnavailable, payload, done);
} else {
context.dispatch('PERFORMANCE_PREDICTION_COMPLETED', res);
}
done();
});
}
23 changes: 23 additions & 0 deletions actions/analytics/loadUserPerformancePredictions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import serviceUnavailable from '../error/serviceUnavailable';
const log = require('../log/clog');
import UserProfileStore from '../../stores/UserProfileStore';

export default function loadUserPerformancePredictions(context, payload, done) {
log.info(context);

// start loading
context.dispatch('SHOW_PERFORMANCE_PREDICTIONS_LOADING', payload);
payload.uid = context.getStore(UserProfileStore).userid;
context.service.read('analytics.predictionslist', payload, {timeout: 20 * 1000}, (err, res) => {
if (err) {
log.error(context, {filepath: __filename});
context.executeAction(serviceUnavailable, payload, done);
return;
// context.dispatch('LOAD_USER_NOTIFICATIONS_FAILURE', err);
} else {
context.dispatch('LOAD_USER_PERFORMANCE_PREDICTIONS_SUCCESS', res);
}

done();
});
}
16 changes: 11 additions & 5 deletions actions/user/userprofile/chooseAction.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ import fetchUserDecks from './fetchUserDecks';
import notFoundError from '../../error/notFoundError';
const log = require('../../log/clog');
import loadUserCollections from '../../collections/loadUserCollections';
import loadUserPerformancePredictions from '../../analytics/loadUserPerformancePredictions';
import loadUserRecommendations from '../../recommendations/loadUserRecommendations';
import { shortTitle, LTI_ID } from '../../../configs/general';
import UserProfileStore from '../../../stores/UserProfileStore';

import loadUserStats from '../../stats/loadUserStats';

export const categories = { //Do NOT alter the order of these items! Just add your items. Used in UserProfile and CategoryBox components
categories: ['settings', 'groups', 'playlists', 'decks', 'recommendations', 'stats', 'ltis'],
categories: ['settings', 'groups', 'playlists', 'decks', 'recommendations', 'stats', 'ltis', 'analytics'],
settings: ['profile', 'account', 'integrations'],
groups: ['overview'],
ltis: ['overview', 'edit'],
decks: ['shared'],
analytics: ['performanceprediction']
};

export function chooseAction(context, payload, done) {
Expand All @@ -38,7 +40,7 @@ export function chooseAction(context, payload, done) {
default:
title = shortTitle;
break;
};
}
break;
case categories.categories[1]:
switch(payload.params.item){
Expand All @@ -48,7 +50,7 @@ export function chooseAction(context, payload, done) {
default:
title = shortTitle;
break;
};
}
break;
case categories.categories[2]:
title += 'Playlists';
Expand All @@ -62,7 +64,7 @@ export function chooseAction(context, payload, done) {
default:
title += 'My Decks';
break;
};
}
break;
case categories.categories[5]:
title += 'User Stats';
Expand All @@ -86,7 +88,7 @@ export function chooseAction(context, payload, done) {

default:
title = shortTitle;
};
}
context.dispatch('UPDATE_PAGE_TITLE', {pageTitle: title});

async.series([
Expand Down Expand Up @@ -133,6 +135,10 @@ export function chooseAction(context, payload, done) {
context.dispatch('USER_CATEGORY', {category: payload.params.category, item: payload.params.item});
callback();
break;
case categories.categories[7]:
context.dispatch('USER_CATEGORY', {category: payload.params.category, item: payload.params.item});
context.executeAction(loadUserPerformancePredictions, {}, callback);
break;
default:
context.executeAction(notFoundError, {}, callback);
}
Expand Down
2 changes: 2 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import UserReviewStore from './stores/UserReviewStore';
import EditRightsStore from './stores/EditRightsStore';
import DeckCollectionStore from './stores/DeckCollectionStore';
import SSOStore from './stores/SSOStore';
import UserPerformancePredictionsStore from './stores/UserPerformancePredictionsStore';
import UserRecommendationsStore from './stores/UserRecommendationsStore';
import UserFollowingsStore from './stores/UserFollowingsStore';
import LoginModalStore from './stores/LoginModalStore';
Expand Down Expand Up @@ -109,6 +110,7 @@ const app = new Fluxible({
EditRightsStore,
DeckCollectionStore,
SSOStore,
UserPerformancePredictionsStore,
UserRecommendationsStore,
UserFollowingsStore,
LoginModalStore,
Expand Down
1 change: 1 addition & 0 deletions assets/css/home-custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,7 @@ textarea:focus{
-moz-border-radius: 5px;
border-radius: 5px;
position: relative;
margin-top: 40px;
}

.featured-img {
Expand Down
4 changes: 2 additions & 2 deletions assets/custom-semantic-ui/dist/components/button.css
Original file line number Diff line number Diff line change
Expand Up @@ -3855,8 +3855,8 @@
.ui.negative.button:focus,
.ui.red.buttons .button:focus,
.ui.red.button:focus {
-webkit-box-shadow: 0 0 0 2px #f16767 inset !important;
box-shadow: 0 0 0 2px #f16767 inset !important;
-webkit-box-shadow: 0 0 0 2px #000000 inset !important;
box-shadow: 0 0 0 2px #000000 inset !important;
}


Expand Down
2 changes: 1 addition & 1 deletion assets/custom-semantic-ui/dist/components/button.min.css

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions assets/custom-semantic-ui/dist/components/dropdown.css
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ select.ui.dropdown {
opacity: 0.45;
}
.ui.active.search.dropdown input.search:focus + .text {
color: rgba(115, 115, 115, 0.87) !important;
color: rgba(38, 38, 38, 0.87) !important;
}

/* Search Menu */
Expand Down Expand Up @@ -853,11 +853,11 @@ select.ui.dropdown {

.ui.dropdown:not(.button) > .default.text,
.ui.default.dropdown:not(.button) > .text {
color: rgba(191, 191, 191, 0.87);
color: rgba(89, 89, 89, 0.87);
}
.ui.dropdown:not(.button) > input:focus ~ .default.text,
.ui.default.dropdown:not(.button) > input:focus ~ .text {
color: rgba(115, 115, 115, 0.87);
color: rgba(38, 38, 38, 0.87);
}

/*--------------------
Expand Down
2 changes: 1 addition & 1 deletion assets/custom-semantic-ui/dist/components/dropdown.min.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions assets/custom-semantic-ui/dist/components/feed.css
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
font-weight: normal;
font-size: 1em;
font-style: normal;
color: rgba(0, 0, 0, 0.4);
color: rgba(0, 0, 0, 0.6);
}

/*--------------
Expand Down Expand Up @@ -173,7 +173,7 @@
font-style: normal;
margin: 0em 0em 0em 0.5em;
padding: 0em;
color: rgba(0, 0, 0, 0.4);
color: rgba(0, 0, 0, 0.6);
}

/*--------------
Expand Down
2 changes: 1 addition & 1 deletion assets/custom-semantic-ui/dist/components/feed.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading