Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions flutter_app/lib/admin/inbox_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ class _StatusFilterTile extends StatelessWidget {
return ListTile(
title: Text(label),
selected: selected,
selectedTileColor: TropicalColors.foam,
selectedTileColor: TropicalColors.surface,
onTap: onTap,
);
}
Expand Down Expand Up @@ -204,7 +204,7 @@ class _LeadListTile extends StatelessWidget {
if (lead.createdAt != null)
Text(
dateFormat.format(lead.createdAt!),
style: TextStyle(fontSize: 11, color: Colors.grey.shade600),
style: TextStyle(fontSize: 11, color: TropicalColors.disabled),
),
],
),
Expand All @@ -215,17 +215,16 @@ class _LeadListTile extends StatelessWidget {
Color _statusColor(LeadStatus status) {
switch (status) {
case LeadStatus.newLead:
return TropicalColors.coral;
case LeadStatus.contacted:
return TropicalColors.teal;
return TropicalColors.primary;
case LeadStatus.quoting:
return Colors.orange;
return TropicalColors.warning;
case LeadStatus.booked:
return TropicalColors.palm;
return TropicalColors.success;
case LeadStatus.closed:
return Colors.grey;
return TropicalColors.disabled;
case LeadStatus.lost:
return Colors.red.shade300;
return TropicalColors.error;
}
}
}
Expand All @@ -240,7 +239,7 @@ class _StatusChip extends StatelessWidget {
return Container(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 2),
decoration: BoxDecoration(
color: TropicalColors.foam,
color: TropicalColors.surface,
borderRadius: BorderRadius.circular(12),
),
child: Text(status.label, style: const TextStyle(fontSize: 11)),
Expand Down
10 changes: 5 additions & 5 deletions flutter_app/lib/admin/lead_detail_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,8 @@ class _LeadDetailScreenState extends State<LeadDetailScreen> {
style: TextStyle(
fontWeight: FontWeight.bold,
color: role == 'user'
? TropicalColors.teal
: TropicalColors.coral,
? TropicalColors.primary
: TropicalColors.secondary,
fontSize: 12,
),
),
Expand All @@ -215,7 +215,7 @@ class _LeadDetailScreenState extends State<LeadDetailScreen> {
Container(
width: 320,
decoration: BoxDecoration(
border: Border(left: BorderSide(color: Colors.grey.shade300)),
border: Border(left: BorderSide(color: TropicalColors.disabled.withValues(alpha: 0.4))),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
Expand Down Expand Up @@ -285,7 +285,7 @@ class _LeadDetailScreenState extends State<LeadDetailScreen> {
dateFormat.format(note.createdAt!),
style: TextStyle(
fontSize: 11,
color: Colors.grey.shade600,
color: TropicalColors.disabled,
),
),
),
Expand Down Expand Up @@ -358,7 +358,7 @@ class _DetailRow extends StatelessWidget {
width: 100,
child: Text(
label,
style: TextStyle(color: Colors.grey.shade600),
style: TextStyle(color: TropicalColors.disabled),
),
),
Expanded(child: Text(value)),
Expand Down
8 changes: 4 additions & 4 deletions flutter_app/lib/admin/login_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -66,21 +66,21 @@ class _AdminLoginScreenState extends State<AdminLoginScreen> {
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Icon(Icons.beach_access, size: 48, color: TropicalColors.teal),
Icon(Icons.beach_access, size: 48, color: TropicalColors.primary),
const SizedBox(height: 16),
Text(
'Vacation Agent CRM',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.headlineSmall?.copyWith(
fontWeight: FontWeight.bold,
color: TropicalColors.ocean,
color: TropicalColors.secondary,
),
),
const SizedBox(height: 8),
Text(
'Team login only',
textAlign: TextAlign.center,
style: TextStyle(color: Colors.grey.shade600),
style: TextStyle(color: TropicalColors.disabled),
),
const SizedBox(height: 32),
TextField(
Expand All @@ -103,7 +103,7 @@ class _AdminLoginScreenState extends State<AdminLoginScreen> {
),
if (_error != null) ...[
const SizedBox(height: 12),
Text(_error!, style: const TextStyle(color: Colors.red)),
Text(_error!, style: const TextStyle(color: TropicalColors.error)),
],
const SizedBox(height: 24),
ElevatedButton(
Expand Down
12 changes: 6 additions & 6 deletions flutter_app/lib/admin/partial_inbox_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ class _FilterTile extends StatelessWidget {
return ListTile(
title: Text(label),
selected: selected,
selectedTileColor: TropicalColors.foam,
selectedTileColor: TropicalColors.surface,
onTap: onTap,
);
}
Expand All @@ -169,8 +169,8 @@ class _PartialListTile extends StatelessWidget {
onTap: onTap,
leading: CircleAvatar(
backgroundColor: partial.status == PartialLeadStatus.partial
? Colors.orange.shade400
: TropicalColors.teal,
? TropicalColors.warning
: TropicalColors.primary,
child: Text(
label.isNotEmpty ? label[0].toUpperCase() : '?',
style: const TextStyle(color: Colors.white),
Expand All @@ -194,15 +194,15 @@ class _PartialListTile extends StatelessWidget {
style: TextStyle(
fontSize: 11,
color: partial.status == PartialLeadStatus.partial
? Colors.orange.shade800
: TropicalColors.teal,
? TropicalColors.warningDark
: TropicalColors.primary,
fontWeight: FontWeight.w600,
),
),
if (partial.updatedAt != null)
Text(
dateFormat.format(partial.updatedAt!),
style: TextStyle(fontSize: 11, color: Colors.grey.shade600),
style: TextStyle(fontSize: 11, color: TropicalColors.disabled),
),
],
),
Expand Down
12 changes: 6 additions & 6 deletions flutter_app/lib/admin/partial_lead_detail_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ class PartialLeadDetailScreen extends StatelessWidget {
style: TextStyle(
fontWeight: FontWeight.w600,
color: partial.status == PartialLeadStatus.partial
? Colors.orange.shade800
: TropicalColors.teal,
? TropicalColors.warningDark
: TropicalColors.primary,
),
),
),
Expand Down Expand Up @@ -101,14 +101,14 @@ class PartialLeadDetailScreen extends StatelessWidget {
constraints: const BoxConstraints(maxWidth: 520),
decoration: BoxDecoration(
color: isUser
? TropicalColors.teal.withValues(alpha: 0.12)
: Colors.grey.shade100,
? TropicalColors.primary.withValues(alpha: 0.12)
: TropicalColors.surface,
borderRadius: BorderRadius.circular(12),
),
child: Text(
text,
style: TextStyle(
color: isUser ? TropicalColors.ocean : Colors.black87,
color: isUser ? TropicalColors.secondary : TropicalColors.onSurface,
),
),
),
Expand Down Expand Up @@ -166,7 +166,7 @@ class _DetailRow extends StatelessWidget {
width: 120,
child: Text(
label,
style: TextStyle(color: Colors.grey.shade700, fontWeight: FontWeight.w500),
style: TextStyle(color: TropicalColors.disabled, fontWeight: FontWeight.w500),
),
),
Expanded(child: Text(value)),
Expand Down
17 changes: 12 additions & 5 deletions flutter_app/lib/chat/chat_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,17 @@ class _ChatScreenState extends State<ChatScreen> {
if (_controller.errorMessage != null)
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Text(
_controller.errorMessage!,
textAlign: TextAlign.center,
style: TextStyle(color: Colors.red.shade100),
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
decoration: BoxDecoration(
color: TropicalColors.errorSurface.withValues(alpha: 0.95),
borderRadius: BorderRadius.circular(12),
),
child: Text(
_controller.errorMessage!,
textAlign: TextAlign.center,
style: const TextStyle(color: TropicalColors.error),
),
),
),
ChatInputBar(
Expand Down Expand Up @@ -190,7 +197,7 @@ class _SubmittedBanner extends StatelessWidget {
margin: const EdgeInsets.all(16),
padding: const EdgeInsets.all(20),
decoration: BoxDecoration(
color: TropicalColors.palm.withValues(alpha: 0.9),
color: TropicalColors.success.withValues(alpha: 0.9),
borderRadius: BorderRadius.circular(16),
),
child: Column(
Expand Down
10 changes: 5 additions & 5 deletions flutter_app/lib/chat/widgets/chat_widgets.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class MessageBubble extends StatelessWidget {
),
boxShadow: [
BoxShadow(
color: Colors.black.withValues(alpha: 0.08),
color: TropicalColors.onSurface.withValues(alpha: 0.08),
blurRadius: 8,
offset: const Offset(0, 2),
),
Expand All @@ -43,7 +43,7 @@ class MessageBubble extends StatelessWidget {
child: Text(
text.isEmpty && isStreaming ? '...' : text,
style: TextStyle(
color: isUser ? Colors.white : TropicalColors.ocean,
color: isUser ? Colors.white : TropicalColors.secondary,
height: 1.4,
fontSize: 15,
),
Expand Down Expand Up @@ -95,7 +95,7 @@ class _TypingIndicatorState extends State<TypingIndicator>
width: 8,
height: 8,
decoration: BoxDecoration(
color: TropicalColors.teal.withValues(alpha: 0.4 + opacity * 0.6),
color: TropicalColors.primary.withValues(alpha: 0.4 + opacity * 0.6),
shape: BoxShape.circle,
),
);
Expand Down Expand Up @@ -141,7 +141,7 @@ class ChatInputBar extends StatelessWidget {
: '$queuedCount messages queued…',
textAlign: TextAlign.center,
style: TextStyle(
color: TropicalColors.ocean.withValues(alpha: 0.85),
color: TropicalColors.secondary.withValues(alpha: 0.85),
fontSize: 12,
fontWeight: FontWeight.w500,
),
Expand All @@ -164,7 +164,7 @@ class ChatInputBar extends StatelessWidget {
),
const SizedBox(width: 8),
Material(
color: sendEnabled ? TropicalColors.teal : Colors.grey.shade400,
color: sendEnabled ? TropicalColors.primary : TropicalColors.disabled,
shape: const CircleBorder(),
child: InkWell(
onTap: sendEnabled ? onSend : null,
Expand Down
Loading