feat(dashboard): make vocabulary tiles tappable to filtered Vocabulary list#184
Open
davidortinau wants to merge 1 commit into
Open
feat(dashboard): make vocabulary tiles tappable to filtered Vocabulary list#184davidortinau wants to merge 1 commit into
davidortinau wants to merge 1 commit into
Conversation
…y list
The 5 vocab buckets on the Dashboard (New/Learning/Familiar/Review/Known) now
navigate to /vocabulary?q=status:{bucket} when tapped. Counts on the tiles
match the filtered Vocabulary page exactly.
Changes:
- Index.razor: wrap each tile in <a href="/vocabulary?q=status:{bucket}">
with .vocab-tile-hover affordance
- Vocabulary.razor: add "new" and "review" cases to the status filter switch
(mirror the bucketing logic in VocabularyProgressRepository
GetVocabSummaryCountsAsync exactly); add both to the desktop & mobile
dropdown shortcuts
- app.css: .vocab-tile-hover hover/active styles
E2E validation: Jayne ran a DB-level cross-check; all 5 bucket counts match
between Dashboard and filtered Vocabulary list (New=1891, Learning=49,
Familiar=282, Review=279, Known=88 for the test user).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tap any of the 5 vocabulary tiles on the Dashboard (New / Learning / Familiar / Review / Known) to navigate to the Vocabulary page pre-filtered by that bucket.
Changes
Index.razor— Each tile wrapped in<a href="/vocabulary?q=status:{bucket}">with.vocab-tile-hoveraffordance (translateY + shadow on hover).Vocabulary.razor— Addedstatus:newandstatus:reviewcases to the URL filter switch. Predicates mirror the bucketing logic inVocabularyProgressRepository.GetVocabSummaryCountsAsyncexactly. Both desktop and mobile dropdown shortcuts now include the full set: New / Learning / Familiar / Review / Known / Unknown.app.css—.vocab-tile-hoverhover/active styles.Filter Mapping
?q=status:newProgress == nullOR(TotalAttempts == 0 && !Pending-Familiar)?q=status:learning?q=status:familiar?q=status:reviewProgress != null && !Pending-Familiar && !IsKnown && NextReviewDate <= now?q=status:knownValidation
E2E DB cross-check (Jayne) — all 5 bucket counts match between Dashboard tiles and filtered Vocabulary page for the test user:
Code review pass: bucket logic correctness, accessibility, HTML/CSS validity, no regression in existing filters.
Build:
dotnet build src/SentenceStudio.UI/SentenceStudio.UI.csproj— succeeded (existing warning baseline).