From ff97898b90eb6e1930234f36b412d989d30fa582 Mon Sep 17 00:00:00 2001 From: marco Date: Wed, 18 Dec 2024 17:36:24 +0100 Subject: [PATCH] simple language dropdown without function --- lib/pages/landing_page.dart | 2 ++ lib/widgets/language_dropdown.dart | 35 ++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 lib/widgets/language_dropdown.dart diff --git a/lib/pages/landing_page.dart b/lib/pages/landing_page.dart index 4571e6b..31067ee 100644 --- a/lib/pages/landing_page.dart +++ b/lib/pages/landing_page.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:resume/services/breakpoints.dart'; +import 'package:resume/widgets/language_dropdown.dart'; import 'package:resume/widgets/profile.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:resume/constants.dart' show ContentType; @@ -191,6 +192,7 @@ class _LandingPageState extends State { title: const Text('Lebenslauf'), actions: const [ TextButton(onPressed: _launchURL, child: Text('Source Code')), + LanguageDropdown(), ], ), body: !loadingDone diff --git a/lib/widgets/language_dropdown.dart b/lib/widgets/language_dropdown.dart new file mode 100644 index 0000000..0bf5434 --- /dev/null +++ b/lib/widgets/language_dropdown.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; + +class LanguageDropdown extends StatelessWidget { + const LanguageDropdown({super.key}); + + @override + Widget build(BuildContext context) { + return DropdownButton( + value: 'de', + items: [ + DropdownMenuItem( + value: 'de', + child: getMenuItem('Deutsch', 'assets/de_icon.png'), + ), + DropdownMenuItem( + value: 'en', + child: getMenuItem('Englisch', 'assets/gb_icon.png'), + ), + ], + onChanged: _onChanged, + ); + } + + void _onChanged(dynamic value) {} + + Widget getMenuItem(String label, String imagePath) { + return Row( + children: [ + Text(label), + const Padding(padding: EdgeInsets.only(right: 8)), + Image.asset(imagePath, width: 30), + ], + ); + } +}