From c5a65ad6d0041912d1925acffa7274a00c626b35 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 12 Jun 2023 23:06:20 +0200 Subject: [PATCH 01/44] =?UTF-8?q?Frontend=20f=C3=BCr=20Nutzer*innen=20(in?= =?UTF-8?q?=20Arbeit)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend-user/.gitignore | 44 ++ Frontend-user/.metadata | 45 ++ Frontend-user/README.md | 16 + Frontend-user/analysis_options.yaml | 29 + Frontend-user/android/.gitignore | 13 + Frontend-user/android/app/build.gradle | 71 +++ .../android/app/src/debug/AndroidManifest.xml | 8 + .../android/app/src/main/AndroidManifest.xml | 34 ++ .../example/mitgliederladen/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 8 + Frontend-user/android/build.gradle | 31 + Frontend-user/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + Frontend-user/android/settings.gradle | 11 + Frontend-user/ios/.gitignore | 34 ++ .../ios/Flutter/AppFrameworkInfo.plist | 26 + Frontend-user/ios/Flutter/Debug.xcconfig | 1 + Frontend-user/ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 483 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + Frontend-user/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ .../ios/Runner/Base.lproj/Main.storyboard | 26 + Frontend-user/ios/Runner/Info.plist | 51 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + Frontend-user/lib/finance.dart | 103 ++++ Frontend-user/lib/main.dart | 79 +++ Frontend-user/lib/refmain | 60 ++ Frontend-user/lib/refsem | 169 ++++++ Frontend-user/lib/refstart | 158 +++++ Frontend-user/linux/.gitignore | 1 + Frontend-user/linux/CMakeLists.txt | 138 +++++ Frontend-user/linux/flutter/CMakeLists.txt | 88 +++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 23 + Frontend-user/linux/main.cc | 6 + Frontend-user/linux/my_application.cc | 104 ++++ Frontend-user/linux/my_application.h | 18 + Frontend-user/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 10 + .../macos/Runner.xcodeproj/project.pbxproj | 573 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + Frontend-user/macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 +++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 +++++++++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 12 + Frontend-user/macos/Runner/Info.plist | 32 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../macos/Runner/Release.entitlements | 8 + Frontend-user/pubspec.lock | 196 ++++++ Frontend-user/pubspec.yaml | 91 +++ Frontend-user/test/widget_test.dart | 30 + Frontend-user/web/favicon.png | Bin 0 -> 917 bytes Frontend-user/web/icons/Icon-192.png | Bin 0 -> 5292 bytes Frontend-user/web/icons/Icon-512.png | Bin 0 -> 8252 bytes Frontend-user/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes Frontend-user/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes Frontend-user/web/index.html | 59 ++ Frontend-user/web/manifest.json | 35 ++ Frontend-user/windows/.gitignore | 17 + Frontend-user/windows/CMakeLists.txt | 101 +++ Frontend-user/windows/flutter/CMakeLists.txt | 104 ++++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 23 + Frontend-user/windows/runner/CMakeLists.txt | 40 ++ Frontend-user/windows/runner/Runner.rc | 121 ++++ .../windows/runner/flutter_window.cpp | 66 ++ Frontend-user/windows/runner/flutter_window.h | 33 + Frontend-user/windows/runner/main.cpp | 43 ++ Frontend-user/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + Frontend-user/windows/runner/utils.cpp | 64 ++ Frontend-user/windows/runner/utils.h | 19 + Frontend-user/windows/runner/win32_window.cpp | 288 +++++++++ Frontend-user/windows/runner/win32_window.h | 102 ++++ 130 files changed, 5027 insertions(+) create mode 100644 Frontend-user/.gitignore create mode 100644 Frontend-user/.metadata create mode 100644 Frontend-user/README.md create mode 100644 Frontend-user/analysis_options.yaml create mode 100644 Frontend-user/android/.gitignore create mode 100644 Frontend-user/android/app/build.gradle create mode 100644 Frontend-user/android/app/src/debug/AndroidManifest.xml create mode 100644 Frontend-user/android/app/src/main/AndroidManifest.xml create mode 100644 Frontend-user/android/app/src/main/kotlin/com/example/mitgliederladen/MainActivity.kt create mode 100644 Frontend-user/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 Frontend-user/android/app/src/main/res/drawable/launch_background.xml create mode 100644 Frontend-user/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Frontend-user/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Frontend-user/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Frontend-user/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Frontend-user/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Frontend-user/android/app/src/main/res/values-night/styles.xml create mode 100644 Frontend-user/android/app/src/main/res/values/styles.xml create mode 100644 Frontend-user/android/app/src/profile/AndroidManifest.xml create mode 100644 Frontend-user/android/build.gradle create mode 100644 Frontend-user/android/gradle.properties create mode 100644 Frontend-user/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 Frontend-user/android/settings.gradle create mode 100644 Frontend-user/ios/.gitignore create mode 100644 Frontend-user/ios/Flutter/AppFrameworkInfo.plist create mode 100644 Frontend-user/ios/Flutter/Debug.xcconfig create mode 100644 Frontend-user/ios/Flutter/Release.xcconfig create mode 100644 Frontend-user/ios/Runner.xcodeproj/project.pbxproj create mode 100644 Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 Frontend-user/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 Frontend-user/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 Frontend-user/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Frontend-user/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 Frontend-user/ios/Runner/AppDelegate.swift create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 Frontend-user/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 Frontend-user/ios/Runner/Base.lproj/Main.storyboard create mode 100644 Frontend-user/ios/Runner/Info.plist create mode 100644 Frontend-user/ios/Runner/Runner-Bridging-Header.h create mode 100644 Frontend-user/lib/finance.dart create mode 100644 Frontend-user/lib/main.dart create mode 100644 Frontend-user/lib/refmain create mode 100644 Frontend-user/lib/refsem create mode 100644 Frontend-user/lib/refstart create mode 100644 Frontend-user/linux/.gitignore create mode 100644 Frontend-user/linux/CMakeLists.txt create mode 100644 Frontend-user/linux/flutter/CMakeLists.txt create mode 100644 Frontend-user/linux/flutter/generated_plugin_registrant.cc create mode 100644 Frontend-user/linux/flutter/generated_plugin_registrant.h create mode 100644 Frontend-user/linux/flutter/generated_plugins.cmake create mode 100644 Frontend-user/linux/main.cc create mode 100644 Frontend-user/linux/my_application.cc create mode 100644 Frontend-user/linux/my_application.h create mode 100644 Frontend-user/macos/.gitignore create mode 100644 Frontend-user/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 Frontend-user/macos/Flutter/Flutter-Release.xcconfig create mode 100644 Frontend-user/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 Frontend-user/macos/Runner.xcodeproj/project.pbxproj create mode 100644 Frontend-user/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Frontend-user/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 Frontend-user/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 Frontend-user/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Frontend-user/macos/Runner/AppDelegate.swift create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 Frontend-user/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 Frontend-user/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 Frontend-user/macos/Runner/Configs/Debug.xcconfig create mode 100644 Frontend-user/macos/Runner/Configs/Release.xcconfig create mode 100644 Frontend-user/macos/Runner/Configs/Warnings.xcconfig create mode 100644 Frontend-user/macos/Runner/DebugProfile.entitlements create mode 100644 Frontend-user/macos/Runner/Info.plist create mode 100644 Frontend-user/macos/Runner/MainFlutterWindow.swift create mode 100644 Frontend-user/macos/Runner/Release.entitlements create mode 100644 Frontend-user/pubspec.lock create mode 100644 Frontend-user/pubspec.yaml create mode 100644 Frontend-user/test/widget_test.dart create mode 100644 Frontend-user/web/favicon.png create mode 100644 Frontend-user/web/icons/Icon-192.png create mode 100644 Frontend-user/web/icons/Icon-512.png create mode 100644 Frontend-user/web/icons/Icon-maskable-192.png create mode 100644 Frontend-user/web/icons/Icon-maskable-512.png create mode 100644 Frontend-user/web/index.html create mode 100644 Frontend-user/web/manifest.json create mode 100644 Frontend-user/windows/.gitignore create mode 100644 Frontend-user/windows/CMakeLists.txt create mode 100644 Frontend-user/windows/flutter/CMakeLists.txt create mode 100644 Frontend-user/windows/flutter/generated_plugin_registrant.cc create mode 100644 Frontend-user/windows/flutter/generated_plugin_registrant.h create mode 100644 Frontend-user/windows/flutter/generated_plugins.cmake create mode 100644 Frontend-user/windows/runner/CMakeLists.txt create mode 100644 Frontend-user/windows/runner/Runner.rc create mode 100644 Frontend-user/windows/runner/flutter_window.cpp create mode 100644 Frontend-user/windows/runner/flutter_window.h create mode 100644 Frontend-user/windows/runner/main.cpp create mode 100644 Frontend-user/windows/runner/resource.h create mode 100644 Frontend-user/windows/runner/resources/app_icon.ico create mode 100644 Frontend-user/windows/runner/runner.exe.manifest create mode 100644 Frontend-user/windows/runner/utils.cpp create mode 100644 Frontend-user/windows/runner/utils.h create mode 100644 Frontend-user/windows/runner/win32_window.cpp create mode 100644 Frontend-user/windows/runner/win32_window.h diff --git a/Frontend-user/.gitignore b/Frontend-user/.gitignore new file mode 100644 index 0000000..24476c5 --- /dev/null +++ b/Frontend-user/.gitignore @@ -0,0 +1,44 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/Frontend-user/.metadata b/Frontend-user/.metadata new file mode 100644 index 0000000..f25b3d4 --- /dev/null +++ b/Frontend-user/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + - platform: android + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + - platform: ios + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + - platform: linux + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + - platform: macos + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + - platform: web + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + - platform: windows + create_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + base_revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/Frontend-user/README.md b/Frontend-user/README.md new file mode 100644 index 0000000..2066173 --- /dev/null +++ b/Frontend-user/README.md @@ -0,0 +1,16 @@ +# mitgliederladen + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/Frontend-user/analysis_options.yaml b/Frontend-user/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/Frontend-user/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/Frontend-user/android/.gitignore b/Frontend-user/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/Frontend-user/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/Frontend-user/android/app/build.gradle b/Frontend-user/android/app/build.gradle new file mode 100644 index 0000000..dae29b9 --- /dev/null +++ b/Frontend-user/android/app/build.gradle @@ -0,0 +1,71 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion flutter.compileSdkVersion + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.mitgliederladen" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdkVersion flutter.minSdkVersion + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/Frontend-user/android/app/src/debug/AndroidManifest.xml b/Frontend-user/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..c329048 --- /dev/null +++ b/Frontend-user/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/Frontend-user/android/app/src/main/AndroidManifest.xml b/Frontend-user/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..791ebc7 --- /dev/null +++ b/Frontend-user/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/Frontend-user/android/app/src/main/kotlin/com/example/mitgliederladen/MainActivity.kt b/Frontend-user/android/app/src/main/kotlin/com/example/mitgliederladen/MainActivity.kt new file mode 100644 index 0000000..5fcc608 --- /dev/null +++ b/Frontend-user/android/app/src/main/kotlin/com/example/mitgliederladen/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.mitgliederladen + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/Frontend-user/android/app/src/main/res/drawable-v21/launch_background.xml b/Frontend-user/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/Frontend-user/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/Frontend-user/android/app/src/main/res/drawable/launch_background.xml b/Frontend-user/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/Frontend-user/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/Frontend-user/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Frontend-user/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/Frontend-user/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/Frontend-user/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/Frontend-user/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Frontend-user/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/Frontend-user/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/Frontend-user/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/Frontend-user/android/app/src/main/res/values-night/styles.xml b/Frontend-user/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/Frontend-user/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/Frontend-user/android/app/src/main/res/values/styles.xml b/Frontend-user/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/Frontend-user/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/Frontend-user/android/app/src/profile/AndroidManifest.xml b/Frontend-user/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..c329048 --- /dev/null +++ b/Frontend-user/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/Frontend-user/android/build.gradle b/Frontend-user/android/build.gradle new file mode 100644 index 0000000..58a8c74 --- /dev/null +++ b/Frontend-user/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.7.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.2.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/Frontend-user/android/gradle.properties b/Frontend-user/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/Frontend-user/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/Frontend-user/android/gradle/wrapper/gradle-wrapper.properties b/Frontend-user/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3c472b9 --- /dev/null +++ b/Frontend-user/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/Frontend-user/android/settings.gradle b/Frontend-user/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/Frontend-user/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/Frontend-user/ios/.gitignore b/Frontend-user/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/Frontend-user/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/Frontend-user/ios/Flutter/AppFrameworkInfo.plist b/Frontend-user/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..9625e10 --- /dev/null +++ b/Frontend-user/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 11.0 + + diff --git a/Frontend-user/ios/Flutter/Debug.xcconfig b/Frontend-user/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/Frontend-user/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/Frontend-user/ios/Flutter/Release.xcconfig b/Frontend-user/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/Frontend-user/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/Frontend-user/ios/Runner.xcodeproj/project.pbxproj b/Frontend-user/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..25770d6 --- /dev/null +++ b/Frontend-user/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,483 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.mitgliederladen; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.mitgliederladen; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.mitgliederladen; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/Frontend-user/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/Frontend-user/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/Frontend-user/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..c87d15a --- /dev/null +++ b/Frontend-user/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Frontend-user/ios/Runner.xcworkspace/contents.xcworkspacedata b/Frontend-user/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/Frontend-user/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Frontend-user/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Frontend-user/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Frontend-user/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Frontend-user/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Frontend-user/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/Frontend-user/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/Frontend-user/ios/Runner/AppDelegate.swift b/Frontend-user/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/Frontend-user/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/Frontend-user/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/Frontend-user/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/Frontend-user/ios/Runner/Base.lproj/LaunchScreen.storyboard b/Frontend-user/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/Frontend-user/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Frontend-user/ios/Runner/Base.lproj/Main.storyboard b/Frontend-user/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/Frontend-user/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Frontend-user/ios/Runner/Info.plist b/Frontend-user/ios/Runner/Info.plist new file mode 100644 index 0000000..d767af7 --- /dev/null +++ b/Frontend-user/ios/Runner/Info.plist @@ -0,0 +1,51 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Mitgliederladen + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + mitgliederladen + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/Frontend-user/ios/Runner/Runner-Bridging-Header.h b/Frontend-user/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/Frontend-user/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart new file mode 100644 index 0000000..002f08b --- /dev/null +++ b/Frontend-user/lib/finance.dart @@ -0,0 +1,103 @@ +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:intl/date_symbol_data_local.dart'; + +/* +todo: + - Design + - Details zum Warenkorb und Beschreibung (Popup?) + - farbliche Hervorhebungen +*/ + +enum Art { monatlBeitrag, aufladung, einkauf, korrektur } + +final now = DateTime.now(); + +class Transaction { + int betrag; + Art art; + DateTime datum; + String beschreibung; + Transaction(this.art, this.betrag, this.datum, this.beschreibung); +} + +class Finance extends StatelessWidget { + Finance({super.key}); + + final List transactions = [ + Transaction(Art.monatlBeitrag, 0, now, ''), + Transaction(Art.aufladung, 2042, now, ''), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + 'Korrektur des Warenkorbs') + ]; + + @override + Widget build(BuildContext context) { + initializeDateFormatting('de_DE'); + + return ListView.builder( + itemCount: null, + itemBuilder: (context, index) { + if (index == 0) { + return const Card( + child: Padding( + padding: EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Icon( + Icons.euro, + //color: Colors.black, + //semanticLabel: 'Text for screenreader', + ), + Column( + children: [ + Text( + 'Aktuelles Guthaben:', + style: TextStyle(fontWeight: FontWeight.bold), + ), + Text( + '-00,34€', + style: TextStyle(fontWeight: FontWeight.bold), + ) + ], + ) + ], + ), + ), + ); + } else if (index <= transactions.length) { + return Card( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Icon(transactions[index - 1].art == Art.korrektur + ? Icons.error + : Icons.money), + Column( + children: [ + Row( + children: [ + Text(DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') + .format(now)), + Text( + '${transactions[index - 1].art}: ${transactions[index - 1].betrag / 100}€'), + ], + ), + Text(transactions[index - 1].beschreibung) + ], + ), + ], + ), + ), + ); + } else { + return null; + } + }, + ); + } +} diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart new file mode 100644 index 0000000..be05bee --- /dev/null +++ b/Frontend-user/lib/main.dart @@ -0,0 +1,79 @@ +import 'package:flutter/material.dart'; +import 'finance.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'SoNaKo Demo App', + debugShowCheckedModeBanner: false, + theme: ThemeData( + useMaterial3: true, + colorScheme: ColorScheme.fromSeed( + seedColor: Colors.green)), //9bbee6 //79,128,104 + darkTheme: ThemeData.dark(), + themeMode: ThemeMode.system, + home: const MyHomePage(), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({super.key}); + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int currentPageIndex = 0; + int test = 0; + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('SoNaKo Demo App'), + ), + bottomNavigationBar: NavigationBar( + onDestinationSelected: (int index) { + setState(() { + test++; + currentPageIndex = index; + }); + }, + selectedIndex: currentPageIndex, + destinations: const [ + NavigationDestination( + icon: Icon(Icons.shopping_cart), + label: 'Einkauf', + ), + NavigationDestination( + icon: Icon(Icons.toll), + label: 'Finanzen', + ), + NavigationDestination( + icon: Icon(Icons.settings), + label: 'Einstellungen', + ), + ], + ), + body: [ + Container( + color: Colors.red, + alignment: Alignment.center, + child: Text('Page $test'), + ), + Finance(), + const Text( + 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein') + ][currentPageIndex], + ); + } +} diff --git a/Frontend-user/lib/refmain b/Frontend-user/lib/refmain new file mode 100644 index 0000000..87bb89a --- /dev/null +++ b/Frontend-user/lib/refmain @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'startscreen.dart'; + +void main() { + runApp(MyJGUApp()); +} + +class Ticket { + final vorname = 'Filiz'; + final nachname = 'Kluba'; + final birthday = '18.07.1997'; + final matrikel = '2761428'; + final picture = 'assets/Filiz.webp'; //Resolution 827x1063 +} + +class MyJGUApp extends StatelessWidget { + const MyJGUApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'JGU Ausweise', + theme: themedataLight, + darkTheme: themedataLight, //not implemented + themeMode: ThemeMode.system, + home: StartScreen(), + debugShowCheckedModeBanner: false, + ); + } + + static ThemeData themedataLight = ThemeData( + brightness: Brightness.light, + textTheme: Typography.material2021().black, + colorScheme: const ColorScheme.light( + primary: Color(0xffbf0028), + onPrimary: Colors.white, + secondary: Color(0xff6e7073), + tertiary: Color(0xffd7d7d7), + background: Colors.white, + onBackground: Colors.black), + dividerColor: const Color(0xffd7d7d7), + cardTheme: const CardTheme( + surfaceTintColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(2)), + side: BorderSide(width: 1, color: Color(0xff6e7073))), + ), + iconTheme: const IconThemeData(color: Color(0xff6e7073)), + textButtonTheme: const TextButtonThemeData( + style: ButtonStyle( + shape: MaterialStatePropertyAll(RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(2)))), + backgroundColor: MaterialStatePropertyAll(Color(0xff082b6d)))), + appBarTheme: const AppBarTheme( + backgroundColor: Color(0xffbf0028), + iconTheme: IconThemeData(color: Colors.white), + actionsIconTheme: IconThemeData(color: Colors.white), + titleTextStyle: TextStyle( + color: Colors.white, fontWeight: FontWeight.w500, fontSize: 20))); +} diff --git a/Frontend-user/lib/refsem b/Frontend-user/lib/refsem new file mode 100644 index 0000000..9a33b70 --- /dev/null +++ b/Frontend-user/lib/refsem @@ -0,0 +1,169 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:intl/intl.dart'; +import 'main.dart'; +import 'studierendenausweis.dart'; + +class ShowSemester extends StatefulWidget { + final bool isWinter; + final DateTime now; + const ShowSemester(this.isWinter, this.now, {super.key}); + + @override + State createState() => _ShowSemester(); +} + +class _ShowSemester extends State with TickerProviderStateMixin { + late final controller = AnimationController( + duration: const Duration(seconds: 6), + vsync: this, + )..repeat(reverse: true); + + @override + Widget build(BuildContext context) { + bool isWinter = widget.isWinter; + final now = widget.now; + final format = DateFormat("dd.MM.yyyy", 'de_DE'); + final beginning = isWinter + ? now.month > 6 + ? '01.10.${now.year}' + : '01.10.${now.year - 1}' + : '01.04.${now.year}'; + final validFrom = isWinter + ? now.month != DateTime.september + ? format.format(now) + : '01.10.${now.year}' + : now.month != DateTime.march + ? format.format(now) + : '01.04.${now.year}'; + final ending = isWinter + ? now.month > 6 + ? '31.03.${now.year + 1}' + : '31.03.${now.year}' + : '30.09.${now.year}'; + + return Scaffold( + appBar: AppBar( + title: const Text('Ihre Karte'), + ), + body: ListView( + padding: + const EdgeInsets.only(top: 8, bottom: 8, left: 16, right: 16), + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.baseline, + textBaseline: TextBaseline.ideographic, + children: [ + SvgPicture.asset('assets/RMV_logo.svg', + height: 16, fit: BoxFit.fitHeight), + Text( + ' 01 - ${Ticket().matrikel} - 001', + style: TextStyle(height: 0), + ) + ], + ), + Text('$validFrom / 00:00'), + Padding( + padding: const EdgeInsets.all(8.0), + child: Image.asset(Ticket().picture), + ), + Text('${Ticket().vorname} ${Ticket().nachname}'), + const Text( + 'Ausweis: digitaler Studierendenausweis', + style: TextStyle(fontSize: 12), + ), + const SizedBox(height: 12), + const Text('RMV-HandyTicket'), + const Text( + 'SemesterTicket JGU Mainz', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.w700), + ), + const SizedBox(height: 16), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: const [ + Text('Gültig von: '), + Text('Gültig bis: '), + Text('Semester: '), + Text('Ticket-ID: '), + ], + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(validFrom), + Text(ending), + Text(isWinter + ? 'WiSe ${now.month > 6 ? now.year : now.year - 1}' + : 'SoSe ${now.year}'), + Text('01 - ${Ticket().matrikel} - 001'), + ], + ) + ], + ), + const SizedBox(height: 8), + const Text( + 'Gültig auf allen Linien im gesamten RMV Verbundnetz und den VRN-Übergangstarifgebieten. Gültig auf allen Linien im Verbundnetz des RNN inkl. ÜB AzWo. KBS 471 (Nahverkehr bis Koblenz). Es gelten die gemeinsamen Beförderungsbedingungen und Tarifbestimmungen.', + style: TextStyle(fontSize: 10), + ), + const SizedBox(height: 4), + Padding( + padding: const EdgeInsets.only(right: 114 + 16), + child: SlideTransition( + position: Tween( + begin: const Offset(0.0, 0.0), + end: const Offset(1.0, 0.0), + ).animate(CurvedAnimation( + parent: controller, + curve: Curves.linear, + )), + child: Row( + children: [ + SvgPicture.asset( + 'assets/RNN_logo.svg', + height: 20, + fit: BoxFit.fitHeight, + ), + const SizedBox(width: 4), + SvgPicture.asset( + 'assets/RMV_logo.svg', + height: 16, + fit: BoxFit.fitHeight, + ), + ], + )), + ), + const SizedBox(height: 8), + SizedBox( + height: 28, + child: Center( + child: TextButton( + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + ShowAusweis(isWinter, now))); + }, + child: const Text( + ' Studierendenausweis ', + style: TextStyle( + color: Colors.white, + height: 1.0, + fontWeight: FontWeight.w400), + )), + ), + ), + Text('Gesamtlaufzeit: $beginning bis $ending', + style: const TextStyle(fontSize: 12)) + ])); + } + + @override + void dispose() { + controller.dispose(); + super.dispose(); + } +} diff --git a/Frontend-user/lib/refstart b/Frontend-user/lib/refstart new file mode 100644 index 0000000..a590456 --- /dev/null +++ b/Frontend-user/lib/refstart @@ -0,0 +1,158 @@ +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:intl/date_symbol_data_local.dart'; +import 'help.dart'; +import 'hints.dart'; +import 'main.dart'; +import 'semesterticket.dart'; +import 'studierendenausweis.dart'; + +class StartScreen extends StatelessWidget { + final now = DateTime.now(); + + @override + Widget build(BuildContext context) { + initializeDateFormatting('de_DE'); + + return Theme( + data: Theme.of(context).copyWith( + textTheme: TextTheme( + bodyMedium: + TextStyle(color: Theme.of(context).colorScheme.secondary))), + child: Scaffold( + appBar: AppBar(title: const Text('Ausweise'), actions: [ + IconButton( + icon: const Icon(Icons.autorenew), + tooltip: 'Tickets aktualisieren', + onPressed: () { + ScaffoldMessenger.of(context).showSnackBar(const SnackBar( + content: Text('Die Tickets werden aktualisiert'))); + }, + ), + IconButton( + icon: const Icon(Icons.help_outline), + tooltip: 'Hilfe öffnen', + onPressed: () { + Navigator.push(context, + MaterialPageRoute(builder: (context) => ShowHelp())); + }) + ]), + body: ListView.builder( + itemCount: (now.month == 3 || now.month == 9) ? 6 : 4, + padding: + const EdgeInsets.only(top: 4, bottom: 8, left: 4, right: 4), + itemBuilder: (BuildContext context, int index) { + switch (index) { + case 0: + return Text( + 'Angemeldet als ${Ticket().nachname}, ${Ticket().vorname}'); + case 1: + return GestureDetector( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => ShowHints(index))); + }, + child: Card( + semanticContainer: true, + margin: const EdgeInsets.only(top: 4, bottom: 4), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: const [ + Icon(Icons.library_books_outlined), + Padding( + padding: EdgeInsets.all(16.0), + child: Text( + "Hinweise anzeigen", + textAlign: TextAlign.center, + ), + ), + ], + ), + ), + ); + default: + return createTicket(context, index); + } + }), + )); + } + + Widget createTicket(BuildContext context, final int index) { + final bool isSemester = index % 2 == 0; + final bool isWinter = index < 4 + ? now.month >= 10 || now.month <= 3 + : now.month >= 4 && now.month <= 9; + + return GestureDetector( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => isSemester + ? ShowSemester(isWinter, now) + : ShowAusweis(isWinter, now))); + }, + child: Card( + semanticContainer: true, + margin: const EdgeInsets.only(top: 8, bottom: 8, left: 4, right: 4), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + isSemester + ? 'Semesterticket' + : 'Studierendenausweis', + style: const TextStyle( + fontWeight: FontWeight.w700, fontSize: 18)), + const Icon( + Icons.arrow_forward_ios_outlined, + weight: 100, + ) + ], + ), + const SizedBox(height: 16), + Text((isWinter + ? 'Wintersemester ${now.month > 6 ? now.year : now.year - 1}' + : 'Sommersemester ${now.year}') + + (isSemester + ? '' + : ', Matrikelnummer ${Ticket().matrikel}')), + const SizedBox(height: 24), + Row(children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: const [ + Text('Zuletzt aktualisiert:', + style: TextStyle(fontSize: 10)), + Text('Offline verfügbar bis:', + style: TextStyle(fontSize: 10)), + ]), + const SizedBox( + width: 24, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') + .format(now), + style: const TextStyle(fontSize: 10)), + Text( + DateFormat("EEEE, dd. MMMM yyyy 23:59", 'de_DE') + .format(now + .add(Duration(days: isSemester ? 2 : 7))), + style: const TextStyle(fontSize: 10)), + ], + ) + ]), + ]), + ))); + } +} diff --git a/Frontend-user/linux/.gitignore b/Frontend-user/linux/.gitignore new file mode 100644 index 0000000..d3896c9 --- /dev/null +++ b/Frontend-user/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/Frontend-user/linux/CMakeLists.txt b/Frontend-user/linux/CMakeLists.txt new file mode 100644 index 0000000..9bbf318 --- /dev/null +++ b/Frontend-user/linux/CMakeLists.txt @@ -0,0 +1,138 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.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 "mitgliederladen") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.example.mitgliederladen") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/Frontend-user/linux/flutter/CMakeLists.txt b/Frontend-user/linux/flutter/CMakeLists.txt new file mode 100644 index 0000000..d5bd016 --- /dev/null +++ b/Frontend-user/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/Frontend-user/linux/flutter/generated_plugin_registrant.cc b/Frontend-user/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..e71a16d --- /dev/null +++ b/Frontend-user/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/Frontend-user/linux/flutter/generated_plugin_registrant.h b/Frontend-user/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..e0f0a47 --- /dev/null +++ b/Frontend-user/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/Frontend-user/linux/flutter/generated_plugins.cmake b/Frontend-user/linux/flutter/generated_plugins.cmake new file mode 100644 index 0000000..2e1de87 --- /dev/null +++ b/Frontend-user/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/Frontend-user/linux/main.cc b/Frontend-user/linux/main.cc new file mode 100644 index 0000000..e7c5c54 --- /dev/null +++ b/Frontend-user/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/Frontend-user/linux/my_application.cc b/Frontend-user/linux/my_application.cc new file mode 100644 index 0000000..66dcaad --- /dev/null +++ b/Frontend-user/linux/my_application.cc @@ -0,0 +1,104 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + 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, "mitgliederladen"); + 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, "mitgliederladen"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/Frontend-user/linux/my_application.h b/Frontend-user/linux/my_application.h new file mode 100644 index 0000000..72271d5 --- /dev/null +++ b/Frontend-user/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/Frontend-user/macos/.gitignore b/Frontend-user/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/Frontend-user/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/Frontend-user/macos/Flutter/Flutter-Debug.xcconfig b/Frontend-user/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/Frontend-user/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/Frontend-user/macos/Flutter/Flutter-Release.xcconfig b/Frontend-user/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/Frontend-user/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/Frontend-user/macos/Flutter/GeneratedPluginRegistrant.swift b/Frontend-user/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..cccf817 --- /dev/null +++ b/Frontend-user/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,10 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { +} diff --git a/Frontend-user/macos/Runner.xcodeproj/project.pbxproj b/Frontend-user/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..9d34f53 --- /dev/null +++ b/Frontend-user/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,573 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* mitgliederladen.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "mitgliederladen.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* mitgliederladen.app */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* mitgliederladen.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/Frontend-user/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Frontend-user/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Frontend-user/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Frontend-user/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/Frontend-user/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..bad40b8 --- /dev/null +++ b/Frontend-user/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Frontend-user/macos/Runner.xcworkspace/contents.xcworkspacedata b/Frontend-user/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/Frontend-user/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Frontend-user/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Frontend-user/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Frontend-user/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Frontend-user/macos/Runner/AppDelegate.swift b/Frontend-user/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..d53ef64 --- /dev/null +++ b/Frontend-user/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/Frontend-user/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Frontend-user/macos/Runner/Configs/AppInfo.xcconfig b/Frontend-user/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..1a585ec --- /dev/null +++ b/Frontend-user/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = mitgliederladen + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.mitgliederladen + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. diff --git a/Frontend-user/macos/Runner/Configs/Debug.xcconfig b/Frontend-user/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/Frontend-user/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/Frontend-user/macos/Runner/Configs/Release.xcconfig b/Frontend-user/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/Frontend-user/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/Frontend-user/macos/Runner/Configs/Warnings.xcconfig b/Frontend-user/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/Frontend-user/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/Frontend-user/macos/Runner/DebugProfile.entitlements b/Frontend-user/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/Frontend-user/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/Frontend-user/macos/Runner/Info.plist b/Frontend-user/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/Frontend-user/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/Frontend-user/macos/Runner/MainFlutterWindow.swift b/Frontend-user/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..2722837 --- /dev/null +++ b/Frontend-user/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController.init() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/Frontend-user/macos/Runner/Release.entitlements b/Frontend-user/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/Frontend-user/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/Frontend-user/pubspec.lock b/Frontend-user/pubspec.lock new file mode 100644 index 0000000..dd54301 --- /dev/null +++ b/Frontend-user/pubspec.lock @@ -0,0 +1,196 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + url: "https://pub.dev" + source: hosted + version: "1.17.1" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" + source: hosted + version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" + source: hosted + version: "2.0.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + url: "https://pub.dev" + source: hosted + version: "0.18.1" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + lints: + dependency: transitive + description: + name: lints + sha256: "6b0206b0bf4f04961fc5438198ccb3a885685cd67d4d4a32cc20ad7f8adbe015" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + url: "https://pub.dev" + source: hosted + version: "0.12.15" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" + source: hosted + version: "0.2.0" + meta: + dependency: transitive + description: + name: meta + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" + source: hosted + version: "1.9.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + url: "https://pub.dev" + source: hosted + version: "0.5.1" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" +sdks: + dart: ">=3.0.0-417 <4.0.0" diff --git a/Frontend-user/pubspec.yaml b/Frontend-user/pubspec.yaml new file mode 100644 index 0000000..ea374c2 --- /dev/null +++ b/Frontend-user/pubspec.yaml @@ -0,0 +1,91 @@ +name: mitgliederladen +description: A new Flutter project. +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: '>=2.19.6 <3.0.0' + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.2 + intl: ^0.18.1 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^2.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/Frontend-user/test/widget_test.dart b/Frontend-user/test/widget_test.dart new file mode 100644 index 0000000..a3b24cb --- /dev/null +++ b/Frontend-user/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:mitgliederladen/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/Frontend-user/web/favicon.png b/Frontend-user/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/Frontend-user/web/icons/Icon-192.png b/Frontend-user/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/web/icons/Icon-512.png b/Frontend-user/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/web/icons/Icon-maskable-192.png b/Frontend-user/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/Frontend-user/web/icons/Icon-maskable-512.png b/Frontend-user/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/Frontend-user/web/index.html b/Frontend-user/web/index.html new file mode 100644 index 0000000..652787a --- /dev/null +++ b/Frontend-user/web/index.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + mitgliederladen + + + + + + + + + + diff --git a/Frontend-user/web/manifest.json b/Frontend-user/web/manifest.json new file mode 100644 index 0000000..7a46772 --- /dev/null +++ b/Frontend-user/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "mitgliederladen", + "short_name": "mitgliederladen", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/Frontend-user/windows/.gitignore b/Frontend-user/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/Frontend-user/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/Frontend-user/windows/CMakeLists.txt b/Frontend-user/windows/CMakeLists.txt new file mode 100644 index 0000000..a532297 --- /dev/null +++ b/Frontend-user/windows/CMakeLists.txt @@ -0,0 +1,101 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(mitgliederladen 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 "mitgliederladen") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/Frontend-user/windows/flutter/CMakeLists.txt b/Frontend-user/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..930d207 --- /dev/null +++ b/Frontend-user/windows/flutter/CMakeLists.txt @@ -0,0 +1,104 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + windows-x64 $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/Frontend-user/windows/flutter/generated_plugin_registrant.cc b/Frontend-user/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8b6d468 --- /dev/null +++ b/Frontend-user/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/Frontend-user/windows/flutter/generated_plugin_registrant.h b/Frontend-user/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/Frontend-user/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/Frontend-user/windows/flutter/generated_plugins.cmake b/Frontend-user/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..b93c4c3 --- /dev/null +++ b/Frontend-user/windows/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/Frontend-user/windows/runner/CMakeLists.txt b/Frontend-user/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..394917c --- /dev/null +++ b/Frontend-user/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/Frontend-user/windows/runner/Runner.rc b/Frontend-user/windows/runner/Runner.rc new file mode 100644 index 0000000..41d9282 --- /dev/null +++ b/Frontend-user/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "mitgliederladen" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "mitgliederladen" "\0" + VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "mitgliederladen.exe" "\0" + VALUE "ProductName", "mitgliederladen" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/Frontend-user/windows/runner/flutter_window.cpp b/Frontend-user/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..b25e363 --- /dev/null +++ b/Frontend-user/windows/runner/flutter_window.cpp @@ -0,0 +1,66 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/Frontend-user/windows/runner/flutter_window.h b/Frontend-user/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/Frontend-user/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/Frontend-user/windows/runner/main.cpp b/Frontend-user/windows/runner/main.cpp new file mode 100644 index 0000000..b054f3f --- /dev/null +++ b/Frontend-user/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"mitgliederladen", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/Frontend-user/windows/runner/resource.h b/Frontend-user/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/Frontend-user/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/Frontend-user/windows/runner/resources/app_icon.ico b/Frontend-user/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/windows/runner/runner.exe.manifest b/Frontend-user/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..a42ea76 --- /dev/null +++ b/Frontend-user/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/Frontend-user/windows/runner/utils.cpp b/Frontend-user/windows/runner/utils.cpp new file mode 100644 index 0000000..f5bf9fa --- /dev/null +++ b/Frontend-user/windows/runner/utils.cpp @@ -0,0 +1,64 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, utf8_string.data(), + target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/Frontend-user/windows/runner/utils.h b/Frontend-user/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/Frontend-user/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/Frontend-user/windows/runner/win32_window.cpp b/Frontend-user/windows/runner/win32_window.cpp new file mode 100644 index 0000000..041a385 --- /dev/null +++ b/Frontend-user/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/Frontend-user/windows/runner/win32_window.h b/Frontend-user/windows/runner/win32_window.h new file mode 100644 index 0000000..c86632d --- /dev/null +++ b/Frontend-user/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responsponds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ -- 2.45.2 From acb3857c8e160bba4b131880d4d656c00104ed0f Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 12 Jun 2023 23:14:31 +0200 Subject: [PATCH 02/44] =?UTF-8?q?=E2=80=9EFrontend-user/lib/refmain?= =?UTF-8?q?=E2=80=9C=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend-user/lib/refmain | 60 --------------------------------------- 1 file changed, 60 deletions(-) delete mode 100644 Frontend-user/lib/refmain diff --git a/Frontend-user/lib/refmain b/Frontend-user/lib/refmain deleted file mode 100644 index 87bb89a..0000000 --- a/Frontend-user/lib/refmain +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; -import 'startscreen.dart'; - -void main() { - runApp(MyJGUApp()); -} - -class Ticket { - final vorname = 'Filiz'; - final nachname = 'Kluba'; - final birthday = '18.07.1997'; - final matrikel = '2761428'; - final picture = 'assets/Filiz.webp'; //Resolution 827x1063 -} - -class MyJGUApp extends StatelessWidget { - const MyJGUApp({super.key}); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'JGU Ausweise', - theme: themedataLight, - darkTheme: themedataLight, //not implemented - themeMode: ThemeMode.system, - home: StartScreen(), - debugShowCheckedModeBanner: false, - ); - } - - static ThemeData themedataLight = ThemeData( - brightness: Brightness.light, - textTheme: Typography.material2021().black, - colorScheme: const ColorScheme.light( - primary: Color(0xffbf0028), - onPrimary: Colors.white, - secondary: Color(0xff6e7073), - tertiary: Color(0xffd7d7d7), - background: Colors.white, - onBackground: Colors.black), - dividerColor: const Color(0xffd7d7d7), - cardTheme: const CardTheme( - surfaceTintColor: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(2)), - side: BorderSide(width: 1, color: Color(0xff6e7073))), - ), - iconTheme: const IconThemeData(color: Color(0xff6e7073)), - textButtonTheme: const TextButtonThemeData( - style: ButtonStyle( - shape: MaterialStatePropertyAll(RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(2)))), - backgroundColor: MaterialStatePropertyAll(Color(0xff082b6d)))), - appBarTheme: const AppBarTheme( - backgroundColor: Color(0xffbf0028), - iconTheme: IconThemeData(color: Colors.white), - actionsIconTheme: IconThemeData(color: Colors.white), - titleTextStyle: TextStyle( - color: Colors.white, fontWeight: FontWeight.w500, fontSize: 20))); -} -- 2.45.2 From d831ec02e8b5422d6ab314193032b916cd57decd Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 12 Jun 2023 23:14:37 +0200 Subject: [PATCH 03/44] =?UTF-8?q?=E2=80=9EFrontend-user/lib/refsem?= =?UTF-8?q?=E2=80=9C=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend-user/lib/refsem | 169 --------------------------------------- 1 file changed, 169 deletions(-) delete mode 100644 Frontend-user/lib/refsem diff --git a/Frontend-user/lib/refsem b/Frontend-user/lib/refsem deleted file mode 100644 index 9a33b70..0000000 --- a/Frontend-user/lib/refsem +++ /dev/null @@ -1,169 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_svg/svg.dart'; -import 'package:intl/intl.dart'; -import 'main.dart'; -import 'studierendenausweis.dart'; - -class ShowSemester extends StatefulWidget { - final bool isWinter; - final DateTime now; - const ShowSemester(this.isWinter, this.now, {super.key}); - - @override - State createState() => _ShowSemester(); -} - -class _ShowSemester extends State with TickerProviderStateMixin { - late final controller = AnimationController( - duration: const Duration(seconds: 6), - vsync: this, - )..repeat(reverse: true); - - @override - Widget build(BuildContext context) { - bool isWinter = widget.isWinter; - final now = widget.now; - final format = DateFormat("dd.MM.yyyy", 'de_DE'); - final beginning = isWinter - ? now.month > 6 - ? '01.10.${now.year}' - : '01.10.${now.year - 1}' - : '01.04.${now.year}'; - final validFrom = isWinter - ? now.month != DateTime.september - ? format.format(now) - : '01.10.${now.year}' - : now.month != DateTime.march - ? format.format(now) - : '01.04.${now.year}'; - final ending = isWinter - ? now.month > 6 - ? '31.03.${now.year + 1}' - : '31.03.${now.year}' - : '30.09.${now.year}'; - - return Scaffold( - appBar: AppBar( - title: const Text('Ihre Karte'), - ), - body: ListView( - padding: - const EdgeInsets.only(top: 8, bottom: 8, left: 16, right: 16), - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.baseline, - textBaseline: TextBaseline.ideographic, - children: [ - SvgPicture.asset('assets/RMV_logo.svg', - height: 16, fit: BoxFit.fitHeight), - Text( - ' 01 - ${Ticket().matrikel} - 001', - style: TextStyle(height: 0), - ) - ], - ), - Text('$validFrom / 00:00'), - Padding( - padding: const EdgeInsets.all(8.0), - child: Image.asset(Ticket().picture), - ), - Text('${Ticket().vorname} ${Ticket().nachname}'), - const Text( - 'Ausweis: digitaler Studierendenausweis', - style: TextStyle(fontSize: 12), - ), - const SizedBox(height: 12), - const Text('RMV-HandyTicket'), - const Text( - 'SemesterTicket JGU Mainz', - style: TextStyle(fontSize: 18, fontWeight: FontWeight.w700), - ), - const SizedBox(height: 16), - Row( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: const [ - Text('Gültig von: '), - Text('Gültig bis: '), - Text('Semester: '), - Text('Ticket-ID: '), - ], - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(validFrom), - Text(ending), - Text(isWinter - ? 'WiSe ${now.month > 6 ? now.year : now.year - 1}' - : 'SoSe ${now.year}'), - Text('01 - ${Ticket().matrikel} - 001'), - ], - ) - ], - ), - const SizedBox(height: 8), - const Text( - 'Gültig auf allen Linien im gesamten RMV Verbundnetz und den VRN-Übergangstarifgebieten. Gültig auf allen Linien im Verbundnetz des RNN inkl. ÜB AzWo. KBS 471 (Nahverkehr bis Koblenz). Es gelten die gemeinsamen Beförderungsbedingungen und Tarifbestimmungen.', - style: TextStyle(fontSize: 10), - ), - const SizedBox(height: 4), - Padding( - padding: const EdgeInsets.only(right: 114 + 16), - child: SlideTransition( - position: Tween( - begin: const Offset(0.0, 0.0), - end: const Offset(1.0, 0.0), - ).animate(CurvedAnimation( - parent: controller, - curve: Curves.linear, - )), - child: Row( - children: [ - SvgPicture.asset( - 'assets/RNN_logo.svg', - height: 20, - fit: BoxFit.fitHeight, - ), - const SizedBox(width: 4), - SvgPicture.asset( - 'assets/RMV_logo.svg', - height: 16, - fit: BoxFit.fitHeight, - ), - ], - )), - ), - const SizedBox(height: 8), - SizedBox( - height: 28, - child: Center( - child: TextButton( - onPressed: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => - ShowAusweis(isWinter, now))); - }, - child: const Text( - ' Studierendenausweis ', - style: TextStyle( - color: Colors.white, - height: 1.0, - fontWeight: FontWeight.w400), - )), - ), - ), - Text('Gesamtlaufzeit: $beginning bis $ending', - style: const TextStyle(fontSize: 12)) - ])); - } - - @override - void dispose() { - controller.dispose(); - super.dispose(); - } -} -- 2.45.2 From 5edef0200dac109491875733b6691fff9f521a0a Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 12 Jun 2023 23:14:42 +0200 Subject: [PATCH 04/44] =?UTF-8?q?=E2=80=9EFrontend-user/lib/refstart?= =?UTF-8?q?=E2=80=9C=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend-user/lib/refstart | 158 ------------------------------------- 1 file changed, 158 deletions(-) delete mode 100644 Frontend-user/lib/refstart diff --git a/Frontend-user/lib/refstart b/Frontend-user/lib/refstart deleted file mode 100644 index a590456..0000000 --- a/Frontend-user/lib/refstart +++ /dev/null @@ -1,158 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:intl/intl.dart'; -import 'package:intl/date_symbol_data_local.dart'; -import 'help.dart'; -import 'hints.dart'; -import 'main.dart'; -import 'semesterticket.dart'; -import 'studierendenausweis.dart'; - -class StartScreen extends StatelessWidget { - final now = DateTime.now(); - - @override - Widget build(BuildContext context) { - initializeDateFormatting('de_DE'); - - return Theme( - data: Theme.of(context).copyWith( - textTheme: TextTheme( - bodyMedium: - TextStyle(color: Theme.of(context).colorScheme.secondary))), - child: Scaffold( - appBar: AppBar(title: const Text('Ausweise'), actions: [ - IconButton( - icon: const Icon(Icons.autorenew), - tooltip: 'Tickets aktualisieren', - onPressed: () { - ScaffoldMessenger.of(context).showSnackBar(const SnackBar( - content: Text('Die Tickets werden aktualisiert'))); - }, - ), - IconButton( - icon: const Icon(Icons.help_outline), - tooltip: 'Hilfe öffnen', - onPressed: () { - Navigator.push(context, - MaterialPageRoute(builder: (context) => ShowHelp())); - }) - ]), - body: ListView.builder( - itemCount: (now.month == 3 || now.month == 9) ? 6 : 4, - padding: - const EdgeInsets.only(top: 4, bottom: 8, left: 4, right: 4), - itemBuilder: (BuildContext context, int index) { - switch (index) { - case 0: - return Text( - 'Angemeldet als ${Ticket().nachname}, ${Ticket().vorname}'); - case 1: - return GestureDetector( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => ShowHints(index))); - }, - child: Card( - semanticContainer: true, - margin: const EdgeInsets.only(top: 4, bottom: 4), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - Icon(Icons.library_books_outlined), - Padding( - padding: EdgeInsets.all(16.0), - child: Text( - "Hinweise anzeigen", - textAlign: TextAlign.center, - ), - ), - ], - ), - ), - ); - default: - return createTicket(context, index); - } - }), - )); - } - - Widget createTicket(BuildContext context, final int index) { - final bool isSemester = index % 2 == 0; - final bool isWinter = index < 4 - ? now.month >= 10 || now.month <= 3 - : now.month >= 4 && now.month <= 9; - - return GestureDetector( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => isSemester - ? ShowSemester(isWinter, now) - : ShowAusweis(isWinter, now))); - }, - child: Card( - semanticContainer: true, - margin: const EdgeInsets.only(top: 8, bottom: 8, left: 4, right: 4), - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - isSemester - ? 'Semesterticket' - : 'Studierendenausweis', - style: const TextStyle( - fontWeight: FontWeight.w700, fontSize: 18)), - const Icon( - Icons.arrow_forward_ios_outlined, - weight: 100, - ) - ], - ), - const SizedBox(height: 16), - Text((isWinter - ? 'Wintersemester ${now.month > 6 ? now.year : now.year - 1}' - : 'Sommersemester ${now.year}') + - (isSemester - ? '' - : ', Matrikelnummer ${Ticket().matrikel}')), - const SizedBox(height: 24), - Row(children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: const [ - Text('Zuletzt aktualisiert:', - style: TextStyle(fontSize: 10)), - Text('Offline verfügbar bis:', - style: TextStyle(fontSize: 10)), - ]), - const SizedBox( - width: 24, - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') - .format(now), - style: const TextStyle(fontSize: 10)), - Text( - DateFormat("EEEE, dd. MMMM yyyy 23:59", 'de_DE') - .format(now - .add(Duration(days: isSemester ? 2 : 7))), - style: const TextStyle(fontSize: 10)), - ], - ) - ]), - ]), - ))); - } -} -- 2.45.2 From 793d3e02e12b6f8b7869ac6b6d8be65297b6cd3c Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 16 Jun 2023 12:18:13 +0200 Subject: [PATCH 05/44] Aufsetzen von MariaDB --- db_scripts/README.md | 11 +++++++++++ db_scripts/create_server.sql | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 db_scripts/README.md create mode 100644 db_scripts/create_server.sql diff --git a/db_scripts/README.md b/db_scripts/README.md new file mode 100644 index 0000000..6337559 --- /dev/null +++ b/db_scripts/README.md @@ -0,0 +1,11 @@ +# Datenbank + +## Aufsetzen + +Zu Beginn sollte die Datenbank heruntergeladen werden [Anleitung](https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/). + +Nach der Installation muss auf der Datenbank ein Server definiert werden. Dazu muss eine Systemtabelle des DB-Servers editiert werden. für die Tests gewählte Konfiguration findet sich unter ./create_server.sql weitere Informationen finden sich [unter](https://mariadb.com/kb/en/create-server/). + + +https://wiki.archlinux.org/title/MariaDB +mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql \ No newline at end of file diff --git a/db_scripts/create_server.sql b/db_scripts/create_server.sql new file mode 100644 index 0000000..eb23b75 --- /dev/null +++ b/db_scripts/create_server.sql @@ -0,0 +1,3 @@ +CREATE SERVER IF NOT EXISTS s +FOREIGN DATA WRAPPER mysql +OPTIONS (USER 'REMOTE', HOST '127.0.0.1', DATABASE 'test'); \ No newline at end of file -- 2.45.2 From d711eef20d8ff7c36209ed7f630c37b252d39e24 Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 16 Jun 2023 14:07:02 +0200 Subject: [PATCH 06/44] Umstellung auf Sqlite * Anpassung des Erstellungsscripts * Beschreibung des Zugriffs und Einlesen der Datei (momentan noch nicht funktional) --- .gitignore | 3 ++- db_scripts/README.md | 13 ++++----- db_scripts/create.sql | 62 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 db_scripts/create.sql diff --git a/.gitignore b/.gitignore index 723ef36..2dd30b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +.idea +db/* \ No newline at end of file diff --git a/db_scripts/README.md b/db_scripts/README.md index 6337559..f56a297 100644 --- a/db_scripts/README.md +++ b/db_scripts/README.md @@ -1,11 +1,12 @@ # Datenbank -## Aufsetzen +## Aufsetzen - SQLite -Zu Beginn sollte die Datenbank heruntergeladen werden [Anleitung](https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/). +Erstellen / Verbinden mit der Datenbank +```sqlite3 ../db/test.db``` -Nach der Installation muss auf der Datenbank ein Server definiert werden. Dazu muss eine Systemtabelle des DB-Servers editiert werden. für die Tests gewählte Konfiguration findet sich unter ./create_server.sql weitere Informationen finden sich [unter](https://mariadb.com/kb/en/create-server/). +Tabellen anlegen (nach Verbindung durch *sqlite3* besteht) +```.read create.sql``` - -https://wiki.archlinux.org/title/MariaDB -mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql \ No newline at end of file +In einem Schritt: +```sqlite3 ../db/test.db -init create.sql``` diff --git a/db_scripts/create.sql b/db_scripts/create.sql new file mode 100644 index 0000000..b91c817 --- /dev/null +++ b/db_scripts/create.sql @@ -0,0 +1,62 @@ +CREATE TABLE IF NOT EXISTS mitglied ( + mitglied_id INT NOT NULL PRIMARY KEY, + haushalt VARCHAR(100) NOT NULL, + erweiterter_haushalt VARCHAR(100), + einlage INT NOT NULL, + guthaben INT NOT NULL, + kontoauszuege BOOLEAN NOT NULL, + aktiv BOOLEAN NOT NULL +); + +CREATE TABLE IF NOT EXISTS transaktion_art ( + art_id INT NOT NULL PRIMARY KEY, + art VARCHAR(50) NOT NULL +); + +INSERT INTO transaktion_art(art_id, art) VALUES (1, 'monatlicher_beitrag'); +INSERT INTO transaktion_art(art_id, art) VALUES (2, 'aufladung'); +INSERT INTO transaktion_art(art_id, art) VALUES (3, 'einkauf'); + +CREATE TABLE IF NOT EXISTS transaktion ( + transaktion_id INT NOT NULL PRIMARY KEY, + mitglied_id INT NOT NULL, + art_id INT NOT NULL, + datum DATE NOT NULL, + BETRAG INT NOT NULL, + CONSTRAINT fk_mitglied_transaktion FOREIGN KEY (mitglied_id) REFERENCES mitglied(mitglied_id), + CONSTRAINT fk_art_transaktion FOREIGN KEY (art_id) REFERENCES transaktion_art(art_id) +); + +CREATE TABLE IF NOT EXISTS monatlicher_beitrag ( + monatlicher_beitrag_id INT NOT NULL PRIMARY KEY, + mitglied_id INT NOT NULL, + anfangsdatum DATE NOT NULL, + enddatum DATE NOT NULL, + beitrag INT NOT NULL, + CONSTRAINT fk_mitglied_beitrag FOREIGN KEY (mitglied_id) REFERENCES mitglied(mitglied_id) +); + +CREATE TABLE IF NOT EXISTS mwst ( + mwst_id INT NOT NULL PRIMARY KEY, + prozent INT NOT NULL +); + +INSERT INTO mwst(mwst_id, prozent) VALUES (1, 7); +INSERT INTO mwst(mwst_id, prozent) VALUES (2, 19); + +CREATE TABLE IF NOT EXISTS einheit( + einheit_id INT NOT NULL PRIMARY KEY, + bezeichung VARCHAR(50) NOT NULL +); + +INSERT INTO einheit(menge_id, bezeichnung) VALUES (1, 'stueck'); +INSERT INTO einheit(menge_id, bezeichnung) VALUES (2, 'menge'); + +CREATE TABLE IF NOT EXISTS artikel ( + artikel_id INT NOT NULL PRIMARY KEY, + einheit_id INT NOT NULL, + mwst_id INT NOT NULL, + preis INT NOT NULL, + CONSTRAINT fk_mwst_artikel FOREIGN KEY (mwst_id) REFERENCES mwst(mwst_id), + CONSTRAINT fk_einheit_artikel FOREIGN KEY (einheit_id) REFERENCES einheit(einheit_id) +); -- 2.45.2 From 5ad2ae086707950087ea07643a34db4215805686 Mon Sep 17 00:00:00 2001 From: esche Date: Fri, 16 Jun 2023 15:36:13 +0200 Subject: [PATCH 07/44] remake finance, included assets --- .../assets/logo_sonako_4c_optimal.png | Bin 0 -> 729708 bytes Frontend-user/lib/expand.dart | 58 ++++++ Frontend-user/lib/finance.dart | 168 +++++++++++------- Frontend-user/lib/main.dart | 4 +- Frontend-user/pubspec.yaml | 5 +- 5 files changed, 166 insertions(+), 69 deletions(-) create mode 100644 Frontend-user/assets/logo_sonako_4c_optimal.png create mode 100644 Frontend-user/lib/expand.dart diff --git a/Frontend-user/assets/logo_sonako_4c_optimal.png b/Frontend-user/assets/logo_sonako_4c_optimal.png new file mode 100644 index 0000000000000000000000000000000000000000..298147a8baf9bad10f6b056b01a197d4e00ad8aa GIT binary patch literal 729708 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

