#31: Build My Work tab#45
Merged
Merged
Conversation
Add theme tokens, Lucide icons, HomeScreen with page header and tabs, Projects tab with sync indicators and empty state, and My Work placeholder.
Consolidate theme tokens, extract shared hooks and components, fix ProjectSummary types, and remove unused SyncButton.
Adds getMyWorkChapters query, sync/workflow helpers, shared badges and row components, and wires My Work to refreshKey like Projects.
Adds download progress ring, Lovable-matched home shell styling, verse count sync/migration, and refactors shared row/sync helpers for clarity.
Replace bible text rows per chapter on sync, preserve max total_verses on assignment upsert, and merge assigned/peer-check API lists without dropping workflow status.
kaseywright
previously approved these changes
Jun 5, 2026
Keep My Work tab, queries, and mock-aligned theme while incorporating #32 home shell from main.
Resolve add/add conflicts by keeping My Work implementation and mock-aligned theme on top of the merged Projects tab shell.
kaseywright
approved these changes
Jun 8, 2026
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.
🔥 TLDR
Implements the My Work tab: assigned chapters from SQLite, workflow badges, recording sync clouds, and offline download progress—styled to match the Lovable mock. Depends on #32 for the shared home shell.
📋 Summary
getMyWorkChapters,useMyWorkChapters, row components (MyWorkRow, badges, progress ring, cloud icons), theme/layout tokens, API→SQLite verse counts, and mock-aligned home list styling. Refactored shared sync/display helpers for maintainability.Related Issue: #31
Depends on (merge first): #32 — Projects tab,
PageHeader/TabBar, theme foundation, andHomeScreenshell from PR stacked onfeature/32-build-projects-tab.Type of Change:
🔧 Technical Changes
Key Files Modified
src/db/queries.tsgetMyWorkChapters(userId)— assigned chapters, excludes complete, Bible order, recording sync counts,bible_textsdownload count for progress ring.src/hooks/useMyWorkChapters.tsrefreshKeyfrom header sync (same pattern as Projects).src/app/tabs/MyWorkTab.tsxFlatListofMyWorkRow; empty/loading states; navigates toVerseDetail.src/components/ui/MyWorkRow.tsx,ChapterProgressRing.tsx,WorkflowBadge.tsx,RecordingCloudIcon.tsxsrc/services/mapChapterAssignment.ts,src/services/sync.ts,src/db/schema.tstotal_verses/completed_versesfrom API; migration for existing DBs.src/theme/(tokens.ts,layout.ts,iconSpecs.ts)#eaeef5), list card layout, icon stroke sizes.Lines changed: ~1,183 vs
feature/32-build-projects-tab| Files modified: 38 (My Work scope)Dependencies & Configuration
chapter_assignments.total_verses,completed_versescolumns + init migrations insrc/db/index.ts✅ Testing & Quality Checklist
Testing Completed
Code Quality (fluent-mobile gates)
npm run lintnpm run format:checknpx tsc --noEmitFLUENT_USER_EMAIL=test@example.com npm test -- --ci(12 suites, 33 tests)📸 Screenshots/Recordings
🎯 Why This Solution?
theme.layout/listCardtokens keep Projects and My Work visually aligned with Lovable.RecordingCloudIcon,verseProgress,myWorkRowDisplay, andworkflowStagemaps avoid duplicated row logic.📱 Before/After
📊 Performance Impact
Bundle Size:
Runtime Performance:
Battery/Memory:
🧪 How to Test
Prerequisites: Node 24+,
npm install,.envfrom.env.example, fluent-api running locally, Metro +npm run android(ornpm run ioson macOS).Setup: Check out
feature/31-build-my-work-tabon top of merged #32 (or base PR branchfeature/32-build-projects-tab).Steps:
bible_textsseeded.refreshKeybump.Expected: UI matches https://fluent-test1.lovable.app/ My Work tab (card background, tab bar
#eaeef5, typography, badges, icons).🔗 Additional Context
Merge order: Do not merge into
mainuntil #32 is merged. Open/target this PR againstfeature/32-build-projects-tabto keep the diff limited to My Work (#31) work.Deployment Notes: Existing installs get new SQLite columns on next app launch (migration swallows duplicate-column errors).
Follow-up Tasks: