3 Commits

Author SHA1 Message Date
dca8c64555 Merge pull request 'small theme changes' (#3) from development into main
All checks were successful
Flutter APK Build / Build Flutter APK (push) Successful in 6m48s
Reviewed-on: #3
2026-01-21 15:05:11 +01:00
1aaea5f6d9 Merge pull request '[fix] Added basic locatlization' (#2) from development into main
All checks were successful
Flutter APK Build / Calculate Version (push) Successful in 13s
Flutter APK Build / Build Flutter APK (push) Successful in 6m34s
Flutter APK Build / Create Release (push) Has been skipped
Reviewed-on: #2
2026-01-21 14:12:41 +01:00
3a54a077f3 Merge pull request '[fix] added bookmark count number to collections page' (#1) from development into main
All checks were successful
Flutter APK Build / Calculate Version (push) Successful in 15s
Flutter APK Build / Build Flutter APK (push) Successful in 6m37s
Flutter APK Build / Create Release (push) Has been skipped
Reviewed-on: #1
2026-01-21 13:20:49 +01:00
9 changed files with 12 additions and 83 deletions

View File

@@ -23,7 +23,5 @@
"collectionName": "Name der Sammlung", "collectionName": "Name der Sammlung",
"bookmarkTitle": "Titel des Lesezeichens", "bookmarkTitle": "Titel des Lesezeichens",
"url": "Url", "url": "Url",
"description": "Beschreibung", "description": "Beschreibung"
"settings": "Einstellungen",
"activateJsonExport": "Json-Export aktivieren"
} }

View File

@@ -23,7 +23,5 @@
"collectionName": "Collection Name", "collectionName": "Collection Name",
"bookmarkTitle": "Bookmark Title", "bookmarkTitle": "Bookmark Title",
"url": "Url", "url": "Url",
"description": "Description", "description": "Description"
"settings": "Settings",
"activateJsonExport": "Activate json export"
} }

View File

@@ -199,18 +199,6 @@ abstract class AppLocalizations {
/// In en, this message translates to: /// In en, this message translates to:
/// **'Description'** /// **'Description'**
String get description; String get description;
/// No description provided for @settings.
///
/// In en, this message translates to:
/// **'Settings'**
String get settings;
/// No description provided for @activateJsonExport.
///
/// In en, this message translates to:
/// **'Activate json export'**
String get activateJsonExport;
} }
class _AppLocalizationsDelegate class _AppLocalizationsDelegate

View File

@@ -60,10 +60,4 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get description => 'Beschreibung'; String get description => 'Beschreibung';
@override
String get settings => 'Einstellungen';
@override
String get activateJsonExport => 'Json-Export aktivieren';
} }

View File

@@ -61,10 +61,4 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get description => 'Description'; String get description => 'Description';
@override
String get settings => 'Settings';
@override
String get activateJsonExport => 'Activate json export';
} }

View File

@@ -5,7 +5,6 @@ import 'l10n/app_localizations.dart';
import 'pages/collection_page.dart'; import 'pages/collection_page.dart';
import 'pages/collections_list_page.dart'; import 'pages/collections_list_page.dart';
import 'pages/search_page.dart'; import 'pages/search_page.dart';
import 'pages/settings_page.dart';
import 'service/search_provider.dart'; import 'service/search_provider.dart';
import 'service/shared_link_provider.dart'; import 'service/shared_link_provider.dart';
import 'service/storage.dart'; import 'service/storage.dart';
@@ -84,7 +83,6 @@ class _MapsBookmarksState extends State<MapsBookmarks>
CollectionsListPage.routeName: (context) => const CollectionsListPage(), CollectionsListPage.routeName: (context) => const CollectionsListPage(),
CollectionPage.routeName: (context) => const CollectionPage(), CollectionPage.routeName: (context) => const CollectionPage(),
SearchPage.routeName: (context) => const SearchPage(), SearchPage.routeName: (context) => const SearchPage(),
SettingsPage.routeName: (context) => const SettingsPage(),
}, },
); );
} }

