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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 KiB

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 KiB

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 KiB

After

Width:  |  Height:  |  Size: 492 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 KiB

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 KiB

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 KiB

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 KiB

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 KiB

After

Width:  |  Height:  |  Size: 493 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 KiB

After

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 KiB

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

+16 -1
View File
@@ -301,7 +301,7 @@ class _PreviewScreenState extends State<PreviewScreen> {
return const Color(0xFF050608); // Very dark gray
case 'assets/targets/Target19.jpg':
return const Color(0xFF09080D); // Dark red
return const Color(0xFFF68527); // Warm orange
case 'assets/targets/Target20.jpg':
return const Color(0xFFA9D9EF); // Light blue
@@ -336,6 +336,21 @@ class _PreviewScreenState extends State<PreviewScreen> {
case 'assets/targets/Target30.jpg':
return const Color(0xFFFDFDFB); // Off-white
case 'assets/targets/Target31.jpg':
return const Color(0xFFC52736); // Red
case 'assets/targets/Target32.jpg':
return const Color(0xFFFCF3EE); // Light cream
case 'assets/targets/Target33.jpg':
return const Color(0xFFFCFCF3); // Very light off-white
case 'assets/targets/Target34.jpg':
return const Color(0xFFFFFFFD); // Almost white
case 'assets/targets/Target35.jpg':
return const Color(0xFFFFC5C4); // Light salmon
default:
return Colors.grey[900]!; // Fallback to dark gray
}
+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),
+6 -1
View File
@@ -21,7 +21,7 @@ class TargetColors {
'assets/targets/Target16.jpg': Color(0xFF000000), // Black
'assets/targets/Target17.jpg': Color(0xFF21304D), // Dark blue
'assets/targets/Target18.jpg': Color(0xFF050608), // Very dark gray
'assets/targets/Target19.jpg': Color(0xFF09080D), // Dark
'assets/targets/Target19.jpg': Color(0xFFF68527), // Warm orange
'assets/targets/Target20.jpg': Color(0xFFA9D9EF), // Light blue
'assets/targets/Target21.jpg': Color(0xFFDA6868), // Muted red
'assets/targets/Target22.jpg': Color(0xFFFBFAF6), // Off-white
@@ -33,6 +33,11 @@ class TargetColors {
'assets/targets/Target28.jpg': Color(0xFFFFFFFF), // White
'assets/targets/Target29.jpg': Color(0xFF180E27), // Dark purple
'assets/targets/Target30.jpg': Color(0xFFFDFDFB), // Off-white
'assets/targets/Target31.jpg': Color(0xFFC52736), // Red
'assets/targets/Target32.jpg': Color(0xFFFCF3EE), // Light cream
'assets/targets/Target33.jpg': Color(0xFFFCFCF3), // Very light off-white
'assets/targets/Target34.jpg': Color(0xFFFFFFFD), // Almost white
'assets/targets/Target35.jpg': Color(0xFFFFC5C4), // Light salmon
};
static Color getBackgroundColor(String targetPath) {