refactor: enhance theme and error handling across the application
- Updated error handling in EnhancedErrorService to utilize context for color tokens, improving theme consistency. - Refactored various components to use context-aware shadow and color properties, enhancing visual coherence. - Replaced hardcoded color values with dynamic tokens in multiple widgets, ensuring better adaptability to theme changes. - Improved overall code maintainability by centralizing theme-related logic and reducing direct dependencies on static theme values.
This commit is contained in:
@@ -214,7 +214,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
borderRadius: const BorderRadius.vertical(
|
||||
top: Radius.circular(AppBorderRadius.modal),
|
||||
),
|
||||
boxShadow: ConduitShadows.modal,
|
||||
boxShadow: ConduitShadows.modal(context),
|
||||
),
|
||||
child: const OnboardingSheet(),
|
||||
),
|
||||
@@ -735,7 +735,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
color: context.conduitTheme.cardBorder,
|
||||
width: BorderWidth.regular,
|
||||
),
|
||||
boxShadow: ConduitShadows.messageBubble,
|
||||
boxShadow: ConduitShadows.messageBubble(context),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
@@ -1202,7 +1202,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
drawerEnableOpenDragGesture: true,
|
||||
drawerDragStartBehavior: DragStartBehavior.start,
|
||||
drawerEdgeDragWidth: MediaQuery.of(context).size.width * 0.75,
|
||||
drawerScrimColor: Colors.black.withValues(alpha: 0.32),
|
||||
drawerScrimColor: context.colorTokens.overlayStrong,
|
||||
drawer: Drawer(
|
||||
width: (MediaQuery.of(context).size.width * 0.80).clamp(
|
||||
280.0,
|
||||
@@ -1638,7 +1638,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
borderRadius: BorderRadius.circular(
|
||||
AppBorderRadius.floatingButton,
|
||||
),
|
||||
boxShadow: ConduitShadows.button,
|
||||
boxShadow: ConduitShadows.button(context),
|
||||
),
|
||||
child: SizedBox(
|
||||
width: TouchTarget.button,
|
||||
@@ -1838,7 +1838,7 @@ class _ModelSelectorSheetState extends ConsumerState<_ModelSelectorSheet> {
|
||||
color: context.conduitTheme.dividerColor,
|
||||
width: BorderWidth.regular,
|
||||
),
|
||||
boxShadow: ConduitShadows.modal,
|
||||
boxShadow: ConduitShadows.modal(context),
|
||||
),
|
||||
child: ModalSheetSafeArea(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
@@ -2043,7 +2043,7 @@ class _ModelSelectorSheetState extends ConsumerState<_ModelSelectorSheet> {
|
||||
: context.conduitTheme.dividerColor,
|
||||
width: BorderWidth.regular,
|
||||
),
|
||||
boxShadow: isSelected ? ConduitShadows.card : null,
|
||||
boxShadow: isSelected ? ConduitShadows.card(context) : null,
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
@@ -2327,7 +2327,7 @@ class _VoiceInputSheetState extends ConsumerState<_VoiceInputSheet> {
|
||||
color: context.conduitTheme.dividerColor,
|
||||
width: BorderWidth.regular,
|
||||
),
|
||||
boxShadow: ConduitShadows.modal,
|
||||
boxShadow: ConduitShadows.modal(context),
|
||||
),
|
||||
padding: const EdgeInsets.all(Spacing.bottomSheetPadding),
|
||||
child: SafeArea(
|
||||
@@ -2435,7 +2435,7 @@ class _VoiceInputSheetState extends ConsumerState<_VoiceInputSheet> {
|
||||
top: Radius.circular(AppBorderRadius.bottomSheet),
|
||||
),
|
||||
border: Border.all(color: context.conduitTheme.dividerColor, width: 1),
|
||||
boxShadow: ConduitShadows.modal,
|
||||
boxShadow: ConduitShadows.modal(context),
|
||||
),
|
||||
child: SafeArea(
|
||||
top: false,
|
||||
@@ -2940,7 +2940,7 @@ class _SelectableMessageWrapper extends StatelessWidget {
|
||||
decoration: BoxDecoration(
|
||||
color: context.conduitTheme.buttonPrimary,
|
||||
shape: BoxShape.circle,
|
||||
boxShadow: ConduitShadows.medium,
|
||||
boxShadow: ConduitShadows.medium(context),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check,
|
||||
|
||||
@@ -572,8 +572,12 @@ class FullScreenImageViewer extends ConsumerWidget {
|
||||
}
|
||||
}
|
||||
|
||||
final tokens = context.colorTokens;
|
||||
final background = tokens.neutralTone10;
|
||||
final iconColor = tokens.neutralOnSurface;
|
||||
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.black,
|
||||
backgroundColor: background,
|
||||
body: Stack(
|
||||
children: [
|
||||
Center(
|
||||
@@ -595,14 +599,14 @@ class FullScreenImageViewer extends ConsumerWidget {
|
||||
IconButton(
|
||||
icon: Icon(
|
||||
Platform.isIOS ? Icons.ios_share : Icons.share_outlined,
|
||||
color: Colors.white,
|
||||
color: iconColor,
|
||||
size: 26,
|
||||
),
|
||||
onPressed: () => _shareImage(context, ref),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.close, color: Colors.white, size: 28),
|
||||
icon: Icon(Icons.close, color: iconColor, size: 28),
|
||||
onPressed: () => Navigator.of(context).pop(),
|
||||
),
|
||||
],
|
||||
|
||||
@@ -1281,7 +1281,7 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
alpha: Alpha.buttonPressed,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(radius),
|
||||
boxShadow: ConduitShadows.button,
|
||||
boxShadow: ConduitShadows.button(context),
|
||||
),
|
||||
child: Center(
|
||||
child: Icon(
|
||||
@@ -1696,7 +1696,7 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
color: theme.dividerColor,
|
||||
width: BorderWidth.thin,
|
||||
),
|
||||
boxShadow: ConduitShadows.modal,
|
||||
boxShadow: ConduitShadows.modal(context),
|
||||
),
|
||||
child: ModalSheetSafeArea(
|
||||
padding: const EdgeInsets.fromLTRB(
|
||||
@@ -1810,7 +1810,7 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
color: background,
|
||||
borderRadius: BorderRadius.circular(AppBorderRadius.input),
|
||||
border: Border.all(color: borderColor, width: BorderWidth.thin),
|
||||
boxShadow: value ? ConduitShadows.low : const [],
|
||||
boxShadow: value ? ConduitShadows.low(context) : const [],
|
||||
),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
@@ -1897,7 +1897,7 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
color: background,
|
||||
borderRadius: BorderRadius.circular(AppBorderRadius.input),
|
||||
border: Border.all(color: borderColor, width: BorderWidth.thin),
|
||||
boxShadow: selected ? ConduitShadows.low : const [],
|
||||
boxShadow: selected ? ConduitShadows.low(context) : const [],
|
||||
),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
|
||||
@@ -563,13 +563,7 @@ class _UserMessageBubbleState extends ConsumerState<UserMessageBubble>
|
||||
context.conduitTheme.chatBubbleUserBorder,
|
||||
width: BorderWidth.regular,
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.08),
|
||||
blurRadius: 4,
|
||||
offset: const Offset(0, 2),
|
||||
),
|
||||
],
|
||||
boxShadow: ConduitShadows.small(context),
|
||||
),
|
||||
child: _isEditing
|
||||
? Focus(
|
||||
|
||||
Reference in New Issue
Block a user