added targets made APK

This commit is contained in:
2025-12-24 12:31:37 +01:00
parent f3dc1e7654
commit 2ea44fab64
28 changed files with 103 additions and 74 deletions
+81 -72
View File
@@ -82,6 +82,11 @@ class _SettingsScreenState extends State<SettingsScreen> {
'assets/targets/Target28.jpg',
'assets/targets/Target29.jpg',
'assets/targets/Target30.jpg',
'assets/targets/Target31.jpg',
'assets/targets/Target32.jpg',
'assets/targets/Target33.jpg',
'assets/targets/Target34.jpg',
'assets/targets/Target35.jpg',
];
@override
@@ -533,20 +538,23 @@ String _getTargetDisplayName(String targetPath) {
child: Row(
children: [
// Preview box with target
Container(
width: 70,
height: 70,
decoration: BoxDecoration(
border: Border.all(color: Colors.black12),
borderRadius: BorderRadius.circular(8),
color: TargetColors.getBackgroundColor(_selectedTarget),
),
child: Image.asset(
_selectedTarget,
fit: BoxFit.contain,
errorBuilder: (context, error, stackTrace) {
return Icon(Icons.image_not_supported, color: Colors.grey[400]);
},
ClipRRect(
borderRadius: BorderRadius.circular(8),
child: Container(
width: 70,
height: 70,
decoration: BoxDecoration(
border: Border.all(color: Colors.black12),
borderRadius: BorderRadius.circular(8),
color: TargetColors.getBackgroundColor(_selectedTarget),
),
child: Image.asset(
_selectedTarget,
fit: BoxFit.contain,
errorBuilder: (context, error, stackTrace) {
return Icon(Icons.image_not_supported, color: Colors.grey[400]);
},
),
),
),
const SizedBox(width: 16),
@@ -738,65 +746,66 @@ void _showLanguagePopup() {
const SizedBox(height: 20),
// Preview with multiple bullets on target - ALWAYS ON TOP
ClipRRect(
borderRadius: BorderRadius.circular(12),
child: Container(
width: double.infinity,
height: 280,
decoration: BoxDecoration(
border: Border.all(color: Colors.white24),
color: TargetColors.getBackgroundColor(previewTarget),
),
child: Stack(
alignment: Alignment.center,
children: [
Center(
child: Image.asset(
previewTarget,
fit: BoxFit.contain,
errorBuilder: (context, error, stackTrace) {
return Container(
color: Colors.grey[800],
child: const Center(
child: Icon(Icons.image_not_supported, color: Colors.white54),
),
);
},
),
),
// Multiple preview bullets scattered around
Positioned(
left: 30,
top: 40,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
right: 25,
top: 50,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
left: 40,
bottom: 30,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
right: 35,
bottom: 40,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
left: 50,
top: 100,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
right: 50,
bottom: 80,
child: _buildPreviewBullet(previewBulletColor),
),
],
Container(
width: double.infinity,
height: 280,
decoration: BoxDecoration(
color: TargetColors.getBackgroundColor(previewTarget),
borderRadius: BorderRadius.circular(12),
),
child: ClipRRect(
borderRadius: BorderRadius.circular(12),
child: Stack(
alignment: Alignment.center,
clipBehavior: Clip.hardEdge,
children: [
Center(
child: Image.asset(
previewTarget,
fit: BoxFit.contain,
errorBuilder: (context, error, stackTrace) {
return Container(
color: Colors.grey[800],
child: const Center(
child: Icon(Icons.image_not_supported, color: Colors.white54),
),
);
},
),
),
// Multiple preview bullets scattered around
Positioned(
left: 90,
top: 100,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
right: 90,
top: 110,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
left: 100,
bottom: 90,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
right: 95,
bottom: 100,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
left: 110,
top: 140,
child: _buildPreviewBullet(previewBulletColor),
),
Positioned(
right: 110,
bottom: 140,
child: _buildPreviewBullet(previewBulletColor),
),
],
),
),
),
const SizedBox(height: 24),