feat: add carpet

This commit is contained in:
2026-07-03 21:56:34 +03:30
parent 5160deb973
commit 7acd72c286
21 changed files with 536 additions and 156 deletions
+33
View File
@@ -1,8 +1,41 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import '../service/app_sounds.dart';
import '../theme/app_theme.dart';
/// دکمه‌ی بازگشتِ سراسری: قابِ طلایی هماهنگ با تمِ بازی. اگر [onTap] داده نشود،
/// به‌صورت پیش‌فرض یک صفحه به عقب می‌رود (context.pop()).
class AppBackButton extends StatelessWidget {
final VoidCallback? onTap;
final double size;
const AppBackButton({super.key, this.onTap, this.size = 46});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
AppSounds.button();
if (onTap != null) {
onTap!();
} else {
context.pop();
}
},
child: Container(
width: size,
height: size,
decoration: BoxDecoration(
color: AppColors.panel,
borderRadius: BorderRadius.circular(12),
border: Border.all(color: AppColors.gold, width: 1.5),
),
child: const Icon(Icons.arrow_back, color: AppColors.gold),
),
);
}
}
/// مجموعه‌ی ویجت‌های گرافیکیِ مشترک برای ظاهرِ بازیِ (Unity-style):
/// پس‌زمینه‌ی گرادیانی، پنل براق، دکمه‌ی جواهرگون، و عنوانِ درخشان.