Polished layout and icons
This commit is contained in:
parent
d226f62d31
commit
2f4e6fef37
@ -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"
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -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");
|
||||||
|
@ -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"),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -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();
|
||||||
|
@ -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,
|
||||||
|
@ -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: () => {},
|
||||||
),
|
),
|
||||||
|
@ -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(() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user