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(
activeColorPrimary: Theme.of(context).primaryColor,
inactiveColorPrimary: Theme.of(context).colorScheme.secondary,
icon: const Icon(Icons.more_horiz),
icon: const Icon(Icons.apps),
title: "Mehr"
),
],

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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