Merge pull request 'pull from development' (#11) from development into enhancement/8-tabbar-angleichen

Reviewed-on: #11
This commit is contained in:
2025-11-09 19:59:39 +00:00
29 changed files with 1263 additions and 477 deletions

View File

@@ -1,10 +1,25 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:game_tracker/presentation/widgets/quick_info_tile.dart';
class HomeView extends StatelessWidget {
const HomeView({super.key});
@override
Widget build(BuildContext context) {
return const Center(child: Text('Home View'));
return const Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
QuickInfoTile(title: 'Games', icon: Icons.casino, value: 42),
QuickInfoTile(
title: 'Groups',
icon: Icons.groups_rounded,
value: 5,
),
],
),
],
);
}
}

View File

@@ -0,0 +1,56 @@
import 'package:flutter/material.dart';
import 'package:game_tracker/core/custom_theme.dart';
class QuickInfoTile extends StatefulWidget {
final String title;
final IconData icon;
final int value;
const QuickInfoTile({
super.key,
required this.title,
required this.icon,
required this.value,
});
@override
State<QuickInfoTile> createState() => _QuickInfoTileState();
}
class _QuickInfoTileState extends State<QuickInfoTile> {
@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.all(12),
height: 110,
width: 180,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: CustomTheme.boxColor,
border: Border.all(color: CustomTheme.boxBorder),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Row(
children: [
const Icon(Icons.casino),
const SizedBox(width: 5),
Text(
widget.title,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
),
),
],
),
const Spacer(),
Text(
widget.value.toString(),
style: const TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
),
],
),
);
}
}