diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0620f4e8..c8bad872 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# Contributing to the Songlib App +# Contributing to the SongLib App -Thank you for contributing to our Songlib app! Please follow the guidelines below to ensure a smooth contribution process. +Thank you for contributing to our SongLib app! Please follow the guidelines below to ensure a smooth contribution process. ## Branching diff --git a/README.md b/README.md index 9509d5bf..b0e49b81 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Welcome to Songlib +# Welcome to SongLib Get it on Google Play @@ -16,7 +16,7 @@ ## Overview -Songlib is a robust mobile solution tailored for our users who need to sing hymns, designed to streamline their operations and enhance productivity. This Flutter-based application facilitates their access to your church songbook/hymns seamlessly that you don't have to worry about even being online once you have set up the app on your device. +SongLib is a robust mobile solution tailored for our users who need to sing hymns, designed to streamline their operations and enhance productivity. This Flutter-based application facilitates their access to your church songbook/hymns seamlessly that you don't have to worry about even being online once you have set up the app on your device. @@ -30,16 +30,16 @@ Songlib is a robust mobile solution tailored for our users who need to sing hymn ## Getting Started -Follow this guide to set up and run Songlib: +Follow this guide to set up and run SongLib: -### Setting Up Songlib: +### Setting Up SongLib: 1. **Install Flutter and Dependencies:** Ensure Flutter is installed on your system. Download the Flutter SDK from the official website and set up your preferred IDE (e.g., Android Studio or Visual Studio Code) with the Flutter plugin. -2. **Clone the Repository:** Clone Songlib repository from GitHub using Git: +2. **Clone the Repository:** Clone SongLib repository from GitHub using Git: ```bash - git clone git@github.com:SiroDaves/SonglibApp.git + git clone git@github.com:SiroDaves/SongLibApp.git ``` 3. **Install Packages:** Navigate to the project directory and run: @@ -48,7 +48,7 @@ Follow this guide to set up and run Songlib: flutter pub get ``` -### Running Songlib: +### Running SongLib: 1. **Device Setup:** Connect an emulator or physical device to your development environment. Check connected devices: @@ -56,27 +56,33 @@ Follow this guide to set up and run Songlib: flutter devices ``` -2. **Run the App:** Execute the following command from the project directory: +2. **Update Dependencies:** ```bash - flutter run + flutter pub get ``` - - **Update Dependencies:** +3. **Update Code Generated Files:** - ```bash - dart run build_runner build --delete-conflicting-outputs - ``` + ```bash + dart run build_runner build --delete-conflicting-outputs + ``` - - **Update Localization Strings:** +4. **Update Localization Strings:** - ```bash - flutter gen-l10n - ``` + ```bash + flutter gen-l10n + ``` +5. **Running SongLib:** + ```bash + flutter run + ``` + +### Building SongLib -3. **Build the App:** +1. **Android:** - - **AppTester (Firebase Distribution):** + - **UAT: AppTester (Firebase Distribution):** ```bash flutter build apk --flavor uat -t lib/main_uat.dart --no-tree-shake-icons @@ -85,7 +91,14 @@ Follow this guide to set up and run Songlib: - **Production (For Play Store):** ```bash - flutter build appbundle --flavor prod -t lib/main_prod.dart --no-tree-shake-icons + flutter build appbundle --flavor prod -t lib/main.dart --no-tree-shake-icons ``` +2. **Windows:** + + ``` + flutter build windows --target=lib/main_prod.dart + ``` + +--- -Congratulations! You've successfully set up and run or built Songlib. Explore the codebase, make modifications, and contribute to creating a seamless experience for the users. Happy coding! \ No newline at end of file +Congratulations! You've successfully set up and run or built SongLib. Explore the codebase, make modifications, and contribute to creating a seamless experience for the users. Happy coding! \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 5e9c02c9..3b03ccbe 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -53,7 +53,7 @@ android { compileSdkVersion 34 multiDexEnabled true versionCode 19 - versionName "0.0.7.61" + versionName "1.0.7.65" } signingConfigs { @@ -83,25 +83,25 @@ android { flavorDimensions "flavors" productFlavors { dev { - manifestPlaceholders = [appLabel: "Songlib Dev"] + manifestPlaceholders = [appLabel: "SongLib Dev"] dimension "flavors" applicationIdSuffix ".dev" versionNameSuffix "-dev" } uat { - manifestPlaceholders = [appLabel: "Songlib Uat"] + manifestPlaceholders = [appLabel: "SongLib Uat"] dimension "flavors" versionNameSuffix "-uat" applicationId "com.songlib.uat" - versionCode 26 - versionName "0.0.7.62" + versionCode 27 + versionName "1.0.7.65" } prod { - manifestPlaceholders = [appLabel: "Songlib"] + manifestPlaceholders = [appLabel: "SongLib"] dimension "flavors" applicationId "com.songlib" - versionCode 26 - versionName "0.0.7.62" + versionCode 27 + versionName "1.0.7.65" } } } diff --git a/android/build.gradle b/android/build.gradle index b1b1dd9d..596f4cd3 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,8 +7,6 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:8.1.2' classpath 'com.google.gms:google-services:4.3.15' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1' - classpath 'com.google.firebase:perf-plugin:1.4.2' } } diff --git a/assets/images/app_icon.png b/assets/images/app_icon.png deleted file mode 100644 index dc83d444..00000000 Binary files a/assets/images/app_icon.png and /dev/null differ diff --git a/assets/images/otp.png b/assets/images/otp.png deleted file mode 100644 index bbc70c89..00000000 Binary files a/assets/images/otp.png and /dev/null differ diff --git a/installers/windows/songlib.iss b/installers/windows/songlib.iss index 271c84cd..faa20829 100644 --- a/installers/windows/songlib.iss +++ b/installers/windows/songlib.iss @@ -1,24 +1,38 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + #define MyAppName "SongLib" -#define MyAppVersion "0.0.7" -#define MyAppPublisher "Futuristic Ke" +#define MyAppVersion "1.0.7.65" +#define MyAppPublisher "Futuristic Inc." +#define MyAppURL "https://songlib.vercel.app" #define MyAppExeName "SongLib.exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{0CA8C6CE-E006-44DE-9D42-3994940B9173} +AppId={{884424F7-F8DD-4CF6-8BC3-5E8126A7893D} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} DefaultDirName={autopf}\{#MyAppName} -DisableDirPage=yes +; "ArchitecturesAllowed=x64compatible" specifies that Setup cannot run +; on anything but x64 and Windows 11 on Arm. +ArchitecturesAllowed=x64compatible +; "ArchitecturesInstallIn64BitMode=x64compatible" requests that the +; install be done in "64-bit mode" on x64 or Windows 11 on Arm, +; meaning it should use the native 64-bit Program Files directory and +; the 64-bit view of the registry. +ArchitecturesInstallIn64BitMode=x64compatible DisableProgramGroupPage=yes ; Uncomment the following line to run in non administrative install mode (install for current user only.) ;PrivilegesRequired=lowest -OutputDir=D:\Dev\Flutter\Projects\SongLib\installers\windows -OutputBaseFilename=SongLib -SetupIconFile=D:\Dev\Flutter\Projects\SongLib\windows\runner\resources\app_icon.ico +OutputDir=C:\Devs\Flutter\Projects\SongLib\installers\windows +OutputBaseFilename={#MyAppName}-{#MyAppVersion} +SetupIconFile=C:\Devs\Flutter\Projects\SongLib\windows\runner\resources\app_icon.ico Compression=lzma SolidCompression=yes WizardStyle=modern @@ -30,7 +44,7 @@ Name: "english"; MessagesFile: "compiler:Default.isl" Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] -Source: "D:\Dev\Flutter\Projects\SongLib\build\windows\runner\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "C:\Devs\Flutter\Projects\SongLib\build\windows\x64\runner\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 79fbfcde..a2be91e1 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion$(DEVELOPMENT_LANGUAGE)CFBundleDisplayName - Songlib + SongLibCFBundleExecutable$(EXECUTABLE_NAME)CFBundleIdentifier @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion6.0CFBundleName - Songlib + SongLibCFBundlePackageTypeAPPLCFBundleShortVersionString diff --git a/l10n/app_en.arb b/l10n/app_en.arb index 283d7a81..f6ab10a5 100644 --- a/l10n/app_en.arb +++ b/l10n/app_en.arb @@ -1,7 +1,7 @@ { "@@locale": "en", - "appName": "Songlib", + "appName": "SongLib", "listTitle": "Song Lists", "searchTitle": "Search", "likesTitle": "Liked Songs", @@ -51,7 +51,7 @@ "donate": "Donate", "proceed": "Proceed", "justAMinute": "Just a minute!", - "supportSonglib": "Support SongLib", + "supportSongLib": "Support SongLib", "notificationDialog": "Let's remind you", "donationRequest": "Donation Request", "donationRequestBody": "SongLib has a lot in the pipelines and will need your support to accomplish that.", diff --git a/lib/app_sub_window.dart b/lib/app_sub_window.dart index 43fcff0d..8f40746b 100644 --- a/lib/app_sub_window.dart +++ b/lib/app_sub_window.dart @@ -19,7 +19,7 @@ class AppSubWindow extends StatelessWidget { return MaterialApp( home: Scaffold( appBar: AppBar( - title: const Text('Songlib'), + title: const Text('SongLib'), ), body: Column( children: [ diff --git a/lib/common/utils/constants/app_constants.dart b/lib/common/utils/constants/app_constants.dart index 16b8741c..f9eeb67e 100644 --- a/lib/common/utils/constants/app_constants.dart +++ b/lib/common/utils/constants/app_constants.dart @@ -9,7 +9,7 @@ import '../logger.dart'; class AppConstants { AppConstants._(); - static String dbName = 'Songlib.db'; + static String dbName = 'SongLib.db'; static const String editsTable = 'edits'; static const String draftsTable = 'drafts'; static const String booksTable = 'books'; diff --git a/lib/common/utils/file_util.dart b/lib/common/utils/file_util.dart index ee8e4904..d82c1f9a 100644 --- a/lib/common/utils/file_util.dart +++ b/lib/common/utils/file_util.dart @@ -48,20 +48,20 @@ Future downloadDir() async { } } -/// Songlib directory +/// SongLib directory Future sirodavesDirx() async { Directory directory = Directory('/'); if (Platform.isMacOS) { directory = Directory( - '/Users/${Platform.environment['USER']}/Documents/Songlib'); + '/Users/${Platform.environment['USER']}/Documents/SongLib'); } else if (Platform.isWindows) { directory = Directory( - '${Platform.environment['USERPROFILE']}\\Documents\\Songlib'); + '${Platform.environment['USERPROFILE']}\\Documents\\SongLib'); } else if (Platform.isLinux) { directory = Directory( - '/home/${Platform.environment['USER']}/Documents/Songlib'); + '/home/${Platform.environment['USER']}/Documents/SongLib'); } else if (Platform.isAndroid) { - directory = Directory('/storage/emulated/0/Documents/Songlib'); + directory = Directory('/storage/emulated/0/Documents/SongLib'); } if (await directory.exists()) { //if folder already exists return path diff --git a/lib/di/injectable.config.dart b/lib/di/injectable.config.dart deleted file mode 100644 index b7cc245c..00000000 --- a/lib/di/injectable.config.dart +++ /dev/null @@ -1,59 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -// ************************************************************************** -// InjectableConfigGenerator -// ************************************************************************** - -// ignore_for_file: type=lint -// coverage:ignore-file - -// ignore_for_file: no_leading_underscores_for_library_prefixes -import 'package:get_it/get_it.dart' as _i1; -import 'package:injectable/injectable.dart' as _i2; -import 'package:shared_preferences/shared_preferences.dart' as _i8; -import 'package:songlib/data/db/app_database.dart' as _i9; -import 'package:songlib/data/repository/auth_repository.dart' as _i10; -import 'package:songlib/data/repository/database_repository.dart' as _i12; -import 'package:songlib/data/repository/local_storage.dart' as _i11; -import 'package:songlib/di/injectable.dart' as _i13; -import 'package:songlib/home/bloc/home_bloc.dart' as _i3; -import 'package:songlib/presentor/bloc/presentor_bloc.dart' as _i4; -import 'package:songlib/selection/saving/bloc/saving_bloc.dart' as _i5; -import 'package:songlib/selection/selecting/bloc/selecting_bloc.dart' as _i6; -import 'package:songlib/settings/bloc/settings_bloc.dart' as _i7; - -extension GetItInjectableX on _i1.GetIt { -// initializes the registration of main-scope dependencies inside of GetIt - Future<_i1.GetIt> initGetIt({ - String? environment, - _i2.EnvironmentFilter? environmentFilter, - }) async { - final gh = _i2.GetItHelper( - this, - environment, - environmentFilter, - ); - final registerModule = _$RegisterModule(); - gh.factory<_i3.HomeBloc>(() => _i3.HomeBloc()); - gh.factory<_i4.PresentorBloc>(() => _i4.PresentorBloc()); - gh.factory<_i5.SavingBloc>(() => _i5.SavingBloc()); - gh.factory<_i6.SelectingBloc>(() => _i6.SelectingBloc()); - gh.factory<_i7.SettingsBloc>(() => _i7.SettingsBloc()); - await gh.singletonAsync<_i8.SharedPreferences>( - () => registerModule.localStorage(), - preResolve: true, - ); - await gh.singletonAsync<_i9.AppDatabase>( - () => registerModule.provideAppDatabase(), - preResolve: true, - ); - gh.lazySingleton<_i10.AuthRepository>(() => _i10.AuthRepository()); - gh.singleton<_i11.LocalStorage>( - () => _i11.LocalStorage(gh<_i8.SharedPreferences>())); - gh.lazySingleton<_i12.DatabaseRepository>( - () => registerModule.provideDatabaseRepository(gh<_i9.AppDatabase>())); - return this; - } -} - -class _$RegisterModule extends _i13.RegisterModule {} diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart deleted file mode 100644 index 5563c1d7..00000000 --- a/lib/firebase_options.dart +++ /dev/null @@ -1,81 +0,0 @@ -// File generated by FlutterFire CLI. -// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -/// Default [FirebaseOptions] for use with your Firebase apps. -/// -/// Example: -/// ```dart -/// import 'firebase_options.dart'; -/// // ... -/// await Firebase.initializeApp( -/// options: DefaultFirebaseOptions.currentPlatform, -/// ); -/// ``` -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - switch (defaultTargetPlatform) { - case TargetPlatform.android: - return android; - case TargetPlatform.iOS: - return ios; - case TargetPlatform.macOS: - return macos; - case TargetPlatform.windows: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for windows - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); - case TargetPlatform.linux: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for linux - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); - default: - throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ); - } - } - - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyBxRR1eXRt64WiDzzuk9vj0g54pB0VEpuc', - appId: '1:726072268756:web:a5b12fd6b1c5d5a16ba841', - messagingSenderId: '726072268756', - projectId: 'sirodaves-agent', - authDomain: 'sirodaves-agent.firebaseapp.com', - storageBucket: 'sirodaves-agent.appspot.com', - measurementId: 'G-B1BJVX2PBM', - ); - - static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyDRaYZK1Z17EyX6braSOLObSDeKbGtW4UU', - appId: '1:726072268756:android:a670cf5c4e38799b6ba841', - messagingSenderId: '726072268756', - projectId: 'sirodaves-agent', - storageBucket: 'sirodaves-agent.appspot.com', - ); - - static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyD9QJOd5dlpXd7oTI2KPzMKGxgcS7RxzIs', - appId: '1:726072268756:ios:a7dff2be3afaa78a6ba841', - messagingSenderId: '726072268756', - projectId: 'sirodaves-agent', - storageBucket: 'sirodaves-agent.appspot.com', - iosBundleId: 'com.songlib', - ); - - static const FirebaseOptions macos = FirebaseOptions( - apiKey: 'AIzaSyD9QJOd5dlpXd7oTI2KPzMKGxgcS7RxzIs', - appId: '1:726072268756:ios:a7dff2be3afaa78a6ba841', - messagingSenderId: '726072268756', - projectId: 'sirodaves-agent', - storageBucket: 'sirodaves-agent.appspot.com', - iosBundleId: 'com.songlib', - ); -} diff --git a/lib/home/bloc/home_bloc.dart b/lib/home/bloc/home_bloc.dart index acb0b7fc..1482fea4 100644 --- a/lib/home/bloc/home_bloc.dart +++ b/lib/home/bloc/home_bloc.dart @@ -66,7 +66,7 @@ class HomeBloc extends Bloc { emit( state.copyWith( status: Status.updated, - feedback: 'Songlib successfully Updated', + feedback: 'SongLib successfully Updated', ), ); } diff --git a/lib/main_prod.dart b/lib/main_prod.dart index 39a43832..4e96c3eb 100644 --- a/lib/main_prod.dart +++ b/lib/main_prod.dart @@ -2,10 +2,10 @@ import 'dart:convert'; import 'package:desktop_multi_window/desktop_multi_window.dart'; import 'package:flutter/material.dart'; +import 'package:window_manager/window_manager.dart'; import 'app_main_window.dart'; import 'app_sub_window.dart'; -import 'common/utils/app_util.dart'; import 'common/utils/env/flavor_config.dart'; import 'common/utils/logger.dart'; import 'common/utils/env/environments.dart'; @@ -13,6 +13,14 @@ import 'di/injectable.dart'; Future main(List args) async { WidgetsFlutterBinding.ensureInitialized(); + + await windowManager.ensureInitialized(); + WindowOptions windowOptions = const WindowOptions(center: true); + windowManager.waitUntilReadyToShow(windowOptions, () async { + await windowManager.show(); + await windowManager.focus(); + }); + FlavorConfig( flavor: Flavor.prod, name: 'PROD', @@ -25,23 +33,6 @@ Future main(List args) async { logger('Starting app from main_prod.dart'); await configureDependencies(Environments.prod); - if (isMobile) { - //initialize firebase in the prod app - /*await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - - // Pass all uncaught "fatal" errors from the framework to Crashlytics - FlutterError.onError = (errorDetails) { - FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails); - }; - // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics - PlatformDispatcher.instance.onError = (error, stack) { - FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); - return true; - };*/ - } - if (args.firstOrNull == 'multi_window') { final windowId = int.parse(args[1]); final argument = args[2].isEmpty diff --git a/lib/main_uat.dart b/lib/main_uat.dart index fa941c2d..48c715e5 100644 --- a/lib/main_uat.dart +++ b/lib/main_uat.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:desktop_multi_window/desktop_multi_window.dart'; import 'package:flutter/material.dart'; +import 'package:window_manager/window_manager.dart'; import 'app_main_window.dart'; import 'app_sub_window.dart'; @@ -12,6 +13,14 @@ import 'di/injectable.dart'; Future main(List args) async { WidgetsFlutterBinding.ensureInitialized(); + + await windowManager.ensureInitialized(); + WindowOptions windowOptions = const WindowOptions(center: true); + windowManager.waitUntilReadyToShow(windowOptions, () async { + await windowManager.show(); + await windowManager.focus(); + }); + FlavorConfig( flavor: Flavor.uat, name: 'UAT', diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index e706b730..e9f79406 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -4,10 +4,10 @@ project(runner LANGUAGES CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. -set(BINARY_NAME "Songlib") +set(BINARY_NAME "SongLib") # The unique GTK application identifier for this application. See: # https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "Songlib") +set(APPLICATION_ID "SongLib") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index d87ebfc8..c7521216 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,9 +7,6 @@ import Foundation import desktop_lifecycle import desktop_multi_window -import firebase_analytics -import firebase_core -import firebase_crashlytics import flutter_platform_alert import path_provider_foundation import screen_retriever @@ -22,9 +19,6 @@ import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { DesktopLifecyclePlugin.register(with: registry.registrar(forPlugin: "DesktopLifecyclePlugin")) FlutterMultiWindowPlugin.register(with: registry.registrar(forPlugin: "FlutterMultiWindowPlugin")) - FLTFirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAnalyticsPlugin")) - FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) - FLTFirebaseCrashlyticsPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCrashlyticsPlugin")) FlutterPlatformAlertPlugin.register(with: registry.registrar(forPlugin: "FlutterPlatformAlertPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin")) diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig index 9a8ad122..ea5f705e 100644 --- a/macos/Runner/Configs/AppInfo.xcconfig +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -5,7 +5,7 @@ // 'flutter create' template. // The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = Songlib +PRODUCT_NAME = SongLib // The application's bundle identifier PRODUCT_BUNDLE_IDENTIFIER = com.songlib diff --git a/packages/linux/CMakeLists.txt b/packages/linux/CMakeLists.txt index baf2525b..41d98cc8 100644 --- a/packages/linux/CMakeLists.txt +++ b/packages/linux/CMakeLists.txt @@ -4,7 +4,7 @@ project(runner LANGUAGES CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. -set(BINARY_NAME "Songlib") +set(BINARY_NAME "SongLib") # The unique GTK application identifier for this application. See: # https://wiki.gnome.org/HowDoI/ChooseApplicationID set(APPLICATION_ID "com.songlib") diff --git a/packages/linux/my_application.cc b/packages/linux/my_application.cc index f4f091cd..0df61220 100644 --- a/packages/linux/my_application.cc +++ b/packages/linux/my_application.cc @@ -40,11 +40,11 @@ static void my_application_activate(GApplication* application) { if (use_header_bar) { GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "Songlib"); + gtk_header_bar_set_title(header_bar, "SongLib"); gtk_header_bar_set_show_close_button(header_bar, TRUE); gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); } else { - gtk_window_set_title(window, "Songlib"); + gtk_window_set_title(window, "SongLib"); } gtk_window_set_default_size(window, 1280, 720); diff --git a/pubspec.lock b/pubspec.lock index 2551e654..e5958dd3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -9,14 +9,6 @@ packages: url: "https://pub.dev" source: hosted version: "67.0.0" - _flutterfire_internals: - dependency: transitive - description: - name: _flutterfire_internals - sha256: a315d1c444402c3fa468de626d33a1c666041c87e9e195e8fb355b7084aefcc1 - url: "https://pub.dev" - source: hosted - version: "1.3.38" analyzer: dependency: transitive description: @@ -217,6 +209,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + console: + dependency: transitive + description: + name: console + sha256: e04e7824384c5b39389acdd6dc7d33f3efe6b232f6f16d7626f194f6a01ad69a + url: "https://pub.dev" + source: hosted + version: "4.1.0" context_menus: dependency: "direct main" description: @@ -329,94 +329,6 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" - firebase_analytics: - dependency: "direct main" - description: - name: firebase_analytics - sha256: "726596f4ac3352978238274c33234435e61bdb811484ea3d6a2b857bf47a2715" - url: "https://pub.dev" - source: hosted - version: "11.1.0" - firebase_analytics_platform_interface: - dependency: transitive - description: - name: firebase_analytics_platform_interface - sha256: db445c727aa38038f91a3c6f6873d045a6740c79d03c0b6c61959e0c6ecfd771 - url: "https://pub.dev" - source: hosted - version: "4.1.0" - firebase_analytics_web: - dependency: transitive - description: - name: firebase_analytics_web - sha256: "49a8a5ca0bf7fd7541e4b0915b8eb99816edc7a610d5078b89ae013a813fd567" - url: "https://pub.dev" - source: hosted - version: "0.5.8" - firebase_core: - dependency: "direct main" - description: - name: firebase_core - sha256: "1e06b0538ab3108a61d895ee16951670b491c4a94fce8f2d30e5de7a5eca4b28" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - firebase_core_platform_interface: - dependency: transitive - description: - name: firebase_core_platform_interface - sha256: "1003a5a03a61fc9a22ef49f37cbcb9e46c86313a7b2e7029b9390cf8c6fc32cb" - url: "https://pub.dev" - source: hosted - version: "5.1.0" - firebase_core_web: - dependency: transitive - description: - name: firebase_core_web - sha256: "6643fe3dbd021e6ccfb751f7882b39df355708afbdeb4130fc50f9305a9d1a3d" - url: "https://pub.dev" - source: hosted - version: "2.17.2" - firebase_crashlytics: - dependency: "direct main" - description: - name: firebase_crashlytics - sha256: "54c06fa45585ed77e978b049f8e488db7677313d5dc808c54d24384a6e5bf0c8" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - firebase_crashlytics_platform_interface: - dependency: transitive - description: - name: firebase_crashlytics_platform_interface - sha256: "8ec63ebefe9233d3cdc744f75d5b88cf16b6241d8680e6284c2d272bcb0a10af" - url: "https://pub.dev" - source: hosted - version: "3.6.38" - firebase_performance: - dependency: "direct main" - description: - name: firebase_performance - sha256: "961ab4efcf3f1074d3d5c46a6e154234910794ad6479d31032f84addbd6dfefd" - url: "https://pub.dev" - source: hosted - version: "0.10.0+2" - firebase_performance_platform_interface: - dependency: transitive - description: - name: firebase_performance_platform_interface - sha256: aa6ab757e3979c2d198a1f4c6375670bbbd16a8ef2b03b6df2a6e71f20e98151 - url: "https://pub.dev" - source: hosted - version: "0.1.4+38" - firebase_performance_web: - dependency: transitive - description: - name: firebase_performance_web - sha256: "44ef4fa096f39152df6f97eed9935070bf052da759d6e0975d670d70e2f41f2f" - url: "https://pub.dev" - source: hosted - version: "0.1.6+10" fixnum: dependency: transitive description: @@ -781,6 +693,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.4.4" + msix: + dependency: "direct dev" + description: + name: msix + sha256: "519b183d15dc9f9c594f247e2d2339d855cf0eaacc30e19b128e14f3ecc62047" + url: "https://pub.dev" + source: hosted + version: "3.16.7" nested: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index a25579a4..33f6567c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: songlib description: SongLib gives you access to your church songbook/hymns seamlessly that you don't have to worry about even being online once you have set up the app on your device. publish_to: 'none' -version: 0.1.96 +version: 1.0.7 environment: sdk: '>=3.3.0 <4.0.0' @@ -15,10 +15,6 @@ dependencies: desktop_lifecycle: ^0.1.1 desktop_multi_window: ^0.2.0 equatable: ^2.0.5 - firebase_analytics: ^11.1.0 - firebase_core: ^3.1.1 - firebase_crashlytics: ^4.0.2 - firebase_performance: ^0.10.0+2 floor: ^1.5.0 flutter: sdk: flutter @@ -63,7 +59,8 @@ dev_dependencies: sdk: flutter freezed: ^2.3.5 injectable_generator: ^2.6.1 - json_serializable: ^6.7.0 + json_serializable: ^6.7.0 + msix: ^3.16.7 mockito: ^5.0.15 flutter: @@ -83,12 +80,11 @@ msix_config: publisher_display_name: Jackson Siro identity_name: 49927JackonSiro.SongLib-SongsofWorship publisher: CN=FF945805-BB5A-4BF1-8668-776816B557C6 - msix_version: 1.0.0.1 - logo_path: assets\icon\app_icon.png + msix_version: 1.0.7.65 + logo_path: assets\icons\app_icon.png architecture: x64 capabilities: internetClient app_installer: - publish_folder_path: D:\Dev\Flutter\Projects\SongLib\build\windows hours_between_update_checks: 0 automatic_background_task: true update_blocks_activation: true diff --git a/web/index.html b/web/index.html index 57dcb891..92bd1046 100644 --- a/web/index.html +++ b/web/index.html @@ -23,13 +23,13 @@ - + - Songlib + SongLib