Conversation
…e camera border Establishes lib/design_system/ as the single source of truth for visual style, and migrates the first screens onto it. Material 3 remains the implementation; feature code now consumes Memory-branded components instead of raw Material. Foundation (tokens) - MemoryColors, MemoryTypography, MemorySpacing, MemoryRadius, MemoryShadows, MemoryDurations, MemoryCurves, MemoryMotion. - Every value is lifted verbatim from constants previously written inline, so adopting a token does not move a pixel. Components - MemoryButton (primary/secondary/danger, regular/compact, loading, disabled) - MemoryCard, MemorySection, MemorySectionHeader, MemoryDivider - MemoryListTile, MemoryActionTile - MemoryBottomSheet, MemoryEmptyState, MemoryLoading Deduplication - Two divergent pill buttons existed: `pill()` in shared/widgets and `ProfilePill` in the circle feature. Both collapse into MemoryButton. The `pill()` helper is now a thin adapter, kept only while its call sites are migrated screen by screen. - ProfileSectionCard, ProfileDetailRow, ProfilePolicyRow and ProfileActionSheet were generic surfaces wearing a feature's name. Deleted; replaced by MemoryCard/MemorySection, MemoryListTile, MemoryActionTile and MemoryBottomSheet. Capture screen - Removed the yellow border drawn around the camera preview: the 1.5px stroke, the yellow glow shadow, the translucent fill and the 2px inset are all gone. The preview is now edge-to-edge inside its rounded clip. No outline replaces it. Framing, safe areas, recording animations, focus indicators and the capture controls are untouched. Accessibility - MemoryButton now reports itself as a button to screen readers; BouncyTap is a GestureDetector, which previously announced only the label text. - Dynamic text scaling remains untouched (no textScaler overrides anywhere). - Known: the compact button height is 34dp, below the 48dp minimum touch target. Pre-existing; left unchanged because raising it would reflow the cards it sits in. Tracked for a follow-up. Intentional behaviour changes (not regressions) - Profile action rows and buttons gain the same press feedback the auth buttons already had, per the motion system. - "Add someone" is disabled at 30/30 rather than rendering an enabled button that silently does nothing. - "Sign out of all other devices" shows a spinner instead of swapping its label. Verification: flutter analyze --fatal-infos --fatal-warnings, dart format --set-exit-if-changed, flutter test (55), flutter build apk --debug all pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ackbars, notifications Continues the Memory Design System rollout. Nine new components, five more screens migrated, and the app's transient-message and dialog surfaces are now centralised. Material 3 remains the implementation. New components (9) - MemorySnackBar (tone: neutral/error), MemoryDialog + MemoryDialogAction - MemoryAvatar, MemoryIconButton (48dp hit target), MemoryBadge, MemoryChip - MemoryTextField, MemoryPasswordField, MemorySearchField - MemoryTopBar, MemoryFloatingActionButton, MemoryContextMenu - MemorySkeleton, MemoryErrorState, MemoryProgressIndicator Screens migrated this pass - core/error_handler — showAppError/showAppMessage now delegate to MemorySnackBar, so every transient message in the app has one implementation. - create_account_view — 10 inline ScaffoldMessenger/SnackBar sites replaced with showAppError. Auth logic untouched. - profile_account_actions — three AlertDialogs to MemoryDialog. - profile_legal_sheets — terms sheet and policy dialog onto tokens and MemoryBottomSheet/MemoryDialog/MemoryIconButton/MemoryButton. - circle_list_tiles — CircleAvatar to MemoryAvatar, unread dot to MemoryBadge, remove-member AlertDialog to MemoryDialog. - notification_screen — new reusable NotificationCard (read/unread state, type glyph, semantics), MemoryEmptyState, MemoryLoading. Cleanup - Folded a stray MemoryDurationsAlias file into MemoryDurations rather than keep two duration definitions. Metrics (feature code, design_system excluded) - SnackBar( 44 -> 18 AlertDialog( 8 -> 3 CircleAvatar( 12 -> 10 - BorderRadius.circular(N) 94 -> 86 inline TextStyle( 217 -> 188 - files importing design_system 7 -> 13 DS components 9 -> 18 The migration is NOT complete. memory_feed_view, camera_capture_view, memory_detail_screen, chat_inbox_view, chat_widgets, login_view, contacts_setup_view and the milestone dialogs still carry legacy UI. MemoryProfileCard, MemoryVideoCard, MemoryNavigationBar, MemoryVideoControls, MemoryReactionBar and MemoryCommentComposer are not built. Verification: flutter analyze --fatal-infos --fatal-warnings, dart format --set-exit-if-changed, flutter test (55), flutter build apk --debug all pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (40)
📝 WalkthroughWalkthroughIntroduces a centralized Memory design system with shared tokens and Flutter components, then migrates authentication, profile, circle, notification, sheet, dialog, button, avatar, and error-message UI to use the new components. ChangesMemory design system rollout
Estimated code review effort: 4 (Complex) | ~60 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merged
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 by CodeRabbit
New Features
Improvements