WyPX 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

W|Zs2DB=<@PV>9>&27v{F3J`9l-te6;S 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%0D~E)n`J$-d&YHcX!)&_7T|7_8Ex2HLb&$b~0^J!% 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

HG04M^o|3Q@l1VB*LD;czU(Xq=OEnSID8 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�aVfYtoa~M(VQO*%!El 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

yhk3)%6%Ub@yRXq_t>77vKNwGSiv!lxdsYE? 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�pZNrLDRlDaKm&M5@)xjFE!H21g;q^Wr82CA1m> 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 literal 0 HcmV?d00001 diff --git a/Frontend-user/lib/expand.dart b/Frontend-user/lib/expand.dart new file mode 100644 index 0000000..b335d75 --- /dev/null +++ b/Frontend-user/lib/expand.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; + +class Expand extends StatefulWidget { + final Widget child; + final bool expand; + const Expand({super.key, this.expand = true, required this.child}); + + @override + State createState() => _ExpandState(); +} + +class _ExpandState extends State with SingleTickerProviderStateMixin { + late AnimationController expandController; + late Animation animation; + + @override + void initState() { + super.initState(); + prepareAnimations(); + _runExpandCheck(); + } + + ///Setting up the animation + void prepareAnimations() { + expandController = AnimationController( + vsync: this, duration: const Duration(milliseconds: 500)); + animation = CurvedAnimation( + parent: expandController, + curve: Curves.fastOutSlowIn, + ); + } + + void _runExpandCheck() { + if (widget.expand) { + expandController.forward(); + } else { + expandController.reverse(); + } + } + + @override + void didUpdateWidget(Expand oldWidget) { + super.didUpdateWidget(oldWidget); + _runExpandCheck(); + } + + @override + void dispose() { + expandController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return SizeTransition( + axisAlignment: 1.0, sizeFactor: animation, child: widget.child); + } +} diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 002f08b..5e84686 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:intl/date_symbol_data_local.dart'; +import 'expand.dart'; /* todo: - - Design - - Details zum Warenkorb und Beschreibung (Popup?) + - Design, Farbschema, Darkmode + - Einkauf und Settings + - Details zum Warenkorb und Beschreibung (https://stackoverflow.com/questions/49029841/how-to-animate-collapse-elements-in-flutter) - farbliche Hervorhebungen */ @@ -18,16 +20,37 @@ class Transaction { Art art; DateTime datum; String beschreibung; + bool elevated = true; Transaction(this.art, this.betrag, this.datum, this.beschreibung); } -class Finance extends StatelessWidget { - Finance({super.key}); +class Finance extends StatefulWidget { + const Finance({super.key}); + @override + State createState() => _Finance(); +} + +class _Finance extends State { final List transactions = [ Transaction(Art.monatlBeitrag, 0, now, ''), Transaction(Art.aufladung, 2042, now, ''), Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + 'Korrektur des Warenkorbs'), + Transaction(Art.monatlBeitrag, 0, now, ''), + Transaction(Art.aufladung, 2042, now, ''), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + 'Korrektur des Warenkorbs'), + Transaction(Art.monatlBeitrag, 0, now, ''), + Transaction(Art.aufladung, 2042, now, ''), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + 'Korrektur des Warenkorbs'), + Transaction(Art.monatlBeitrag, 0, now, ''), + Transaction(Art.aufladung, 2042, now, ''), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') ]; @@ -36,68 +59,83 @@ class Finance extends StatelessWidget { Widget build(BuildContext context) { initializeDateFormatting('de_DE'); - return ListView.builder( - itemCount: null, - itemBuilder: (context, index) { - if (index == 0) { - return const Card( - child: Padding( - padding: EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Icon( - Icons.euro, - //color: Colors.black, - //semanticLabel: 'Text for screenreader', - ), - Column( - children: [ - Text( - 'Aktuelles Guthaben:', - style: TextStyle(fontWeight: FontWeight.bold), - ), - Text( - '-00,34€', - style: TextStyle(fontWeight: FontWeight.bold), - ) - ], - ) - ], + return Scaffold( + appBar: AppBar( + toolbarHeight: 75, + title: const Card( + child: Padding( + padding: EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Icon( + Icons.euro, + //color: Colors.black, + //semanticLabel: 'Text for screenreader', + ), + Column( + children: [ + Text( + 'Aktuelles Guthaben:', + style: TextStyle(fontWeight: FontWeight.bold), + ), + Text( + '-00,34€', + style: TextStyle(fontWeight: FontWeight.bold), + ) + ], + ) + ], + ), ), - ), - ); - } else if (index <= transactions.length) { - return Card( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Icon(transactions[index - 1].art == Art.korrektur - ? Icons.error - : Icons.money), - Column( - children: [ - Row( - children: [ - Text(DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') - .format(now)), - Text( - '${transactions[index - 1].art}: ${transactions[index - 1].betrag / 100}€'), - ], - ), - Text(transactions[index - 1].beschreibung) - ], + )), + body: ListView.builder( + itemCount: null, + itemBuilder: (context, index) { + if (index < transactions.length) { + return Card( + clipBehavior: Clip.hardEdge, + child: InkWell( + splashColor: Colors.blue.withAlpha(30), + onTap: () { + transactions[index].elevated = + !transactions[index].elevated; + setState(() {}); + debugPrint('Card tapped'); + }, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Icon(transactions[index].art == Art.korrektur + ? Icons.error + : Icons.money), + Column( + children: [ + Row( + children: [ + Text(DateFormat( + "EEEE, dd. MMMM yyyy HH:mm", 'de_DE') + .format(now)), + Text( + '${transactions[index].art}: ${transactions[index].betrag / 100}€'), + ], + ), + Expand( + expand: transactions[index].elevated, + child: Text(transactions[index].beschreibung)) + ], + ), + ], + ), ), - ], - ), - ), - ); - } else { - return null; - } - }, - ); + ), + ); + } else { + return null; + } + }, + )); } } diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index be05bee..d923d94 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -39,6 +39,8 @@ class _MyHomePageState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: + const Image(image: AssetImage('assets/logo_sonako_4c_optimal.png')), title: const Text('SoNaKo Demo App'), ), bottomNavigationBar: NavigationBar( @@ -70,7 +72,7 @@ class _MyHomePageState extends State { alignment: Alignment.center, child: Text('Page $test'), ), - Finance(), + const Finance(), const Text( 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein') ][currentPageIndex], diff --git a/Frontend-user/pubspec.yaml b/Frontend-user/pubspec.yaml index ea374c2..23ea054 100644 --- a/Frontend-user/pubspec.yaml +++ b/Frontend-user/pubspec.yaml @@ -60,9 +60,8 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg + assets: + - assets/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware -- 2.45.2 From df0fabce0f50284c55e5012bfe173a1d3a19a70c Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 19 Jun 2023 11:21:54 +0200 Subject: [PATCH 08/44] =?UTF-8?q?kleine=20=C3=84nderungen=20am=20Design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend-user/lib/finance.dart | 6 +++--- Frontend-user/lib/main.dart | 13 +++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 5e84686..6a837f1 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -5,7 +5,7 @@ import 'expand.dart'; /* todo: - - Design, Farbschema, Darkmode + - Design, Darkmode - Einkauf und Settings - Details zum Warenkorb und Beschreibung (https://stackoverflow.com/questions/49029841/how-to-animate-collapse-elements-in-flutter) - farbliche Hervorhebungen @@ -20,7 +20,7 @@ class Transaction { Art art; DateTime datum; String beschreibung; - bool elevated = true; + bool elevated = false; Transaction(this.art, this.betrag, this.datum, this.beschreibung); } @@ -96,7 +96,7 @@ class _Finance extends State { return Card( clipBehavior: Clip.hardEdge, child: InkWell( - splashColor: Colors.blue.withAlpha(30), + splashColor: const Color(0xff5f7c61).withAlpha(30), onTap: () { transactions[index].elevated = !transactions[index].elevated; diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index d923d94..cef3fe8 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -14,10 +14,19 @@ class MyApp extends StatelessWidget { title: 'SoNaKo Demo App', debugShowCheckedModeBanner: false, theme: ThemeData( + //darkgreen:5f7c61, mediumgreen: 66906a, lightgreen: 9cbe96, yellow: f5de64 useMaterial3: true, + brightness: Brightness.light, colorScheme: ColorScheme.fromSeed( - seedColor: Colors.green)), //9bbee6 //79,128,104 - darkTheme: ThemeData.dark(), + brightness: Brightness.light, + seedColor: const Color(0xff5f7c61))), + darkTheme: ThemeData( + useMaterial3: true, + brightness: Brightness.dark, + colorScheme: ColorScheme.fromSeed( + brightness: Brightness.dark, + seedColor: const Color(0xff5f7c61), + )), themeMode: ThemeMode.system, home: const MyHomePage(), ); -- 2.45.2 From 99282eb9dad873fe18f58ec435274559d8d22b88 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 19 Jun 2023 12:12:18 +0200 Subject: [PATCH 09/44] bugfix for finance cards --- Frontend-user/lib/finance.dart | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 6a837f1..c4fe843 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -31,6 +31,7 @@ class Finance extends StatefulWidget { State createState() => _Finance(); } +//sample data class _Finance extends State { final List transactions = [ Transaction(Art.monatlBeitrag, 0, now, ''), @@ -51,6 +52,11 @@ class _Finance extends State { Transaction(Art.monatlBeitrag, 0, now, ''), Transaction(Art.aufladung, 2042, now, ''), Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + 'Korrektur des Warenkorbs'), + Transaction(Art.monatlBeitrag, 0, now, ''), + Transaction(Art.aufladung, 2042, now, ''), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') ]; @@ -122,9 +128,10 @@ class _Finance extends State { '${transactions[index].art}: ${transactions[index].betrag / 100}€'), ], ), - Expand( - expand: transactions[index].elevated, - child: Text(transactions[index].beschreibung)) + if (transactions[index].beschreibung != '') + Expand( + expand: transactions[index].elevated, + child: Text(transactions[index].beschreibung)) ], ), ], -- 2.45.2 From f343214df0b1b93e30a6fcf104014e59dc190e03 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 19 Jun 2023 16:25:10 +0200 Subject: [PATCH 10/44] extremely simplyfied code --- Frontend-user/lib/expand.dart | 2 ++ Frontend-user/lib/finance.dart | 36 ++++++++++++---------------------- Frontend-user/lib/main.dart | 2 +- 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/Frontend-user/lib/expand.dart b/Frontend-user/lib/expand.dart index b335d75..4a6255d 100644 --- a/Frontend-user/lib/expand.dart +++ b/Frontend-user/lib/expand.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; +//this was used in a earlier version of the app and will possibly be removed in future versions. + class Expand extends StatefulWidget { final Widget child; final bool expand; diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index c4fe843..341df79 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -24,15 +24,8 @@ class Transaction { Transaction(this.art, this.betrag, this.datum, this.beschreibung); } -class Finance extends StatefulWidget { - const Finance({super.key}); - - @override - State createState() => _Finance(); -} - //sample data -class _Finance extends State { +class Finance extends StatelessWidget { final List transactions = [ Transaction(Art.monatlBeitrag, 0, now, ''), Transaction(Art.aufladung, 2042, now, ''), @@ -61,6 +54,8 @@ class _Finance extends State { 'Korrektur des Warenkorbs') ]; + Finance({super.key}); + @override Widget build(BuildContext context) { initializeDateFormatting('de_DE'); @@ -76,7 +71,6 @@ class _Finance extends State { children: [ Icon( Icons.euro, - //color: Colors.black, //semanticLabel: 'Text for screenreader', ), Column( @@ -106,8 +100,12 @@ class _Finance extends State { onTap: () { transactions[index].elevated = !transactions[index].elevated; - setState(() {}); - debugPrint('Card tapped'); + showBottomSheet( + context: context, + builder: (BuildContext context) { + return SizedBox.expand( + child: Text(transactions[index].beschreibung)); + }); }, child: Padding( padding: const EdgeInsets.all(8.0), @@ -119,19 +117,11 @@ class _Finance extends State { : Icons.money), Column( children: [ - Row( - children: [ - Text(DateFormat( - "EEEE, dd. MMMM yyyy HH:mm", 'de_DE') + Text( + DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') .format(now)), - Text( - '${transactions[index].art}: ${transactions[index].betrag / 100}€'), - ], - ), - if (transactions[index].beschreibung != '') - Expand( - expand: transactions[index].elevated, - child: Text(transactions[index].beschreibung)) + Text( + '${transactions[index].art}: ${transactions[index].betrag / 100}€') ], ), ], diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index cef3fe8..2c4fe0c 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -81,7 +81,7 @@ class _MyHomePageState extends State { alignment: Alignment.center, child: Text('Page $test'), ), - const Finance(), + Finance(), const Text( 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein') ][currentPageIndex], -- 2.45.2 From 893b421fe39d511ff4e990b9077cb80b040ee3dd Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 19 Jun 2023 16:27:07 +0200 Subject: [PATCH 11/44] extremely simplyfied code --- Frontend-user/lib/finance.dart | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 341df79..90e2522 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:intl/date_symbol_data_local.dart'; -import 'expand.dart'; /* todo: @@ -20,7 +19,6 @@ class Transaction { Art art; DateTime datum; String beschreibung; - bool elevated = false; Transaction(this.art, this.betrag, this.datum, this.beschreibung); } @@ -96,10 +94,8 @@ class Finance extends StatelessWidget { return Card( clipBehavior: Clip.hardEdge, child: InkWell( - splashColor: const Color(0xff5f7c61).withAlpha(30), + splashColor: const Color(0xff5f7c61).withAlpha(50), onTap: () { - transactions[index].elevated = - !transactions[index].elevated; showBottomSheet( context: context, builder: (BuildContext context) { -- 2.45.2 From f083ab8cf0009869e2685cb30f6fe25ac2e744e9 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 19 Jun 2023 19:37:06 +0200 Subject: [PATCH 12/44] changed design of the finance tab --- Frontend-user/lib/finance.dart | 203 +++++++++++++++++++-------------- 1 file changed, 116 insertions(+), 87 deletions(-) diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 90e2522..4f81a7c 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -4,10 +4,12 @@ import 'package:intl/date_symbol_data_local.dart'; /* todo: - - Design, Darkmode - Einkauf und Settings - - Details zum Warenkorb und Beschreibung (https://stackoverflow.com/questions/49029841/how-to-animate-collapse-elements-in-flutter) + - Warenkorb + - Aufladungen? - farbliche Hervorhebungen + - semanticLabels, Screenreader + - monatliche Aufladung: ausstehende Beträge */ enum Art { monatlBeitrag, aufladung, einkauf, korrektur } @@ -18,36 +20,36 @@ class Transaction { int betrag; Art art; DateTime datum; - String beschreibung; - Transaction(this.art, this.betrag, this.datum, this.beschreibung); + String? beschreibung; + Transaction(this.art, this.betrag, this.datum, [this.beschreibung]); } //sample data class Finance extends StatelessWidget { final List transactions = [ - Transaction(Art.monatlBeitrag, 0, now, ''), - Transaction(Art.aufladung, 2042, now, ''), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.monatlBeitrag, 0, now), + Transaction(Art.aufladung, 2042, now), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now, ''), - Transaction(Art.aufladung, 2042, now, ''), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.monatlBeitrag, 0, now), + Transaction(Art.aufladung, 2042, now), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now, ''), - Transaction(Art.aufladung, 2042, now, ''), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.monatlBeitrag, 0, now), + Transaction(Art.aufladung, 2042, now), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now, ''), - Transaction(Art.aufladung, 2042, now, ''), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.monatlBeitrag, 0, now), + Transaction(Art.aufladung, 2042, now), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now, ''), - Transaction(Art.aufladung, 2042, now, ''), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2)), ''), + Transaction(Art.monatlBeitrag, 0, now), + Transaction(Art.aufladung, 2042, now), + Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') ]; @@ -60,75 +62,102 @@ class Finance extends StatelessWidget { return Scaffold( appBar: AppBar( - toolbarHeight: 75, - title: const Card( - child: Padding( - padding: EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Icon( - Icons.euro, - //semanticLabel: 'Text for screenreader', - ), - Column( - children: [ - Text( - 'Aktuelles Guthaben:', - style: TextStyle(fontWeight: FontWeight.bold), - ), - Text( - '-00,34€', - style: TextStyle(fontWeight: FontWeight.bold), - ) - ], - ) - ], + toolbarHeight: 75, + title: const Card( + child: ListTile( + leading: Icon( + Icons.euro, ), - ), - )), + title: Text( + 'Aktuelles Guthaben:', + ), + subtitle: Text( + '-00,34€', + )), + ), + ), body: ListView.builder( - itemCount: null, - itemBuilder: (context, index) { - if (index < transactions.length) { - return Card( - clipBehavior: Clip.hardEdge, - child: InkWell( - splashColor: const Color(0xff5f7c61).withAlpha(50), - onTap: () { - showBottomSheet( - context: context, - builder: (BuildContext context) { - return SizedBox.expand( - child: Text(transactions[index].beschreibung)); - }); - }, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Icon(transactions[index].art == Art.korrektur - ? Icons.error - : Icons.money), - Column( - children: [ - Text( - DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') - .format(now)), - Text( - '${transactions[index].art}: ${transactions[index].betrag / 100}€') - ], - ), - ], - ), - ), - ), - ); - } else { - return null; - } - }, - )); + itemCount: null, + itemBuilder: (context, index) { + if (index < transactions.length) { + return Card( + child: ListTile( + leading: getIcon(transactions[index].art), + title: Text(gettitle(transactions[index].art)), + subtitle: getSubtitle(index), + trailing: transactions[index].art == Art.einkauf + ? PopupMenuButton( + onSelected: (value) {}, + itemBuilder: (BuildContext context) => + >[ + const PopupMenuItem( + value: 'Option', + child: ListTile( + leading: Icon(Icons.manage_history), + title: Text('Warenkorb bearbeiten')), + ), + const PopupMenuItem( + value: 'Option', + child: ListTile( + leading: + Icon(Icons.remove_shopping_cart), + title: Text('Einkauf stornieren')), + ), + ], + ) + : null, + onTap: () { + if (transactions[index].art == Art.einkauf) { + showBottomSheet( + context: context, + builder: (BuildContext context) { + return const SizedBox.expand(); + }); + } + })); + } else { + return null; + } + })); + } + + String gettitle(Art art) { + switch (art) { + case Art.aufladung: + return 'Aufladung'; + case Art.einkauf: + return 'Einkauf'; + case Art.korrektur: + return 'Korrektur'; + case Art.monatlBeitrag: + return 'monatlicher Beitrag'; + } + } + + Text getSubtitle(int index) { + String text = '${transactions[index].betrag / 100}'; + text += '€ '; + text += DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') + .format(transactions[index].datum); + if (transactions[index].beschreibung != null) { + (text += '\n${transactions[index].beschreibung}'); + } + + return Text(text); + //return Text( + // '${DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE').format(transactions[index].datum)}: ${transactions[index].betrag / 100}€\n${transactions[index].beschreibung}'); + } + + Icon getIcon(Art art) { + switch (art) { + case Art.aufladung: + return const Icon(Icons.savings); + case Art.einkauf: + return const Icon(Icons.shopping_basket); + case Art.korrektur: + return const Icon(Icons.priority_high); + case Art.monatlBeitrag: + return const Icon(Icons.payment); + } } } -- 2.45.2 From 3ab6cd56903d7ad6249d242848dc0d2fbe3a5bce Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 19 Jun 2023 20:29:17 +0200 Subject: [PATCH 13/44] design improvements --- Frontend-user/lib/finance.dart | 2 -- Frontend-user/lib/main.dart | 11 +++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 4f81a7c..6ba4f84 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -144,8 +144,6 @@ class Finance extends StatelessWidget { } return Text(text); - //return Text( - // '${DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE').format(transactions[index].datum)}: ${transactions[index].betrag / 100}€\n${transactions[index].beschreibung}'); } Icon getIcon(Art art) { diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 2c4fe0c..d018574 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -82,8 +82,15 @@ class _MyHomePageState extends State { child: Text('Page $test'), ), Finance(), - const Text( - 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein') + ListView(children: const [ + ListTile( + leading: Icon(Icons.dark_mode), + title: Text( + 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein', + maxLines: 2, + ), + ) + ]) ][currentPageIndex], ); } -- 2.45.2 From 9f9bf7205b3bd402ee678681fca586371679b96b Mon Sep 17 00:00:00 2001 From: fdenzer Date: Fri, 23 Jun 2023 10:48:27 +0200 Subject: [PATCH 14/44] fix inconsistency --- db_scripts/create.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db_scripts/create.sql b/db_scripts/create.sql index b91c817..23daa87 100644 --- a/db_scripts/create.sql +++ b/db_scripts/create.sql @@ -49,8 +49,8 @@ CREATE TABLE IF NOT EXISTS einheit( bezeichung VARCHAR(50) NOT NULL ); -INSERT INTO einheit(menge_id, bezeichnung) VALUES (1, 'stueck'); -INSERT INTO einheit(menge_id, bezeichnung) VALUES (2, 'menge'); +INSERT INTO einheit(einheit_id, bezeichnung) VALUES (1, 'stueck'); +INSERT INTO einheit(einheit_id, bezeichnung) VALUES (2, 'menge'); CREATE TABLE IF NOT EXISTS artikel ( artikel_id INT NOT NULL PRIMARY KEY, -- 2.45.2 From 45f76eab171008b6cf6078b55961b420965934ba Mon Sep 17 00:00:00 2001 From: esche Date: Fri, 23 Jun 2023 10:54:25 +0200 Subject: [PATCH 15/44] adding a structure for future basket --- Frontend-user/lib/basket.dart | 81 ++++++++++++++++++++++++++++++ Frontend-user/lib/finance.dart | 92 +++++++++++++++++----------------- Frontend-user/lib/main.dart | 2 +- 3 files changed, 129 insertions(+), 46 deletions(-) create mode 100644 Frontend-user/lib/basket.dart diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart new file mode 100644 index 0000000..1b11270 --- /dev/null +++ b/Frontend-user/lib/basket.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; + +/* todo: + - Flag für Ansicht/Bearbeitung + - individuelle Icons je nach Kategorie + - Pfand + - Gesamtpreis +*/ + +enum Unit { stueck, menge } + +enum Category { + obstUndGemuese, + brotCerealienUndAufstriche, + getraenke, + drogerieUndHaushalt, + kochenUndBacken, + oeleSossenUndGewuerze, + suessesUndKnabbereien +} + +class Product { + final int id = 0; + final String name; + final Unit unit; + final double price; //pro Kilogramm oder Stück + final double vat; + final Category category; + const Product(this.name, this.unit, this.price, this.vat, this.category); +} + +class Purchase { + Product product; + int amount; + Purchase(this.product, this.amount); +} + +class ShowBasket extends StatelessWidget { + ShowBasket({super.key}); + + //sample data + static const List products = [ + Product('Apfel', Unit.stueck, 0.23, 7, Category.obstUndGemuese), + Product('Mehl', Unit.menge, 0.003, 19, Category.kochenUndBacken), + Product('Brot', Unit.stueck, 1.23, 7, Category.brotCerealienUndAufstriche), + Product('Milch', Unit.stueck, 2.23, 3, Category.getraenke), + Product('Zahnpasta', Unit.stueck, 0.23, 7, Category.drogerieUndHaushalt), + Product('Pfeffer', Unit.stueck, 0.23, 7, Category.oeleSossenUndGewuerze), + Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) + ]; + + final List basket = [ + Purchase(products[0], 20), + Purchase(products[1], 2200), + Purchase(products[2], 2), + Purchase(products[3], 1), + Purchase(products[4], 1), + Purchase(products[5], 2), + Purchase(products[6], 202) + ]; + + @override + Widget build(BuildContext context) { + return ListView.builder( + itemCount: null, + itemBuilder: (context, index) { + if (index < basket.length) { + return Card( + child: ListTile( + leading: const Icon(Icons.abc), + title: Text(basket[index].product.name), + //trailing: Text(), + ), + ); + } else { + return null; + } + }, + ); + } +} diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 6ba4f84..d873e60 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:intl/date_symbol_data_local.dart'; +import 'basket.dart'; /* todo: @@ -12,45 +13,46 @@ todo: - monatliche Aufladung: ausstehende Beträge */ -enum Art { monatlBeitrag, aufladung, einkauf, korrektur } +enum Type { monatlBeitrag, aufladung, einkauf, korrektur } final now = DateTime.now(); class Transaction { - int betrag; - Art art; - DateTime datum; - String? beschreibung; - Transaction(this.art, this.betrag, this.datum, [this.beschreibung]); + int id = 0; + int amount; + Type type; + DateTime date; + String? description; + Transaction(this.type, this.amount, this.date, [this.description]); } //sample data class Finance extends StatelessWidget { final List transactions = [ - Transaction(Art.monatlBeitrag, 0, now), - Transaction(Art.aufladung, 2042, now), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + Transaction(Type.monatlBeitrag, 0, now), + Transaction(Type.aufladung, 2042, now), + Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now), - Transaction(Art.aufladung, 2042, now), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + Transaction(Type.monatlBeitrag, 0, now), + Transaction(Type.aufladung, 2042, now), + Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now), - Transaction(Art.aufladung, 2042, now), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + Transaction(Type.monatlBeitrag, 0, now), + Transaction(Type.aufladung, 2042, now), + Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now), - Transaction(Art.aufladung, 2042, now), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + Transaction(Type.monatlBeitrag, 0, now), + Transaction(Type.aufladung, 2042, now), + Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(Art.monatlBeitrag, 0, now), - Transaction(Art.aufladung, 2042, now), - Transaction(Art.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Art.korrektur, 2332, now.subtract(const Duration(hours: 5)), + Transaction(Type.monatlBeitrag, 0, now), + Transaction(Type.aufladung, 2042, now), + Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') ]; @@ -82,10 +84,10 @@ class Finance extends StatelessWidget { if (index < transactions.length) { return Card( child: ListTile( - leading: getIcon(transactions[index].art), - title: Text(gettitle(transactions[index].art)), + leading: getIcon(transactions[index].type), + title: Text(gettitle(transactions[index].type)), subtitle: getSubtitle(index), - trailing: transactions[index].art == Art.einkauf + trailing: transactions[index].type == Type.einkauf ? PopupMenuButton( onSelected: (value) {}, itemBuilder: (BuildContext context) => @@ -107,11 +109,11 @@ class Finance extends StatelessWidget { ) : null, onTap: () { - if (transactions[index].art == Art.einkauf) { + if (transactions[index].type == Type.einkauf) { showBottomSheet( context: context, builder: (BuildContext context) { - return const SizedBox.expand(); + return ShowBasket(); }); } })); @@ -121,40 +123,40 @@ class Finance extends StatelessWidget { })); } - String gettitle(Art art) { + String gettitle(Type art) { switch (art) { - case Art.aufladung: + case Type.aufladung: return 'Aufladung'; - case Art.einkauf: + case Type.einkauf: return 'Einkauf'; - case Art.korrektur: + case Type.korrektur: return 'Korrektur'; - case Art.monatlBeitrag: + case Type.monatlBeitrag: return 'monatlicher Beitrag'; } } Text getSubtitle(int index) { - String text = '${transactions[index].betrag / 100}'; + String text = '${transactions[index].amount / 100}'; text += '€ '; text += DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') - .format(transactions[index].datum); - if (transactions[index].beschreibung != null) { - (text += '\n${transactions[index].beschreibung}'); + .format(transactions[index].date); + if (transactions[index].description != null) { + (text += '\n${transactions[index].description}'); } return Text(text); } - Icon getIcon(Art art) { + Icon getIcon(Type art) { switch (art) { - case Art.aufladung: + case Type.aufladung: return const Icon(Icons.savings); - case Art.einkauf: + case Type.einkauf: return const Icon(Icons.shopping_basket); - case Art.korrektur: + case Type.korrektur: return const Icon(Icons.priority_high); - case Art.monatlBeitrag: + case Type.monatlBeitrag: return const Icon(Icons.payment); } } diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index d018574..a383cfa 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -27,7 +27,7 @@ class MyApp extends StatelessWidget { brightness: Brightness.dark, seedColor: const Color(0xff5f7c61), )), - themeMode: ThemeMode.system, + themeMode: ThemeMode.dark, home: const MyHomePage(), ); } -- 2.45.2 From ebd05ca96ce7c6254fa519a9e3eede89c6f9f68a Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 16 Jun 2023 12:18:13 +0200 Subject: [PATCH 16/44] Aufsetzen von MariaDB --- db_scripts/README.md | 11 +++++++++++ db_scripts/create_server.sql | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 db_scripts/README.md create mode 100644 db_scripts/create_server.sql diff --git a/db_scripts/README.md b/db_scripts/README.md new file mode 100644 index 0000000..6337559 --- /dev/null +++ b/db_scripts/README.md @@ -0,0 +1,11 @@ +# Datenbank + +## Aufsetzen + +Zu Beginn sollte die Datenbank heruntergeladen werden [Anleitung](https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/). + +Nach der Installation muss auf der Datenbank ein Server definiert werden. Dazu muss eine Systemtabelle des DB-Servers editiert werden. für die Tests gewählte Konfiguration findet sich unter ./create_server.sql weitere Informationen finden sich [unter](https://mariadb.com/kb/en/create-server/). + + +https://wiki.archlinux.org/title/MariaDB +mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql \ No newline at end of file diff --git a/db_scripts/create_server.sql b/db_scripts/create_server.sql new file mode 100644 index 0000000..eb23b75 --- /dev/null +++ b/db_scripts/create_server.sql @@ -0,0 +1,3 @@ +CREATE SERVER IF NOT EXISTS s +FOREIGN DATA WRAPPER mysql +OPTIONS (USER 'REMOTE', HOST '127.0.0.1', DATABASE 'test'); \ No newline at end of file -- 2.45.2 From ee6bb344054b552fad1c72a88b0d4f2500df70c8 Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 16 Jun 2023 14:07:02 +0200 Subject: [PATCH 17/44] Umstellung auf Sqlite * Anpassung des Erstellungsscripts * Beschreibung des Zugriffs und Einlesen der Datei (momentan noch nicht funktional) --- .gitignore | 3 ++- db_scripts/README.md | 13 ++++----- db_scripts/create.sql | 62 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 db_scripts/create.sql diff --git a/.gitignore b/.gitignore index 723ef36..2dd30b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +.idea +db/* \ No newline at end of file diff --git a/db_scripts/README.md b/db_scripts/README.md index 6337559..f56a297 100644 --- a/db_scripts/README.md +++ b/db_scripts/README.md @@ -1,11 +1,12 @@ # Datenbank -## Aufsetzen +## Aufsetzen - SQLite -Zu Beginn sollte die Datenbank heruntergeladen werden [Anleitung](https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/). +Erstellen / Verbinden mit der Datenbank +```sqlite3 ../db/test.db``` -Nach der Installation muss auf der Datenbank ein Server definiert werden. Dazu muss eine Systemtabelle des DB-Servers editiert werden. für die Tests gewählte Konfiguration findet sich unter ./create_server.sql weitere Informationen finden sich [unter](https://mariadb.com/kb/en/create-server/). +Tabellen anlegen (nach Verbindung durch *sqlite3* besteht) +```.read create.sql``` - -https://wiki.archlinux.org/title/MariaDB -mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql \ No newline at end of file +In einem Schritt: +```sqlite3 ../db/test.db -init create.sql``` diff --git a/db_scripts/create.sql b/db_scripts/create.sql new file mode 100644 index 0000000..b91c817 --- /dev/null +++ b/db_scripts/create.sql @@ -0,0 +1,62 @@ +CREATE TABLE IF NOT EXISTS mitglied ( + mitglied_id INT NOT NULL PRIMARY KEY, + haushalt VARCHAR(100) NOT NULL, + erweiterter_haushalt VARCHAR(100), + einlage INT NOT NULL, + guthaben INT NOT NULL, + kontoauszuege BOOLEAN NOT NULL, + aktiv BOOLEAN NOT NULL +); + +CREATE TABLE IF NOT EXISTS transaktion_art ( + art_id INT NOT NULL PRIMARY KEY, + art VARCHAR(50) NOT NULL +); + +INSERT INTO transaktion_art(art_id, art) VALUES (1, 'monatlicher_beitrag'); +INSERT INTO transaktion_art(art_id, art) VALUES (2, 'aufladung'); +INSERT INTO transaktion_art(art_id, art) VALUES (3, 'einkauf'); + +CREATE TABLE IF NOT EXISTS transaktion ( + transaktion_id INT NOT NULL PRIMARY KEY, + mitglied_id INT NOT NULL, + art_id INT NOT NULL, + datum DATE NOT NULL, + BETRAG INT NOT NULL, + CONSTRAINT fk_mitglied_transaktion FOREIGN KEY (mitglied_id) REFERENCES mitglied(mitglied_id), + CONSTRAINT fk_art_transaktion FOREIGN KEY (art_id) REFERENCES transaktion_art(art_id) +); + +CREATE TABLE IF NOT EXISTS monatlicher_beitrag ( + monatlicher_beitrag_id INT NOT NULL PRIMARY KEY, + mitglied_id INT NOT NULL, + anfangsdatum DATE NOT NULL, + enddatum DATE NOT NULL, + beitrag INT NOT NULL, + CONSTRAINT fk_mitglied_beitrag FOREIGN KEY (mitglied_id) REFERENCES mitglied(mitglied_id) +); + +CREATE TABLE IF NOT EXISTS mwst ( + mwst_id INT NOT NULL PRIMARY KEY, + prozent INT NOT NULL +); + +INSERT INTO mwst(mwst_id, prozent) VALUES (1, 7); +INSERT INTO mwst(mwst_id, prozent) VALUES (2, 19); + +CREATE TABLE IF NOT EXISTS einheit( + einheit_id INT NOT NULL PRIMARY KEY, + bezeichung VARCHAR(50) NOT NULL +); + +INSERT INTO einheit(menge_id, bezeichnung) VALUES (1, 'stueck'); +INSERT INTO einheit(menge_id, bezeichnung) VALUES (2, 'menge'); + +CREATE TABLE IF NOT EXISTS artikel ( + artikel_id INT NOT NULL PRIMARY KEY, + einheit_id INT NOT NULL, + mwst_id INT NOT NULL, + preis INT NOT NULL, + CONSTRAINT fk_mwst_artikel FOREIGN KEY (mwst_id) REFERENCES mwst(mwst_id), + CONSTRAINT fk_einheit_artikel FOREIGN KEY (einheit_id) REFERENCES einheit(einheit_id) +); -- 2.45.2 From cf21ead3e2de3413e9d8b100998b74a151a5468f Mon Sep 17 00:00:00 2001 From: fdenzer Date: Fri, 23 Jun 2023 10:48:27 +0200 Subject: [PATCH 18/44] fix inconsistency --- db_scripts/create.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db_scripts/create.sql b/db_scripts/create.sql index b91c817..23daa87 100644 --- a/db_scripts/create.sql +++ b/db_scripts/create.sql @@ -49,8 +49,8 @@ CREATE TABLE IF NOT EXISTS einheit( bezeichung VARCHAR(50) NOT NULL ); -INSERT INTO einheit(menge_id, bezeichnung) VALUES (1, 'stueck'); -INSERT INTO einheit(menge_id, bezeichnung) VALUES (2, 'menge'); +INSERT INTO einheit(einheit_id, bezeichnung) VALUES (1, 'stueck'); +INSERT INTO einheit(einheit_id, bezeichnung) VALUES (2, 'menge'); CREATE TABLE IF NOT EXISTS artikel ( artikel_id INT NOT NULL PRIMARY KEY, -- 2.45.2 From 6c19b77768c57f1f57d405d5145c3a664f409e7f Mon Sep 17 00:00:00 2001 From: fdenzer Date: Fri, 23 Jun 2023 11:14:00 +0200 Subject: [PATCH 19/44] fix two kinds of typos bezeichung was written without n before ung insert or ignore into consistently, but was `insert`, or `insert or into` in previous drafts --- db_scripts/create.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/db_scripts/create.sql b/db_scripts/create.sql index 23daa87..58401b6 100644 --- a/db_scripts/create.sql +++ b/db_scripts/create.sql @@ -13,9 +13,9 @@ CREATE TABLE IF NOT EXISTS transaktion_art ( art VARCHAR(50) NOT NULL ); -INSERT INTO transaktion_art(art_id, art) VALUES (1, 'monatlicher_beitrag'); -INSERT INTO transaktion_art(art_id, art) VALUES (2, 'aufladung'); -INSERT INTO transaktion_art(art_id, art) VALUES (3, 'einkauf'); +INSERT OR IGNORE INTO transaktion_art(art_id, art) VALUES (1, 'monatlicher_beitrag'); +INSERT OR IGNORE INTO transaktion_art(art_id, art) VALUES (2, 'aufladung'); +INSERT OR IGNORE INTO transaktion_art(art_id, art) VALUES (3, 'einkauf'); CREATE TABLE IF NOT EXISTS transaktion ( transaktion_id INT NOT NULL PRIMARY KEY, @@ -41,16 +41,16 @@ CREATE TABLE IF NOT EXISTS mwst ( prozent INT NOT NULL ); -INSERT INTO mwst(mwst_id, prozent) VALUES (1, 7); -INSERT INTO mwst(mwst_id, prozent) VALUES (2, 19); +INSERT OR IGNORE INTO mwst(mwst_id, prozent) VALUES (1, 7); +INSERT OR IGNORE INTO mwst(mwst_id, prozent) VALUES (2, 19); CREATE TABLE IF NOT EXISTS einheit( einheit_id INT NOT NULL PRIMARY KEY, - bezeichung VARCHAR(50) NOT NULL + bezeichnung VARCHAR(50) NOT NULL ); -INSERT INTO einheit(einheit_id, bezeichnung) VALUES (1, 'stueck'); -INSERT INTO einheit(einheit_id, bezeichnung) VALUES (2, 'menge'); +INSERT OR IGNORE INTO einheit(einheit_id, bezeichnung) VALUES (1, 'stueck'); +INSERT OR IGNORE INTO einheit(einheit_id, bezeichnung) VALUES (2, 'menge'); CREATE TABLE IF NOT EXISTS artikel ( artikel_id INT NOT NULL PRIMARY KEY, -- 2.45.2 From d97f1fbb1c2443e91623de4211b0473152d87ba0 Mon Sep 17 00:00:00 2001 From: esche Date: Fri, 23 Jun 2023 12:12:46 +0200 Subject: [PATCH 20/44] added price for basket --- Frontend-user/lib/basket.dart | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index 1b11270..aef16b2 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -35,6 +35,12 @@ class Purchase { Purchase(this.product, this.amount); } +class Basket { + List purchases; + int price; + Basket(this.purchases, this.price); +} + class ShowBasket extends StatelessWidget { ShowBasket({super.key}); @@ -49,7 +55,7 @@ class ShowBasket extends StatelessWidget { Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) ]; - final List basket = [ + Basket basket = Basket([ Purchase(products[0], 20), Purchase(products[1], 2200), Purchase(products[2], 2), @@ -57,18 +63,18 @@ class ShowBasket extends StatelessWidget { Purchase(products[4], 1), Purchase(products[5], 2), Purchase(products[6], 202) - ]; + ], 304); @override Widget build(BuildContext context) { return ListView.builder( itemCount: null, itemBuilder: (context, index) { - if (index < basket.length) { + if (index < basket.purchases.length) { return Card( child: ListTile( leading: const Icon(Icons.abc), - title: Text(basket[index].product.name), + title: Text(basket.purchases[index].product.name), //trailing: Text(), ), ); -- 2.45.2 From f0bb37c38c5f696a5aaa54b1d6c21797d2eb0c2b Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 23 Jun 2023 12:29:29 +0200 Subject: [PATCH 21/44] Tippfehler korrigiert --- db_scripts/create.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db_scripts/create.sql b/db_scripts/create.sql index 23daa87..b7b1480 100644 --- a/db_scripts/create.sql +++ b/db_scripts/create.sql @@ -46,7 +46,7 @@ INSERT INTO mwst(mwst_id, prozent) VALUES (2, 19); CREATE TABLE IF NOT EXISTS einheit( einheit_id INT NOT NULL PRIMARY KEY, - bezeichung VARCHAR(50) NOT NULL + bezeichnung VARCHAR(50) NOT NULL ); INSERT INTO einheit(einheit_id, bezeichnung) VALUES (1, 'stueck'); @@ -59,4 +59,4 @@ CREATE TABLE IF NOT EXISTS artikel ( preis INT NOT NULL, CONSTRAINT fk_mwst_artikel FOREIGN KEY (mwst_id) REFERENCES mwst(mwst_id), CONSTRAINT fk_einheit_artikel FOREIGN KEY (einheit_id) REFERENCES einheit(einheit_id) -); +); \ No newline at end of file -- 2.45.2 From d9bf3c4fea447c18adbe0f4f742bac628d44435c Mon Sep 17 00:00:00 2001 From: esche Date: Fri, 23 Jun 2023 13:03:17 +0200 Subject: [PATCH 22/44] restructured sample data --- Frontend-user/lib/basket.dart | 60 +---------------- Frontend-user/lib/finance.dart | 86 +++++++----------------- Frontend-user/lib/sample_data.dart | 102 +++++++++++++++++++++++++++++ 3 files changed, 129 insertions(+), 119 deletions(-) create mode 100644 Frontend-user/lib/sample_data.dart diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index aef16b2..8acedb1 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'sample_data.dart'; /* todo: - Flag für Ansicht/Bearbeitung @@ -7,74 +8,19 @@ import 'package:flutter/material.dart'; - Gesamtpreis */ -enum Unit { stueck, menge } - -enum Category { - obstUndGemuese, - brotCerealienUndAufstriche, - getraenke, - drogerieUndHaushalt, - kochenUndBacken, - oeleSossenUndGewuerze, - suessesUndKnabbereien -} - -class Product { - final int id = 0; - final String name; - final Unit unit; - final double price; //pro Kilogramm oder Stück - final double vat; - final Category category; - const Product(this.name, this.unit, this.price, this.vat, this.category); -} - -class Purchase { - Product product; - int amount; - Purchase(this.product, this.amount); -} - -class Basket { - List purchases; - int price; - Basket(this.purchases, this.price); -} - class ShowBasket extends StatelessWidget { ShowBasket({super.key}); - //sample data - static const List products = [ - Product('Apfel', Unit.stueck, 0.23, 7, Category.obstUndGemuese), - Product('Mehl', Unit.menge, 0.003, 19, Category.kochenUndBacken), - Product('Brot', Unit.stueck, 1.23, 7, Category.brotCerealienUndAufstriche), - Product('Milch', Unit.stueck, 2.23, 3, Category.getraenke), - Product('Zahnpasta', Unit.stueck, 0.23, 7, Category.drogerieUndHaushalt), - Product('Pfeffer', Unit.stueck, 0.23, 7, Category.oeleSossenUndGewuerze), - Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) - ]; - - Basket basket = Basket([ - Purchase(products[0], 20), - Purchase(products[1], 2200), - Purchase(products[2], 2), - Purchase(products[3], 1), - Purchase(products[4], 1), - Purchase(products[5], 2), - Purchase(products[6], 202) - ], 304); - @override Widget build(BuildContext context) { return ListView.builder( itemCount: null, itemBuilder: (context, index) { - if (index < basket.purchases.length) { + if (index < SampleData().basket.purchases.length) { return Card( child: ListTile( leading: const Icon(Icons.abc), - title: Text(basket.purchases[index].product.name), + title: Text(SampleData().basket.purchases[index].product.name), //trailing: Text(), ), ); diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index d873e60..dedb548 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'basket.dart'; +import 'sample_data.dart'; /* todo: @@ -13,50 +14,8 @@ todo: - monatliche Aufladung: ausstehende Beträge */ -enum Type { monatlBeitrag, aufladung, einkauf, korrektur } - -final now = DateTime.now(); - -class Transaction { - int id = 0; - int amount; - Type type; - DateTime date; - String? description; - Transaction(this.type, this.amount, this.date, [this.description]); -} - -//sample data class Finance extends StatelessWidget { - final List transactions = [ - Transaction(Type.monatlBeitrag, 0, now), - Transaction(Type.aufladung, 2042, now), - Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), - 'Korrektur des Warenkorbs'), - Transaction(Type.monatlBeitrag, 0, now), - Transaction(Type.aufladung, 2042, now), - Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), - 'Korrektur des Warenkorbs'), - Transaction(Type.monatlBeitrag, 0, now), - Transaction(Type.aufladung, 2042, now), - Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), - 'Korrektur des Warenkorbs'), - Transaction(Type.monatlBeitrag, 0, now), - Transaction(Type.aufladung, 2042, now), - Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), - 'Korrektur des Warenkorbs'), - Transaction(Type.monatlBeitrag, 0, now), - Transaction(Type.aufladung, 2042, now), - Transaction(Type.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(Type.korrektur, 2332, now.subtract(const Duration(hours: 5)), - 'Korrektur des Warenkorbs') - ]; - - Finance({super.key}); + const Finance({super.key}); @override Widget build(BuildContext context) { @@ -81,13 +40,15 @@ class Finance extends StatelessWidget { body: ListView.builder( itemCount: null, itemBuilder: (context, index) { - if (index < transactions.length) { + if (index < SampleData().transactions.length) { return Card( child: ListTile( - leading: getIcon(transactions[index].type), - title: Text(gettitle(transactions[index].type)), + leading: getIcon(SampleData().transactions[index].type), + title: Text( + gettitle(SampleData().transactions[index].type)), subtitle: getSubtitle(index), - trailing: transactions[index].type == Type.einkauf + trailing: SampleData().transactions[index].type == + TransaktionArt.einkauf ? PopupMenuButton( onSelected: (value) {}, itemBuilder: (BuildContext context) => @@ -109,7 +70,8 @@ class Finance extends StatelessWidget { ) : null, onTap: () { - if (transactions[index].type == Type.einkauf) { + if (SampleData().transactions[index].type == + TransaktionArt.einkauf) { showBottomSheet( context: context, builder: (BuildContext context) { @@ -123,40 +85,40 @@ class Finance extends StatelessWidget { })); } - String gettitle(Type art) { + String gettitle(TransaktionArt art) { switch (art) { - case Type.aufladung: + case TransaktionArt.aufladung: return 'Aufladung'; - case Type.einkauf: + case TransaktionArt.einkauf: return 'Einkauf'; - case Type.korrektur: + case TransaktionArt.korrektur: return 'Korrektur'; - case Type.monatlBeitrag: + case TransaktionArt.monatlBeitrag: return 'monatlicher Beitrag'; } } Text getSubtitle(int index) { - String text = '${transactions[index].amount / 100}'; + String text = '${SampleData().transactions[index].amount / 100}'; text += '€ '; text += DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') - .format(transactions[index].date); - if (transactions[index].description != null) { - (text += '\n${transactions[index].description}'); + .format(SampleData().transactions[index].date); + if (SampleData().transactions[index].description != null) { + (text += '\n${SampleData().transactions[index].description}'); } return Text(text); } - Icon getIcon(Type art) { + Icon getIcon(TransaktionArt art) { switch (art) { - case Type.aufladung: + case TransaktionArt.aufladung: return const Icon(Icons.savings); - case Type.einkauf: + case TransaktionArt.einkauf: return const Icon(Icons.shopping_basket); - case Type.korrektur: + case TransaktionArt.korrektur: return const Icon(Icons.priority_high); - case Type.monatlBeitrag: + case TransaktionArt.monatlBeitrag: return const Icon(Icons.payment); } } diff --git a/Frontend-user/lib/sample_data.dart b/Frontend-user/lib/sample_data.dart new file mode 100644 index 0000000..50787f6 --- /dev/null +++ b/Frontend-user/lib/sample_data.dart @@ -0,0 +1,102 @@ +final now = DateTime.now(); + +enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur } + +enum Unit { stueck, menge } + +enum Category { + obstUndGemuese, + brotCerealienUndAufstriche, + getraenke, + drogerieUndHaushalt, + kochenUndBacken, + oeleSossenUndGewuerze, + suessesUndKnabbereien +} + +class Transaction { + int id = 0; + int amount; + TransaktionArt type; + DateTime date; + String? description; + Transaction(this.type, this.amount, this.date, [this.description]); +} + +class Product { + final int id = 0; + final String name; + final Unit unit; + final double price; //pro Kilogramm oder Stück + final double vat; + final Category category; + const Product(this.name, this.unit, this.price, this.vat, this.category); +} + +class Purchase { + Product product; + int amount; + Purchase(this.product, this.amount); +} + +class Basket { + List purchases; + int price; + Basket(this.purchases, this.price); +} + +//sample data +class SampleData { + final List transactions = [ + Transaction(TransaktionArt.monatlBeitrag, 0, now), + Transaction(TransaktionArt.aufladung, 2042, now), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(TransaktionArt.korrektur, 2332, + now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), + Transaction(TransaktionArt.monatlBeitrag, 0, now), + Transaction(TransaktionArt.aufladung, 2042, now), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(TransaktionArt.korrektur, 2332, + now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), + Transaction(TransaktionArt.monatlBeitrag, 0, now), + Transaction(TransaktionArt.aufladung, 2042, now), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(TransaktionArt.korrektur, 2332, + now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), + Transaction(TransaktionArt.monatlBeitrag, 0, now), + Transaction(TransaktionArt.aufladung, 2042, now), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(TransaktionArt.korrektur, 2332, + now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), + Transaction(TransaktionArt.monatlBeitrag, 0, now), + Transaction(TransaktionArt.aufladung, 2042, now), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction(TransaktionArt.korrektur, 2332, + now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') + ]; + + static const List products = [ + Product('Apfel', Unit.stueck, 0.23, 7, Category.obstUndGemuese), + Product('Mehl', Unit.menge, 0.003, 19, Category.kochenUndBacken), + Product('Brot', Unit.stueck, 1.23, 7, Category.brotCerealienUndAufstriche), + Product('Milch', Unit.stueck, 2.23, 3, Category.getraenke), + Product('Zahnpasta', Unit.stueck, 0.23, 7, Category.drogerieUndHaushalt), + Product('Pfeffer', Unit.stueck, 0.23, 7, Category.oeleSossenUndGewuerze), + Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) + ]; + + Basket basket = Basket([ + Purchase(products[0], 20), + Purchase(products[1], 2200), + Purchase(products[2], 2), + Purchase(products[3], 1), + Purchase(products[4], 1), + Purchase(products[5], 2), + Purchase(products[6], 202) + ], 304); +} -- 2.45.2 From ee0c6190a588fde6342c894dc04a9f030730d590 Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 23 Jun 2023 13:10:33 +0200 Subject: [PATCH 23/44] =?UTF-8?q?Datei=20zum=20L=C3=B6schen=20der=20Tabell?= =?UTF-8?q?en=20angelegt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db_scripts/drop.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 db_scripts/drop.sql diff --git a/db_scripts/drop.sql b/db_scripts/drop.sql new file mode 100644 index 0000000..b22754a --- /dev/null +++ b/db_scripts/drop.sql @@ -0,0 +1,7 @@ +DROP TABLE IF EXISTS mitglied; +DROP TABLE IF EXISTS transaktion_art; +DROP TABLE IF EXISTS transaktion; +DROP TABLE IF EXISTS monatlicher_beitrag; +DROP TABLE IF EXISTS mwst; +DROP TABLE IF EXISTS einheit; +DROP TABLE IF EXISTS artikel; -- 2.45.2 From 26d0735bcfbe9e797b4a11ddc058f370ca2d540d Mon Sep 17 00:00:00 2001 From: Nicksname Date: Fri, 23 Jun 2023 14:43:54 +0200 Subject: [PATCH 24/44] Trash-Filter aktualisiert --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2dd30b6..7a162b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .idea -db/* \ No newline at end of file +db/* +backend/target/* + -- 2.45.2 From 05b12991c2b9e6eb29875b153d92d0fbd571bbba Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sun, 25 Jun 2023 10:33:18 +0200 Subject: [PATCH 25/44] add svg version of logo --- Frontend-user/assets/sonako.svg | 319 ++++++++++++++++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 Frontend-user/assets/sonako.svg diff --git a/Frontend-user/assets/sonako.svg b/Frontend-user/assets/sonako.svg new file mode 100644 index 0000000..5205dbe --- /dev/null +++ b/Frontend-user/assets/sonako.svg @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- 2.45.2 From 597db5d51fdf4e8474b363fc9f7108faf006803e Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sun, 25 Jun 2023 10:43:50 +0200 Subject: [PATCH 26/44] mv logo to shared since no flutter_svg --- {Frontend-user/assets => shared_assets}/sonako.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {Frontend-user/assets => shared_assets}/sonako.svg (100%) diff --git a/Frontend-user/assets/sonako.svg b/shared_assets/sonako.svg similarity index 100% rename from Frontend-user/assets/sonako.svg rename to shared_assets/sonako.svg -- 2.45.2 From 4bbd70464fe4baf1713de69bd1b663d20b1a1ddd Mon Sep 17 00:00:00 2001 From: esche Date: Sun, 25 Jun 2023 12:04:17 +0200 Subject: [PATCH 27/44] restructured sample data again --- Frontend-user/lib/basket.dart | 9 +- Frontend-user/lib/finance.dart | 7 +- Frontend-user/lib/main.dart | 2 +- Frontend-user/lib/sample_data.dart | 177 ++++++++++++++++++++--------- 4 files changed, 135 insertions(+), 60 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index 8acedb1..cd108f7 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -9,18 +9,21 @@ import 'sample_data.dart'; */ class ShowBasket extends StatelessWidget { - ShowBasket({super.key}); + final Transaction transaction; + + const ShowBasket({super.key, required this.transaction}); @override Widget build(BuildContext context) { return ListView.builder( itemCount: null, itemBuilder: (context, index) { - if (index < SampleData().basket.purchases.length) { + if (index < transaction.basket!.length) { return Card( child: ListTile( leading: const Icon(Icons.abc), - title: Text(SampleData().basket.purchases[index].product.name), + title: Text( + transaction.basket![index].products.name), //better null check //trailing: Text(), ), ); diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index dedb548..2167233 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -70,12 +70,13 @@ class Finance extends StatelessWidget { ) : null, onTap: () { - if (SampleData().transactions[index].type == - TransaktionArt.einkauf) { + if (SampleData().transactions[index].basket != null) { showBottomSheet( context: context, builder: (BuildContext context) { - return ShowBasket(); + return ShowBasket( + transaction: + SampleData().transactions[index]); }); } })); diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index a383cfa..1861776 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -81,7 +81,7 @@ class _MyHomePageState extends State { alignment: Alignment.center, child: Text('Page $test'), ), - Finance(), + const Finance(), ListView(children: const [ ListTile( leading: Icon(Icons.dark_mode), diff --git a/Frontend-user/lib/sample_data.dart b/Frontend-user/lib/sample_data.dart index 50787f6..5483d78 100644 --- a/Frontend-user/lib/sample_data.dart +++ b/Frontend-user/lib/sample_data.dart @@ -19,8 +19,10 @@ class Transaction { int amount; TransaktionArt type; DateTime date; + List? basket; String? description; - Transaction(this.type, this.amount, this.date, [this.description]); + Transaction(this.type, this.amount, this.date, + {this.description, this.basket}); } class Product { @@ -33,53 +35,13 @@ class Product { const Product(this.name, this.unit, this.price, this.vat, this.category); } -class Purchase { - Product product; - int amount; - Purchase(this.product, this.amount); -} - class Basket { - List purchases; - int price; - Basket(this.purchases, this.price); + Product products; + int amount; + Basket(this.products, this.amount); } -//sample data class SampleData { - final List transactions = [ - Transaction(TransaktionArt.monatlBeitrag, 0, now), - Transaction(TransaktionArt.aufladung, 2042, now), - Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(TransaktionArt.korrektur, 2332, - now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(TransaktionArt.monatlBeitrag, 0, now), - Transaction(TransaktionArt.aufladung, 2042, now), - Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(TransaktionArt.korrektur, 2332, - now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(TransaktionArt.monatlBeitrag, 0, now), - Transaction(TransaktionArt.aufladung, 2042, now), - Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(TransaktionArt.korrektur, 2332, - now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(TransaktionArt.monatlBeitrag, 0, now), - Transaction(TransaktionArt.aufladung, 2042, now), - Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(TransaktionArt.korrektur, 2332, - now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), - Transaction(TransaktionArt.monatlBeitrag, 0, now), - Transaction(TransaktionArt.aufladung, 2042, now), - Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), - Transaction(TransaktionArt.korrektur, 2332, - now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') - ]; - static const List products = [ Product('Apfel', Unit.stueck, 0.23, 7, Category.obstUndGemuese), Product('Mehl', Unit.menge, 0.003, 19, Category.kochenUndBacken), @@ -90,13 +52,122 @@ class SampleData { Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) ]; - Basket basket = Basket([ - Purchase(products[0], 20), - Purchase(products[1], 2200), - Purchase(products[2], 2), - Purchase(products[3], 1), - Purchase(products[4], 1), - Purchase(products[5], 2), - Purchase(products[6], 202) - ], 304); + static List basket = [ + Basket(products[0], 20), + Basket(products[1], 2200), + Basket(products[2], 2), + Basket(products[3], 1), + Basket(products[4], 1), + Basket(products[5], 2), + Basket(products[6], 222) + ]; + + static List basket2 = [ + Basket(products[0], 22), + Basket(products[1], 2241), + Basket(products[3], 2), + Basket(products[4], 4), + Basket(products[6], 2) + ]; + + static List basket3 = [ + Basket(products[0], -2), + Basket(products[1], 21), + Basket(products[3], -4), + Basket(products[4], 1), + Basket(products[6], 5) + ]; + + List transactions = [ + Transaction( + TransaktionArt.monatlBeitrag, + 0, + now, + ), + Transaction( + TransaktionArt.aufladung, + 2042, + now, + ), + Transaction( + TransaktionArt.einkauf, + -2442, + now.subtract(const Duration(days: 2)), + ), + Transaction( + TransaktionArt.korrektur, + 2332, + now.subtract(const Duration(hours: 5)), + description: 'Korrektur des Warenkorbs', + basket: basket3, + ), + Transaction( + TransaktionArt.monatlBeitrag, + 0, + now, + ), + Transaction( + TransaktionArt.aufladung, + 2042, + now, + ), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2)), + basket: basket2), + Transaction( + TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + description: 'Korrektur des Warenkorbs'), + Transaction( + TransaktionArt.monatlBeitrag, + 0, + now, + ), + Transaction( + TransaktionArt.aufladung, + 2042, + now, + ), + Transaction( + TransaktionArt.einkauf, + -2442, + now.subtract(const Duration(days: 2)), + basket: basket, + ), + Transaction( + TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + description: 'Korrektur des Warenkorbs'), + Transaction( + TransaktionArt.monatlBeitrag, + 0, + now, + ), + Transaction( + TransaktionArt.aufladung, + 2042, + now, + ), + Transaction( + TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + Transaction( + TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + description: 'Korrektur des Warenkorbs'), + Transaction( + TransaktionArt.monatlBeitrag, + 0, + now, + ), + Transaction( + TransaktionArt.aufladung, + 2042, + now, + ), + Transaction( + TransaktionArt.einkauf, + -2442, + now.subtract(const Duration(days: 2)), + ), + Transaction( + TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + description: 'Korrektur des Warenkorbs'), + ]; } -- 2.45.2 From 7c9d449c63f84f58137c967f134576aac57737a5 Mon Sep 17 00:00:00 2001 From: esche Date: Sun, 25 Jun 2023 14:01:19 +0200 Subject: [PATCH 28/44] added Pfand to sample data --- Frontend-user/lib/basket.dart | 1 - Frontend-user/lib/finance.dart | 1 - Frontend-user/lib/main.dart | 19 ++-- Frontend-user/lib/sample_data.dart | 134 +++++++++++++++++------------ 4 files changed, 91 insertions(+), 64 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index cd108f7..1924d3c 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -4,7 +4,6 @@ import 'sample_data.dart'; /* todo: - Flag für Ansicht/Bearbeitung - individuelle Icons je nach Kategorie - - Pfand - Gesamtpreis */ diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 2167233..16e9d1f 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -8,7 +8,6 @@ import 'sample_data.dart'; todo: - Einkauf und Settings - Warenkorb - - Aufladungen? - farbliche Hervorhebungen - semanticLabels, Screenreader - monatliche Aufladung: ausstehende Beträge diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 1861776..80807a3 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -76,11 +76,20 @@ class _MyHomePageState extends State { ], ), body: [ - Container( - color: Colors.red, - alignment: Alignment.center, - child: Text('Page $test'), - ), + Scaffold( + floatingActionButton: FloatingActionButton( + child: const Icon(Icons.shopping_cart), + onPressed: () { + setState(() { + test++; + }); + }, + ), + body: Container( + color: Colors.green, + alignment: Alignment.center, + child: Text('Page $test'), + )), const Finance(), ListView(children: const [ ListTile( diff --git a/Frontend-user/lib/sample_data.dart b/Frontend-user/lib/sample_data.dart index 5483d78..d41c66d 100644 --- a/Frontend-user/lib/sample_data.dart +++ b/Frontend-user/lib/sample_data.dart @@ -1,4 +1,4 @@ -final now = DateTime.now(); +final DateTime now = DateTime.now(); enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur } @@ -11,7 +11,8 @@ enum Category { drogerieUndHaushalt, kochenUndBacken, oeleSossenUndGewuerze, - suessesUndKnabbereien + suessesUndKnabbereien, + pfand } class Transaction { @@ -21,8 +22,12 @@ class Transaction { DateTime date; List? basket; String? description; - Transaction(this.type, this.amount, this.date, - {this.description, this.basket}); + Transaction( + {required this.type, + required this.amount, + required this.date, + this.description, + this.basket}); } class Product { @@ -49,7 +54,8 @@ class SampleData { Product('Milch', Unit.stueck, 2.23, 3, Category.getraenke), Product('Zahnpasta', Unit.stueck, 0.23, 7, Category.drogerieUndHaushalt), Product('Pfeffer', Unit.stueck, 0.23, 7, Category.oeleSossenUndGewuerze), - Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) + Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien), + Product('Flaschenpfand', Unit.stueck, -0.15, 0, Category.pfand) ]; static List basket = [ @@ -67,7 +73,8 @@ class SampleData { Basket(products[1], 2241), Basket(products[3], 2), Basket(products[4], 4), - Basket(products[6], 2) + Basket(products[6], 2), + Basket(products[7], 5) ]; static List basket3 = [ @@ -80,94 +87,107 @@ class SampleData { List transactions = [ Transaction( - TransaktionArt.monatlBeitrag, - 0, - now, + type: TransaktionArt.monatlBeitrag, + amount: 0, + date: now, ), Transaction( - TransaktionArt.aufladung, - 2042, - now, + type: TransaktionArt.aufladung, + amount: 2042, + date: now, ), Transaction( - TransaktionArt.einkauf, - -2442, - now.subtract(const Duration(days: 2)), - ), + type: TransaktionArt.einkauf, + amount: -2442, + date: now.subtract(const Duration(days: 2)), + basket: basket), Transaction( - TransaktionArt.korrektur, - 2332, - now.subtract(const Duration(hours: 5)), + type: TransaktionArt.korrektur, + amount: 2332, + date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs', basket: basket3, ), Transaction( - TransaktionArt.monatlBeitrag, - 0, - now, + type: TransaktionArt.monatlBeitrag, + amount: 0, + date: now, ), Transaction( - TransaktionArt.aufladung, - 2042, - now, + type: TransaktionArt.aufladung, + amount: 2042, + date: now, ), Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2)), + type: TransaktionArt.einkauf, + amount: -2442, + date: now.subtract(const Duration(days: 2)), basket: basket2), Transaction( - TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), - description: 'Korrektur des Warenkorbs'), + type: TransaktionArt.korrektur, + amount: 2332, + date: now.subtract(const Duration(hours: 5)), + description: 'Korrektur des FinanzAK'), Transaction( - TransaktionArt.monatlBeitrag, - 0, - now, + type: TransaktionArt.monatlBeitrag, + amount: 0, + date: now, ), Transaction( - TransaktionArt.aufladung, - 2042, - now, + type: TransaktionArt.aufladung, + amount: 2042, + date: now, ), Transaction( - TransaktionArt.einkauf, - -2442, - now.subtract(const Duration(days: 2)), + type: TransaktionArt.einkauf, + amount: -2442, + date: now.subtract(const Duration(days: 2)), basket: basket, ), Transaction( - TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + type: TransaktionArt.korrektur, + amount: 2332, + date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), Transaction( - TransaktionArt.monatlBeitrag, - 0, - now, + type: TransaktionArt.monatlBeitrag, + amount: 0, + date: now, ), Transaction( - TransaktionArt.aufladung, - 2042, - now, + type: TransaktionArt.aufladung, + amount: 2042, + date: now, ), Transaction( - TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), + type: TransaktionArt.einkauf, + amount: -2442, + date: now.subtract(const Duration(days: 2)), + basket: basket), Transaction( - TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + type: TransaktionArt.korrektur, + amount: 2332, + date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), Transaction( - TransaktionArt.monatlBeitrag, - 0, - now, + type: TransaktionArt.monatlBeitrag, + amount: 0, + date: now, ), Transaction( - TransaktionArt.aufladung, - 2042, - now, + type: TransaktionArt.aufladung, + amount: 2042, + date: now, ), Transaction( - TransaktionArt.einkauf, - -2442, - now.subtract(const Duration(days: 2)), - ), + type: TransaktionArt.einkauf, + amount: -2442, + date: now.subtract(const Duration(days: 2)), + basket: basket2), Transaction( - TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), + type: TransaktionArt.korrektur, + amount: 2332, + date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), ]; } -- 2.45.2 From 0ee26fedb0ed6b9caa283e0bdd0775a9adfa32d2 Mon Sep 17 00:00:00 2001 From: esche Date: Sun, 25 Jun 2023 15:11:23 +0200 Subject: [PATCH 29/44] added a prototype for a basket --- Frontend-user/lib/basket.dart | 63 ++++++++++++++++++++++++++++++---- Frontend-user/lib/finance.dart | 7 ++-- Frontend-user/lib/main.dart | 2 +- 3 files changed, 62 insertions(+), 10 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index 1924d3c..0b48d0a 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -1,29 +1,51 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'sample_data.dart'; /* todo: - - Flag für Ansicht/Bearbeitung - individuelle Icons je nach Kategorie - Gesamtpreis */ class ShowBasket extends StatelessWidget { final Transaction transaction; + final bool editable; - const ShowBasket({super.key, required this.transaction}); + const ShowBasket( + {super.key, required this.transaction, this.editable = false}); @override Widget build(BuildContext context) { + return Column(children: [ + Card( + child: ListTile( + leading: const Icon( + Icons.euro, + ), + title: const Text( + 'Kosten:', + ), + subtitle: Text( + '${transaction.amount / 100}', + )), + ), + getBasket(transaction.basket!) + ]); + } + + ListView getBasket(List basket) { return ListView.builder( + shrinkWrap: true, itemCount: null, itemBuilder: (context, index) { - if (index < transaction.basket!.length) { + if (index < basket.length) { return Card( child: ListTile( - leading: const Icon(Icons.abc), - title: Text( - transaction.basket![index].products.name), //better null check - //trailing: Text(), + leading: getLeading(basket[index].products.category), + title: Text(basket[index].products.name), + subtitle: Text( + '${basket[index].amount} ${basket[index].products.unit}'), + trailing: editable == true ? getTrailing() : null, ), ); } else { @@ -32,4 +54,31 @@ class ShowBasket extends StatelessWidget { }, ); } + + Widget getLeading(Category category) { + switch (category) { + case Category.obstUndGemuese: + return const Text("🍅"); + case Category.brotCerealienUndAufstriche: + return const Text('🍞'); + case Category.drogerieUndHaushalt: + case Category.getraenke: + case Category.kochenUndBacken: + case Category.pfand: + case Category.suessesUndKnabbereien: + case Category.oeleSossenUndGewuerze: + default: + return const Icon(Icons.error); + } + } + + Widget getTrailing() { + return TextField( + decoration: const InputDecoration(labelText: "Enter your number"), + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly + ], + ); + } } diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 16e9d1f..d32f7a8 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -11,6 +11,7 @@ todo: - farbliche Hervorhebungen - semanticLabels, Screenreader - monatliche Aufladung: ausstehende Beträge + - Icons: maybe flutter awesome */ class Finance extends StatelessWidget { @@ -95,6 +96,8 @@ class Finance extends StatelessWidget { return 'Korrektur'; case TransaktionArt.monatlBeitrag: return 'monatlicher Beitrag'; + default: + return 'Ein Error ist aufgetreten'; } } @@ -116,10 +119,10 @@ class Finance extends StatelessWidget { return const Icon(Icons.savings); case TransaktionArt.einkauf: return const Icon(Icons.shopping_basket); - case TransaktionArt.korrektur: - return const Icon(Icons.priority_high); case TransaktionArt.monatlBeitrag: return const Icon(Icons.payment); + default: + return const Icon(Icons.priority_high); } } } diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 80807a3..5c7fee8 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -27,7 +27,7 @@ class MyApp extends StatelessWidget { brightness: Brightness.dark, seedColor: const Color(0xff5f7c61), )), - themeMode: ThemeMode.dark, + themeMode: ThemeMode.system, home: const MyHomePage(), ); } -- 2.45.2 From 4da346f6d74fb2fd48d75b0a85f0b214c8ce438c Mon Sep 17 00:00:00 2001 From: esche Date: Sun, 25 Jun 2023 18:11:26 +0200 Subject: [PATCH 30/44] added prototype for editing baskets --- Frontend-user/lib/basket.dart | 79 ++++++++++++++++---------- Frontend-user/lib/finance.dart | 89 ++++++++++++++++-------------- Frontend-user/lib/sample_data.dart | 7 +++ 3 files changed, 105 insertions(+), 70 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index 0b48d0a..28e3088 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -8,17 +8,20 @@ import 'sample_data.dart'; */ class ShowBasket extends StatelessWidget { - final Transaction transaction; + final int index; final bool editable; - - const ShowBasket( - {super.key, required this.transaction, this.editable = false}); + const ShowBasket(this.index, {this.editable = false, super.key}); @override Widget build(BuildContext context) { - return Column(children: [ - Card( - child: ListTile( + final List basket = SampleData().transactions[index].basket!; + return Column( + children: [ + Expanded( + child: getBasket(basket), + ), + const Divider(), + ListTile( leading: const Icon( Icons.euro, ), @@ -26,27 +29,50 @@ class ShowBasket extends StatelessWidget { 'Kosten:', ), subtitle: Text( - '${transaction.amount / 100}', - )), - ), - getBasket(transaction.basket!) - ]); + '${SampleData().transactions[index].amount / 100}', + ), + trailing: editable + ? Row( + mainAxisSize: MainAxisSize.min, + children: [ + FloatingActionButton( + backgroundColor: Colors.redAccent.shade100, + child: const Icon(Icons.delete), + onPressed: () {}), + const SizedBox( + width: 10, + ), + FloatingActionButton( + child: const Icon(Icons.shopping_cart_checkout), + onPressed: () {}), + ], + ) + : null), + ], + ); } ListView getBasket(List basket) { return ListView.builder( - shrinkWrap: true, itemCount: null, itemBuilder: (context, index) { if (index < basket.length) { return Card( child: ListTile( - leading: getLeading(basket[index].products.category), - title: Text(basket[index].products.name), - subtitle: Text( - '${basket[index].amount} ${basket[index].products.unit}'), - trailing: editable == true ? getTrailing() : null, - ), + leading: getLeading(basket[index].products.category), + title: Text(basket[index].products.name), + subtitle: Text( + '${basket[index].amount} ${basket[index].products.unit}'), + trailing: editable + ? SizedBox( + width: 100, + child: TextField( + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly + ]), + ) + : null), ); } else { return null; @@ -60,7 +86,10 @@ class ShowBasket extends StatelessWidget { case Category.obstUndGemuese: return const Text("🍅"); case Category.brotCerealienUndAufstriche: - return const Text('🍞'); + return const Text( + '🍞', + style: TextStyle(fontSize: 24), + ); case Category.drogerieUndHaushalt: case Category.getraenke: case Category.kochenUndBacken: @@ -71,14 +100,4 @@ class ShowBasket extends StatelessWidget { return const Icon(Icons.error); } } - - Widget getTrailing() { - return TextField( - decoration: const InputDecoration(labelText: "Enter your number"), - keyboardType: TextInputType.number, - inputFormatters: [ - FilteringTextInputFormatter.digitsOnly - ], - ); - } } diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index d32f7a8..33d1f41 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -46,40 +46,17 @@ class Finance extends StatelessWidget { leading: getIcon(SampleData().transactions[index].type), title: Text( gettitle(SampleData().transactions[index].type)), - subtitle: getSubtitle(index), - trailing: SampleData().transactions[index].type == - TransaktionArt.einkauf - ? PopupMenuButton( - onSelected: (value) {}, - itemBuilder: (BuildContext context) => - >[ - const PopupMenuItem( - value: 'Option', - child: ListTile( - leading: Icon(Icons.manage_history), - title: Text('Warenkorb bearbeiten')), - ), - const PopupMenuItem( - value: 'Option', - child: ListTile( - leading: - Icon(Icons.remove_shopping_cart), - title: Text('Einkauf stornieren')), - ), - ], - ) - : null, - onTap: () { - if (SampleData().transactions[index].basket != null) { - showBottomSheet( - context: context, - builder: (BuildContext context) { - return ShowBasket( - transaction: - SampleData().transactions[index]); - }); - } - })); + subtitle: getSubtitle(SampleData().transactions[index]), + trailing: getTrailing(context, index), + onTap: (SampleData().transactions[index].basket != null) + ? () { + showBottomSheet( + context: context, + builder: (BuildContext context) { + return ShowBasket(index); + }); + } + : null)); } else { return null; } @@ -95,19 +72,19 @@ class Finance extends StatelessWidget { case TransaktionArt.korrektur: return 'Korrektur'; case TransaktionArt.monatlBeitrag: - return 'monatlicher Beitrag'; + return 'Monatlicher Beitrag'; default: return 'Ein Error ist aufgetreten'; } } - Text getSubtitle(int index) { - String text = '${SampleData().transactions[index].amount / 100}'; + Text getSubtitle(Transaction transaction) { + String text = '${transaction.amount / 100}'; text += '€ '; text += DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') - .format(SampleData().transactions[index].date); - if (SampleData().transactions[index].description != null) { - (text += '\n${SampleData().transactions[index].description}'); + .format(transaction.date); + if (transaction.description != null) { + (text += '\n${transaction.description}'); } return Text(text); @@ -125,4 +102,36 @@ class Finance extends StatelessWidget { return const Icon(Icons.priority_high); } } + + getTrailing(BuildContext context, int index) { + if (SampleData().transactions[index].type == TransaktionArt.einkauf) { + return PopupMenuButton( + onSelected: (value) { + if (value == 'edit') { + showBottomSheet( + context: context, + builder: (BuildContext context) { + return ShowBasket(index, editable: true); + }); + } + }, + itemBuilder: (BuildContext context) => >[ + const PopupMenuItem( + value: 'edit', + child: ListTile( + leading: Icon(Icons.manage_history), + title: Text('Warenkorb bearbeiten')), + ), + const PopupMenuItem( + value: 'delete', + child: ListTile( + leading: Icon(Icons.remove_shopping_cart), + title: Text('Einkauf stornieren')), + ), + ], + ); + } else { + return null; + } + } } diff --git a/Frontend-user/lib/sample_data.dart b/Frontend-user/lib/sample_data.dart index d41c66d..be1f138 100644 --- a/Frontend-user/lib/sample_data.dart +++ b/Frontend-user/lib/sample_data.dart @@ -59,6 +59,13 @@ class SampleData { ]; static List basket = [ + Basket(products[0], 20), + Basket(products[1], 2200), + Basket(products[2], 2), + Basket(products[3], 1), + Basket(products[4], 1), + Basket(products[5], 2), + Basket(products[6], 222), Basket(products[0], 20), Basket(products[1], 2200), Basket(products[2], 2), -- 2.45.2 From 000f141b5ab70c365b17844654434e9dc3901742 Mon Sep 17 00:00:00 2001 From: esche Date: Sun, 25 Jun 2023 19:10:29 +0200 Subject: [PATCH 31/44] prototype for shopping tab --- Frontend-user/lib/basket.dart | 4 ++-- Frontend-user/lib/finance.dart | 3 +-- Frontend-user/lib/main.dart | 20 +++++------------ Frontend-user/lib/shopping.dart | 39 +++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 Frontend-user/lib/shopping.dart diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index 28e3088..1d2dbf2 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -4,7 +4,7 @@ import 'sample_data.dart'; /* todo: - individuelle Icons je nach Kategorie - - Gesamtpreis + - editing */ class ShowBasket extends StatelessWidget { @@ -84,7 +84,7 @@ class ShowBasket extends StatelessWidget { Widget getLeading(Category category) { switch (category) { case Category.obstUndGemuese: - return const Text("🍅"); + return const Text("🍒"); case Category.brotCerealienUndAufstriche: return const Text( '🍞', diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 33d1f41..1dfd93f 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -7,11 +7,10 @@ import 'sample_data.dart'; /* todo: - Einkauf und Settings - - Warenkorb - farbliche Hervorhebungen - semanticLabels, Screenreader - monatliche Aufladung: ausstehende Beträge - - Icons: maybe flutter awesome + - Error-Management (throw) */ class Finance extends StatelessWidget { diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 5c7fee8..91f94ad 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:mitgliederladen/shopping.dart'; import 'finance.dart'; void main() { @@ -17,17 +18,19 @@ class MyApp extends StatelessWidget { //darkgreen:5f7c61, mediumgreen: 66906a, lightgreen: 9cbe96, yellow: f5de64 useMaterial3: true, brightness: Brightness.light, + textTheme: Typography.englishLike2021, colorScheme: ColorScheme.fromSeed( brightness: Brightness.light, seedColor: const Color(0xff5f7c61))), darkTheme: ThemeData( useMaterial3: true, brightness: Brightness.dark, + textTheme: Typography.englishLike2021, colorScheme: ColorScheme.fromSeed( brightness: Brightness.dark, seedColor: const Color(0xff5f7c61), )), - themeMode: ThemeMode.system, + themeMode: ThemeMode.dark, home: const MyHomePage(), ); } @@ -76,20 +79,7 @@ class _MyHomePageState extends State { ], ), body: [ - Scaffold( - floatingActionButton: FloatingActionButton( - child: const Icon(Icons.shopping_cart), - onPressed: () { - setState(() { - test++; - }); - }, - ), - body: Container( - color: Colors.green, - alignment: Alignment.center, - child: Text('Page $test'), - )), + Shopping(), const Finance(), ListView(children: const [ ListTile( diff --git a/Frontend-user/lib/shopping.dart b/Frontend-user/lib/shopping.dart new file mode 100644 index 0000000..1e0a6fb --- /dev/null +++ b/Frontend-user/lib/shopping.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; + +class Shopping extends StatelessWidget { + Shopping({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + floatingActionButton: FloatingActionButton( + child: const Icon(Icons.shopping_cart), + onPressed: () {}, + ), + body: GridView.builder( + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2), + itemBuilder: ((context, index) { + return Card( + child: Column(children: [ + const Expanded( + child: FittedBox( + fit: BoxFit.scaleDown, + child: Text( + '🍒', + style: TextStyle(fontSize: 400), + ), + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'Obst und Gemüse', + style: Theme.of(context).textTheme.labelLarge, + ), + ), + ]), + ); + }))); + } +} -- 2.45.2 From df255d71b8769f3dab85bb2e29e8c2b7c122df07 Mon Sep 17 00:00:00 2001 From: esche Date: Sun, 25 Jun 2023 21:11:10 +0200 Subject: [PATCH 32/44] product categories and other improvements --- Frontend-user/lib/basket.dart | 70 ++++++++++-------------------- Frontend-user/lib/finance.dart | 70 +++++++++++------------------- Frontend-user/lib/main.dart | 3 +- Frontend-user/lib/sample_data.dart | 41 +++++++++-------- Frontend-user/lib/shopping.dart | 12 ++--- 5 files changed, 80 insertions(+), 116 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index 1d2dbf2..e704de2 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -2,11 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'sample_data.dart'; -/* todo: - - individuelle Icons je nach Kategorie - - editing -*/ - class ShowBasket extends StatelessWidget { final int index; final bool editable; @@ -37,7 +32,7 @@ class ShowBasket extends StatelessWidget { children: [ FloatingActionButton( backgroundColor: Colors.redAccent.shade100, - child: const Icon(Icons.delete), + child: const Icon(Icons.remove_shopping_cart), onPressed: () {}), const SizedBox( width: 10, @@ -54,50 +49,29 @@ class ShowBasket extends StatelessWidget { ListView getBasket(List basket) { return ListView.builder( - itemCount: null, + itemCount: basket.length, itemBuilder: (context, index) { - if (index < basket.length) { - return Card( - child: ListTile( - leading: getLeading(basket[index].products.category), - title: Text(basket[index].products.name), - subtitle: Text( - '${basket[index].amount} ${basket[index].products.unit}'), - trailing: editable - ? SizedBox( - width: 100, - child: TextField( - keyboardType: TextInputType.number, - inputFormatters: [ - FilteringTextInputFormatter.digitsOnly - ]), - ) - : null), - ); - } else { - return null; - } + return Card( + child: ListTile( + leading: Text( + basket[index].products.category.icon, + style: const TextStyle(fontSize: 24), + ), + title: Text(basket[index].products.name), + subtitle: Text( + '${basket[index].amount} ${basket[index].products.unit}'), + trailing: editable + ? SizedBox( + width: 100, + child: TextField( + keyboardType: TextInputType.number, + inputFormatters: [ + FilteringTextInputFormatter.digitsOnly + ]), + ) + : null), + ); }, ); } - - Widget getLeading(Category category) { - switch (category) { - case Category.obstUndGemuese: - return const Text("🍒"); - case Category.brotCerealienUndAufstriche: - return const Text( - '🍞', - style: TextStyle(fontSize: 24), - ); - case Category.drogerieUndHaushalt: - case Category.getraenke: - case Category.kochenUndBacken: - case Category.pfand: - case Category.suessesUndKnabbereien: - case Category.oeleSossenUndGewuerze: - default: - return const Icon(Icons.error); - } - } } diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 1dfd93f..2e0d81c 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -7,6 +7,7 @@ import 'sample_data.dart'; /* todo: - Einkauf und Settings + - edit + Zeitspanne - farbliche Hervorhebungen - semanticLabels, Screenreader - monatliche Aufladung: ausstehende Beträge @@ -37,28 +38,24 @@ class Finance extends StatelessWidget { ), ), body: ListView.builder( - itemCount: null, + itemCount: SampleData().transactions.length, itemBuilder: (context, index) { - if (index < SampleData().transactions.length) { - return Card( - child: ListTile( - leading: getIcon(SampleData().transactions[index].type), - title: Text( - gettitle(SampleData().transactions[index].type)), - subtitle: getSubtitle(SampleData().transactions[index]), - trailing: getTrailing(context, index), - onTap: (SampleData().transactions[index].basket != null) - ? () { - showBottomSheet( - context: context, - builder: (BuildContext context) { - return ShowBasket(index); - }); - } - : null)); - } else { - return null; - } + return Card( + child: ListTile( + leading: getIcon(SampleData().transactions[index].type), + title: + Text(gettitle(SampleData().transactions[index].type)), + subtitle: getSubtitle(SampleData().transactions[index]), + trailing: getTrailing(context, index), + onTap: (SampleData().transactions[index].basket != null) + ? () { + showBottomSheet( + context: context, + builder: (BuildContext context) { + return ShowBasket(index); + }); + } + : null)); })); } @@ -104,30 +101,15 @@ class Finance extends StatelessWidget { getTrailing(BuildContext context, int index) { if (SampleData().transactions[index].type == TransaktionArt.einkauf) { - return PopupMenuButton( - onSelected: (value) { - if (value == 'edit') { - showBottomSheet( - context: context, - builder: (BuildContext context) { - return ShowBasket(index, editable: true); - }); - } + return IconButton( + icon: const Icon(Icons.manage_history), + onPressed: () { + showBottomSheet( + context: context, + builder: (BuildContext context) { + return ShowBasket(index, editable: true); + }); }, - itemBuilder: (BuildContext context) => >[ - const PopupMenuItem( - value: 'edit', - child: ListTile( - leading: Icon(Icons.manage_history), - title: Text('Warenkorb bearbeiten')), - ), - const PopupMenuItem( - value: 'delete', - child: ListTile( - leading: Icon(Icons.remove_shopping_cart), - title: Text('Einkauf stornieren')), - ), - ], ); } else { return null; diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 91f94ad..1334f06 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -79,7 +79,8 @@ class _MyHomePageState extends State { ], ), body: [ - Shopping(), + //Shopping(), + const Shopping(), const Finance(), ListView(children: const [ ListTile( diff --git a/Frontend-user/lib/sample_data.dart b/Frontend-user/lib/sample_data.dart index be1f138..61ce01d 100644 --- a/Frontend-user/lib/sample_data.dart +++ b/Frontend-user/lib/sample_data.dart @@ -4,15 +4,10 @@ enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur } enum Unit { stueck, menge } -enum Category { - obstUndGemuese, - brotCerealienUndAufstriche, - getraenke, - drogerieUndHaushalt, - kochenUndBacken, - oeleSossenUndGewuerze, - suessesUndKnabbereien, - pfand +class Category { + final String name; + final String icon; + const Category({required this.name, required this.icon}); } class Transaction { @@ -47,15 +42,25 @@ class Basket { } class SampleData { - static const List products = [ - Product('Apfel', Unit.stueck, 0.23, 7, Category.obstUndGemuese), - Product('Mehl', Unit.menge, 0.003, 19, Category.kochenUndBacken), - Product('Brot', Unit.stueck, 1.23, 7, Category.brotCerealienUndAufstriche), - Product('Milch', Unit.stueck, 2.23, 3, Category.getraenke), - Product('Zahnpasta', Unit.stueck, 0.23, 7, Category.drogerieUndHaushalt), - Product('Pfeffer', Unit.stueck, 0.23, 7, Category.oeleSossenUndGewuerze), - Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien), - Product('Flaschenpfand', Unit.stueck, -0.15, 0, Category.pfand) + static const List categories = [ + Category(name: 'Obst und Gemüse', icon: '🍒'), + Category(name: 'Kochen und Backen', icon: '🍝'), + Category(name: 'Brot, Cerealien & Aufstriche', icon: '🍞'), + Category(name: 'Getränke und Pfand', icon: '🫖'), + Category(name: 'Drogerie und Haushalt', icon: '🧼'), + Category(name: 'Öl, Soßen und Gewürze', icon: '🫚'), + Category(name: 'Süßes und Knabbereien', icon: '🍪') + ]; + + static List products = [ + Product('Apfel', Unit.stueck, 0.23, 7, categories[0]), + Product('Mehl', Unit.menge, 0.003, 19, categories[1]), + Product('Brot', Unit.stueck, 1.23, 7, categories[2]), + Product('Milch', Unit.stueck, 2.23, 3, categories[3]), + Product('Zahnpasta', Unit.stueck, 0.23, 7, categories[4]), + Product('Pfeffer', Unit.stueck, 0.23, 7, categories[5]), + Product('Schokolade', Unit.menge, 0.23, 7, categories[6]), + Product('Flaschenpfand', Unit.stueck, -0.15, 0, categories[3]) ]; static List basket = [ diff --git a/Frontend-user/lib/shopping.dart b/Frontend-user/lib/shopping.dart index 1e0a6fb..b8996af 100644 --- a/Frontend-user/lib/shopping.dart +++ b/Frontend-user/lib/shopping.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:mitgliederladen/sample_data.dart'; class Shopping extends StatelessWidget { - Shopping({super.key}); + const Shopping({super.key}); @override Widget build(BuildContext context) { @@ -13,22 +14,23 @@ class Shopping extends StatelessWidget { body: GridView.builder( gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2), + itemCount: SampleData.categories.length, itemBuilder: ((context, index) { return Card( child: Column(children: [ - const Expanded( + Expanded( child: FittedBox( fit: BoxFit.scaleDown, child: Text( - '🍒', - style: TextStyle(fontSize: 400), + SampleData.categories[index].icon, + style: const TextStyle(fontSize: 400), ), ), ), Padding( padding: const EdgeInsets.all(8.0), child: Text( - 'Obst und Gemüse', + SampleData.categories[index].name, style: Theme.of(context).textTheme.labelLarge, ), ), -- 2.45.2 From 2f84e61ba16f72e4af8368b44083646a430e8f84 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 26 Jun 2023 17:08:32 +0200 Subject: [PATCH 33/44] edited Readme --- Frontend-user/README.md | 17 +++++++++++++++++ Frontend-user/lib/finance.dart | 10 ---------- Frontend-user/lib/main.dart | 1 - 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Frontend-user/README.md b/Frontend-user/README.md index 2066173..9d05e4c 100644 --- a/Frontend-user/README.md +++ b/Frontend-user/README.md @@ -14,3 +14,20 @@ A few resources to get you started if this is your first Flutter project: For help getting started with Flutter development, view the [online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. + +## toDo + +- Einstellungen + - darkmode +- Einkauf +- Finance + - Einkaufskorb editieren + - nur 1 Monat lang möglich + - Speichern des veränderten Warenkorbs + - redesign (statefull) + - farbliche Hervorhebungen + - ausstehende Beträge für monatliche Aufladungen + - eventuell muss sample data angepasst werden +- pre-Release: + - semanticLabels, Screenreader-Support + - Error-Management (throws) \ No newline at end of file diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index 2e0d81c..e6db88f 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -4,16 +4,6 @@ import 'package:intl/date_symbol_data_local.dart'; import 'basket.dart'; import 'sample_data.dart'; -/* -todo: - - Einkauf und Settings - - edit + Zeitspanne - - farbliche Hervorhebungen - - semanticLabels, Screenreader - - monatliche Aufladung: ausstehende Beträge - - Error-Management (throw) -*/ - class Finance extends StatelessWidget { const Finance({super.key}); diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 1334f06..dc5f2b3 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -79,7 +79,6 @@ class _MyHomePageState extends State { ], ), body: [ - //Shopping(), const Shopping(), const Finance(), ListView(children: const [ -- 2.45.2 From e0aa77fb96c4a7a278ed32082af11d360467b968 Mon Sep 17 00:00:00 2001 From: antifallobst Date: Mon, 26 Jun 2023 17:43:33 +0200 Subject: [PATCH 34/44] added settings.dart --- Frontend-user/lib/main.dart | 1 + Frontend-user/lib/settings.dart | 0 2 files changed, 1 insertion(+) create mode 100644 Frontend-user/lib/settings.dart diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index dc5f2b3..584de41 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:mitgliederladen/shopping.dart'; +import 'package:mitgliederladen/settings.dart'; import 'finance.dart'; void main() { diff --git a/Frontend-user/lib/settings.dart b/Frontend-user/lib/settings.dart new file mode 100644 index 0000000..e69de29 -- 2.45.2 From e0b571a8085ce0ebbaa22d3b7aab1a84ac2a3f35 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 26 Jun 2023 17:42:09 +0200 Subject: [PATCH 35/44] added settings --- Frontend-user/lib/main.dart | 12 ++---------- Frontend-user/lib/settings.dart | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Frontend-user/lib/main.dart b/Frontend-user/lib/main.dart index 584de41..9a450af 100644 --- a/Frontend-user/lib/main.dart +++ b/Frontend-user/lib/main.dart @@ -31,7 +31,7 @@ class MyApp extends StatelessWidget { brightness: Brightness.dark, seedColor: const Color(0xff5f7c61), )), - themeMode: ThemeMode.dark, + themeMode: ThemeMode.system, home: const MyHomePage(), ); } @@ -82,15 +82,7 @@ class _MyHomePageState extends State { body: [ const Shopping(), const Finance(), - ListView(children: const [ - ListTile( - leading: Icon(Icons.dark_mode), - title: Text( - 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein', - maxLines: 2, - ), - ) - ]) + const Settings() ][currentPageIndex], ); } diff --git a/Frontend-user/lib/settings.dart b/Frontend-user/lib/settings.dart index e69de29..78ba67f 100644 --- a/Frontend-user/lib/settings.dart +++ b/Frontend-user/lib/settings.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; + +class Settings extends StatelessWidget { + const Settings({super.key}); + + @override + Widget build(BuildContext context) { + //Hier in dem Return kann der Inhalt des Setting Tabs angepasst werden + return ListView(children: const [ + ListTile( + leading: Icon(Icons.dark_mode), + title: Text( + 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein', + maxLines: 2, + ), + ) + ]); + } +} -- 2.45.2 From 496a1f2857271e131c629554f0e11598caa6a481 Mon Sep 17 00:00:00 2001 From: esche Date: Mon, 26 Jun 2023 18:05:46 +0200 Subject: [PATCH 36/44] changed Readme --- Frontend-user/README.md | 1 + Frontend-user/lib/settings.dart | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Frontend-user/README.md b/Frontend-user/README.md index 9d05e4c..209a63c 100644 --- a/Frontend-user/README.md +++ b/Frontend-user/README.md @@ -19,6 +19,7 @@ samples, guidance on mobile development, and a full API reference. - Einstellungen - darkmode + - Secure Storage: https://pub.dev/packages/flutter_secure_storage - Einkauf - Finance - Einkaufskorb editieren diff --git a/Frontend-user/lib/settings.dart b/Frontend-user/lib/settings.dart index 78ba67f..d25b47e 100644 --- a/Frontend-user/lib/settings.dart +++ b/Frontend-user/lib/settings.dart @@ -10,7 +10,7 @@ class Settings extends StatelessWidget { ListTile( leading: Icon(Icons.dark_mode), title: Text( - 'Hier könnten Einstellungen zu Darkmode mit shared_preferences und riverpod sein', + 'Hier könnten Einstellungen zu Darkmode sein', maxLines: 2, ), ) -- 2.45.2 From f0415a22dac4e96160e7ea0292d8711a9d2f5913 Mon Sep 17 00:00:00 2001 From: esche Date: Tue, 27 Jun 2023 00:48:14 +0200 Subject: [PATCH 37/44] added default locale --- Frontend-user/lib/finance.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index e6db88f..edaecd4 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -10,6 +10,7 @@ class Finance extends StatelessWidget { @override Widget build(BuildContext context) { initializeDateFormatting('de_DE'); + Intl.defaultLocale = 'de_DE'; return Scaffold( appBar: AppBar( @@ -67,7 +68,7 @@ class Finance extends StatelessWidget { Text getSubtitle(Transaction transaction) { String text = '${transaction.amount / 100}'; text += '€ '; - text += DateFormat("EEEE, dd. MMMM yyyy HH:mm", 'de_DE') + text += DateFormat("EEEE, dd. MMMM yyyy HH:mm") .format(transaction.date); if (transaction.description != null) { (text += '\n${transaction.description}'); -- 2.45.2 From 7388527c43b343bbe3b8112e250b479d30743cb7 Mon Sep 17 00:00:00 2001 From: esche Date: Tue, 4 Jul 2023 22:07:00 +0200 Subject: [PATCH 38/44] merged a simple logic for the basket --- Frontend-user/lib/basket.dart | 17 +++--- Frontend-user/lib/finance.dart | 10 ++-- Frontend-user/lib/sample_data.dart | 92 ++++++++++++++++++------------ Frontend-user/pubspec.lock | 24 ++++++++ Frontend-user/pubspec.yaml | 1 + 5 files changed, 94 insertions(+), 50 deletions(-) diff --git a/Frontend-user/lib/basket.dart b/Frontend-user/lib/basket.dart index e704de2..3bb4a69 100644 --- a/Frontend-user/lib/basket.dart +++ b/Frontend-user/lib/basket.dart @@ -3,13 +3,12 @@ import 'package:flutter/services.dart'; import 'sample_data.dart'; class ShowBasket extends StatelessWidget { - final int index; + final Basket basket; final bool editable; - const ShowBasket(this.index, {this.editable = false, super.key}); + const ShowBasket(this.basket, {this.editable = false, super.key}); @override Widget build(BuildContext context) { - final List basket = SampleData().transactions[index].basket!; return Column( children: [ Expanded( @@ -24,7 +23,7 @@ class ShowBasket extends StatelessWidget { 'Kosten:', ), subtitle: Text( - '${SampleData().transactions[index].amount / 100}', + '${basket.price}', ), trailing: editable ? Row( @@ -47,19 +46,19 @@ class ShowBasket extends StatelessWidget { ); } - ListView getBasket(List basket) { + ListView getBasket(Basket basket) { return ListView.builder( - itemCount: basket.length, + itemCount: basket.purchases.length, itemBuilder: (context, index) { return Card( child: ListTile( leading: Text( - basket[index].products.category.icon, + basket.purchases.keys.elementAt(index).category.icon, style: const TextStyle(fontSize: 24), ), - title: Text(basket[index].products.name), + title: Text(basket.purchases.keys.elementAt(index).name), subtitle: Text( - '${basket[index].amount} ${basket[index].products.unit}'), + '${basket.purchases.values.elementAt(index)} ${basket.purchases.keys.elementAt(index).unit}'), trailing: editable ? SizedBox( width: 100, diff --git a/Frontend-user/lib/finance.dart b/Frontend-user/lib/finance.dart index edaecd4..bea638f 100644 --- a/Frontend-user/lib/finance.dart +++ b/Frontend-user/lib/finance.dart @@ -43,7 +43,9 @@ class Finance extends StatelessWidget { showBottomSheet( context: context, builder: (BuildContext context) { - return ShowBasket(index); + return ShowBasket(SampleData() + .transactions[index] + .basket!); }); } : null)); @@ -68,8 +70,7 @@ class Finance extends StatelessWidget { Text getSubtitle(Transaction transaction) { String text = '${transaction.amount / 100}'; text += '€ '; - text += DateFormat("EEEE, dd. MMMM yyyy HH:mm") - .format(transaction.date); + text += DateFormat("EEEE, dd. MMMM yyyy HH:mm").format(transaction.date); if (transaction.description != null) { (text += '\n${transaction.description}'); } @@ -98,7 +99,8 @@ class Finance extends StatelessWidget { showBottomSheet( context: context, builder: (BuildContext context) { - return ShowBasket(index, editable: true); + return ShowBasket(SampleData().transactions[index].basket!, + editable: true); }); }, ); diff --git a/Frontend-user/lib/sample_data.dart b/Frontend-user/lib/sample_data.dart index 61ce01d..33d0414 100644 --- a/Frontend-user/lib/sample_data.dart +++ b/Frontend-user/lib/sample_data.dart @@ -1,3 +1,5 @@ +import 'package:uuid/uuid.dart'; + final DateTime now = DateTime.now(); enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur } @@ -15,7 +17,7 @@ class Transaction { int amount; TransaktionArt type; DateTime date; - List? basket; + Basket? basket; String? description; Transaction( {required this.type, @@ -28,17 +30,31 @@ class Transaction { class Product { final int id = 0; final String name; - final Unit unit; - final double price; //pro Kilogramm oder Stück + final Unit unit; //pro Kg oder Stück + final double price; final double vat; final Category category; const Product(this.name, this.unit, this.price, this.vat, this.category); } class Basket { - Product products; - int amount; - Basket(this.products, this.amount); + Map purchases; + double price; + String guid; + Basket(this.purchases, this.price) : guid = const Uuid().v4(); + + void addItem(Product product, int quantity) { + if (purchases.containsKey(product)) { + purchases.update( + product, (existingQuantity) => existingQuantity + quantity); + } else { + purchases[product] = quantity; + } + } + + void removeItem(Product product) { + purchases.remove(product); + } } class SampleData { @@ -63,39 +79,41 @@ class SampleData { Product('Flaschenpfand', Unit.stueck, -0.15, 0, categories[3]) ]; - static List basket = [ - Basket(products[0], 20), - Basket(products[1], 2200), - Basket(products[2], 2), - Basket(products[3], 1), - Basket(products[4], 1), - Basket(products[5], 2), - Basket(products[6], 222), - Basket(products[0], 20), - Basket(products[1], 2200), - Basket(products[2], 2), - Basket(products[3], 1), - Basket(products[4], 1), - Basket(products[5], 2), - Basket(products[6], 222) - ]; + //such a basket can not exist later. It is for testing purposes + // when scrolling through a long basket + static Basket basket = Basket({ + products[0]: 20, + products[1]: 2200, + products[2]: 2, + products[3]: 1, + products[4]: 1, + products[5]: 2, + products[6]: 222, + products[0]: 20, + products[1]: 2200, + products[2]: 2, + products[3]: 1, + products[4]: 1, + products[5]: 2, + products[6]: 222 + }, 27.9); - static List basket2 = [ - Basket(products[0], 22), - Basket(products[1], 2241), - Basket(products[3], 2), - Basket(products[4], 4), - Basket(products[6], 2), - Basket(products[7], 5) - ]; + static Basket basket2 = Basket({ + products[0]: 22, + products[1]: 2241, + products[3]: 2, + products[4]: 4, + products[6]: 2, + products[7]: 5, + }, 34); - static List basket3 = [ - Basket(products[0], -2), - Basket(products[1], 21), - Basket(products[3], -4), - Basket(products[4], 1), - Basket(products[6], 5) - ]; + static Basket basket3 = Basket({ + products[0]: 2, + products[1]: 21, + products[3]: 4, + products[4]: 1, + products[6]: 5, + }, -1); List transactions = [ Transaction( diff --git a/Frontend-user/pubspec.lock b/Frontend-user/pubspec.lock index dd54301..d3bb239 100644 --- a/Frontend-user/pubspec.lock +++ b/Frontend-user/pubspec.lock @@ -41,6 +41,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.17.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" cupertino_icons: dependency: "direct main" description: @@ -184,6 +192,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + uuid: + dependency: "direct main" + description: + name: uuid + sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + url: "https://pub.dev" + source: hosted + version: "3.0.7" vector_math: dependency: transitive description: diff --git a/Frontend-user/pubspec.yaml b/Frontend-user/pubspec.yaml index 23ea054..b070662 100644 --- a/Frontend-user/pubspec.yaml +++ b/Frontend-user/pubspec.yaml @@ -36,6 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 intl: ^0.18.1 + uuid: ^3.0.7 dev_dependencies: flutter_test: -- 2.45.2 From 220025e109a313367b1745721a5b76422ef1cdd1 Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sat, 15 Jul 2023 16:09:03 +0200 Subject: [PATCH 39/44] add readme content: branches --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index bfd31cd..e4cde26 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # Mitgliederladen + +## Development branches + +backend +: RESTful (Level 2, JSON over RPC) API using Rust-lang (and probably (actix web framework)[https://actix.rs] plus (utoipa\[sic! 🍺 beer-branded punny name\])[https://github.com/juhaku/utoipa] + +db_scripts +: Database connection using Rust-lang and SQLx + +main +: frontend client as flutter app \ No newline at end of file -- 2.45.2 From f3aac41876df09dad28fa00cdd248ada00007fb3 Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sat, 15 Jul 2023 16:09:03 +0200 Subject: [PATCH 40/44] add readme content: branches --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index bfd31cd..e4cde26 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # Mitgliederladen + +## Development branches + +backend +: RESTful (Level 2, JSON over RPC) API using Rust-lang (and probably (actix web framework)[https://actix.rs] plus (utoipa\[sic! 🍺 beer-branded punny name\])[https://github.com/juhaku/utoipa] + +db_scripts +: Database connection using Rust-lang and SQLx + +main +: frontend client as flutter app \ No newline at end of file -- 2.45.2 From 3bfab0bcaee6ba130a265fab9012926e0db7a29e Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sat, 15 Jul 2023 16:17:58 +0200 Subject: [PATCH 41/44] fix readme --- README.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e4cde26..5462d3e 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,33 @@ ## Development branches backend -: RESTful (Level 2, JSON over RPC) API using Rust-lang (and probably (actix web framework)[https://actix.rs] plus (utoipa\[sic! 🍺 beer-branded punny name\])[https://github.com/juhaku/utoipa] +: Server component, using Rust/SQL, offering API (via HTTP/2?) db_scripts -: Database connection using Rust-lang and SQLx +: SQL scripts main -: frontend client as flutter app \ No newline at end of file +: frontend client as flutter app + + + +## Tech used + +### Backend + +- Database connection using Rust-lang and SQLx + +- RESTful (Level 2, JSON over RPC) API using Rust-lang (and probably (actix web framework)[https://actix.rs] plus (utoipa\[sic! 🍺 beer-branded punny name\])[https://github.com/juhaku/utoipa] + +## Frontend + +- Google Flutter using Dart. + +Target platforms? + +- probably Android[^1], iOS[^2]. +- Debug target could be desktop for fastest deployment. Production targets: Perhaps desktop and/or web, if wanted. + + +[1]: via APK? Via Play Store or F-Droid? Then Registration as Play store developer (for charity or one time purchase with credit card?) needed. +[2]: Registration as Apple developer for charity needed. \ No newline at end of file -- 2.45.2 From 70818931aa50111fec6ca06418a2789422f38488 Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sat, 15 Jul 2023 16:17:58 +0200 Subject: [PATCH 42/44] fix readme --- README.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e4cde26..5462d3e 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,33 @@ ## Development branches backend -: RESTful (Level 2, JSON over RPC) API using Rust-lang (and probably (actix web framework)[https://actix.rs] plus (utoipa\[sic! 🍺 beer-branded punny name\])[https://github.com/juhaku/utoipa] +: Server component, using Rust/SQL, offering API (via HTTP/2?) db_scripts -: Database connection using Rust-lang and SQLx +: SQL scripts main -: frontend client as flutter app \ No newline at end of file +: frontend client as flutter app + + + +## Tech used + +### Backend + +- Database connection using Rust-lang and SQLx + +- RESTful (Level 2, JSON over RPC) API using Rust-lang (and probably (actix web framework)[https://actix.rs] plus (utoipa\[sic! 🍺 beer-branded punny name\])[https://github.com/juhaku/utoipa] + +## Frontend + +- Google Flutter using Dart. + +Target platforms? + +- probably Android[^1], iOS[^2]. +- Debug target could be desktop for fastest deployment. Production targets: Perhaps desktop and/or web, if wanted. + + +[1]: via APK? Via Play Store or F-Droid? Then Registration as Play store developer (for charity or one time purchase with credit card?) needed. +[2]: Registration as Apple developer for charity needed. \ No newline at end of file -- 2.45.2 From 8f6c4ac81a0730a204527db1f0ef361aa440784f Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sun, 16 Jul 2023 15:15:47 +0200 Subject: [PATCH 43/44] start server project --- server/Cargo.toml | 10 ++++++++++ server/readme.md | 15 +++++++++++++++ server/src/main.rs | 28 ++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 server/Cargo.toml create mode 100644 server/readme.md create mode 100644 server/src/main.rs diff --git a/server/Cargo.toml b/server/Cargo.toml new file mode 100644 index 0000000..990a2ca --- /dev/null +++ b/server/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "server" +version = "1.0.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +actix-web ="4" +utoipa = { version = "3", features = ["actix_extras"] } \ No newline at end of file diff --git a/server/readme.md b/server/readme.md new file mode 100644 index 0000000..58b4b45 --- /dev/null +++ b/server/readme.md @@ -0,0 +1,15 @@ +# installation + +## windows (step 1) + +choco install -y + +## Linux, macos (alernate step 1) + +use apt, pacman, curl, brew or whatever. + +## Always (steps 2 and so on) + +- `rustup-init.sh` (Windows: rustup-init.ex, e.g. %AppData%\Local\Temp\chocolatey\rustup.install\1.25.1\rustup-init.exe) +- select a good match in the dialog of this CLI installer + diff --git a/server/src/main.rs b/server/src/main.rs new file mode 100644 index 0000000..45a43ef --- /dev/null +++ b/server/src/main.rs @@ -0,0 +1,28 @@ +use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder}; + +#[get("/")] +async fn hello() -> impl Responder { + HttpResponse::Ok().body("Hello world!") +} + +#[post("/echo")] +async fn echo(req_body: String) -> impl Responder { + HttpResponse::Ok().body(req_body) +} + +async fn manual_hello() -> impl Responder { + HttpResponse::Ok().body("Hey there!") +} + +#[actix_web::main] +async fn main() -> std::io::Result<()> { + HttpServer::new(|| { + App::new() + .service(hello) + .service(echo) + .route("/hey", web::get().to(manual_hello)) + }) + .bind(("127.0.0.1", 8080))? + .run() + .await +} \ No newline at end of file -- 2.45.2 From b3274f1a2a768e8b78c73e84d7cf6d6a624f3313 Mon Sep 17 00:00:00 2001 From: Frank Denzer Date: Sun, 16 Jul 2023 15:19:20 +0200 Subject: [PATCH 44/44] amend gitignore for server --- server/.gitignore | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 server/.gitignore diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..2eaca47 --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,21 @@ +Cargo.lock +target/ +guide/build/ +/gh-pages + +*.so +*.out +*.pyc +*.pid +*.sock +*~ +.DS_Store + +# These are backup files generated by rustfmt +**/*.rs.bk + +# Configuration directory generated by CLion +.idea + +# Configuration directory generated by VSCode +.vscode \ No newline at end of file -- 2.45.2

7vvOB{ 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�t^Su=$j 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�d@wvx_6Dk5j{57sH2aW1^u^IO- zp2BLH^AsA#ciYWLZbDzb_c?Fo6x_^2K{shg<$PB?Br+L!?~IfgoH_L3{ZuJ)QORCj zB}W%w3|{^8jb>%Zu5kKFoP6?C z?VqZL=OXLDFg<}sA|c@VB^*1NoM<1$NDCtp0d!`|E)1!6!43uPdXYE|rXg#(5c)tU zGtGoF*Q_(!SqsF0W0ozs_fCog^3N!aHJ|l!fG)|ut!)~AE^yqd{%c)Vtg|WR3;N*G zN}+y;L}RN7xKB) z@TJ=LS%jp?=QrTR=Hg>3a?TL^;80quk|wB{9gf0l$MGWEEVG$ffh0`9{d%6At+PIk zc4c{ffA|x))pDqi0W-{s=i!K82d+S3J=g2zgOr2g%e}Y}$M1V~-6k}~U+sN$ePlvm zk_|g|Sx(F{+yD*Xv>6&uZV;oLM;%SA8gJp!Uvp z9v&N)NM5<#R4o0N457rB9H+W^2;Og?bNFSW|nc05;hBHZ!eWu zy-QDWmHET|+LK{Vc7}zhZdcAwG)Sy%5q_K(Zr;}udXZ`TZ7mQ z0I5p;wPeC!Qc4aJV3tJ7JNpu`EPVP{g!F0QFJv;=cf;tAu(6A@JGFpW-8S5&m}Vjz zoyc!=Y}XH-f|$QOXQ*KVbg1H-_jFo5JDoMMIFS=7uP+$!&_~_Ou#Z~rxzRCm#SGUL zMGAY*BT5w~dHMAZKMaY(Ez~N_1t~GJ#v)^gABBy&|H{TmH#jg096a-@EJtAReY^5v zr8^XGK~uvpv>_CBdRR3qDM+GXwPRavaUA#A_L0eNj&uK8u}PKNvmG?*#QH_xmfY5m zdIXytlVSaoaltorxQJ@@)GvGCR8k?k>LJG9FilRzDVP<5>z-awTPnPYs5@_3EIiN) zLrpmGM*xR(vUn8(Dlq{}+d|4s)DR(Y7HibJ2$BSQyHAC`*xq3T{ZmrWl+c{An)09Z z>ZYHoF+lwYoAFtWBSV7y+Tzx*fzILqB$->23D(#d%(<)_nT3t$!$uwPX!55fFDc7s zEIw_nQ^S*i#}*~auk0*1=!n{#bpI!m za}vIM1;6Er2D~Ko{UcdzbU7h1(h<28UVD7*dq>=GowUop^AWn}R$6T^w+?ta`A=&+ zvy*&dv(kHZ^siI5!Tl3&-L~r=(ZUj&&GPqMFkSbX!15f={6+6=AE}$szU%uX#A%q? zuZ`lS*M0il;QiT2Oe4y9c}i^i)l#_qUUue;`d20;0K-s&BtXcE{ci5W^ns8x zkulZ!p;p#<`_~oINHn+PIxS>~7Le9`&Arckog!%KPaW*dpQ;N{Jt|sTZWv^xDn-1% zndh{uEaNvKbo@mf%*U03kiE3?z~5O0sLyI2?$*)n{uFA7yNFclkTk2q9vtIVk^^Q= z!BA7QtlebW_t3-Ya8pyGN!)WcD_S38izbslcL{dmd(@Tylys9!j^dDwBw$iC6#m9vZ1ga7o)FZx6qE+6WQ^^ zAVFAYDn-)vnJJEZpklZ|jFKA3)sYC^$TRuYv&k=xR1M@r=k608A?PX(Ly4+a)%qqI zS+nAHy4G>;vT^^Ar0nfE=J4+fu{X+T>(xV5-{M(QrbFk&{-b^nzza+?{%^KaDpWMe3Mx+ zzDDo@NpVlC46z>(y$))^GR+>pK|yb%0gsnU1JF|Zxmob`UFK%Y2X3!y z#b>!l_YWn~KGY@qDDAdvo_I5~;_G|Ke1RWQDI*pfab<4EJlsWo`0`Ek!X#xVZQE~& zZ>OQDSDcxyp(NL6A;Vo!Smo#l{v-xpf2m%!x1dLY-6@4)G=sYQij)PmmdGvgjM#@o z0Tr>uzm{muf{4G`@eCY(TGrE=Dm-;WR3rf1OL$U)u23vCDN42lf;n^GmL#NWP_q`l zO>d)XC>KvzB}0fpfzscqB~w&NnEl3{jYKIFZn5}UC8}^Fc~==g+moF%qV5|cfr-L7 zQiMD;)QmPwx?1U6x{ZefwuKM!k*xX3EiDn%t2F8UP<_61AA8JxFVNRkGi4 zO&PY|4KTT^Md;)}vau*Xfps#n zvYQ_jxTC8K@I70f>&B;Z_NS?wB-r<+nwPNiB>#Q`FBE3~uV$iKi^b*=t%ThKX7FM# zRvN*wZRa(jCVH4Mv0ZJdR;Ms`(iBC5XLOBL6g`arAPiN|D{7qsdzH>t*btnZqC=>o zbv2ZK6bE1{=D-n;*Z67=6?v$q8GQDE{cAi9m0e zXKB1z%tO$W^%>zV zAqIYuZ@j@9T+{|S8ljl_s@eix&rPp6DIMy-2m-d2C7uF%gz`j9QYiEShgORHxu0VD z;jd%}xuWPrl8odmTXAIwJ>TkY7pKI(3k+DWSTv>>$^Q%e#1UmEXXz9b_oPI9p>!R` z5PzD3(XySA$IXT^w{GX>j=!)hn7I72cy^|wvFl@zebK4dhY%mYTzs|!AzR2oz!<$1 zzd%Q21&<2EPtAf0f2@{SK{^3FI`vkSbe9QxWD;6HqgcFcjg#^}b9cd<@f|I-KL`Xq z&iAME0re-9Ikc2vWXx_`w@pR0MCkIt9WgI+<#te7coK0eUBK&T>m_G+UhS)pKIh4$1e+Z}?Pe(1uaxw|VjxvFCrYtN{DI!qX~& zXgpiMa{+-NI5&0@S(*C@^Zmq0^PP5O=}X{Y*u%uVlh7y8Z%(M9I;aNv)7Z-2P6Zmv zaiqfS_-}%3WnSGsTi_ZEfqy#ilsshe(jU70(zz7k2sJ%W+c8;Po|ZPl9$j9T8|lw| z;Og@uR-=~0idz0DRjl|Gp5)1h*?2yjH0D9nJt%Sa03}b#jam7?ZHbh8J(3@@4zQdSuKY1&Qp16UYV3CO;4q0-|erVuB4_*A0x(5hia+I6{vp?H%81o zh>e_czuQ%*BdE!y{PB*)ab92#T<9j9G}=o9N6ZYj@I=G&R9fUA%z(&WM{2#C1%kxD z4cT{EuT9lt4!1gHm9FFmy>{hqT0b1;WkY9U>*tmC*E2gl_b&<@oDQ&K-XHmTeqLjl z9D!ul=CKopvDbxGrW#m&3g$Foit>=spC|WZCp7LYNSP$U_<0FwQm8impoWy zIVsbkQ!|XN(%5ye>i&WSrq=j<5}ypP#yAe;QcScDRh*6BdQ{+2H;mGFsmVs74Rn4* z!`-B9A7qj$5!Oj9^dd?ATZ{O93o+58z!GSCl=#8!PO5)-^&PM4gkq#I;T`aqulovm zWhnCV5#0ASXm0g(EV(bOHQ+AcJ`JA%PS1FoB5JZ)9A5GhecPU!eqt8vIk@$(GZl&R z3-q29X+Qj1RWQ%9oLm0i=~+HxWX@yy{eCzp_tN)7nro^PYT--ICfG9DpxtFYy&Z6Z zyV~NEfo~ue%rP^M8+G?FfTi$|bErxmz^=spSFtGbh*C~c+MI(;vYgqC6*>Y%kHaetez$xxV`&e1nfl)P;Ww*%LAQ52cCi_eXe6jbpF=Zv3h{bO zMu3AzpTd4gIfiIhBC5-UkNeu-HWq3?lUWIAb71UO2ufnvgrjHer+@#E-`)t2Z# z8C=adZ~J)^5^&%tv*L7N-!zuaBuQY{!lz<)p1qU|acE{3-_>U2E#=n{_Uy#I1gacq ztVsWDVYYd~4g@MvS?j-u-O3JBL+Ch*(3_Ei0jR2(q|gHsstDZA8?BK8ZP2+2{UkMQ z2ISNRDv#QzOwL72bUD3(%l+p+LWBi1VDW11`zf}gAYX0=7JKWUy7gUmrKlx7v_gOnM((Y`K&SfRl10Wg^#Nag`0JW!fDVa9&N>H$9XsvZrbVz0I1Q&A~5cYi8;o40nXq9*kBRZ;6GybvX(UDm=D^_Rtd4?xW zv5`p6q|;5Jp(@5(@h9nr$xYFy{vFYL8|tXue&;!aG1huz82Q9c{PNU<7&<#wMGkZAQ!<@Ha9nSqZ@fah?!X z0K-VR@aW8p4_9fm9jo)6U9*);&k3Pay*rOTajoT>B~hwO7}%fF5WdEy>j!xfmF*Y! z5LT%4MeWdN)vOCk-tA)>geU;1GFK|oIFx-2N$XUG_nrEmkVv>`^pA${bpwym`SYt^=nPg+8Dp_YpBi+Mepk@zbhK+QcM{jFHz)P^ew>utalx_UX&1R zD(8+8IYd{UF&A}@MswemW~}aNUopo>B1)vqkwF+KvV+t>zYn5jyW}q#uOb=Y>Po;D zUG3T5*`rBCGn7y^Ldm_{Gu_6R5V2`3$uu&}QeGNLM?>Zfe0hxsOY8EO*Qc)p&`5Y} z5bn{tq_LOi`v0nvt&(PC0V2TM#Jpj8y3WT} z9ds{@J7q|o!P69w7qYwieRV%qd1~akmiFQU>JY4{!w%jJY*7Hl+=@ZEQ#W`d?n?mp zIOtAPNMq0eu&YS!3-@yal3$=XxE2b%sJb!p{FHJMV*-ACe8w7{Ou4_iSvMlA3y#;} zY@)ZV25tEufvhRQ6%Cha6U5=@C*=WAKkN&~?o!*3%QB^x12P5VhGdG7pQEs37#g=o z6%c0St@wt|stTVlVPEsG%ovJCN=fT*hv76`kQmozv3u$}=11U4LlP@IE=R6>KVOnmKEovt~@z+sm&Q0?;RDZl&ytqh+6FXLUW^PZH1Kx~0-TVj1 zuF2RPfow*9ZZq=XB@KkiOVWMb5x0W=D4)K(2>&^IB8dDy56xF{|9xZsou;7MW<%vb zIs2z09npZP07Q#ppE4g6w^<&sMSCX^AS<<+ffxW^BR6b7{U zyH5@O(hYWLkZ>G8WzK!JA;3y%G;uj;M*;5rigj`Y%K2QyfH+pFAqIQ)=9_a@i%_HR z7EC7TwX*>bY>eOV%n!!DWqGR>D@m(oIWs{(J+vmsA5BQe`f>Lboe`WG+Dw=eMK!r8 z+k-$w=eAfLg{ww``2JE z1X5{3Mm{DMuSIQNdYZU~?;>4K1>&gh!>7_n;w3e#;!00amUyT#qnt^uZAZEPqdMXY z)83a(J)KG2)!*Ng^+AW@%1F4;1#7NJvBP&HKGCE#_}0ZDe|wZT6vj4)HS_7oasoP5 zi?6oBmifcJc66bTRT%V7$`WfQF^t72c562!at&5-(D;zEPmXx6s5B)1dF?P zjWKv6$9s&gSUQGuCvp(&`|I>N8G0z;-!6#a*MB*4aS!YO_fgM5$L4QZ5a{ihKKs*L z8!Q=FgCv$kCWCTDzf$zLZqoh$!lRbJj{<_?;luiCRyc-MuJn%5wqOwX9T?e`Q(!Ot z%A$}@{i=~XCdQz<%oNojwTPI6I?}w;a6`h3H^KUzQtlFkhTYcJ#TONq4$XjlMYz9C z1xGZqu?a7P##Q{v6;%9ILhz~3B%QlC{cj=ei|)%f6kHJ+b#;D} zuP_fdT5Z_n6~!*kns$)~#qEdTy|=Tp9t+af_BBw1Xjm3vJ7EKV-af}*EOPVlJrc5G za!2>Gv0soIZQ=YZjsO&c|9-N6AH;%d`nL(fps#T@&Y??3&i{#WdA!34UH$J?dWSdS z1swW0<~bI6dk!Wo*meH}>*e`Cded2ED|=K(l&WQM%U+LL+w~pw-U-1|So4UXq$%_x z!Xw`#HAT6f*adzhGU}d<0830#qH>)l9p|FxhrW@-n%bV_-t4Mdw2Lo%NEX60kJkt6 z<*%>urAkjyZ~t6vG9|NQymgZ=4uS?mW!(Iv9{#e88c{Zal)koAQYwd56b9Y5{+uol z8)CK_NaUE1QGJK_IY?1>?$=M8m00kj&y_LFLPj*eKn&dha-OW{=01skj_hh+=C7TF zZuws4aSD9SXb1K- ze;g5g{|1zPMkIEUGL)_|0=K$yI|KmY^Re?!JsDBka};5fyZ+BD(`fz0w&H3k?Y=fp zyggj`ZkIRL=2?(@o!$Mzw+9@fHP5x{zlLise^eC|dw-?UGbU{JZMiDgu)+aihp~RI zC1mVceaM*1>KuDW#vwu@wmpibRiC+c6^XBQe0GTo&Wi>8f==%=<0ZIhsHt?IH*;48 z=#ow(kVOpAUlk%inLQ~Mu&fHR=kg{>IV=hd3^d0kg_12L7^k@6kNp{kU)f=dQB|}E z!m{YkcY>ji)1%jvkW({YzRk;+$W66j&wrSC;R(`0`FR9{O%y>a4v1I6q|^+l@ishGnR1mP>*PICHYb99}z0>elYgwB&0lB8*cs zami-o9^~j;c)~NywKQgj3vkJNg_s)hpszm}E2y5?*#A3FqaDWz8xw#V;TG*3kG6ndT)>XZ67w6AkM+7ABG5v+w|*?Hj^{OiZrE#caXKy0xSs8o`@ zaQjcwQ+}kbdv@G$I$7(bwz%MZw&i;)6Wp)VWV`DA6|~vxIi%70<0^+lRPzv^&!t|bkcFY7jse5|sYbZ~2H=!i{j8daPLxO!NYZoIMQ)=wAChfcA26|x{tiNU$ z12guhk2Qr3O_%k5H|^oV81+aI?WDM_>wh029A{W-pzQkmNlgm2AQ`$YiB3yGCj0?@4N zc4f$=zR(r3q9W-EfPz=&2@S}QJE#f`oky(TmhX}ORe-!o2OrT2BPtu=f#u=|$161Y z)%y8bjILcCfh8npld_;Z|W$cU>%Sw0)ha>lenAxT#z4_JefoI~BYszZs zt$gU6KaqVAZt0ACdk)voC5$Tp0EsMo&=}x|42T42?WrCc!AM-GlsP4lJ0-0J{(z4v z43E|7Nq+fXv`xdPWl zL~HlO^7SxR&rKB{3wcd!OicFU`$EkBai$@G-Vdo>Kh@dDDE$_jCX$xyao2_91Ka;q z`dLJqgZ+sX?wBKXufKH#ypYKrx3;J3cN{6^7gLn}L@KE_Ln-Eh8 zE&b@7Ss}RWyT}{i%dVKl7P#A!Dovt}G1E~Rmo)?V&aqad#Dfgk5rY>lJN1Tp{dZ;A z05OQzsj51Sp_vfvHl|h~Z1a8*@~I3`bJYSC{(*D4Hvcy^iPK;# z%P6ym|KsbrL3-S`sJi+{8mnI(5P|Z4ZHpUo0&+**7RZkO@Pi%WZJKRniJ0H6y-DQ@ zZ*E1iZXp{!vMGN%=u|Ni`r1CW;UDrn#qbVaym|smMO1R|=PD{%9MJB2pFcsEw^G9l zR&f?E2qt)ZOkt=n`IJ<4c!L1EJHnht(tNM8W>a;h-XQw%RtrSrO%r5+rM}YmWcz(g zvE1iF<(9i}lq&Iw@|i(!+AQJe$rMpVZXI-`lp z$2&S^HF%pfbMWSHi9=`&n^V8=>q4P2c^3Nk*R2)W$|W(fZ;G z2Q^;7_P%CKXcBtGGd_`>xdNoX3x_2m93Tsl?w-Vr^%L4l7DXvj4x5oB zg)?SfU9(Xm6maaPY?#{n8ZwK01^Gltof%Q8H^CU*L14!mdxvo=-n+IWlR1!Mj{!yO z?QmYYQShs=V>IE!;4`b5uF9?OCDODMz(vF0k{SMZ%`F(fj)T`aT-l=`A)J-j*o4kf z+_r~56RND`q9NO~olgUX<)$7=mn=zwjCx*|gajG+0)FqL+w}ZPSyv<$^ea?4H*i^T zrT19Gk)7^-j#N5RG^7rDO7;IpZv^>C*_BQ(_1cKUT)Rxhllb0O#gqT%GT~1@@>o{N zJ=(8zj(~i~jsI+=+932PESD%Xx4UH>`TTeERJ43`=Nc2+u#$o8gBkr}2iK~*Xv_5* zzoM(`AzHnfRMx5PC|@e}H~dWSLK$ zy$o9d%S#O6UZ}0}cpt>k>_*$tx3V!f8GjcgjFhR4xC?AXAp0he#9I4;(6}zp6lq!} zeR@Kt5e!y4ei@x{-||zTVvN)UaB*uqx((u7rl+MJ;Df(Eb0~@%kLd0ze%o%-E{WbM zK|ioT$w`Gv0vOUY9B~mk)j^BZFfRk7M;Hl>qgTEU*Vh&A2|+)a-Lkd(e_8-Pd(XaF z!RP4h#vl89ThCKRyN)@FY|Te`cDO{S1{4sH+>t6KjiVjmh6@<*nXod|McG)alu@yGrmN33f7#pyo1n;sh@XNJ|6uP-as9%Yf%I|H;biLBay zY#G8+9u?SPFvM?Yp>AZ4oe-EGh1{_Ddk9Uh98GdM(IQYxd;}rTL`?a(VWe;PzT%)b z1A+rit~o6>hN;PA`nUOYg>H_=8=^s1g~f*fE`*Nj4PbY}X2NlzXFO0K=za~Kb>MH$ z9!S=e7~sYq6qcyZ#B1o;09EuNIeTI6738m~=rl&2aOiKF7v!baF{8L)glHiCcGpoP!Yni-) zlM_7t>)-Dl?`QtRj)Y97Y;R1Tw;EknzE^x?uP=8(pLc8xdH?YxuiVv{hj|J;#^Khh zSI+Nzvk(7C6Fd&&>~`|{qSZ(|xy(B6s5W4IJ)T|&K5@?Zn(}H(ksdun-AViS?*ja8CfJ~USxaJWl zsMYnV&SD^j^b8-p2YCu<*Y(Z0l@U8mJGfpn(iIhNlhQtTU0CsNV!6u{=ptL<0H}ND zDYFTFKqTMpc3FhpkfV*FVYjU0KVX{`LU$m%`6=Xm1#Ua0ksImfeT6`^vEa*Bk=n5+ zyCDh;6egD;9~c$aGqV}^t7`_6TQ5M|`>=^*zr@WPKh$rZ8~c7P;_+LQ^9KtEpF9RP zNEiYQQ&_ZJuUhk{hsch*U~bd?{d2Q(s$Gi+v%~)ThThiPtiqA{#cF9q$CTFhZP%fe zNyUzAsupOgrG!)~Is?wwX`M6jFMrV3-Y5$#LAzyy?=W*6j~Pj$xDU)UXkKZ+g~}OSb+! z#IRCgSd2YjDww-+U>{BearSA`9w@nt0~$n+$GE2TO5-3rlP`+nZ88#jRs zn~9+p0#}~XLAfcPk6Rx;;4y`wp$J&C^q5tI-zS%qQ2E`27`^)@{vC-Zi%i_~5Bd^Q zV)Y`0#gm-8l!I~7H9}OupQzgdD`loA ztA2_rA3TP2Yu$PnMM)!y*r6iPI-{B{-TE}3lEqB1?uGO3y zU8C`zQf;2W<}nS+J2D(ghu}$+eaJ`R!RTZ~xPPo=gWSiVi%U5VFYLT9-DPYFN!GHzVO$GxOr>h6=;#6Olp+btfn~MC2gyyX#`xrxS3_WS z{(|RM(@?3qmf%L`_sa@qu=a0iSk;GV?U`d#^-uL;77X^HUz;yQG`g@QI*>hIpv-yU z_X&>`cD66Zh^QNg;H=I25`NP7qpL#y89#kv=ADlh21$7TLWGPps|>BfE}&ioSPio9 zXf{xDYgyrn4oi2UlARESEeVtXLt+$-338S&m2(>>#HM)(R&QO9E>5HGAjt{4kB>#fl z-(hV8pP-d!d@{Y?#b;qZKQ{c?nTjzu9(@n=z7PI8=Cv6)fa!&MHDuQF14*3 zt>a!8n~%0KW21FqUwKaipM<9gRc{4T*ffQvqT0l^cC1P3kloFg&}jGes_YE%J0D=o zsxkyMA-kHc5tZ9QRG!LEc^@k@B_<_F>52}bE8^WMhHVxw25}SCweWBNs-vaTHAihd zirH@sPbgw0e>7MDg(N$X>|&!SqE1pq&cv?IbMa5Pvt!1@G(qap5+lt@OK*U zF;vC5bq>-d20$thiK->BN+~U(ngZ>bJfE#|FR*gLv%KTk<^45GSu%gC=Qp`xr!Fo1 zYWsKa$(!dqH9`=-wT2|CIam%@(JG1FYLl5pHWpuZz_ag}y`QHN2sQsjNtL~6QZ__) zL3xK-#a!QQxeVeci|>YzYz1cv?s~=n`KMXzNg%h<& zD$N0*p%Wm!KD7UPCyYFEo8Q=Rg!1H`{kNg znj^5FKKgkdeW8r!iao<8h~T8Gx`6AQSzht6Qw6tJ-U>SQLE3!PW(3iCP+6&P6k~K7 zjBC&I#7=zD8I6-kc(WZ901Gx7Ad@SYXz4w25>^VxkRP#RmhPL6>8y{ug_@AFMTX-@}>R=rHQK$IkFsuTChYk=dx zHMN%*gnpv+-5;55YAo*QDDRD#c(eYYj7R^(EUxjEQe8eFq#90ytVvv1fLd=g0zf(! z6@j$~SGA#lz)ul1f230HC6|14O>^atsYh`HRjQ_g)!Z41&|sIU+Qn{H=PdMRytM&U zLyJD{N041yQ03dw8g#Q-5)VXF1b@&s?0YQ5e!3m)#YHs%oOg%?1p3QxsSd@|D zi%gNODm#sD?P{8MQZWbpW-`si6j`E`!$z!8hn$lWltMci2E{&d9c0lr*JTl+Zvv~>Mh{hLv8bSt_FL8q$A4TLvn=&kVG;dc z5`J)od*8ko*6rq(gdU$7RDT;{VQ{~?HUq~gQU(*xcV;UE$b-zeFjSR`fSGea@8Ajs z0`U%T)w`yk%dWl_G|D(TqIk`>lEq;~(YN9$f62t)v8qDhHN}Q1kIw@^Sv!z^9?x>z z;T8Sm0~+bQ;A?KS-chD@fOG?gF~^Y+?5^c5WUZcaS9xK9`d9dGcXHFcFK-AVBe??J ze;J>?IX>yTGf3}7-d5K1e!O_)@Zt)N%5x;cP=~RJ;Cau5UQV9R77O6yg6N_rBUZW<+sR|a|V#@I@a3vu7V^i`mu5=O z$Y``Y(#J1ZO9^^lR_*n=c^dWVNSkFuY%r?c28}M;=VPI&9#5)D$21iQHn#|NloF?Q z_b%<6j!31*-2Fb?)+-mRi21JSN572&Qt_YNy6d@$&8D(po43BUTv=nVkZrtUCs8*-~;ZjY$=v`pWPQt^Z@&!28Rk;JQE}g%B`IRIhgiB!K=XGGw zrY{-Rd}0Gq9F&r6B<0w;ecdkB zaoUv8+#}J^*XPZu40yuCSuNCuG4eH-%eC`w-Z`z=vv>Mu+0#Ns7W31gw<2qG2=oRm zROZJrL+eY1#;JP2;J=-v3zN8MM@}H;FWg=vxk$37cDCI_ZMJz$O`fZY1F=#kk5p4m z>qY))3K|%kH>A9|d2(eptc{4J79xq5PY|I6lv8Ya5NCtNkPd~~P5&i0< z>YX*^A#!C0ruFrGD>qouOZjuI#^Hd44OJYKXa>Ezq+=0h5cV=7;gbaVps9%m#-ueS z$>7X$hRYz65qt7ra4le)Cy*&ftC%QTFJ!b;a7pC{u?)uEp$%GRu2Ph!;^y^56?z;a zv>b*yCX+aJhXHlt%KT99#VTiTyKxQg(7*ByNe2#G9`_)r&iElV*1)SVj(vWzD_UNOecU9F;SBw8tlBaQ&oO-A=GlO(^K^9FOd?*OR+w+-k{(%A=J0g3hmxRz7iPw->xPEFn(N|l#4Jix3BKL%5Qq+&YU8j07()U%b%4m6y{0p& zt-n+S@s<%+G_K?I^h3M6Cip&Fc7GCakIq!M>+2t~9BWLODIOV02Aj2ZTQN-_M5dN zOn$RU)w(+c9yvcE&X8|Y_(iS1J(D7rl&%P9=Cv&kQ>^68P6T!KFJj&wdG%X9Q$?-YhEeMXM63qbVU`#?I2Ika&^a+Cb>Ifw6^O1p~l?en9c&)wj!v ze`JI(SW0w6`BzAY_8N)8mM}MnnjcwW;Suo^%IE9^hZxiCAl%vOvD$F2)qxn`_`{Pl(CUf7 z(jTIH30KxsM@v=eV&o^S+pLhd3d2hoXOWqS+|)vP;LAr)>4hLg-`>Ja`D2|sW9CE~ zVuWk>xy}w`K`q{Wybswf6SsZ4#DNnR7pQ#Y!`ldzd|sREFST>lZoPA7RoLHha^r^6 zLE?1TKi8dv5cj9(=AY;8vd0`82~z}zI^NC~@QQkV0Q=7W z9hq#zs)J14&CKEYH?dt~WgWZYK&fD;o_+U2h|Oy-s$f(8>bjYk*>%rT4^B9$($tyP z*5}95UXonJo#B7YIVYjQiOY{u<>z;w1jX;KkLfp0-@Cyv=0|#V?jE)DW3BxUwm=9) z$-KFt5vc=}4qI_~Eb#rFqWxxE^#~E8xD~RhaRK>hd`gl4v{WR3c)Qwo3bIXqd2Gm} z04wA6+7UJnGzwh?wG@r&XsKE!Ar4_pa#vGAeZxp);xS}N;|jd7&2X~AQj>7XDM?sM zREZ8YpB9X1FHYQ6y-93q0a_rG`OTigjdm)Y+C8DwdZWlTO|f-fW2SN%SkVKDnb?i> zv3aRk;Z=F)lwU2ky-Z5qvE9cv?D-#XSPXnwiV2Do%IgTVJb$~Jc4|{Bqctg=}IOkDdr0H>`V>05US%TA!5y$VTCp?QYS$& zgF?n4!G4CZ=)>uVEv-e>xpCf_;HdxI&9`qj#^Z^p>W0lxB&c2jan#uF3?wUrjeW6lDMa-_r}%lQXzY zQw+eFfAUWWRSf!Th><^P&3x>bmCJ}iHtmeLT7NN?3^0md2=e)TidVMElQ2W*q!{B5 z7`9nd6AAEYoXXV1>sG85Ru+OxU{D6ntFjLoe-y<*7`|ujdSQ_By~+&5TZVh;_P+WZ zSo95ZhNz59D=)B7k?*w(*_jGL%DUt3nsoneu|?I;a3_w>PN-myw4roS7nk#yz`iSS z?eYIwoY14F&>yvAsq>{hPVZGn({fWQF`Xox{!4ddq5n4QKe*%yCoe6u1-l^9YyI(h z{68-^0a>H)wrt7Tp5zFl)Y}9Xa3Sf#s*;u?ee@rEL zLeUt=Qr-zcUc}$rR3|xC>UASiWQS>;BQgpdf72A%)U}1sVA6T`1hk}Z($VIPjRWkz zU^Ks?<~=tDPV)aAyyVW;;#7@)%6qv~*%>}jFw#F~?%Arpa=T^djh% zck5OEx&I+%@~YNyO6@x_WEK|ed)`Kx4n}~KzZ44TN-p43ZLKBK(4=m6o#Aenf@_tR zYD*+aIMN^}RukCYKoV1Uu~{d{!-F$^ilS*bD*2hNAT&+L?@{5loE-MQx-{aHuHYDK z)^^ZXtH5F_{IQQj_>8cblA|{#l79s`heT4H582b6?rZ1>v>`o1BTXsLtYjm_f~wS! zNlBEIoPNHhph#w_Z<$|8o-N)3O2|T_v0`|cz&Fl3pvX!b-GdYRAepxu^ah4 zOUIhHo0I3ShyoWdA|oc=N~RwKO70mu6tnJA9b?$>BC zl}>?%b#)k;D{hFg6(+6C|B|We=d&50dh!NZ|y;#i#9S*cQq5D?~acTu1hW~vKkUk`U?^qY*)C@t*GXPC}F zYKkzoOl8FfXzQNLSdm+4LgSGg$=<-cFGH(Iy2C|)cz)udtuWp}M7^JWuJsXtHoJhz z62xd&SOjL!&WwQmUk7J{v@BGmy2OY0F-FKmBml}t+_rOZdXsTWyDlU5W`tk#=I>va zk~Ri5;R+J`49az`3|rti7b1Y#zzW;_oUbU}AFE4gX-c58HwY17SSW6n?3c|s_JbUQ zd2lM47#|$@wCga*1vA)CgI9PzgQAt~>@rYZ$Sl0j?Iy9Go$$U^Q<~Uh<0eJ|2>Mok z^bS%!Bvg#aGn=pmZJ$5A;0dqQGFcPAc%irgz>{6%V zO-z0uOmly`G1@?wR6X=1r9cv`31dOG6x}(g7f^x{Q{IuqTp^{5Y}{mox`APrWZIQ4 zN6`F`mn}U)=t#&P8EZ3^D4zQed(CyK-xVod2tBefn43E<3Hf{$5_0cveM}4|F#trB zD*4^|XWz2?$J_n~L%v+j#bg^@e3``<8#7%yhe{+IEq%dNuAggs{!hhahj~}p{;OXQ z#Q6(?Tyu+4|LcQ-)#*WM=a$S~q;nvQ{6T>(L6I0GxoDahZ{pAN1A;lRSigm|J`b8!_-GJ4qUQ zeoIXkDb2iTXDl{g%eStAOPOvuL`y&aUFfVd#y*8WdokP9D4!ys$`3;D_gc$jJ4LF9 zoDpN@P^=pdhO+5Qr`yhM?r*1p6VuT)JPWj9TV!!duKWEQM~09$_k*C>q2G^qz_EFW zC-5>*E;cnKRm;20!|DrG%3{icTano)L@W5POMnrZMenO|U8PnvVG%jzK{k6jGe zC~6Tm3Ix%Vm#jqOft@yAUI~&@HR)ej~b{u+Nqb{m@^|W zEY$#$BVOG65eX(sOD+Rb!qKlAQ}s#?q~tz}I`tkIR+ni^hfxfhjAIrM@Et$8%Jseypjmr# zsaLKF`@aWda7UW!N|EwJ9DLU~vgSan2$w{MlWy+>nW+c;s_TWT()|V3<3XZ!Adch> zG6}>W)(VToRaI8-M!GB9#T&VTWvsz(P{IZV68$@sdeQ(MS8XX6;~l__eo2?eL@Zy% z4T`+5Or$6o=LeBgOb(_r?<9&!g(fWzoDz}vTw)2rl-NYdl>Vtv;+w$3FvzssHD1Ju zUG8mi5Jyo?;sIrBw1xK_a?y+r^K;APeQr)O*+a%MaII(HuvaG`^$8DTQ^hv;8I#Zr zS`aw5GU&3Q!7cM^o5?=kQ1eL@B7ty9D3m=Ai`2Rz1I>C_?;^#fPr9}4+O(!nX?HCH zLF&*^E?kAHR=g(pcaWoewt^=aHbT7foq!~BMxjA)YuYNZh%`sa6!m??xI`Dqnaxi& zamPVVm4_u=%oWUz9GXGLQ7ME)`BNM8otXn_FTL5UXS`D~GJcv4XIyABsfw{dG$J?| zD+XUyI2H0vAQH!{faQw4aRLs$XAh#IF|s`GP_5eR^Jt@hbVt1K5%jL^;Io3uM=_Xl z@@0@Z9RS%jBmtETot@dS??Nlvl&D8QEsA}EbcKkZ|% zt^NPB0Cp>Lzl~Z}-UpDm=mS*#-+Lmg@2oUg;$K40hjHHP)d9!qwkriqUe`;c-)9Zi z$BPU@nGQW}1?t`$8&e-@%Uc~%qnTjjxmIQ%$W_VUH+2^2{@RRe))Lr`Xx`rO9cChz z2w8}mc$yadii5orw&nL6v+rjz81_O%*e$H~GGnR*WKFhz$daU^dLU%m9G`&~4U=(8 zd(xn3au!Qt8%FfX%HoOd2ow#O3$#&Q66JOMKlbukUo1f;FXAX@+D+dy8W9+BrL-a9 z(`%Wnk=UjD^hz3=pMTu5(v8E$%JG?F-iT^Sp`wsKos}+ih>8s{rpq9ejdywd>2lzM5 z@g=_qDv7X(i`#~Q1gi{1o(L;f1FbY=K7;gX=LH8TlLUv&#efRldEbaIMpM_MDU6WG zXl){mV!m<+@a~h>Dus;9JqW`+q+^@jWRbbsUw?zrlS8Ltgh$a@Zf6^A@6n(h9souu zN_K`R#?P5o2B)1!!Hj^On?3uRCvsO}a_2Y--(Lx%c^|vw1qo6R40mG7{voEDRHE}@%5i_9I{S(k&tWy%lmc@2@@@2j2bF5HKYux6c0nnUq$0GDf9+R!Bomc}^7iz<)y zc4{#vu;!f_V}DoPy1MBZJOt)G6@UC@Jj`0#7Mq1Wv!=fYRi=|V#IFi}Y zG*8v?aC^)%ZvpA$yMdsal0LPtIRDG-|& z9usWsN9T2+R7D=_(~&lBG4y%?CMm)eO$;Afh~-`x8o@NgQ5#6TCq>}1oQ`plcf(7^ zh(cEuEa1j?B8jYrsM8gcXWAX2P01tRXQ_}Y)eWK4`Ry^P* zoh5;pnRws)-yfo#^n~0tMzDWV{~u*H8Xg1s2)f^yx0#p$Tx?eqyc=s!>8v*zM+g|b zFzjAtkMh-8?3wQh%6%0HDjVQa4;&+ofr`ahdfxb0<7l2_`lHP(rUOKJ{l^-*e76J4 ziKc8}Rn2luqH?M%?nd-11Db6Reah;qlZUH^$IT{tWF@F;(^eJaid|Nt$*j5Jr064S zC(>`geXxh^)$8Lv@-#_Hy8GJJkc0{SpVmy|Scz(=GRsg}Vd2p$)8?vUXu^d^jtx=F zQ@SAUBK!7ayAMK7v$0=2SX2KlZuWI4#|dc*g@FmD_0Sz>g4X}*OG0P+Y(<)0YEyf%A8^~!#qmGFX%VC zaA+cC$v$zGv7d9QTl%<|FUQ>n=%~hVT{mp60c#wm+V=);=h4~&+3SN?| z8ZphN0agH#hq0BDarzrbMn+Oz&gl!J*H`IhWFa7$P=LW%Q-?$0R1Z& zG)eap;`M8{b!s~$J6=KxxKhBgRy#Ey?K^co( zt;iC&H((k7P)rzD@)sE;o8~AigT`b3yY#CN4FwHni2e4Gv&;gke^~Z-lT4Zq_4n}z zU`bQ;hzLVW=T!vr87b(RJtih+D6NHlGT|#q05;1b$MFt?iHWZ`Xzvzq;U!AlG8h`` z8bNTB?|j^u&_xg$P{GrC$!bz8eQFoTq6Y|BkWUw#|J%?V@e_yC>RUvUw~)z>g4sNL76OZj!CfBI6HV zX5ia+diP}p6zY2{1Z{24E<;rzFE+S@d(X%2aBpAdro*Ij&1AK7X-T-f-`!Gj%Vcr! z%U3GZs~T%5*QN(qi>>!=O4XXNN1N4i)qm3(B~%y4Wcg{n(~!Fo0qxqusFzzbdTBBw$CD2yE0CiXlQ}A*oR*C4gOQ$_pY< zATB0x!YG0!s{|8jyuu@b`@~EhWkuN@{3L>OCB<~xRWSKWZk0g}FJ<(RJ%Xn$oF`uR zX~8odn#%VOkBUi!9tEG?;j52_aw%P8Qy9G2hcY)H5Ho8&`O9|ct{AX#pFu6wt{WY+ z@Qr6~j1fa_#{p>(>D8@yuG|a;Q!dS?@E30$8#Kuq5z5j^JJziFzoiZlJGsAIR5`29 zsJe;Gbm;aH3chjd#fKt&61s89w>tX6tIz}7;odYDzfK zy`T_l=GhO0TkA$A!HUOg-o0=X)qxSyT*TB{<^HFeQWmBLQ6uK{GS&%dUE7_9vky`4ve{Whya@tmu-LX z9S;Z1MFM?l5*_*$`b}{UmKZg^uZS`evaX2jD=`!Db*_V{>@gTIQbk74Q0A=)P$v7# za3-@0LaoC(^EF7k@VA{EVVx>hNwgUbrG?ucfjnF?bKK<`r9!=s&RzfNrD-9 zXI2Eu>O%QfM)sA}34*6e3!({i((W3l6Z71zJ&wPX4VN4%ya!P!N0FM0ak`YYk|K#x z)_nn1IBV-fH{w=gS22PgQJgND61g^p5}JRzpg@9>TPL}5B=1h1Fc6L6YRnV=_yoke;c{)^x_zOz^Hd`_pm z*xh2z3_(K2kX*%KCSwp;1r$@_s)l(5oZzFwEBy(q2TmtwoK`+IiX>gR4c z?+J$QBa2#}m7e-Xi4IQ!PumhqK07odQvVz2sB33%r#0IFFoAv`f>^ry#6y~olQ;tA zm8=%*_P`k6a=m7fY_>Ay-y?0efs|7`?zu=?BNJabACI=Z9|&3H>Pfn0oHS%eFPXBC z{#0iqG!7B@G`1Fy6@^K1`47;Hqk56xp$Q^_$!t9A(I%O}MwG!;A-ZO{T z+_2IFk00Y{HYC;q)CSRbQO|YDbDNHlPF1L8AEOp`zaNx`_AizZ z#m7lvC472hENY2zJSV!g@+2CF-yGoT+?{boboJ9`dp|yV+&rgm&lJ4>^>x@{p$h-_ z=!XU{t%u(g(at@&zY3+>2J@>wo8UosRmCr>7p00qL~$5@WM+v z$s>~^rW+%q?9#vx@g<7dWE2jYS>QKEFZ%%%^+8Gv(&V$8@j7K5PD1m%g%TY%lyxIh zdb&fy8ny;RU}I<$yP(fng{&B$h+Z{6k&w~L$6ubr1FyGx93fBLQ!0cce(w!0 zpHsT!y&WRG_d)BkmwjYwuFYp4kg)LANDh}{V{YF`v z1A`Kik&%P^iz5TAO%K?rc1c;qUp2W)7ZUFqe}E(iH4rf{W%JtgAJ zR0p|LqgRjqt{yRXuBP}O9h5*H5w9fJ>YyvggUy~4yv0Q^bnT;WM_POxBi~Q2K z2F$Lwf2B(~cAC0Ojr|jw;1pY2a?0TTe`tEgfXMsrf4I%&WV%`fcU?jOG>%4)&P(a>|l~Wp4j*h%Ec~D@AP`vo>5U-XraSH(*>;-#LQ5CCD zl~}9&1@1_&iC?}(aN~;_U_BRi*itN#$odK*z3$ciZv>0}Y1gQ;7_fYT#h=eD+j!!K z{lR>Xt~I*hd+B^?n!<>9)9e5Pvo|&>$#TfWs|WE-R%tZd@c~yAIW6;v#e!W%22;%O}F;lytwW$Ix2b}s7naT zSs@RHpU{%NW8k?`Br%qzI6Im5V z8{cmA9_D2_ zqWK}^i=H|Q^5EkYKP|dQ*p2V%OK6$UY;ZZ%_L>dLAW8ErHlKa@(S2Ths!)9mSogh~ ze0n<)37DfjtgiX-n>s_Eoy8F%$$ClOb+Wtm%**SsYby?HU-K1<{r|s@zoS>VzB3ij z|9p-QZ|gg?(FY5zJq(!~%xYfGlmY-E-;XaV)``l_<|cTIhIxc=Iq0n3u75-SQ#@}l zSz^wpQvd5zl53w^Vn_DHk`1f%LD7>P@K;@{ZPMXHJ>j=XqVv}F?@+Xs{-lSvQOt`` zfE2};_N_}t5eih6(kfYwe4@PD^CM_{2JdNh(jYzg{D`h&Nhd7X4HR#YJdTdAkI+1- zbC+6Ae)^U;~>BReO1e-sp1B0aSm0*fb7 zQ!R^FvFifT+i@u&a^}i>1-Z(Wsucp-&XS79lC{!fa~85`5BH7xBgWSri?EwL@;z6> z0(zD`JfAu9)ph_o+x>458~->9a3gDFEd8PL+Q|O`TRVs1P?TrUqfNteE`pt?u@nd7 z#VUN1sq_+?1Hu_)R#c^YycJR0`DEZ|6Fpl+$;6Y+MX#K&HVkBBn9#C8jRlzd|pKTK+cgZQWp`3N z)^GSEB!&ltKsoQ?@t9)zU^u`;$@9|3l5yy6J zt*6`^j*ww5Uf)Hx6m&eyv&45>eQYL;>XAsSn5oYZMVn-Y&f7#c z#XdSt``sv1logYsBVB=-$aw0@t_9g+w1z3n?MbbA5F4UeJVVy`xpr)qPnnnQuTj)b zD_^^X<)7g#*xYY=!*&&FCMi(A=<9QO+Po8F3hP@5bgsk-d7d^U$g!f$Huwfu+bZ)=Cu9n0P791{K>gR~S}#5=TCKYf(85 z@`x#yVf5vR^ICbL)#i$9*kqNCqRIjZBSf52;pzZ+=4Wpm7l@W&{{0o?P}Oe##%DIF zuozpjo{d1OhJ^&k>5QK}1j(&c15E=Q2&4g>r?jfV7t7C27#VG!GydJZHXSvraE{;S za}LdAx$Tw%!AANxT0bEU4i2v^pRJg|2wJ6=&V1C5^AOV9N9BkATSKfj2}Ylc2{8_W zB=inJ4rCvfKR<;viKR~bDa80nmp0spFSk72*yEwpBGN(53PcO-q1LaP7iG8M(&Q%` zDY+N1G9(mU;u(A(khBdtr#PS|cnp~$8PLOxO60vSO}sQP?7?N(S8|ZV9!WTiWPmBy zI~x~8p>?NJno$j-90xDP(U>G#q(SB!o>X6e&m?b6iAD5MH*QCrpn71IOEsJ%ChQo6 zKuHmwioz2RZEnB#`0mXff1Xq%&Wp*0@%6616mK$04>`r&^zs%OOA4;-T#9{RaFlNk z{_CC#$(u*AOH5sKSQGjpq!g^IS&BjPqhg8hW@B6+UOgsaeX#u3ej>dh>i6N|)wrX4 zzneD2-5(yZ%Jlg-tW#bmQoQ4lIPv^*o}~(EVNoIjJ%LG(TxP;b9*G%Ti=VJ2aVhHfGBP?(4}jsqjHSG~ zXroeNMa5>6$S*r?@uZmMz>_djjb|0cQVm^f%>e5yE5!J;)>|#VEAPyxZgJ&v_&z=L z`JA=*Mx04s_dT9gob_FM`dXe^6&kxFbVLKk0hP-Adp=-6WB26H{{9=fm>KbU>qV5e z&eFVCO-nly!vB#tCxZ<0ehsm3aFKmG1e!ldf9fBCf(8aZ|8WEi4RK4UZjhoFbzjts zbfX$Ddd&_`DAz31s?vGjix&fyQu{Z{No{}kA!jV{%}1q5HY(!xGXK(h)LT1eiB&_; zsWCwKmb)YwPnyicRlUso*zS44aGLMyq01%)F2?Q3QzomfOvs4L?6B%*Wvc!LZ-z^~cg2ryh}Z#SjjC z-(TNF`r$raprl%+W??2~ne9lno}cc%i39&2`M;zTFm^_LfHm=Y5GBXo_V|t%Q;YtO z_En3u-MlAM>X?;|bN)OK`o!0oECJ^IApbn01;=cE?V$|%!Q|*NUN;m=7kiV9+ucek zZ7*MtaATIT$o*^WnB7WGnQ%fz(Ipj6A_nEt z)M7^Kv50T_L3&?(Io^ff83`*5A4d}##R({I_lKpc&dGJ54Frgzl2_)9!F>aZTN5EC zB%x0Bc}$cG`ML=x@ODseY?#ahQFY|6XEjUJ@N`;XO9z4pf`0M3@rSKmAJkULcD;gm zw|=tW(d@18$ZWb!fy600N%Xi9I+~(8fMg?zNi&hPBkrvr+>KFDaV#xGwWfHRCwVNu zW-v#2Mh07fD$fth$i&+H@EE~Drik72esJ8S#_a)oJ}m@zMUVJj?*@L%R>TH&k#rMY z`QP>JtXGQZ-y|=wigDqBV-t8~6A>#&JlCCHyW>n;Zcls&nj`<87GO)kueJRk{pTJy z6yQ?EXnKA~VDsi53`hF^R*2K7*wXi_*M-Mj7LiviUnVIYqLWp}UQr41>FNjCT~ilzlSV2jecrN ze$s)w6<-%jd_K!doo_A9DUN@8?LB#8m^9nCv7$m!0FP)($P%)BpzDohYt4jAn{gzST7-nJ7)Q$geitiVo=aM=OWqS;sd+VHe zUIgzEUF5KFG_s`d;Fo=I(7)I7qtQ8TQgnG)NiM1le9!|P@Q2uunlj+hV8*qRIahG| zC;!!T>F>cD^3vcjIyz=c+k6YcO))DWl&ayv)10Ch)Y3)eoiE3N5y(s0hX&j_DrG2f z5#1e>%Hk9Xv?jOo!c~c33A(qpxr{zOg##^>Tuawc*Z{Y9Xk{kQBzRIB(PCLt4MZf& zZ&W(IJ?SZ_Frfr9!_vVgGwXxH4(rMUeV8#0W-r~-U+y)X3J=@B_=nsbH}PG=kLiGq z@|50q%iyFW$~8-d|K`NN9E?GU-xHc}tfJ*%d)*K%rc~z-L4p%bFN0^WZ_`Oe9c4E> zMAE{yQ8A6rsX?h|LSEbKcN+@~0r?K;o$L+HX39c3`J7Q=#MyF2Y62ua9qqay*=pe= z=q-5M_JfyUVUbdH*D-TG>zepokB;>uUC{nnARC@Q%A zRj)9^m7KN6$xBUlk1OUkV}&fSL=XSsCZ;+RCQ0WMPJ7Csw$9*hL`{*xiFN+}yFCSbbm>XVCfAGs62zOP2m~ zakwHi^018R-V@gwxdPWzuCsz?3U`V`rx4r&#k6Pi{04~lEH^1mfF_5 zjJ~%6BxAt;9t$Q#L8IBve_ROE`G}FsUSAiM-p3iK=Nep&Az`H#4PXdaxzX!0fk6P1XTeT@4vs*zd=Sr;{LHzwz_lMhR#S$^EZR6HJ_{_u-yZ!)^N@mWQ6 z^=7vHSjhG$J+pe{53N#n%kE+^%5WW64-$X(^DSqZ*#EfggI@XyU96cP8>JJ|`P~=L zk4h7#KC=y#@PV@s(V-Au>%`8FTfUqixPoLa4n2$BXa?DnC7?p;N2!5C2L7@Hr}9$F zRUUt_$mS@5*EuqTe*RLLC5B#rq9$J`?Ll_2a@g3;6-!aoA=;YVa$AMt)(Jimtzb!x zm*SdYnD0*Rgl5b?Iu}c-ivPQgBQTfXf%Dc3v**n@6oZ#A`mbu3&Tw?~;c|KPm;;Fz zE;T?{5rny+!>{>7xzYb}U&pg^Ch|tpd6J}|YWaij&Rc{QTM^m+eop{*LEism{<9t8 zD;uGNgvJ+%|IsMCT!j!$vm10(Vcm0~w9lw8o`0Q^t6}2j>}xp1s3@ku@po z44`NIg6*wApxJ!lrKzCU;Y81Wl#xpi6v0y-H^b!{GSD|Tpur5Wg((R!kV+>UzW~HB zy)@sSX*o8pP@+f;6+L4XkzXHTBjm3TJci2? zaT`=5I#@IIq~4F>Q78}O|Ai(|$p+mRC72gvCS!r6b46A>n;}+(GvkLm$Y9j>*E2*7 zvhxn)V$sr(`wgElAD*VcZtj}vvOn(u4nJ zp_GFb>3oEHy6=0NXWJtXoYHH{*H9RtNRSTt1p8-rcexHH+uk|aZkQ}`TTkU{jlk}1 zG~qE>8ZJP;8`9abOECq7kF+_U+0;Q<&7E+Ds=Z?hnBG{GTIYSzkE%}O(v*F9K-Y;M ztUFo?XD*i182wj`H@99g7J*SJvvPC}RvxckYgK1ALWY{cm99-%4=Jammk&D`omqRG zH3|f*O9ruT4p?M9kyFG*67Nu?M4ksX^+nCF@pY0ePBLABV%^zkYSkHl2z(@JS%eD( zERK3q1GGf(Md2mM>!zlYWgU9ARnx-H+@b`uOte`iH?8yQfF9%>E0jiz)HO+uuc{R) zi5<>58l_IflCTdm7>dlEa;p!a?7qPHPH8YdKMe&a_qMb@-finIrJEyOq@kshZY
A{IXosph-27LEQRue7JSW6jd4ia=Y1MlTMhD4>g?QI!e1(NPvd zQ5E`A_q}wq*rKP<1Lr$O0tAJ``Z_$iOqxjGRDVD?yk?PbbJpNk2C&s30QtY*ns%o_ z3x}c{MVbKvmAO{?oXZ6+J>V){K6E?N1p=_IUp1l%2ek@j-k<{i~@Ox(&OC97-A`kmaAzdj4UFs0C}lt z${^IJ?A!%_mWvdWKKj~jYSX;b@Om`=Na$8E~VQ*ehkVN}RYK)|3!nr$~#ab?!q(qVT zfuPPiz~r8KL{+lD3Q*kigO{8YV}Ex2eZnkf%w|s_QH=o|cjv7d9kK$jPRkE@i%^`mG_TW7c*n*VEpun@~)7mCD| z%acS!61RExwW$%g1EB*k;wl~Q2GdI6ScMvvU+-NcfvntTkvXTObQ%)9LzBG!q*FiJ z%n&eCYg=~;T}(b5X0!;sO(mn}48fwdBp3;D0ETXnONZg_Q89E3fI4QDViPs)_$PJMT&g)%VL`vbeeA*JTYe4 z^-Wili?Xu3%q+bn{lehStBa(d5L*4tE!u|v)9feZPo4}I{(^ACZ<=feV_zbTiDpu7 zK(*&$0LgH{4HPwHV;u-dkg^|^+bv!voWobndxCu(IF$=Q=vlB?c5Ixw3{X5gr2G&k z>K{l;9epPML5E)`O$)IA%2yH_WpgM-vZ+xi709Ybw5>xriwETd{a%-HmnO$F@_(w?m=Y&{Wet?(~~4Kwicnayf#YI?mqfwMXrtSrvb z^?Lnf|LTnlwk#QTZ4aye=by*MAu!6yP{Uv(kaL{2&>e8A@knaA+_$4F9}=PcT3M6sNFmmQnHg+v7^vDmjD zzwh}{&4}FIlbIfYU1RK5(15yxfsq9FjF?pArS21+Lw9{_9A;_v=9$&4d?exLvCjsw z5iWN2Mu@K}|5s0r{Hk#T=I=ocg~BKPIUeGdz=`NXH2iiw6gaya%7mA~)ASba8PPF~tfDb}Xfx zgLsldMB?E2&4uCy8azdUi!l24`9~+jfc&ybo^v={EO`p03Q@~?Fw`p^=R_SiON>gz zvx9j2hE66$e(SfcF4d>S`NIjhb2+@24$PQmVk?jD&zv}*vN$5UCmkWgR!W?q#_A$y z=p|4TP}E^JM`8TsHa2^h&)8+=RxVj@fb2pr>nnk4@fV!$lA?vA3fTNlmy0L-@t;ql zJE3A=U})oUy~%1b&*!oS7kt+^1Lv1?ezZakH&ZkD|E+DwVDQA&73Lf_dT(J&0uSv; z>6Ie6A!bjC>&82yu-7(`z{?N(-x6F_7Va)Is&?V%=SQ54vG^IbRCy2bgk~3jXSZl8 zy04tNQqm6}ieZ#tjW(1NHjraFAjaS1jiYOqz7mEu9MPea+1=mAK838png6UM(|3Y} zQK^b<7^;z;l+E9&^@h-eScKM_OxA+-ukA0`3+Adw8c(2AIKDR5PU&bmjRUt>k0gF8 zpb~Bqk2h{8@|IH;D7Nb;g)+b8iZ4W%uB{)X8g;+N(=~zeO$Op!Dx~ct_kx=!byfc) z>u#2h;A_bApQ*IWSb)4?u#+rnUD&&Qv%mc$C~;OjBkQ@u#_c{SnV!hIvlbU-`Kt5f zsPFI_DLQB!kfIC(0e(t|jhB%e2w%Y7i|s#y4It3bZ|IPc|5~8=m3WbWXTs57e=etLf)g4(k)K5H}1pgmRbxM`6#YszrY#uP6ddy*vo5i=Y z!YLY+{Z}xLAnLcDOic__#NkrqoP?o|It;G15V>9=HMS)&0Q{i^69c60XItO4gm%Er zuG>`TA}#Iqr^U99rDAVS92X9w1uL!p{pS^7j|ozKa3x6b&$^$2Ww|IHZwViy|KZA| z-41y^?=R1eo9aDE(-0Dq82WC9G&KBX9HBNVGd4EOC5%)y$zZ0J-xb9(uU=J=V zxgy2D%|qVwFiOHIS18y?Cl6b6wlUite3^sx+EUqJwg$#r5i=r|$6n5eS97nHUQ?
bL6U!jkrOf1HiVQ4~U<17!eRAWebqG-z$b${a0d&D#iH~O3ja|DjK;ye=_+v8=M z5XnHBraCyi?g@w@x*U zJj1D1L4}AP)lCcEg&%saJl7WIF8N%MII6k@5asI6SFYdvSo2okq0r)o{ORxp#I_xR zn*~c|^6uKu=`V>^7u|raq@r3*9*ny zfrx?-*Jk~Linr*d!A@eXLVp?7tV?#$QJL!5*fr*2F*u$Z{c8&@)eyAZ3n8IS7K=dJji1~`-_-ImL_aOKj9UC{GJ1jdqx7aXJG&1}p2 zumX#B9f1x+ws3$T_80OB&AGGGW2cQSi%Dkznl6va0R}~p9`cFR9v_|`T@G*l`!_z(Z*hJ@=qYmG>?N7;P0TC;FGT?X7jgyj41Pa7iw@(`#)i;!# zd9eFQx)|zewIco{X%(pv&Bo+uKv&^a!;p&`SrwY0ZYm4(f~`If@nX1xOnL_L+rZ1b zUB70V@*T-;yJ+N>eM5?G!@-LZ6La{(DEwspR}zhc(EN^2x&b3GlQMHeaXYgH^Yfl!kbLkokW~%d7dLGHiFNclKF;>OQUp5w z{i7fpkc%f4dF0=pbN0|p2j~MP`1c<4a8UJwATv$HoO2L6V^@lSqRKLwbsLlkY4@!M zbgs};Bf|ufeF(Xohxn{VgxD8{8y(b3-6IfSS8y4UVaGNaugxRlr>+FfbT(H?IS9toZQNZgkVsdFbthf@yAL`LtSbC(S{=b{$0(J zjVKGrzUie|$JivOGDWI1uwHt~S~~%%Z!hWccMq#SXo6{pL}FqF9s=;3X20L3wztpI z-=?m~Sn*(V_#JQAVCK81Hz3K3Z0(MD&KM}Pm~XMYVQ|50iYr~jKnl$=tH;wpYL0V( zn5ntqlzv~!;-+FjQ&xi300NEGYL9kmxHU2T^xikE=<*ZNnejs->8+#-o9@n|0Ks6{ z?ycqmKDmy8(FHE1$q~J@oU^fzn|~+lE`}m?47Mgaf3Spwy6pR3Zf>=0!!bwZq343$ z{j@AqS$qRC-GH8mq37G$Ie+A(0D$cbqrk{${agDA3zueQG8@8ETA&2&c(~AwWhAu!&uuMc`n$&M z3|`rk@J*U_+nzP7LL|PNHpiFv4dGy<=5M@ErpifQl1OsLzZzDw??p{?zAI;>hkTje zZsZ)Dlenw)phXGV-K2%Fyl>_&qFoBR0SGMgQSBO1UXZXe_BV)P2n6nqxobQoK?*_- z?eZ4#OU1!X43$N9M0w@dz`lt+isJL5!W&S>4rEtA3o4N1{d>8xTLIgu zzUvB@5sDG_bz^H<@KJb*NSzcHqM7Wwpkc-0K=+ftb4+})!~))2NR5!yxt%Wp#2h0)V8($4J5;!pN~}n7NN?B z>p5tl*wGl;h{AgyRO)d(ltF-0V}1@YURB)6i#tJeL_%Y2gGdS&0qp0n2{(%`1LAAv z6X3G?frcQWX`$9k|-!otRd%#zANrS&%H?>BRIFnv{nx507e#( z>9GZi+H-58dWQsM2CISca|e6K=DtEVit13lHaaGwDgyE6Lu_rLYZ2o~`KPd(hj>my z4h${MD(+B~qWVM7Y4h~?^0-hik?4}h@Dm)zVi3Y z!byuMH^?d*U;DO}h!ywI=QGGXl2CqRY#6VelTbvR~u4|GGl`!uy{Ov_oH}U24^1gspYD}_F(zxjc z4MvZ5okaAe6&qHpIwpm`q(?*iZQ=3D7+IO)QIerzp4E=j7w1`b8Z6~q+i74N!La+fY(WuiX6!=(sqBYO}hq*Pz+Ui4t#Z)E%ZC2O0 zipTM#!1_k{`0J`Q5K+uGFF-g@M=Ed}J&_Mej7`~3+IkFwchw`9MZeR&@|dtI)-50z z$cwv5T^fk)=FG#CvFDqv!u3s(;5UYE^rr&G@8z4{YXi)5QKRY;u?U1LdXGxk(=u89WY)p_GpSCdihr?8Qo z(z!@+Qo|E`cs@dp7xhcGTiG*=c7d8fRD~Mic$30qsgyfG?ex%8Z!)^O3zViX!&6?> zBMrmAKsbRmA{A{FktBrqEF@23N`Z>v`q=Q=`S^ z!!;Ez8-l=D!sith0o=BqA1If4j}?@goXmlxk(-vikIyQ8YH4({4bl4IDPl^3&s3Uq zotFAnW8EDHUjN&Opob`Z>6WSILHCs*M-nc#X!mAm!{VeU1EnUVp-%g=w5IStIKG%s znQuAp>*yA;3fzkFh+Vx+UVge<# zDPnL|9rgN`&nL-*fF>k*)f<6J!?}YEXnlAJHoKyyf-(qnzQEw(k%_u<79gCm^a3M} z(a-Jxh$?HHaCP5ztQLQfW+{)P0Vr!2%yCn6L7r_t4!Kz#+^x#xO3N9DW((ie^0kDdL3!NgK2 z#Dw75m$Wr6JcSRx$P?W`EX||FQXjVWieu&g!BhGsm46}&M&gNRrG)fnH&l^PsQudL zA-nX!D*8*#c1C_+DtT#2gx2P7ZpG}#qx9C|fU66-hxHh`<1mwK(U}U5_(k*S;ASRu z{e*&FRq~1tO5|u+LbwBlkS48U^WSxE6YQv*#~RyvJI%~SA+Hqb66?p=wlD)K(8$SNLfz|2PFgt zPXzyd4Givl-imdZn+IM3Y2^vcu)XHmpu8UBz}yp^Wnyb>zMP;0t;)gxDVFYh_O9Y( z6_7H}T+D*$BcSiNnl}fx(mfn8deU3R-( zrhck7a!Enk1u%4`1P=K*%`w%ha*)L$bM>&rBEGQ)kE1f@r_evtc{dy(fRYatLRpz& zGUSwq+UC#(Qxg^8=B?(NpV?0x5h=k5kpt3{$gtZu1rg+H8k@`V{bNS(0$MxTB<|{2 zhp0~u2o$~;;;W<0dHf4ko1Gwt(-hJtWZcBh-N&|iuJ4sMZ7rQ=vp!B+s}a0DN~E00 z-G0Sit1*5Zdc}wix-S`MEoq{=onBozp62hnjJdYyfYTWKLx1`|Ff7Eg09^vE4l?!z z13pdu#_>a$D@a_hkpav@RIvr!4E%SC(t&s#mMH=n?+}wp{XzP{oax`{`|zPM&0lo%BSpGc1(ICkU2z_x$tLQs|)i+7;G6E0G{nmHl7nH0Sre z+W+jJdt+Rj1wu!E$xMgQHzod~csd|PP7j?8W-XNQ_KOt9WpzPr9B_gt&x1i(DZvDP zmPPOOuO-^^SyylMpkVmnJq<|p#y)mm5^IdiJ4MrO`yH+o^jE`;Tva}Su;d7N>%5KxwxaCU+PK^Wl=NNfW+Om@XNNhC!`NE-&ZFP5KHd*l{J_`U zCr#A`mH#)nk3-7qyn z;S2e}b`8t@lzK$4g6xh}H=p>Yd~;ZbbC`<4WyMb6z+MYl4NdVwVr~4K*Mj3u1Vx<- z)K6|#oZKJC@-E~u3)7%B^X1}-HXVEV%x1;48MQk%gbq$GpW`cyFyP@=)=`Ir*OWFd zJ(RUt=A3^Kg=*c3$HKJv6cuvQC*1#R(}b@I0+E@w}++-A%J? z4SD)I=JTTWa$`DmpfH2>SI0pQ{F`v*l>G9Fnn^Z3h>TX9pkq-|+C1Y|syDRy3=MlE z1#Zw1T1sacU4iTjJ)LMKapFlB`XLc~3fY{Uv?YnS^pn2`*(yXyikRlU=OB|qaEk6| z>Uzz&6guj!v3$s_vk1M-Aw}9O9b|?__ROj>_-;(`pKv5W)rsXB*yN%HN^3hluSw&1 z@U&f4|Fyuv_?=;d?T;5&%ZG?YIZ|dwWzH{GDN7&UAPX@U>b5=(c~W-ClIP1v-Umm7 zr`k4KTfDce55|j>P%#&1fg_*y6(U^c?C`P%;8d2eB*j#^+0ywkhEJDK7S=I^fN6<7 z(#I}2tQVRl-NriJ_f#!1A%TR}jLAT|77Y{LAOIWhpC}?FF=}H^w01pf@OxYMZFKliM->^54^F&@CC_%} zoL0H>wWXBh1)BfVPQJnlMX`KDiQ(9k-$iA1&R8e|SeV#)Ty>|Tu{1Y%sz^(@{(CrU zI68iK0%Bss#}8py%^5P{C{M%EPD4$ai`cJ;Lg=^7!s(f`PZ;0Gwr`zHw2{-0ZMn&a zLRBCb!05&~nG*J7Tc~y0!1$lQL_Y1T`M)Wwz?(+M00`kAs*MAxSU_nLdQe-6qoeM; z@iNkO2HF6NV+cJ5e7A!-;`FV1SeC@L&)cb)fIWJ6%wpE(mU^FF4h_)tZ8gnE02mm} zQi2A6F6_PU2{>FfEC!7fzg`tQU6p}FmzD-Um>|W$7d*&6yRzorahT-`{Ww4ePm~>> zA~#V=R2xd*WuEO8P3b8Sm3zB~ah`}3LnAz&QEAk(V{~(!f)*Q6XOpj(=SeWq8SB-l zSIOZ)Fhd5vf-M<6iU6p#BE}6Qw0R-m3=LKeTV@k9Q8ArD0TYxcrn{&WPmaj;&1dkd z2B18t@dY!~ba$k`v2wTz&Ti|opzSd=^X+PQ!RmiJ2(IY5H~f(9_yz_2@%jEEyNZ?d zy0Jf6by(z-{z&k`mn%cHR-?;bAuUna7LG)J0i?yxy9tV@Lx5AE{LxSBBa2e=G3fyN z#e2eaWqavSchWUR;HP&X5Zg(utR4H{gVqF(9xpt^<;o`YWznTg_1Im4-(JvQs=gB) z0qUexZhPObA7YeM9wdfev^B9UqdSk$4!4b6Ai4htA@&o9$6_zJeIeQLhylOz3yf;L z`Cq!SpA7wS!ULAwR)Dd~KPh*iS;5VglprK|AAVV(0P)9oqhkH#S~QP9mn~gr!-Uh| z-4jowM0*jx>a98jY(Fnvg23pJ!{Oq1y75P&J5nP#2=!u>D8&JAKyU`uN8$TOz+3%~ zwZ7MlfXP03k7ao#qu%bSiGu3R*UKaUkpOT4fx^S!f0I^*E_!{IYQN~dpznRGePss^ zoX!X>*3iCppDv>KHcc^TtvRCq=Pa|PKPj9}W4UPe+qwMQFfkA&;SHiFobOkmYm^34 zgsLJ1@T~ldbeA8ILP*9DeHT5K|F?6gfym#R-!R)I$mPvGbiJsa)bxpzs z+0p!PCX%Kp`Mu15?$I&06taEhDEL}B)mWELw3*`C$0Xa^9bX6zlC-S%=!q|B3WKru z#05KFS!(`rS1aTfQ?cr135~TZmSKI;MY^U9x34El>A5JnD(+u9#8vjf;-b8?Aj_nw z{3v)IaLL1)E5!IQ#9b_dtUL)kF5TkcUh>iA?abTKngzg^13wM8{jj4_6ka?N-gc;e zojBPq_u>;eyf6n`x8Lu!IYoIFg9fc1P8YB~p3oVqar1jl6dZTAz-g*BGny!Me6EL_ z?$2r(eJ=~6SD)@@i~p~R)t=ou8(zM9tK@x!r8cnD9=!P!+is=PP0)qIgWTL|M~wWW zdZZmP*a31Epkijb=!vXgxxTc)F=KRznQ(ocKT^mC5(p)U-#lj|m)U*?!E!*`?(*tl zt0G(o-cn+>#Ox%hpWVO-w);_QpgRzD8tbk2!_U;~jiKc%)-JJhxUZqhBsWP6Klnf~OhV7{vg(vP!P<~<^xb6cU zyfQd&>VeNEdrI)|Oh@uJ{dB zk;r0+MmBT*hwABpaCKH1Elq`(raRes_H z_f#0V(|@`joJgENj!fb@gTmm$4>BXaM}U@=Ram#w@xaegEzgIBIqbf(ZR3 zqmH^wLdVYJtgCACN8~;6uBy0v5CNsYIJ`PR2I7lYg=jx+TOYEuoHi5v0W^iEq@^dp z=GOkHl+wqy^5om?t|A zgMWvLe1jBexQKl@Tu;S_9XG@)hXEz;V1$}wO4ic@zL>pGfj;~r>ya^JkcqTWBorg? z&rR^sZ43~8b{mK>(8jPbQX)R4upl0Mw9us)Xs3s*&<0pkZ-H&N_cU))a-ReY)81ST zM(>2-a)b0|r4_p-vYfJDnBN`iB~hh{Q-P^Q%CYCX@wATAtFVI@t0_6@0|i$I_G<~% zW#)g>P_3(?2x$$e-XycvvEj^8!Mn`|rfV&i>NX%IS9$+dgk+6hlizhQt9>tQYoJ-< z2wegvTi!Bxe?63#G~$AAZfuYS$GoY1tIGkiDx&?ZJ&gkYdcAOfG9;gkkSS z3@P3VDUTcu+%cBnX&}5X+zrTqwvun}F^81_6mf9iKoP(in<-X5)eFoMg?(EFiPDz+ zBWLVPoZE2#dPrbUF(4SidZMMwkE>GdTcxQdqO#!;B6mYv_8SV*=mRgM7ecT>iS%+x z!yL_W^r{%bC~LfmQfxvmJ40C^WoP{3BO~Hcm!`%R*{~zePhQ$I0!5Y5-Pvax&=ze| z+OES0xJn(4t^d{8{g!%ZLx0tO@-u~A5Bh_|E6slW0pJbA8p6j~%gtN$4FBc;?GNM8 z31y-jtmUQtrEoNu+Gt9Ns(7!r3(o%l<|)nLK^z@4+R7N7C5&Ix1%p8Zk_JDAJQ>z+ zJ+u{Z&(BS@vr-^1>TQ9@&>&~p?psB5Si{gXA&j7|97_KrD>3xTJ@?G=F_y0@@qODe zzESZ%>4YD9+x*}ySw!I4wmhXCLSXJAVwQV-XQPpleSov|x~^9}SRW7@{;wDA8@;XS zxy?2Uq=fYvQj33}1-bMSgkFv-al8+8Bs>fMqXTEnX16{LUazlsK8^kq@IAJxv&7=? zF4#<_JSy2-H^1#;x1R+GV7Qbj{uz>_XKwj8r&r~4DK$$ zHMm1?cXziv@4n7HKVUxf^wU*q-L(qV#EYts1KHmOx^Mx>gx)GiOCK$mF-VN8Fg>&u z`J^?R5i~5JvVpR>4%MF#%<5_~tb4AT{IcwzYyCoHZn9+SNjqAv@cK?p0zfn^Ja zTjKW@%7idQmLNs9o|-c$eC&iti)rp#F12@iVl5D++)Fi?7qhN|rTJ<7*v3ku1r1^P7xG%3&_#iEhl4vLuE{3M1hj~-V1r1p=~tBGs+Gg4J+ zQEeLumB)~Qu;OdT_T{Yl9`Pd_B^GUv{f$g8#pj8Z5=n7&-n zkYO3*3744t&1e9R`BS^Rfy>}6dOUg&9xK47>()aLI#fzz6!}qD%zN#*m*^f8kf2Z2 z>5s>e(9l=ym4+>sYuyNeEXwZEVk}8aO?kJ_5Lqhnt*UR+&0@s>adZ_YFL-AX zCfa+4U{(R+Wsa@(sUDWgV3QUKBq+}!x3`dc=(w=~RF0}iF$uGyWcO1UrgjUp}^j}=_9r9^bIYyW z2~>3D$Fj3(r*A<+>oPD#_|En=evw>_mJw*eBxgq%bx z6hInBgKA2e7AO83kk2s9-3Af0MYX{h0ZBOcs~Co;1SENSLj~5g?IR7Y7;_0j|0JVz z{NGsGFsD+$HI=NzL6sP75%nM1^?yTp=REI|#V#MC77iWe(PX&0(*K>DuIB|;?y>)Y zgK&!c@|&Zwg{~*R{#RnpqLKxyrJ5dAY6&XxV0javAXe1l@esWgu_-wGu#t7e@JNJU zfB%oCebl!;m_p+f1B5k9aR;*O16I#SNw~1J3DHr8d$DkY<|c^zO=yZa$D0z$NEF$~ zB@FXO`9^igUWkya2wGxM{#;knXpe+`IwwAA!m`r%KZe#W9rsB@4wc`LZ50NcP!g(U zPTp>lwoxXg|5Z`Fir@HM`jBma=}pDP_5XE#oGSh^&G9@wePumigzTOj7XXH&v|qM3 zHb2G{iq~d-W{oiFt!N8-5d5>#t3mo(b~*g*#he^TA~v2*8bs4E^LYfInq#lPS}e7f z!tomV@-@GjffCl^2xUeMBC1om-n~tqmv_C|dzF?nquO6#A75OMLRse1lal1lJ+ypJ zz@4D%%eN-R6AjAvzkaH^O-Z}xn;VO@2;L;u!q9E-3dB&+me@u?2Mlo4YhcD@gb_OOsIeWku-Ha4B7{z_MhDkOu~q6ipnMke&5hn>4^ec>~PRB8e-e-+b%!n{MH_ z%NZkd!PE%^fcXh^qT}qx{fT~Mf(O(mCoMgNw=X4DBHTjf1VK51p&BSVidJp?!IK`g z#@5U-e#qD?_5Gh|GO!1G^&m1h1(@Q-F?qd;atn2R-pLCF;9NstbLiN>duhh0nKf=m zFvPI>MOvcf2+#_T-Nsun@~iY)pCTC2Zv- z5kU4<51*^hD`0$>>a^{ty&NcSf+Y?GAkg5q*PTOu@c~m~VMfbPV@E%2CS*e1iRX|z zIONaz%Y{p%1#(Eyb5mUsP`Gc)I%L~1324|R3sG@=