update icon

This commit is contained in:
Phuoc Nguyen
2025-11-14 18:02:37 +07:00
parent aae3c9d080
commit b5f90c364d
54 changed files with 534 additions and 245 deletions

View File

@@ -5,6 +5,7 @@ library;
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:go_router/go_router.dart';
import 'package:qr_flutter/qr_flutter.dart';
import 'package:worker/core/constants/ui_constants.dart';
@@ -282,37 +283,37 @@ class LoyaltyPage extends ConsumerWidget {
List<Widget> _buildLoyaltyMenu(BuildContext context) {
final menuItems = [
{
'icon': Icons.card_giftcard,
'icon': FontAwesomeIcons.gift,
'title': 'Đổi quà tặng',
'subtitle': 'Sử dụng điểm để đổi quà hấp dẫn',
'route': '/loyalty/rewards',
},
{
'icon': Icons.add_circle_outline,
'icon': FontAwesomeIcons.circlePlus,
'title': 'Ghi nhận điểm',
'subtitle': 'Gửi hóa đơn để nhận điểm thưởng',
'route': null,
},
{
'icon': Icons.history,
'icon': FontAwesomeIcons.clockRotateLeft,
'title': 'Lịch sử điểm',
'subtitle': 'Xem chi tiết cộng/trừ điểm',
'route': '/loyalty/points-history',
},
{
'icon': Icons.person_add,
'icon': FontAwesomeIcons.userPlus,
'title': 'Giới thiệu bạn bè',
'subtitle': 'Nhận thưởng khi giới thiệu thành công',
'route': null,
},
{
'icon': Icons.inventory_2_outlined,
'icon': FontAwesomeIcons.boxOpen,
'title': 'Quà của tôi',
'subtitle': 'Xem voucher và quà tặng đã đổi',
'route': null,
},
{
'icon': Icons.diamond_outlined,
'icon': FontAwesomeIcons.gem,
'title': 'Quyền lợi hội viên',
'subtitle': 'Xem các ưu đãi dành cho hạng của bạn',
'route': null,
@@ -386,7 +387,7 @@ class LoyaltyPage extends ConsumerWidget {
// Arrow
const Icon(
Icons.chevron_right,
FontAwesomeIcons.chevronRight,
color: AppColors.grey500,
size: 20,
),
@@ -440,7 +441,7 @@ class LoyaltyPage extends ConsumerWidget {
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Icon(Icons.check_circle, size: 20, color: Color(0xFF4A00E0)),
const FaIcon(FontAwesomeIcons.solidCircleCheck, size: 18, color: Color(0xFF4A00E0)),
const SizedBox(width: 12),
Expanded(
child: Text(

View File

@@ -5,6 +5,7 @@ library;
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:go_router/go_router.dart';
import 'package:intl/intl.dart';
import 'package:worker/core/constants/ui_constants.dart';
@@ -32,7 +33,7 @@ class PointsHistoryPage extends ConsumerWidget {
backgroundColor: const Color(0xFFF4F6F8),
appBar: AppBar(
leading: IconButton(
icon: const Icon(Icons.arrow_back, color: Colors.black),
icon: const FaIcon(FontAwesomeIcons.arrowLeft, color: Colors.black, size: 20),
onPressed: () => context.pop(),
),
title: const Text(
@@ -101,7 +102,7 @@ class PointsHistoryPage extends ConsumerWidget {
color: AppColors.grey900,
),
),
Icon(Icons.filter_list, color: AppColors.primaryBlue, size: 20),
FaIcon(FontAwesomeIcons.sliders, color: AppColors.primaryBlue, size: 18),
],
),
const SizedBox(height: 8),
@@ -263,8 +264,8 @@ class PointsHistoryPage extends ConsumerWidget {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.history,
FaIcon(
FontAwesomeIcons.clockRotateLeft,
size: 80,
color: AppColors.grey500.withValues(alpha: 0.5),
),
@@ -294,8 +295,8 @@ class PointsHistoryPage extends ConsumerWidget {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.error_outline,
FaIcon(
FontAwesomeIcons.circleExclamation,
size: 80,
color: AppColors.danger.withValues(alpha: 0.7),
),

View File

@@ -5,6 +5,7 @@ library;
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:go_router/go_router.dart';
import 'package:intl/intl.dart';
import 'package:worker/core/constants/ui_constants.dart';
@@ -34,7 +35,7 @@ class RewardsPage extends ConsumerWidget {
backgroundColor: const Color(0xFFF4F6F8),
appBar: AppBar(
leading: IconButton(
icon: const Icon(Icons.arrow_back, color: Colors.black),
icon: const FaIcon(FontAwesomeIcons.arrowLeft, color: Colors.black, size: 20),
onPressed: () => context.pop(),
),
title: const Text(
@@ -47,7 +48,7 @@ class RewardsPage extends ConsumerWidget {
centerTitle: false,
actions: [
IconButton(
icon: const Icon(Icons.info_outline, color: Colors.black),
icon: const FaIcon(FontAwesomeIcons.circleInfo, color: Colors.black, size: 20),
onPressed: () => _showInfoDialog(context),
),
const SizedBox(width: AppSpacing.sm),
@@ -168,7 +169,7 @@ class RewardsPage extends ConsumerWidget {
children: [
const Padding(
padding: EdgeInsets.only(top: 6),
child: Icon(Icons.circle, size: 6, color: AppColors.grey500),
child: FaIcon(FontAwesomeIcons.solidCircle, size: 6, color: AppColors.grey500),
),
const SizedBox(width: 12),
Expanded(
@@ -299,8 +300,8 @@ class RewardsPage extends ConsumerWidget {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.card_giftcard_outlined,
FaIcon(
FontAwesomeIcons.gift,
size: 64,
color: AppColors.grey500,
),
@@ -434,7 +435,7 @@ class RewardsPage extends ConsumerWidget {
SnackBar(
content: Row(
children: [
const Icon(Icons.check_circle, color: Colors.white),
const FaIcon(FontAwesomeIcons.solidCircleCheck, color: Colors.white, size: 20),
const SizedBox(width: 12),
Expanded(child: Text('Đổi quà "${gift.name}" thành công!')),
],