Skip to content

Feat/notification#336

Merged
motirebuma merged 5 commits intomainfrom
feat/notification
Apr 23, 2026
Merged

Feat/notification#336
motirebuma merged 5 commits intomainfrom
feat/notification

Conversation

@motirebuma
Copy link
Copy Markdown
Collaborator

  • Resolved issues related to creating posts.
  • Fixed the functionality for updating user information, including name, email, and password.
  • Implemented the notification functionality.
  • Completed the “Forgot Password” feature in the Settings and Privacy section.

Copilot AI review requested due to automatic review settings April 23, 2026 19:38
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
quotevote Ready Ready Preview, Comment Apr 23, 2026 7:38pm

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the frontend to support notification display/navigation, improves post creation UX, and refines settings/account update flows (including some related UI cleanup in dashboard navigation).

Changes:

  • Updated notifications: improved user id resolution (_id vs id), badge rendering, avatar rendering via DisplayAvatar, and corrected navigation route to /dashboard/notifications.
  • Reworked the groups combobox UI/UX (Popover-based searchable list with inline “create” option, keyboard handling, and sizing).
  • Improved post creation feedback (success toast) and tightened alert rendering/reset behavior; added missing accessible dialog titles in several “Create Quote” dialogs.

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
quotevote-frontend/src/types/notification.ts Loosens NotificationUser.avatar typing to support string/object avatar payloads.
quotevote-frontend/src/graphql/mutations.ts Simplifies UPDATE_USER selection set by removing unused fields.
quotevote-frontend/src/components/ui/combobox.tsx Replaces Dialog-based combobox with Popover-based searchable/createable combobox behavior.
quotevote-frontend/src/components/SubmitPost/SubmitPostForm.tsx Adds success toast on post creation; resets error state when dismissing alert; only shows alert when error exists.
quotevote-frontend/src/components/Sidebar/Sidebar.tsx Adds screen-reader-only DialogTitle for the Create Quote dialog.
quotevote-frontend/src/components/settings/SettingsContent.tsx Removes admin-only “Manage Invites” button from settings UI.
quotevote-frontend/src/components/Notifications/NotificationMenu.tsx Uses `_id
quotevote-frontend/src/components/Notifications/NotificationLists.tsx Uses DisplayAvatar for notification list avatars; removes custom URL extraction logic.
quotevote-frontend/src/components/Notifications/Notification.tsx Fixes navigation target to /dashboard/notifications.
quotevote-frontend/src/components/Navbars/MainNavBar.tsx Adds screen-reader-only DialogTitle for the Create Quote dialog.
quotevote-frontend/src/app/dashboard/settings/SettingsPageClient.tsx Updates how settings form applies updateUser results and resets form fields.
quotevote-frontend/src/app/dashboard/notifications/NotificationsPageContent.tsx Uses `_id
quotevote-frontend/src/app/dashboard/layout.tsx Removes “manage-invites” from nav pages; adds sr-only DialogTitle for Create Quote dialog.
quotevote-frontend/src/app/dashboard/explore/ExploreContent.tsx Adds screen-reader-only DialogTitle for the Create Quote dialog.
quotevote-frontend/src/tests/components/settings/SettingsContent.test.tsx Updates settings tests to reflect removal of “Manage Invites” UI.
quotevote-backend/app/server.ts Trims whitespace in GraphQL schema string.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 111 to 115
{label && (
<Label htmlFor="combobox-input" className={cn(error && 'text-destructive')}>
<Label className={cn('mb-1 block text-sm font-medium', error && 'text-destructive')}>
{label}
</Label>
)}
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The combobox label is no longer programmatically associated with the interactive control (trigger button / search input). This reduces screen-reader usability because focusing the combobox won’t announce its label. Consider giving the trigger (or input) a stable id and wiring the to it, or using aria-labelledby/aria-label on the trigger + input.

Copilot uses AI. Check for mistakes.
Comment on lines 52 to 56
{ path: '/dashboard/profile', page: 'profile' },
{ path: '/dashboard/notifications', page: 'notifications' },
{ path: '/dashboard/settings', page: 'settings' },
{ path: '/dashboard/manage-invites', page: 'manage-invites' },
{ path: '/dashboard/control-panel', page: 'control-panel' },
] as const;
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change removes “/dashboard/manage-invites” from the dashboard nav pages, which is a user-facing behavior change but isn’t mentioned in the PR description. Please either document this in the PR (and any related migration notes) or confirm it’s intentional and ensure there’s still a supported way for admins to reach invite management if that feature remains.

Copilot uses AI. Check for mistakes.
@motirebuma motirebuma merged commit d758ef3 into main Apr 23, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants