pumaguard 21.post27__py3-none-any.whl → 21.post83__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pumaguard/presets.py +1 -0
- pumaguard/pumaguard-ui/.last_build_id +1 -1
- pumaguard/pumaguard-ui/assets/NOTICES +621 -71
- pumaguard/pumaguard-ui/assets/fonts/MaterialIcons-Regular.otf +0 -0
- pumaguard/pumaguard-ui/flutter_bootstrap.js +1 -1
- pumaguard/pumaguard-ui/main.dart.js +28869 -28787
- pumaguard/web_routes/dhcp.py +311 -54
- pumaguard/web_routes/diagnostics.py +6 -0
- pumaguard/web_routes/settings.py +13 -0
- pumaguard/web_ui.py +29 -0
- {pumaguard-21.post27.dist-info → pumaguard-21.post83.dist-info}/METADATA +1 -1
- pumaguard-21.post83.dist-info/RECORD +254 -0
- pumaguard-ui/.gitignore +48 -0
- pumaguard-ui/.metadata +45 -0
- pumaguard-ui/API_REFERENCE.md +717 -0
- pumaguard-ui/LICENSE +201 -0
- pumaguard-ui/Makefile +36 -0
- pumaguard-ui/README.md +371 -0
- pumaguard-ui/UI_DEVELOPMENT_CONTEXT.md +427 -0
- pumaguard-ui/analysis_options.yaml +28 -0
- pumaguard-ui/android/.gitignore +14 -0
- pumaguard-ui/android/app/build.gradle.kts +44 -0
- pumaguard-ui/android/app/src/debug/AndroidManifest.xml +7 -0
- pumaguard-ui/android/app/src/main/AndroidManifest.xml +45 -0
- pumaguard-ui/android/app/src/main/kotlin/com/example/pumaguard_ui/MainActivity.kt +5 -0
- pumaguard-ui/android/app/src/main/res/drawable/launch_background.xml +12 -0
- pumaguard-ui/android/app/src/main/res/drawable-v21/launch_background.xml +12 -0
- pumaguard-ui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- pumaguard-ui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- pumaguard-ui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- pumaguard-ui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- pumaguard-ui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- pumaguard-ui/android/app/src/main/res/values/styles.xml +18 -0
- pumaguard-ui/android/app/src/main/res/values-night/styles.xml +18 -0
- pumaguard-ui/android/app/src/profile/AndroidManifest.xml +7 -0
- pumaguard-ui/android/build.gradle.kts +24 -0
- pumaguard-ui/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- pumaguard-ui/android/gradle.properties +2 -0
- pumaguard-ui/android/settings.gradle.kts +26 -0
- pumaguard-ui/fonts/README.md +38 -0
- pumaguard-ui/fonts/Roboto-Bold.ttf +0 -0
- pumaguard-ui/fonts/Roboto-Light.ttf +0 -0
- pumaguard-ui/fonts/Roboto-Medium.ttf +0 -0
- pumaguard-ui/fonts/Roboto-Regular.ttf +0 -0
- pumaguard-ui/fonts/RobotoMono-Bold.ttf +0 -0
- pumaguard-ui/fonts/RobotoMono-Medium.ttf +0 -0
- pumaguard-ui/fonts/RobotoMono-Regular.ttf +0 -0
- pumaguard-ui/fonts/download_fonts.sh +76 -0
- pumaguard-ui/ios/.gitignore +34 -0
- pumaguard-ui/ios/Flutter/AppFrameworkInfo.plist +26 -0
- pumaguard-ui/ios/Flutter/Debug.xcconfig +1 -0
- pumaguard-ui/ios/Flutter/Release.xcconfig +1 -0
- pumaguard-ui/ios/Runner/AppDelegate.swift +13 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +122 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +23 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
- pumaguard-ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +5 -0
- pumaguard-ui/ios/Runner/Base.lproj/LaunchScreen.storyboard +37 -0
- pumaguard-ui/ios/Runner/Base.lproj/Main.storyboard +26 -0
- pumaguard-ui/ios/Runner/Info.plist +49 -0
- pumaguard-ui/ios/Runner/Runner-Bridging-Header.h +1 -0
- pumaguard-ui/ios/Runner.xcodeproj/project.pbxproj +616 -0
- pumaguard-ui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- pumaguard-ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- pumaguard-ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- pumaguard-ui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +101 -0
- pumaguard-ui/ios/Runner.xcworkspace/contents.xcworkspacedata +7 -0
- pumaguard-ui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- pumaguard-ui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- pumaguard-ui/ios/RunnerTests/RunnerTests.swift +12 -0
- pumaguard-ui/lib/main.dart +56 -0
- pumaguard-ui/lib/models/camera.dart +45 -0
- pumaguard-ui/lib/models/plug.dart +45 -0
- pumaguard-ui/lib/models/settings.dart +112 -0
- pumaguard-ui/lib/models/status.dart +58 -0
- pumaguard-ui/lib/screens/directories_screen.dart +319 -0
- pumaguard-ui/lib/screens/home_screen.dart +545 -0
- pumaguard-ui/lib/screens/image_browser_screen.dart +1248 -0
- pumaguard-ui/lib/screens/server_discovery_screen.dart +390 -0
- pumaguard-ui/lib/screens/settings_screen.dart +1162 -0
- pumaguard-ui/lib/screens/wifi_settings_screen.dart +671 -0
- pumaguard-ui/lib/services/api_service.dart +717 -0
- pumaguard-ui/lib/services/camera_events_service.dart +195 -0
- pumaguard-ui/lib/services/mdns_service.dart +4 -0
- pumaguard-ui/lib/services/mdns_service_impl.dart +282 -0
- pumaguard-ui/lib/services/mdns_service_io.dart +1 -0
- pumaguard-ui/lib/services/mdns_service_web.dart +106 -0
- pumaguard-ui/lib/utils/download_helper.dart +2 -0
- pumaguard-ui/lib/utils/download_helper_stub.dart +6 -0
- pumaguard-ui/lib/utils/download_helper_web.dart +14 -0
- pumaguard-ui/lib/utils/platform_url.dart +10 -0
- pumaguard-ui/lib/utils/platform_url_stub.dart +11 -0
- pumaguard-ui/lib/utils/platform_url_web.dart +16 -0
- pumaguard-ui/linux/.gitignore +1 -0
- pumaguard-ui/linux/CMakeLists.txt +128 -0
- pumaguard-ui/linux/flutter/CMakeLists.txt +88 -0
- pumaguard-ui/linux/flutter/generated_plugin_registrant.cc +15 -0
- pumaguard-ui/linux/flutter/generated_plugin_registrant.h +15 -0
- pumaguard-ui/linux/flutter/generated_plugins.cmake +24 -0
- pumaguard-ui/linux/runner/CMakeLists.txt +26 -0
- pumaguard-ui/linux/runner/main.cc +6 -0
- pumaguard-ui/linux/runner/my_application.cc +148 -0
- pumaguard-ui/linux/runner/my_application.h +21 -0
- pumaguard-ui/macos/.gitignore +7 -0
- pumaguard-ui/macos/Flutter/Flutter-Debug.xcconfig +1 -0
- pumaguard-ui/macos/Flutter/Flutter-Release.xcconfig +1 -0
- pumaguard-ui/macos/Flutter/GeneratedPluginRegistrant.swift +16 -0
- pumaguard-ui/macos/Runner/AppDelegate.swift +13 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
- pumaguard-ui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
- pumaguard-ui/macos/Runner/Base.lproj/MainMenu.xib +343 -0
- pumaguard-ui/macos/Runner/Configs/AppInfo.xcconfig +14 -0
- pumaguard-ui/macos/Runner/Configs/Debug.xcconfig +2 -0
- pumaguard-ui/macos/Runner/Configs/Release.xcconfig +2 -0
- pumaguard-ui/macos/Runner/Configs/Warnings.xcconfig +13 -0
- pumaguard-ui/macos/Runner/DebugProfile.entitlements +12 -0
- pumaguard-ui/macos/Runner/Info.plist +32 -0
- pumaguard-ui/macos/Runner/MainFlutterWindow.swift +15 -0
- pumaguard-ui/macos/Runner/Release.entitlements +8 -0
- pumaguard-ui/macos/Runner.xcodeproj/project.pbxproj +705 -0
- pumaguard-ui/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- pumaguard-ui/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +99 -0
- pumaguard-ui/macos/Runner.xcworkspace/contents.xcworkspacedata +7 -0
- pumaguard-ui/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- pumaguard-ui/macos/RunnerTests/RunnerTests.swift +12 -0
- pumaguard-ui/pubspec.lock +882 -0
- pumaguard-ui/pubspec.yaml +125 -0
- pumaguard-ui/test/models/camera_test.dart +515 -0
- pumaguard-ui/test/models/plug_test.dart +499 -0
- pumaguard-ui/test/models/settings_test.dart +903 -0
- pumaguard-ui/test/models/status_test.dart +707 -0
- pumaguard-ui/test/screens/image_browser_grouping_test.dart +555 -0
- pumaguard-ui/test/services/api_service_cameras_test.dart +580 -0
- pumaguard-ui/test/services/api_service_image_browser_test.dart +512 -0
- pumaguard-ui/test/widget_test.dart.skip +38 -0
- pumaguard-ui/web/favicon.png +0 -0
- pumaguard-ui/web/icons/Icon-192.png +0 -0
- pumaguard-ui/web/icons/Icon-512.png +0 -0
- pumaguard-ui/web/icons/Icon-maskable-192.png +0 -0
- pumaguard-ui/web/icons/Icon-maskable-512.png +0 -0
- pumaguard-ui/web/index.html +38 -0
- pumaguard-ui/web/manifest.json +35 -0
- pumaguard-ui/windows/.gitignore +17 -0
- pumaguard-ui/windows/CMakeLists.txt +108 -0
- pumaguard-ui/windows/flutter/CMakeLists.txt +109 -0
- pumaguard-ui/windows/flutter/generated_plugin_registrant.cc +14 -0
- pumaguard-ui/windows/flutter/generated_plugin_registrant.h +15 -0
- pumaguard-ui/windows/flutter/generated_plugins.cmake +24 -0
- pumaguard-ui/windows/runner/CMakeLists.txt +40 -0
- pumaguard-ui/windows/runner/Runner.rc +121 -0
- pumaguard-ui/windows/runner/flutter_window.cpp +71 -0
- pumaguard-ui/windows/runner/flutter_window.h +33 -0
- pumaguard-ui/windows/runner/main.cpp +43 -0
- pumaguard-ui/windows/runner/resource.h +16 -0
- pumaguard-ui/windows/runner/resources/app_icon.ico +0 -0
- pumaguard-ui/windows/runner/runner.exe.manifest +14 -0
- pumaguard-ui/windows/runner/utils.cpp +65 -0
- pumaguard-ui/windows/runner/utils.h +19 -0
- pumaguard-ui/windows/runner/win32_window.cpp +288 -0
- pumaguard-ui/windows/runner/win32_window.h +102 -0
- pumaguard-21.post27.dist-info/RECORD +0 -83
- {pumaguard-21.post27.dist-info → pumaguard-21.post83.dist-info}/WHEEL +0 -0
- {pumaguard-21.post27.dist-info → pumaguard-21.post83.dist-info}/entry_points.txt +0 -0
- {pumaguard-21.post27.dist-info → pumaguard-21.post83.dist-info}/licenses/LICENSE +0 -0
- {pumaguard-21.post27.dist-info → pumaguard-21.post83.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
allprojects {
|
|
2
|
+
repositories {
|
|
3
|
+
google()
|
|
4
|
+
mavenCentral()
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
val newBuildDir: Directory =
|
|
9
|
+
rootProject.layout.buildDirectory
|
|
10
|
+
.dir("../../build")
|
|
11
|
+
.get()
|
|
12
|
+
rootProject.layout.buildDirectory.value(newBuildDir)
|
|
13
|
+
|
|
14
|
+
subprojects {
|
|
15
|
+
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
|
|
16
|
+
project.layout.buildDirectory.value(newSubprojectBuildDir)
|
|
17
|
+
}
|
|
18
|
+
subprojects {
|
|
19
|
+
project.evaluationDependsOn(":app")
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
tasks.register<Delete>("clean") {
|
|
23
|
+
delete(rootProject.layout.buildDirectory)
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
pluginManagement {
|
|
2
|
+
val flutterSdkPath =
|
|
3
|
+
run {
|
|
4
|
+
val properties = java.util.Properties()
|
|
5
|
+
file("local.properties").inputStream().use { properties.load(it) }
|
|
6
|
+
val flutterSdkPath = properties.getProperty("flutter.sdk")
|
|
7
|
+
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
|
|
8
|
+
flutterSdkPath
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
|
|
12
|
+
|
|
13
|
+
repositories {
|
|
14
|
+
google()
|
|
15
|
+
mavenCentral()
|
|
16
|
+
gradlePluginPortal()
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
plugins {
|
|
21
|
+
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
|
22
|
+
id("com.android.application") version "8.11.1" apply false
|
|
23
|
+
id("org.jetbrains.kotlin.android") version "2.2.20" apply false
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
include(":app")
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Fonts Directory
|
|
2
|
+
|
|
3
|
+
This directory contains embedded fonts for the PumaGuard UI to work offline/air-gapped.
|
|
4
|
+
|
|
5
|
+
## Recommended Fonts
|
|
6
|
+
|
|
7
|
+
For optimal offline performance, download and place the following fonts in this directory:
|
|
8
|
+
|
|
9
|
+
### Roboto (Main UI Font)
|
|
10
|
+
- **Download**: https://fonts.google.com/download?family=Roboto
|
|
11
|
+
- **Files needed**:
|
|
12
|
+
- `Roboto-Regular.ttf`
|
|
13
|
+
- `Roboto-Medium.ttf`
|
|
14
|
+
- `Roboto-Bold.ttf`
|
|
15
|
+
- `Roboto-Light.ttf`
|
|
16
|
+
|
|
17
|
+
### Roboto Mono (Monospace Font)
|
|
18
|
+
- **Download**: https://fonts.google.com/download?family=Roboto+Mono
|
|
19
|
+
- **Files needed**:
|
|
20
|
+
- `RobotoMono-Regular.ttf`
|
|
21
|
+
- `RobotoMono-Medium.ttf`
|
|
22
|
+
- `RobotoMono-Bold.ttf`
|
|
23
|
+
|
|
24
|
+
## Alternative: Use Material Icons Only
|
|
25
|
+
|
|
26
|
+
If you don't need custom fonts, the app will fall back to system fonts. The Material Icons font is already included via `uses-material-design: true` in pubspec.yaml.
|
|
27
|
+
|
|
28
|
+
## Installation Steps
|
|
29
|
+
|
|
30
|
+
1. Download the font files from Google Fonts
|
|
31
|
+
2. Extract the TTF files from the downloaded ZIP
|
|
32
|
+
3. Copy the TTF files to this directory
|
|
33
|
+
4. The fonts are already configured in `pubspec.yaml`
|
|
34
|
+
5. Run `flutter pub get` and rebuild
|
|
35
|
+
|
|
36
|
+
## License
|
|
37
|
+
|
|
38
|
+
Both Roboto and Roboto Mono are licensed under the Apache License 2.0, which allows for commercial use, modification, and distribution.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# Script to download Google Fonts for PumaGuard UI offline use
|
|
5
|
+
# Fonts are licensed under Apache License 2.0
|
|
6
|
+
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
+
cd "$SCRIPT_DIR"
|
|
9
|
+
|
|
10
|
+
echo "Downloading fonts for PumaGuard UI..."
|
|
11
|
+
|
|
12
|
+
# Base URL for Google Fonts GitHub repo
|
|
13
|
+
ROBOTO_BASE="https://github.com/google/roboto/raw/main/src/hinted"
|
|
14
|
+
ROBOTO_MONO_BASE="https://github.com/googlefonts/RobotoMono/raw/main/fonts/ttf"
|
|
15
|
+
|
|
16
|
+
# Download Roboto fonts
|
|
17
|
+
echo "Downloading Roboto Regular..."
|
|
18
|
+
curl -L "$ROBOTO_BASE/Roboto-Regular.ttf" -o Roboto-Regular.ttf
|
|
19
|
+
|
|
20
|
+
echo "Downloading Roboto Medium..."
|
|
21
|
+
curl -L "$ROBOTO_BASE/Roboto-Medium.ttf" -o Roboto-Medium.ttf
|
|
22
|
+
|
|
23
|
+
echo "Downloading Roboto Bold..."
|
|
24
|
+
curl -L "$ROBOTO_BASE/Roboto-Bold.ttf" -o Roboto-Bold.ttf
|
|
25
|
+
|
|
26
|
+
echo "Downloading Roboto Light..."
|
|
27
|
+
curl -L "$ROBOTO_BASE/Roboto-Light.ttf" -o Roboto-Light.ttf
|
|
28
|
+
|
|
29
|
+
# Download Roboto Mono fonts
|
|
30
|
+
echo "Downloading Roboto Mono Regular..."
|
|
31
|
+
curl -L "$ROBOTO_MONO_BASE/RobotoMono-Regular.ttf" -o RobotoMono-Regular.ttf
|
|
32
|
+
|
|
33
|
+
echo "Downloading Roboto Mono Medium..."
|
|
34
|
+
curl -L "$ROBOTO_MONO_BASE/RobotoMono-Medium.ttf" -o RobotoMono-Medium.ttf
|
|
35
|
+
|
|
36
|
+
echo "Downloading Roboto Mono Bold..."
|
|
37
|
+
curl -L "$ROBOTO_MONO_BASE/RobotoMono-Bold.ttf" -o RobotoMono-Bold.ttf
|
|
38
|
+
|
|
39
|
+
# Check if we got all the files
|
|
40
|
+
EXPECTED_FILES=(
|
|
41
|
+
"Roboto-Regular.ttf"
|
|
42
|
+
"Roboto-Medium.ttf"
|
|
43
|
+
"Roboto-Bold.ttf"
|
|
44
|
+
"Roboto-Light.ttf"
|
|
45
|
+
"RobotoMono-Regular.ttf"
|
|
46
|
+
"RobotoMono-Medium.ttf"
|
|
47
|
+
"RobotoMono-Bold.ttf"
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
MISSING_FILES=()
|
|
51
|
+
for file in "${EXPECTED_FILES[@]}"; do
|
|
52
|
+
if [ ! -f "$file" ]; then
|
|
53
|
+
MISSING_FILES+=("$file")
|
|
54
|
+
fi
|
|
55
|
+
done
|
|
56
|
+
|
|
57
|
+
if [ ${#MISSING_FILES[@]} -eq 0 ]; then
|
|
58
|
+
echo ""
|
|
59
|
+
echo "✓ All fonts downloaded successfully!"
|
|
60
|
+
echo ""
|
|
61
|
+
echo "Downloaded files:"
|
|
62
|
+
ls -lh *.ttf
|
|
63
|
+
echo ""
|
|
64
|
+
echo "Next steps:"
|
|
65
|
+
echo "1. Run 'flutter pub get' in the pumaguard-ui directory"
|
|
66
|
+
echo "2. Rebuild the app with 'make build-ui'"
|
|
67
|
+
else
|
|
68
|
+
echo ""
|
|
69
|
+
echo "⚠ Warning: Some font files were not found:"
|
|
70
|
+
printf ' - %s\n' "${MISSING_FILES[@]}"
|
|
71
|
+
echo ""
|
|
72
|
+
echo "You may need to download fonts manually from:"
|
|
73
|
+
echo "- https://fonts.google.com/specimen/Roboto"
|
|
74
|
+
echo "- https://fonts.google.com/specimen/Roboto+Mono"
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
**/dgph
|
|
2
|
+
*.mode1v3
|
|
3
|
+
*.mode2v3
|
|
4
|
+
*.moved-aside
|
|
5
|
+
*.pbxuser
|
|
6
|
+
*.perspectivev3
|
|
7
|
+
**/*sync/
|
|
8
|
+
.sconsign.dblite
|
|
9
|
+
.tags*
|
|
10
|
+
**/.vagrant/
|
|
11
|
+
**/DerivedData/
|
|
12
|
+
Icon?
|
|
13
|
+
**/Pods/
|
|
14
|
+
**/.symlinks/
|
|
15
|
+
profile
|
|
16
|
+
xcuserdata
|
|
17
|
+
**/.generated/
|
|
18
|
+
Flutter/App.framework
|
|
19
|
+
Flutter/Flutter.framework
|
|
20
|
+
Flutter/Flutter.podspec
|
|
21
|
+
Flutter/Generated.xcconfig
|
|
22
|
+
Flutter/ephemeral/
|
|
23
|
+
Flutter/app.flx
|
|
24
|
+
Flutter/app.zip
|
|
25
|
+
Flutter/flutter_assets/
|
|
26
|
+
Flutter/flutter_export_environment.sh
|
|
27
|
+
ServiceDefinitions.json
|
|
28
|
+
Runner/GeneratedPluginRegistrant.*
|
|
29
|
+
|
|
30
|
+
# Exceptions to above rules.
|
|
31
|
+
!default.mode1v3
|
|
32
|
+
!default.mode2v3
|
|
33
|
+
!default.pbxuser
|
|
34
|
+
!default.perspectivev3
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>en</string>
|
|
7
|
+
<key>CFBundleExecutable</key>
|
|
8
|
+
<string>App</string>
|
|
9
|
+
<key>CFBundleIdentifier</key>
|
|
10
|
+
<string>io.flutter.flutter.app</string>
|
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
12
|
+
<string>6.0</string>
|
|
13
|
+
<key>CFBundleName</key>
|
|
14
|
+
<string>App</string>
|
|
15
|
+
<key>CFBundlePackageType</key>
|
|
16
|
+
<string>FMWK</string>
|
|
17
|
+
<key>CFBundleShortVersionString</key>
|
|
18
|
+
<string>1.0</string>
|
|
19
|
+
<key>CFBundleSignature</key>
|
|
20
|
+
<string>????</string>
|
|
21
|
+
<key>CFBundleVersion</key>
|
|
22
|
+
<string>1.0</string>
|
|
23
|
+
<key>MinimumOSVersion</key>
|
|
24
|
+
<string>13.0</string>
|
|
25
|
+
</dict>
|
|
26
|
+
</plist>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#include "Generated.xcconfig"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#include "Generated.xcconfig"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Flutter
|
|
2
|
+
import UIKit
|
|
3
|
+
|
|
4
|
+
@main
|
|
5
|
+
@objc class AppDelegate: FlutterAppDelegate {
|
|
6
|
+
override func application(
|
|
7
|
+
_ application: UIApplication,
|
|
8
|
+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
|
9
|
+
) -> Bool {
|
|
10
|
+
GeneratedPluginRegistrant.register(with: self)
|
|
11
|
+
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images" : [
|
|
3
|
+
{
|
|
4
|
+
"size" : "20x20",
|
|
5
|
+
"idiom" : "iphone",
|
|
6
|
+
"filename" : "Icon-App-20x20@2x.png",
|
|
7
|
+
"scale" : "2x"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"size" : "20x20",
|
|
11
|
+
"idiom" : "iphone",
|
|
12
|
+
"filename" : "Icon-App-20x20@3x.png",
|
|
13
|
+
"scale" : "3x"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"size" : "29x29",
|
|
17
|
+
"idiom" : "iphone",
|
|
18
|
+
"filename" : "Icon-App-29x29@1x.png",
|
|
19
|
+
"scale" : "1x"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"size" : "29x29",
|
|
23
|
+
"idiom" : "iphone",
|
|
24
|
+
"filename" : "Icon-App-29x29@2x.png",
|
|
25
|
+
"scale" : "2x"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"size" : "29x29",
|
|
29
|
+
"idiom" : "iphone",
|
|
30
|
+
"filename" : "Icon-App-29x29@3x.png",
|
|
31
|
+
"scale" : "3x"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"size" : "40x40",
|
|
35
|
+
"idiom" : "iphone",
|
|
36
|
+
"filename" : "Icon-App-40x40@2x.png",
|
|
37
|
+
"scale" : "2x"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"size" : "40x40",
|
|
41
|
+
"idiom" : "iphone",
|
|
42
|
+
"filename" : "Icon-App-40x40@3x.png",
|
|
43
|
+
"scale" : "3x"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"size" : "60x60",
|
|
47
|
+
"idiom" : "iphone",
|
|
48
|
+
"filename" : "Icon-App-60x60@2x.png",
|
|
49
|
+
"scale" : "2x"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"size" : "60x60",
|
|
53
|
+
"idiom" : "iphone",
|
|
54
|
+
"filename" : "Icon-App-60x60@3x.png",
|
|
55
|
+
"scale" : "3x"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"size" : "20x20",
|
|
59
|
+
"idiom" : "ipad",
|
|
60
|
+
"filename" : "Icon-App-20x20@1x.png",
|
|
61
|
+
"scale" : "1x"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"size" : "20x20",
|
|
65
|
+
"idiom" : "ipad",
|
|
66
|
+
"filename" : "Icon-App-20x20@2x.png",
|
|
67
|
+
"scale" : "2x"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"size" : "29x29",
|
|
71
|
+
"idiom" : "ipad",
|
|
72
|
+
"filename" : "Icon-App-29x29@1x.png",
|
|
73
|
+
"scale" : "1x"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"size" : "29x29",
|
|
77
|
+
"idiom" : "ipad",
|
|
78
|
+
"filename" : "Icon-App-29x29@2x.png",
|
|
79
|
+
"scale" : "2x"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"size" : "40x40",
|
|
83
|
+
"idiom" : "ipad",
|
|
84
|
+
"filename" : "Icon-App-40x40@1x.png",
|
|
85
|
+
"scale" : "1x"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"size" : "40x40",
|
|
89
|
+
"idiom" : "ipad",
|
|
90
|
+
"filename" : "Icon-App-40x40@2x.png",
|
|
91
|
+
"scale" : "2x"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"size" : "76x76",
|
|
95
|
+
"idiom" : "ipad",
|
|
96
|
+
"filename" : "Icon-App-76x76@1x.png",
|
|
97
|
+
"scale" : "1x"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"size" : "76x76",
|
|
101
|
+
"idiom" : "ipad",
|
|
102
|
+
"filename" : "Icon-App-76x76@2x.png",
|
|
103
|
+
"scale" : "2x"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"size" : "83.5x83.5",
|
|
107
|
+
"idiom" : "ipad",
|
|
108
|
+
"filename" : "Icon-App-83.5x83.5@2x.png",
|
|
109
|
+
"scale" : "2x"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"size" : "1024x1024",
|
|
113
|
+
"idiom" : "ios-marketing",
|
|
114
|
+
"filename" : "Icon-App-1024x1024@1x.png",
|
|
115
|
+
"scale" : "1x"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"info" : {
|
|
119
|
+
"version" : 1,
|
|
120
|
+
"author" : "xcode"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images" : [
|
|
3
|
+
{
|
|
4
|
+
"idiom" : "universal",
|
|
5
|
+
"filename" : "LaunchImage.png",
|
|
6
|
+
"scale" : "1x"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"idiom" : "universal",
|
|
10
|
+
"filename" : "LaunchImage@2x.png",
|
|
11
|
+
"scale" : "2x"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"idiom" : "universal",
|
|
15
|
+
"filename" : "LaunchImage@3x.png",
|
|
16
|
+
"scale" : "3x"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"info" : {
|
|
20
|
+
"version" : 1,
|
|
21
|
+
"author" : "xcode"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Launch Screen Assets
|
|
2
|
+
|
|
3
|
+
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
|
|
4
|
+
|
|
5
|
+
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.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
|
3
|
+
<dependencies>
|
|
4
|
+
<deployment identifier="iOS"/>
|
|
5
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
|
|
6
|
+
</dependencies>
|
|
7
|
+
<scenes>
|
|
8
|
+
<!--View Controller-->
|
|
9
|
+
<scene sceneID="EHf-IW-A2E">
|
|
10
|
+
<objects>
|
|
11
|
+
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
|
12
|
+
<layoutGuides>
|
|
13
|
+
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
|
|
14
|
+
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
|
|
15
|
+
</layoutGuides>
|
|
16
|
+
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
|
17
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
18
|
+
<subviews>
|
|
19
|
+
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
|
|
20
|
+
</imageView>
|
|
21
|
+
</subviews>
|
|
22
|
+
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
23
|
+
<constraints>
|
|
24
|
+
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
|
|
25
|
+
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
|
|
26
|
+
</constraints>
|
|
27
|
+
</view>
|
|
28
|
+
</viewController>
|
|
29
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
30
|
+
</objects>
|
|
31
|
+
<point key="canvasLocation" x="53" y="375"/>
|
|
32
|
+
</scene>
|
|
33
|
+
</scenes>
|
|
34
|
+
<resources>
|
|
35
|
+
<image name="LaunchImage" width="168" height="185"/>
|
|
36
|
+
</resources>
|
|
37
|
+
</document>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
|
|
3
|
+
<dependencies>
|
|
4
|
+
<deployment identifier="iOS"/>
|
|
5
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
|
6
|
+
</dependencies>
|
|
7
|
+
<scenes>
|
|
8
|
+
<!--Flutter View Controller-->
|
|
9
|
+
<scene sceneID="tne-QT-ifu">
|
|
10
|
+
<objects>
|
|
11
|
+
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
|
|
12
|
+
<layoutGuides>
|
|
13
|
+
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
|
14
|
+
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
|
15
|
+
</layoutGuides>
|
|
16
|
+
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
|
17
|
+
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
|
18
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
19
|
+
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
|
20
|
+
</view>
|
|
21
|
+
</viewController>
|
|
22
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
|
23
|
+
</objects>
|
|
24
|
+
</scene>
|
|
25
|
+
</scenes>
|
|
26
|
+
</document>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
7
|
+
<key>CFBundleDisplayName</key>
|
|
8
|
+
<string>Pumaguard Ui</string>
|
|
9
|
+
<key>CFBundleExecutable</key>
|
|
10
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
11
|
+
<key>CFBundleIdentifier</key>
|
|
12
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
13
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
|
+
<string>6.0</string>
|
|
15
|
+
<key>CFBundleName</key>
|
|
16
|
+
<string>pumaguard_ui</string>
|
|
17
|
+
<key>CFBundlePackageType</key>
|
|
18
|
+
<string>APPL</string>
|
|
19
|
+
<key>CFBundleShortVersionString</key>
|
|
20
|
+
<string>$(FLUTTER_BUILD_NAME)</string>
|
|
21
|
+
<key>CFBundleSignature</key>
|
|
22
|
+
<string>????</string>
|
|
23
|
+
<key>CFBundleVersion</key>
|
|
24
|
+
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
|
25
|
+
<key>LSRequiresIPhoneOS</key>
|
|
26
|
+
<true/>
|
|
27
|
+
<key>UILaunchStoryboardName</key>
|
|
28
|
+
<string>LaunchScreen</string>
|
|
29
|
+
<key>UIMainStoryboardFile</key>
|
|
30
|
+
<string>Main</string>
|
|
31
|
+
<key>UISupportedInterfaceOrientations</key>
|
|
32
|
+
<array>
|
|
33
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
34
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
35
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
36
|
+
</array>
|
|
37
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
38
|
+
<array>
|
|
39
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
40
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
41
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
42
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
43
|
+
</array>
|
|
44
|
+
<key>CADisableMinimumFrameDurationOnPhone</key>
|
|
45
|
+
<true/>
|
|
46
|
+
<key>UIApplicationSupportsIndirectInputEvents</key>
|
|
47
|
+
<true/>
|
|
48
|
+
</dict>
|
|
49
|
+
</plist>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#import "GeneratedPluginRegistrant.h"
|