Merge remote-tracking branch 'origin/hotfix/89-hotfix-correcting-links' into feature/46-implement-native-rating-dialogs

# Conflicts:
#	analysis_options.yaml
#	lib/core/constants.dart
#	lib/main.dart
#	lib/presentation/views/information_view.dart
#	lib/presentation/views/mode_selection_view.dart
#	lib/presentation/views/settings_view.dart
#	lib/presentation/views/tab_view.dart
#	lib/services/version_service.dart
#	pubspec.yaml
This commit is contained in:
2025-07-10 17:29:02 +02:00
21 changed files with 68 additions and 34 deletions

11
lib/core/constants.dart Normal file
View File

@@ -0,0 +1,11 @@
class Constants {
static String appDevPhase = 'Beta';
static const String INSTAGRAM_LINK = 'https://instagram.felixkirchner.de';
static const String GITHUB_LINK = 'https://github1.felixkirchner.de';
static const String GITHUB_ISSUES_LINK =
'cabocounter-issues.felixkirchner.de';
static const String GITHUB_WIKI_LINK = 'cabocounter-wiki.felixkirchner.de ';
static const String EMAIL = 'cabocounter@felixkirchner.de';
static const String PRIVACY_POLICY_LINK =
'https://www.privacypolicies.com/live/1b3759d4-b2f1-4511-8e3b-21bb1626be68';
}

View File

@@ -103,6 +103,7 @@
"create_issue": "Issue erstellen",
"wiki": "Wiki",
"app_version": "App-Version",
"privacy_policy": "Datenschutzerklärung",
"build": "Build-Nr.",
"loading": "Lädt...",

View File

@@ -103,6 +103,7 @@
"create_issue": "Create Issue",
"wiki": "Wiki",
"app_version": "App Version",
"privacy_policy": "Privacy Policy",
"loading": "Loading...",
"build": "Build No.",

View File

@@ -18,7 +18,7 @@ import 'app_localizations_en.dart';
/// `supportedLocales` list. For example:
///
/// ```dart
/// import 'l10n/app_localizations.dart';
/// import 'generated/app_localizations.dart';
///
/// return MaterialApp(
/// localizationsDelegates: AppLocalizations.localizationsDelegates,
@@ -566,6 +566,12 @@ abstract class AppLocalizations {
/// **'App-Version'**
String get app_version;
/// No description provided for @privacy_policy.
///
/// In de, this message translates to:
/// **'Datenschutzerklärung'**
String get privacy_policy;
/// No description provided for @build.
///
/// In de, this message translates to:

View File

@@ -256,6 +256,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get app_version => 'App-Version';
@override
String get privacy_policy => 'Datenschutzerklärung';
@override
String get build => 'Build-Nr.';

View File

@@ -253,6 +253,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get app_version => 'App Version';
@override
String get privacy_policy => 'Privacy Policy';
@override
String get build => 'Build No.';

View File

@@ -1,5 +1,6 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/presentation/views/tab_view.dart';
import 'package:cabo_counter/services/config_service.dart';
import 'package:cabo_counter/services/local_storage_service.dart';

View File

@@ -1,7 +1,7 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/data/game_manager.dart';
import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/presentation/views/create_game_view.dart';
import 'package:cabo_counter/presentation/views/graph_view.dart';
import 'package:cabo_counter/presentation/views/round_view.dart';

View File

@@ -1,7 +1,7 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/data/game_manager.dart';
import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/presentation/views/active_game_view.dart';
import 'package:cabo_counter/presentation/views/mode_selection_view.dart';
import 'package:cabo_counter/services/config_service.dart';

View File

@@ -1,5 +1,5 @@
import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

View File

@@ -1,4 +1,5 @@
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/utility/constants.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -53,19 +54,16 @@ class InformationView extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(
onPressed: () => launchUrl(
Uri.parse('https://www.instagram.com/flixcoo'),
mode: LaunchMode.externalApplication),
onPressed: () =>
launchUrl(Uri.parse(Constants.INSTAGRAM_LINK)),
icon: const Icon(FontAwesomeIcons.instagram)),
IconButton(
onPressed: () => launchUrl(
Uri.parse('mailto:felix.kirchner.fk@gmail.com'),
mode: LaunchMode.externalApplication),
onPressed: () =>
launchUrl(Uri.parse('mailto:${Constants.EMAIL}')),
icon: const Icon(CupertinoIcons.envelope)),
IconButton(
onPressed: () => launchUrl(
Uri.parse('https://www.github.com/flixcoo'),
mode: LaunchMode.externalApplication),
onPressed: () =>
launchUrl(Uri.parse(Constants.GITHUB_LINK)),
icon: const Icon(FontAwesomeIcons.github)),
],
),

