Polished layout and icons

This commit is contained in:
Elias Müller 2023-05-31 21:34:16 +02:00
parent d226f62d31
commit 2f4e6fef37
7 changed files with 24 additions and 20 deletions

View File

@ -94,7 +94,7 @@ class _AppState extends State<App> {
PersistentBottomNavBarItem( PersistentBottomNavBarItem(
activeColorPrimary: Theme.of(context).primaryColor, activeColorPrimary: Theme.of(context).primaryColor,
inactiveColorPrimary: Theme.of(context).colorScheme.secondary, inactiveColorPrimary: Theme.of(context).colorScheme.secondary,
icon: const Icon(Icons.more_horiz), icon: const Icon(Icons.apps),
title: "Mehr" title: "Mehr"
), ),
], ],

View File

@ -12,7 +12,7 @@ class AppTheme extends ChangeNotifier {
static ThemeModeDisplay getDisplayOptions(ThemeMode theme) { static ThemeModeDisplay getDisplayOptions(ThemeMode theme) {
switch(theme) { switch(theme) {
case ThemeMode.system: case ThemeMode.system:
return ThemeModeDisplay(icon: Icons.auto_awesome, displayName: "Systemvorgabe"); return ThemeModeDisplay(icon: Icons.auto_fix_high_outlined, displayName: "Systemvorgabe");
case ThemeMode.light: case ThemeMode.light:
return ThemeModeDisplay(icon: Icons.dark_mode_outlined, displayName: "Hell"); return ThemeModeDisplay(icon: Icons.dark_mode_outlined, displayName: "Hell");

View File

@ -78,10 +78,13 @@ class _FileElementState extends State<FileElement> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ListTile( return ListTile(
leading: Icon(widget.file.isDirectory ? Icons.folder : Icons.file_open_outlined), leading: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [Icon(widget.file.isDirectory ? Icons.folder_outlined : Icons.description_outlined)],
),
title: Text(widget.file.name), title: Text(widget.file.name),
subtitle: getSubtitle(), subtitle: getSubtitle(),
trailing: Icon(widget.file.isDirectory ? Icons.arrow_right : Icons.open_in_browser), trailing: Icon(widget.file.isDirectory ? Icons.arrow_right : null),
onTap: () { onTap: () {
if(widget.file.isDirectory) { if(widget.file.isDirectory) {
Navigator.of(context).push(MaterialPageRoute( Navigator.of(context).push(MaterialPageRoute(
@ -150,11 +153,11 @@ class _FileElementState extends State<FileElement> {
return ListView( return ListView(
children: [ children: [
ListTile( ListTile(
leading: const Icon(Icons.delete), leading: const Icon(Icons.delete_outline),
title: Text("'${widget.file.name}' Löschen"), title: Text("'${widget.file.name}' Löschen"),
), ),
const ListTile( const ListTile(
leading: Icon(Icons.share), leading: Icon(Icons.share_outlined),
title: Text("Teilen"), title: Text("Teilen"),
) )
], ],

View File

@ -41,17 +41,17 @@ class SortOptions {
static Map<SortOption, BetterSortOption> options = { static Map<SortOption, BetterSortOption> options = {
SortOption.name: BetterSortOption( SortOption.name: BetterSortOption(
displayName: "Name", displayName: "Name",
icon: Icons.sort_by_alpha, icon: Icons.sort_by_alpha_outlined,
compare: (CacheableFile a, CacheableFile b) => a.name.compareTo(b.name) compare: (CacheableFile a, CacheableFile b) => a.name.compareTo(b.name)
), ),
SortOption.date: BetterSortOption( SortOption.date: BetterSortOption(
displayName: "Datum", displayName: "Datum",
icon: Icons.more_time_outlined, icon: Icons.history_outlined,
compare: (CacheableFile a, CacheableFile b) => a.modifiedAt!.compareTo(b.modifiedAt!) compare: (CacheableFile a, CacheableFile b) => a.modifiedAt!.compareTo(b.modifiedAt!)
), ),
SortOption.size: BetterSortOption( SortOption.size: BetterSortOption(
displayName: "Größe", displayName: "Größe",
icon: Icons.monitor_weight, icon: Icons.sd_card_outlined,
compare: (CacheableFile a, CacheableFile b) { compare: (CacheableFile a, CacheableFile b) {
if(a.isDirectory || b.isDirectory) return a.isDirectory ? 1 : 0; if(a.isDirectory || b.isDirectory) return a.isDirectory ? 1 : 0;
if(a.size == null) return 0; if(a.size == null) return 0;
@ -157,7 +157,7 @@ class _FilesState extends State<Files> {
return SimpleDialog( return SimpleDialog(
children: [ children: [
ListTile( ListTile(
leading: const Icon(Icons.folder), leading: const Icon(Icons.create_new_folder_outlined),
title: const Text("Ordner erstellen"), title: const Text("Ordner erstellen"),
onTap: () { onTap: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
@ -187,7 +187,7 @@ class _FilesState extends State<Files> {
}, },
), ),
ListTile( ListTile(
leading: const Icon(Icons.file_open), leading: const Icon(Icons.upload_file),
title: const Text("Aus Dateien hochladen"), title: const Text("Aus Dateien hochladen"),
onTap: () { onTap: () {
context.loaderOverlay.show(); context.loaderOverlay.show();
@ -199,7 +199,7 @@ class _FilesState extends State<Files> {
}, },
), ),
ListTile( ListTile(
leading: const Icon(Icons.image), leading: const Icon(Icons.add_a_photo_outlined),
title: const Text("Aus Gallerie hochladen"), title: const Text("Aus Gallerie hochladen"),
onTap: () { onTap: () {
context.loaderOverlay.show(); context.loaderOverlay.show();

View File

@ -53,7 +53,7 @@ class _GradeAverageState extends State<GradeAverage> {
PopupMenuButton<bool>( PopupMenuButton<bool>(
enableFeedback: true, enableFeedback: true,
initialValue: gradeSystem, initialValue: gradeSystem,
icon: const Icon(Icons.read_more), icon: const Icon(Icons.more_horiz),
itemBuilder: (context) => [true, false].map((e) => PopupMenuItem<bool>( itemBuilder: (context) => [true, false].map((e) => PopupMenuItem<bool>(
value: e, value: e,
enabled: e != gradeSystem, enabled: e != gradeSystem,

View File

@ -185,7 +185,7 @@ class _ChatBubbleState extends State<ChatBubble> {
Visibility( Visibility(
visible: !widget.isSender && widget.chatData.type != GetRoomResponseObjectConversationType.oneToOne, visible: !widget.isSender && widget.chatData.type != GetRoomResponseObjectConversationType.oneToOne,
child: ListTile( child: ListTile(
leading: const Icon(Icons.person), leading: const Icon(Icons.sms_outlined),
title: Text("Private Nachricht an '${widget.bubbleData.actorDisplayName}'"), title: Text("Private Nachricht an '${widget.bubbleData.actorDisplayName}'"),
onTap: () => {}, onTap: () => {},
), ),

View File

@ -36,7 +36,7 @@ class _SettingsState extends State<Settings> {
children: [ children: [
ListTile( ListTile(
leading: const Icon(Icons.logout), leading: const Icon(Icons.logout_outlined),
title: const Text("Konto abmelden"), title: const Text("Konto abmelden"),
onTap: () { onTap: () {
showDialog( showDialog(
@ -76,7 +76,7 @@ class _SettingsState extends State<Settings> {
Consumer<AppTheme>( Consumer<AppTheme>(
builder: (context, value, child) { builder: (context, value, child) {
return ListTile( return ListTile(
leading: const Icon(Icons.dark_mode), leading: const Icon(Icons.dark_mode_outlined),
title: const Text("Farbgebung"), title: const Text("Farbgebung"),
trailing: DropdownButton<ThemeMode>( trailing: DropdownButton<ThemeMode>(
value: value.getMode, value: value.getMode,
@ -103,7 +103,7 @@ class _SettingsState extends State<Settings> {
const Divider(), const Divider(),
ListTile( ListTile(
leading: const Icon(Icons.info), leading: const Icon(Icons.live_help_outlined),
title: const Text("Informationen und Lizenzen"), title: const Text("Informationen und Lizenzen"),
onTap: () async { onTap: () async {
final appInfo = await PackageInfo.fromPlatform(); final appInfo = await PackageInfo.fromPlatform();
@ -124,7 +124,7 @@ class _SettingsState extends State<Settings> {
), ),
ListTile( ListTile(
leading: const Icon(Icons.privacy_tip), leading: const Icon(Icons.policy_outlined),
title: const Text("Datenschutz"), title: const Text("Datenschutz"),
onTap: () { onTap: () {
launchUrl(Uri.parse("https://mhsl.eu/datenschutz.html")); launchUrl(Uri.parse("https://mhsl.eu/datenschutz.html"));
@ -133,7 +133,7 @@ class _SettingsState extends State<Settings> {
), ),
ListTile( ListTile(
leading: const Icon(Icons.person_pin_rounded), leading: const Icon(Icons.badge_outlined),
title: const Text("Impressum"), title: const Text("Impressum"),
onTap: () { onTap: () {
launchUrl(Uri.parse("https://mhsl.eu/id.html")); launchUrl(Uri.parse("https://mhsl.eu/id.html"));
@ -144,9 +144,10 @@ class _SettingsState extends State<Settings> {
const Divider(), const Divider(),
ListTile( ListTile(
leading: const Icon(Icons.developer_mode), leading: const Icon(Icons.developer_mode_outlined),
title: const Text("Entwicklermodus"), title: const Text("Entwicklermodus"),
trailing: Checkbox( trailing: Checkbox(
visualDensity: const VisualDensity(horizontal: VisualDensity.minimumDensity),
value: developerMode, value: developerMode,
onChanged: (state) { onChanged: (state) {
setState(() { setState(() {