ambito/lib/src/pages/start/start_page.dart

86 lines
1.9 KiB
Dart
Raw Normal View History

2024-09-24 15:29:01 +02:00
import 'package:ambito/main.dart';
import 'package:flutter/material.dart';
import '../actions/actions_page.dart';
class StartPage extends StatefulWidget {
const StartPage({super.key});
@override
State<StartPage> createState() => StartPageState();
}
class StartPageState extends State<StartPage> {
String activeLink = '';
@override
void initState() {
activeLink = 'start';
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const SizedBox(height: 50),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
_linkButton('start'),
_linkButton('database'),
_linkButton('designer'),
Image.asset(
'images/logo.png',
scale: 1.3,
),
_linkButton('service'),
_linkButton('network'),
_linkButton('contact'),
],
),
const SizedBox(height: 50),
Expanded(
child: getContent(),
),
],
));
}
Widget getContent() {
if (activeLink == 'database') {
return const ActionsPage();
}
return Text(activeLink);
}
Widget _linkButton(String link) {
double fontSize = 16;
return TextButton(
style: ButtonStyle(
overlayColor:
WidgetStateProperty.resolveWith<Color>((Set<WidgetState> states) {
return Colors.white;
}),
),
onPressed: () {
setState(() {
activeLink = link;
});
},
child: Text(
context.translate('page.start.links.$link.title'),
style: TextStyle(
fontSize: fontSize,
fontWeight: FontWeight.bold,
color: (activeLink == link)
? Colors.grey.shade400
: Colors.grey.shade800,
),
),
);
}
}