Skip to content

Connect dashboard + quizzes + shared header#27

Merged
nataliasirt merged 9 commits intomainfrom
feature/dashboard-login
Feb 8, 2026
Merged

Connect dashboard + quizzes + shared header#27
nataliasirt merged 9 commits intomainfrom
feature/dashboard-login

Conversation

@nataliasirt
Copy link
Collaborator

@nataliasirt nataliasirt commented Feb 4, 2026

Dashboard + Study History Updates
Connect dashboard to real backend data and add flashcard study tracking with session logging.
Added:
1 model: FlashcardStudySession
Flashcard study session endpoint to record cards reviewed + time studied
Dashboard stats now include real today activity + weekly activity based on sessions/attempts
Activity log endpoint for study history
Endpoints:
Dashboard stats, dashboard activity, flashcard study session logging

image

@AidaBur
Copy link
Collaborator

AidaBur commented Feb 6, 2026

Screenshot 2026-02-06 at 2 06 32 PM Screenshot 2026-02-06 at 2 06 45 PM Screenshot 2026-02-06 at 2 06 52 PM Screenshot 2026-02-06 at 2 28 32 PM

FE:
I noticed some confusion in the header/navigation flow.
We should ideally have two clear header variants:
Public header for the landing and auth pages without a search bar (this part already exists and works well).
Private app header after login. With logo, search input, user avatar/name, and logout, used consistently across ALL internal pages.
At the moment, the search input is enabled via showSearch only on the Library page, which makes the header look and behave differently across routes and can be confusing for users.
It would be cleaner to have a single, consistent header variant for all authenticated pages, with the search handled at the layout level rather than inside individual pages.

Also, there is already a finalized logo in the public header. It would be good to reuse the same logo and alignment in the authenticated header as well, so the visual identity stays consistent (for example, matching the same container width and horizontal padding).

Since this PR is already quite large, I think it would make sense to handle header/navigation cleanup in a separate follow-up PR after this one is merged.

@AidaBur
Copy link
Collaborator

AidaBur commented Feb 6, 2026

I also left an inline comment above regarding the score overlapping with the delete icon.

@AidaBur
Copy link
Collaborator

AidaBur commented Feb 6, 2026

BE
Looked through the backend changes, everything looks good. The new models and dashboard-related logic are clear and well structured.

@AidaBur
Copy link
Collaborator

AidaBur commented Feb 6, 2026

Thank you, Natalia! This is a huge piece of work. The dashboard frontend is now connected to the backend, and this PR brings together a lot of important functionality. Great!

finishedAt: Date;
createdAt?: Date;
};

Copy link
Collaborator

Choose a reason for hiding this comment

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

createdAt: Date; // Remove optional flag

This aligns the type with runtime behavior from timestamps: { createdAt: true } - line 22 - and prevents potential type errors in consuming code.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done. I made createdAt required in FlashCardStudySession.ts to match the timestamps behavior. Thank you Ksenia!

Copy link
Collaborator

@Ligo-code Ligo-code left a comment

Choose a reason for hiding this comment

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

BE: LGTM! Strong implementation! Great job! TY @nataliasirt

@nataliasirt
Copy link
Collaborator Author

Screenshot 2026-02-06 at 2 06 32 PM Screenshot 2026-02-06 at 2 06 45 PM Screenshot 2026-02-06 at 2 06 52 PM Screenshot 2026-02-06 at 2 28 32 PM
FE: I noticed some confusion in the header/navigation flow. We should ideally have two clear header variants: Public header for the landing and auth pages without a search bar (this part already exists and works well). Private app header after login. With logo, search input, user avatar/name, and logout, used consistently across ALL internal pages. At the moment, the search input is enabled via showSearch only on the Library page, which makes the header look and behave differently across routes and can be confusing for users. It would be cleaner to have a single, consistent header variant for all authenticated pages, with the search handled at the layout level rather than inside individual pages.

Also, there is already a finalized logo in the public header. It would be good to reuse the same logo and alignment in the authenticated header as well, so the visual identity stays consistent (for example, matching the same container width and horizontal padding).

Since this PR is already quite large, I think it would make sense to handle header/navigation cleanup in a separate follow-up PR after this one is merged.

Thank you Aida! I reused the same logo from the public header; Matched the public header container width/padding (max-w-6xl, px-6); made the search bar consistent across authenticated pages by default. If you want the search to be functional across all pages (not just present), we should wire a shared search state at the layout/router level. Just say the word:)

@nataliasirt
Copy link
Collaborator Author

nataliasirt commented Feb 8, 2026

@AidaBur this should all align now:
image
image
image
image
image

@AidaBur
Copy link
Collaborator

AidaBur commented Feb 8, 2026

@AidaBur this should all align now: image image image image image

@AidaBur AidaBur closed this Feb 8, 2026
@AidaBur
Copy link
Collaborator

AidaBur commented Feb 8, 2026

Awesome, thanks! Everything looks aligned now 👍

@AidaBur AidaBur reopened this Feb 8, 2026
@nataliasirt nataliasirt merged commit 3562f0b into main Feb 8, 2026
4 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.

4 participants