-
Notifications
You must be signed in to change notification settings - Fork 262
Add Notifications page #5610
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
base: unstable
Are you sure you want to change the base?
Add Notifications page #5610
Conversation
ce024dd to
e650800
Compare
e650800 to
c7df896
Compare
c7df896 to
9a59b96
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tests were moved to be their own test files
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | ||
| gap: 6px 12px; | ||
| /* TODO: Open a KDS follow up to fix KTextbox feedback message alignment */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow up: learningequality/kolibri-design-system#1187
| }, | ||
| UPDATE_SESSION_FROM_INDEXEDDB(state, { id, ...mods }) { | ||
| if (id === state.currentUser.id) { | ||
| UPDATE_SESSION_FROM_INDEXEDDB(state, { CURRENT_USER, ...mods }) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a weird error, the key field in the session indexedDB table is CURRENT_USER and its only value could be CURRENT_USER so it doesnt make sense to look at the id and if id === state.currentUser.id for this table. Therefore, until now, this function wasn't doing anything.
Summary
Modal=NOTIFICATIONSquery param is set in the route. Since this modal will be shown across the entire application, I chose this option rather than creating a new route for this page on all app routers.Usermodel:last_read_notification_dateandnewest_notification_date, the first representing the date of the last notification read by the user, the second the date of the most recent notification. If newest_notification_date > last_read_notification_date, the user has a new notification :).useFilter,useFetch,useKeywordSearch, anduseQueryParamsto the shared folder.useFiltercomposable to comply with the current KSelect API.useSnackbaras a wrapper of the current Vuex Snackbar module, until this gets migrated.useStoreas sugar syntax to get the store from the currentInstance.useCommunityLibraryUpdatescomposable to manage the data fetching and transformation of submissions into updates/notifications.Grabacion.de.pantalla.2025-12-17.a.la.s.10.41.42.a.m.mov
References
Closes #5457
Closes #5458
Reviewer guidance
notificationspage on the profile menu in the Appbar or by opening the main menu.admin_communitylibrary_submission/{id}/resolveendpoint.Tech debt introduced
VDialogandPopper, I did not want to spend too much time trying to solve this because we will end up replacing Vuetify in Studio anyways, but noting that this bug will be present until then. We can coordinate later if we can prioritize migrating theImmersivePageinto Studio before releasing the Community Library, or if we prefer spending more time trying to fix this bug.