This commit is contained in:
Phuoc Nguyen
2025-10-24 17:35:39 +07:00
parent 82ce30961b
commit 860a8788b6
17 changed files with 2572 additions and 32 deletions

View File

@@ -12,6 +12,7 @@ import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:worker/core/constants/ui_constants.dart';
import 'package:worker/core/router/app_router.dart';
import 'package:worker/core/theme/colors.dart';
import 'package:worker/features/home/domain/entities/promotion.dart';
@@ -57,10 +58,15 @@ class _PromotionDetailPageState extends ConsumerState<PromotionDetailPage> {
},
loading: () => Scaffold(
appBar: AppBar(
title: const Text('Chi tiết khuyến mãi'),
backgroundColor: Colors.white,
foregroundColor: AppColors.primaryBlue,
elevation: 1,
leading: IconButton(
icon: const Icon(Icons.arrow_back, color: Colors.black),
onPressed: () => context.pop(),
),
title: const Text('Chi tiết khuyến mãi', style: TextStyle(color: Colors.black)),
elevation: AppBarSpecs.elevation,
backgroundColor: AppColors.white,
foregroundColor: AppColors.grey900,
centerTitle: false,
),
body: const Center(
child: CircularProgressIndicator(),
@@ -68,10 +74,15 @@ class _PromotionDetailPageState extends ConsumerState<PromotionDetailPage> {
),
error: (error, stack) => Scaffold(
appBar: AppBar(
title: const Text('Chi tiết khuyến mãi'),
backgroundColor: Colors.white,
foregroundColor: AppColors.primaryBlue,
elevation: 1,
leading: IconButton(
icon: const Icon(Icons.arrow_back, color: Colors.black),
onPressed: () => context.pop(),
),
title: const Text('Chi tiết khuyến mãi', style: TextStyle(color: Colors.black)),
elevation: AppBarSpecs.elevation,
backgroundColor: AppColors.white,
foregroundColor: AppColors.grey900,
centerTitle: false,
),
body: Center(
child: Column(
@@ -118,26 +129,22 @@ class _PromotionDetailPageState extends ConsumerState<PromotionDetailPage> {
// App Bar
SliverAppBar(
pinned: true,
// backgroundColor: Colors.white,
foregroundColor: AppColors.primaryBlue,
elevation: 1,
shadowColor: Colors.black.withValues(alpha: 0.1),
backgroundColor: AppColors.white,
foregroundColor: AppColors.grey900,
elevation: AppBarSpecs.elevation,
leading: IconButton(
icon: const Icon(Icons.arrow_back),
icon: const Icon(Icons.arrow_back, color: Colors.black),
onPressed: () => context.pop(),
),
title: const Text(
'Chi tiết khuyến mãi',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
),
style: TextStyle(color: Colors.black),
),
centerTitle: false,
actions: [
// Share Button
IconButton(
icon: const Icon(Icons.share),
color: const Color(0xFF64748B),
icon: const Icon(Icons.share, color: Colors.black),
onPressed: _handleShare,
),
@@ -145,10 +152,11 @@ class _PromotionDetailPageState extends ConsumerState<PromotionDetailPage> {
IconButton(
icon: Icon(
_isBookmarked ? Icons.bookmark : Icons.bookmark_border,
color: Colors.black,
),
color: const Color(0xFF64748B),
onPressed: _handleBookmark,
),
const SizedBox(width: AppSpacing.sm),
],
),