View File

@@ -9,7 +9,6 @@ import '../service/storage.dart';
import '../widgets/create_bookmark_collection_dialog.dart'; import '../widgets/create_bookmark_collection_dialog.dart';
import 'collection_page.dart'; import 'collection_page.dart';
import 'search_page.dart' show SearchPage; import 'search_page.dart' show SearchPage;
import 'settings_page.dart';
class CollectionsListPage extends StatefulWidget { class CollectionsListPage extends StatefulWidget {
const CollectionsListPage({super.key}); const CollectionsListPage({super.key});
@@ -22,7 +21,7 @@ class CollectionsListPage extends StatefulWidget {
class _CollectionsListPageState extends State<CollectionsListPage> { class _CollectionsListPageState extends State<CollectionsListPage> {
bool addingNewBookmark = false; bool addingNewBookmark = false;
var bookmarkCountMap = <int, int>{}; final bookmarkCountMap = Storage.loadPerCollectionBookmarkCount();
Widget bottomSheetBuilder(BuildContext context) { Widget bottomSheetBuilder(BuildContext context) {
final titleTextFieldController = TextEditingController( final titleTextFieldController = TextEditingController(
@@ -85,9 +84,8 @@ class _CollectionsListPageState extends State<CollectionsListPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final collections = Storage.loadCollections(); final collections = Storage.loadCollections();
bookmarkCountMap = Storage.loadPerCollectionBookmarkCount(); final provider = context.watch<SharedLinkProvider>();
addingNewBookmark = addingNewBookmark = provider.currentMapsLinkMetadata != null;
context.watch<SharedLinkProvider>().currentMapsLinkMetadata != null;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: addingNewBookmark title: addingNewBookmark
@@ -96,20 +94,14 @@ class _CollectionsListPageState extends State<CollectionsListPage> {
actions: [ actions: [
if (addingNewBookmark) if (addingNewBookmark)
TextButton( TextButton(
onPressed: () => onPressed: () => provider.removeCurrentMapsLink(),
context.read<SharedLinkProvider>().removeCurrentMapsLink(),
child: Text(AppLocalizations.of(context)!.cancel), child: Text(AppLocalizations.of(context)!.cancel),
) )
else else
IconButton( IconButton(
onPressed: () => onPressed: () =>
Navigator.of(context).pushNamed(SearchPage.routeName), Navigator.of(context).pushNamed(SearchPage.routeName),
icon: Icon(Icons.search_rounded), icon: Icon(Icons.search),
),
IconButton(
onPressed: () =>
Navigator.of(context).pushNamed(SettingsPage.routeName),
icon: Icon(Icons.settings_rounded),
), ),
], ],
), ),

View File

@@ -1,15 +0,0 @@
import 'package:flutter/material.dart';
import '../l10n/app_localizations.dart';
class SettingsPage extends StatelessWidget {
static const routeName = '/settings';
const SettingsPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(AppLocalizations.of(context)!.settings)),
);
}
}

View File

@@ -8,32 +8,14 @@ class Notifying {
required String text, required String text,
bool isError = false, bool isError = false,
}) { }) {
ScaffoldMessenger.of(context).hideCurrentSnackBar();
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar( SnackBar(
backgroundColor: Theme.of(context).colorScheme.error, content: Text(
content: SizedBox(
height: 30,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
text, text,
style: isError style: isError
? TextStyle(color: Theme.of(context).colorScheme.onError) ? TextStyle(color: Theme.of(context).colorScheme.error)
: null, : null,
), ),
IconButton(
onPressed: () =>
ScaffoldMessenger.of(context).hideCurrentSnackBar(),
icon: Icon(
Icons.close_rounded,
color: Theme.of(context).colorScheme.onError,
),
),
],
),
),
), ),
); );
} }