feat(mobile): improve home retrieval summary

This commit is contained in:
saravanakumardb1 2026-03-10 09:29:36 -07:00
parent a748d78551
commit 02f8193b5f
2 changed files with 31 additions and 1 deletions

View File

@ -56,7 +56,7 @@ Stack: React Native + Expo + TypeScript
# Done When
- [ ] Mobile is useful for capture and retrieval
- [x] Mobile is useful for capture and retrieval
- [x] Mobile supports lightweight editing and approvals for MVP
- [ ] Mobile does not try to duplicate dense web-only workflows
@ -73,6 +73,7 @@ Stack: React Native + Expo + TypeScript
- token-based theme wiring via `@bytelyst/design-tokens/tokens.json`
- Zustand-backed auth, notes, and workspace stores were added for first-pass mobile state management.
- Home/search/capture now use active workspace context for more useful mobile browsing.
- Home now includes a workspace retrieval summary block to make the mobile surface more useful at a glance.
- Note detail now supports lightweight local editing plus basic artifact metadata viewing.
- Inbox now supports simple approval/reject flows and a lightweight activity feed.
- Capture now surfaces offline queue readiness details for the current mobile scaffold.

View File

@ -26,12 +26,18 @@ export default function HomeScreen() {
})),
[activeWorkspaceName, notes]
);
const visibleCount = recentNotes.length;
return (
<ScrollView contentContainerStyle={styles.container}>
<Text style={styles.eyebrow}>Recent notes</Text>
<Text style={styles.title}>Capture and retrieve fast</Text>
<Text style={styles.subtitle}>Mobile MVP focuses on recent notes, quick capture, search, and lightweight review.</Text>
<View style={styles.summaryCard}>
<Text style={styles.summaryLabel}>Workspace</Text>
<Text style={styles.summaryValue}>{activeWorkspaceName ?? 'All workspaces'}</Text>
<Text style={styles.summaryMeta}>{visibleCount} visible notes ready for quick retrieval</Text>
</View>
<ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.workspaceRow}>
{workspaces.map((workspace: MobileWorkspace) => {
const isActive = workspace.id === activeWorkspaceId;
@ -111,6 +117,29 @@ const styles = StyleSheet.create({
workspaceChipTextActive: {
color: colors.textPrimary,
},
summaryCard: {
backgroundColor: colors.surfaceCard,
borderWidth: 1,
borderColor: colors.borderDefault,
borderRadius: 16,
padding: 16,
gap: 6,
},
summaryLabel: {
color: colors.textSecondary,
fontSize: 13,
textTransform: 'uppercase',
letterSpacing: 1,
},
summaryValue: {
color: colors.textPrimary,
fontSize: 20,
fontWeight: '700',
},
summaryMeta: {
color: colors.textSecondary,
fontSize: 14,
},
card: {
backgroundColor: colors.surfaceCard,
borderWidth: 1,