View File

@@ -1,7 +1,7 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/core/globals.dart';
import 'package:cabo_counter/data/game_manager.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/presentation/views/active_game_view.dart';
import 'package:cabo_counter/presentation/views/create_game_view.dart';
import 'package:cabo_counter/presentation/views/settings_view.dart';

View File

@@ -1,5 +1,7 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/utility/custom_theme.dart';
import 'package:flutter/cupertino.dart';
class ModeSelectionMenu extends StatelessWidget {

View File

@@ -1,6 +1,6 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/data/game_session.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/services/local_storage_service.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';

View File

@@ -1,10 +1,13 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/presentation/widgets/custom_form_row.dart';
import 'package:cabo_counter/presentation/widgets/stepper.dart';
import 'package:cabo_counter/services/config_service.dart';
import 'package:cabo_counter/services/local_storage_service.dart';
import 'package:cabo_counter/services/version_service.dart';
import 'package:cabo_counter/utility/constants.dart';
import 'package:cabo_counter/utility/custom_theme.dart';
import 'package:flutter/cupertino.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -93,7 +96,6 @@ class _SettingsViewState extends State<SettingsView> {
setState(() {
_stepperKey1 = UniqueKey();
_stepperKey2 = UniqueKey();
print('Config reset to default');
});
},
)
@@ -142,21 +144,25 @@ class _SettingsViewState extends State<SettingsView> {
margin: EdgeInsets.zero,
children: [
CustomFormRow(
prefixText: AppLocalizations.of(context).create_issue,
prefixIcon: FontAwesomeIcons.github,
onPressed: () => launchUrl(
Uri.parse(
'https://github.com/flixcoo/Cabo-Counter/issues'),
mode: LaunchMode.externalApplication),
prefixText: AppLocalizations.of(context).wiki,
prefixIcon: CupertinoIcons.book,
onPressed: () =>
launchUrl(Uri.parse(Constants.GITHUB_WIKI_LINK)),
suffixWidget: const CupertinoListTileChevron(),
),
CustomFormRow(
prefixText: AppLocalizations.of(context).wiki,
prefixIcon: CupertinoIcons.book,
prefixText:
AppLocalizations.of(context).privacy_policy,
prefixIcon: CupertinoIcons.doc_append,
onPressed: () => launchUrl(
Uri.parse(
'https://github.com/flixcoo/Cabo-Counter/wiki'),
mode: LaunchMode.externalApplication),
Uri.parse(Constants.PRIVACY_POLICY_LINK)),
suffixWidget: const CupertinoListTileChevron(),
),
CustomFormRow(
prefixText: AppLocalizations.of(context).error_found,
prefixIcon: FontAwesomeIcons.github,
onPressed: () => launchUrl(
Uri.parse(Constants.GITHUB_ISSUES_LINK)),
suffixWidget: const CupertinoListTileChevron(),
),
CustomFormRow(

View File

@@ -1,5 +1,6 @@
import 'package:cabo_counter/core/custom_theme.dart';
import 'package:cabo_counter/l10n/app_localizations.dart';
import 'package:cabo_counter/l10n/generated/app_localizations.dart';
import 'package:cabo_counter/presentation/views/information_view.dart';
import 'package:cabo_counter/presentation/views/main_menu_view.dart';
import 'package:flutter/cupertino.dart';

View File

@@ -1,4 +1,5 @@
import 'package:cabo_counter/core/globals.dart';
import 'package:cabo_counter/utility/constants.dart';
import 'package:package_info_plus/package_info_plus.dart';
class VersionService {
@@ -19,7 +20,7 @@ class VersionService {
if (_version == '-.-.-') {
return getVersionNumber();
}
return '${Globals.appDevPhase} $_version';
return '${Constants.appDevPhase} $_version';
}
static String getBuildNumber() {