@@ -0,0 +1,18 @@ | |||
# This is a generated file; do not edit or check into version control. | |||
connectivity_plus=/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus-2.3.9/ | |||
connectivity_plus_linux=/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_linux-1.3.1/ | |||
connectivity_plus_macos=/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_macos-1.2.6/ | |||
connectivity_plus_web=/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_web-1.2.5/ | |||
connectivity_plus_windows=/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_windows-1.2.2/ | |||
path_provider=/home/micbook/.pub-cache/hosted/pub.dev/path_provider-2.0.13/ | |||
path_provider_android=/home/micbook/.pub-cache/hosted/pub.dev/path_provider_android-2.0.23/ | |||
path_provider_foundation=/home/micbook/.pub-cache/hosted/pub.dev/path_provider_foundation-2.1.2/ | |||
path_provider_linux=/home/micbook/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.9/ | |||
path_provider_windows=/home/micbook/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.4/ | |||
shared_preferences=/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences-2.0.18/ | |||
shared_preferences_android=/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_android-2.0.16/ | |||
shared_preferences_foundation=/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.4/ | |||
shared_preferences_linux=/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.1.4/ | |||
shared_preferences_web=/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_web-2.0.5/ | |||
shared_preferences_windows=/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.1.4/ | |||
sqflite=/home/micbook/.pub-cache/hosted/pub.dev/sqflite-2.2.5/ |
@@ -0,0 +1 @@ | |||
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus-2.3.9/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/home/micbook/.pub-cache/hosted/pub.dev/path_provider_foundation-2.1.2/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.4/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/micbook/.pub-cache/hosted/pub.dev/sqflite-2.2.5/","native_build":true,"dependencies":[]}],"android":[{"name":"connectivity_plus","path":"/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus-2.3.9/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/home/micbook/.pub-cache/hosted/pub.dev/path_provider_android-2.0.23/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_android-2.0.16/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/micbook/.pub-cache/hosted/pub.dev/sqflite-2.2.5/","native_build":true,"dependencies":[]}],"macos":[{"name":"connectivity_plus_macos","path":"/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_macos-1.2.6/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/home/micbook/.pub-cache/hosted/pub.dev/path_provider_foundation-2.1.2/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.1.4/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/micbook/.pub-cache/hosted/pub.dev/sqflite-2.2.5/","native_build":true,"dependencies":[]}],"linux":[{"name":"connectivity_plus_linux","path":"/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_linux-1.3.1/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/home/micbook/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.9/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.1.4/","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"connectivity_plus_windows","path":"/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_windows-1.2.2/","native_build":true,"dependencies":[]},{"name":"path_provider_windows","path":"/home/micbook/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.4/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.1.4/","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"connectivity_plus_web","path":"/home/micbook/.pub-cache/hosted/pub.dev/connectivity_plus_web-1.2.5/","dependencies":[]},{"name":"shared_preferences_web","path":"/home/micbook/.pub-cache/hosted/pub.dev/shared_preferences_web-2.0.5/","dependencies":[]}]},"dependencyGraph":[{"name":"connectivity_plus","dependencies":["connectivity_plus_linux","connectivity_plus_macos","connectivity_plus_web","connectivity_plus_windows"]},{"name":"connectivity_plus_linux","dependencies":[]},{"name":"connectivity_plus_macos","dependencies":[]},{"name":"connectivity_plus_web","dependencies":[]},{"name":"connectivity_plus_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2023-03-07 15:37:57.534826","version":"3.7.6"} |
@@ -0,0 +1,8 @@ | |||
/.dart_tool/ | |||
/.idea/ | |||
/build/ | |||
/.vscode/ | |||
!/pubspec.lock | |||
!/.packages | |||
!/.flutter-plugins-dependencies | |||
!/.flutter-plugins |
@@ -0,0 +1,94 @@ | |||
# michele_s_application8 | |||
<div> | |||
<h1 align="center">Getting Started with Flutter 🚀 </h1> | |||
<strong> | |||
Generated with ❤️ from DhiWise | |||
</strong> | |||
<p> | |||
This is the documentation of Flutter Applications. | |||
It contains all the information you need to get started with | |||
and make changes to your App | |||
</p> | |||
</div> | |||
### Table of Contents | |||
- [System Requirements](#system-requirements) | |||
- [Figma design guidelines for better accuracy](#figma-design-guideline-for-better-accuracy) | |||
- [App Navigations](#app-navigations) | |||
- [Project Structure](#project-structure) | |||
- [How you can do code formatting?](#how-you-can-do-code-formatting) | |||
- [How you can improve the readability of code?](#how-you-can-improve-the-readability-of-code) | |||
- [Libraries and tools used](#libraries-and-tools-used) | |||
- [Support](#support) | |||
### System Requirements | |||
Dart SDK Version 2.18.0 or greater. | |||
Flutter SDK Version 3.3.0 or greater. | |||
### Figma design guidelines for better accuracy | |||
Read our guidelines to increase the accuracy of design conversion to code by optimizing Figma designs. | |||
https://docs.dhiwise.com/docs/Designguidelines/intro | |||
### App Navigations | |||
Check your app's UI from the AppNavigation screen of your app. | |||
### Project Structure | |||
After successful build, your application structure should look like this: | |||
``` | |||
. | |||
├── android - contains files and folders required for running the application on an Android operating system. | |||
├── assets - contains all images and fonts of your application. | |||
├── ios - contains files required by the application to run the dart code on iOS platforms. | |||
├── lib - Most important folder in the project, used to write most of the Dart code. | |||
├── main.dart - starting point of the application | |||
├── core | |||
│ ├── app_export.dart - contains commonly used file imports | |||
│ ├── constants - contains all constants classes | |||
│ ├── errors - contains error handling classes | |||
│ ├── network - contains network related classes | |||
│ └── utils - contains common files and utilities of project | |||
├── data | |||
│ ├── apiClient - contains API calling methods | |||
│ ├── models - contains request/response models | |||
│ └── repository - network repository | |||
├── localization - contains localization classes | |||
├── presentation - contains all screens and screen controllers | |||
│ └── screens - contains all screens | |||
├── routes - contains all the routes of application | |||
└── theme - contains app theme and decoration classes | |||
└── widgets - contains all custom widget classes | |||
``` | |||
### How you can do code formatting? | |||
- if your code is not formatted then run following command in your terminal to format code | |||
``` | |||
dart format . | |||
``` | |||
### How you can improve the readability of code? | |||
Resolve the errors and warnings that are shown in the application. | |||
### Libraries and tools used | |||
- get - State management | |||
https://pub.dev/packages/get | |||
- connectivity_plus - For status of network connectivity | |||
https://pub.dev/packages/connectivity_plus | |||
- shared_preferences - Provide persistent storage for simple data | |||
https://pub.dev/packages/shared_preferences | |||
- cached_network_image - For storing internet image into cache | |||
https://pub.dev/packages/cached_network_image | |||
### Support | |||
If you have problems or questions go to our Discord channel, we will then try to help you as quickly as possible: https://discord.com/invite/rFMnCG5MZ7 |
@@ -0,0 +1,11 @@ | |||
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 |
@@ -0,0 +1,67 @@ | |||
plugins{ | |||
id 'com.android.application' | |||
id 'kotlin-android' | |||
} | |||
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 from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" | |||
android { | |||
compileSdkVersion 33 | |||
sourceSets { | |||
main.java.srcDirs += 'src/main/kotlin' | |||
} | |||
lintOptions { | |||
disable 'InvalidPackage' | |||
} | |||
defaultConfig { | |||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). | |||
applicationId "com.michelesapplication.app" | |||
minSdkVersion 21 | |||
targetSdkVersion 33 | |||
multiDexEnabled true | |||
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" | |||
implementation "androidx.multidex:multidex:2.0.1" | |||
} |
@@ -0,0 +1,7 @@ | |||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |||
package="com.michelesapplication.app"> | |||
<!-- Flutter needs it to communicate with the running application | |||
to allow setting breakpoints, to provide hot reload, etc. | |||
--> | |||
<uses-permission android:name="android.permission.INTERNET"/> | |||
</manifest> |
@@ -0,0 +1,47 @@ | |||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |||
package="com.michelesapplication.app"> | |||
<!-- io.flutter.app.FlutterApplication is an android.app.Application that | |||
calls FlutterMain.startInitialization(this); in its onCreate method. | |||
In most cases you can leave this as-is, but you if you want to provide | |||
additional functionality it is fine to subclass or reimplement | |||
FlutterApplication and put your custom class here. --> | |||
<uses-permission android:name="android.permission.INTERNET"/> | |||
<application | |||
android:label="WebON" | |||
android:icon="@mipmap/ic_launcher"> | |||
<activity | |||
android:name=".MainActivity" | |||
android:launchMode="singleTop" | |||
android:theme="@style/LaunchTheme" | |||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" | |||
android:hardwareAccelerated="true" | |||
android:windowSoftInputMode="adjustResize" | |||
android:exported="true"> | |||
<!-- Specifies an Android theme to apply to this Activity as soon as | |||
the Android process has started. This theme is visible to the user | |||
while the Flutter UI initializes. After that, this theme continues | |||
to determine the Window background behind the Flutter UI. --> | |||
<meta-data | |||
android:name="io.flutter.embedding.android.NormalTheme" | |||
android:resource="@style/NormalTheme" | |||
/> | |||
<!-- Displays an Android View that continues showing the launch screen | |||
Drawable until Flutter paints its first frame, then this splash | |||
screen fades out. A splash screen is useful to avoid any visual | |||
gap between the end of Android's launch screen and the painting of | |||
Flutter's first frame. --> | |||
<intent-filter> | |||
<action android:name="android.intent.action.MAIN"/> | |||
<category android:name="android.intent.category.LAUNCHER"/> | |||
</intent-filter> | |||
</activity> | |||
<!-- Don't delete the meta-data below. | |||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> | |||
<meta-data | |||
android:name="flutterEmbedding" | |||
android:value="2" /> | |||
</application> | |||
</manifest> |
@@ -0,0 +1,6 @@ | |||
package com.michelesapplication.app | |||
import io.flutter.embedding.android.FlutterActivity | |||
class MainActivity: FlutterActivity() { | |||
} |
@@ -0,0 +1,12 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!-- Modify this file to customize your launch splash screen --> | |||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<item android:drawable="@android:color/white" /> | |||
<!-- You can insert your own image assets here --> | |||
<!-- <item> | |||
<bitmap | |||
android:gravity="center" | |||
android:src="@mipmap/launch_image" /> | |||
</item> --> | |||
</layer-list> |
@@ -0,0 +1,5 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<resources> | |||
<string name="app_name">michele_s_application8</string> | |||
</resources> |
@@ -0,0 +1,18 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<resources> | |||
<!-- Theme applied to the Android Window while the process is starting --> | |||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> | |||
<!-- Show a splash screen on the activity. Automatically removed when | |||
Flutter draws its first frame --> | |||
<item name="android:windowBackground">@drawable/launch_background</item> | |||
</style> | |||
<!-- Theme applied to the Android Window as soon as the process has started. | |||
This theme determines the color of the Android Window while your | |||
Flutter UI initializes, as well as behind your Flutter UI while its | |||
running. | |||
This Theme is only used starting with V2 of Flutter's Android embedding. --> | |||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar"> | |||
<item name="android:windowBackground">@android:color/white</item> | |||
</style> | |||
</resources> |
@@ -0,0 +1,7 @@ | |||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |||
package="com.michelesapplication.app"> | |||
<!-- Flutter needs it to communicate with the running application | |||
to allow setting breakpoints, to provide hot reload, etc. | |||
--> | |||
<uses-permission android:name="android.permission.INTERNET"/> | |||
</manifest> |
@@ -0,0 +1,29 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<module type="JAVA_MODULE" version="4"> | |||
<component name="FacetManager"> | |||
<facet type="android" name="Android"> | |||
<configuration> | |||
<option name="ALLOW_USER_CONFIGURATION" value="false" /> | |||
<option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/gen" /> | |||
<option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/gen" /> | |||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/app/src/main/AndroidManifest.xml" /> | |||
<option name="RES_FOLDER_RELATIVE_PATH" value="/app/src/main/res" /> | |||
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/app/src/main/assets" /> | |||
<option name="LIBS_FOLDER_RELATIVE_PATH" value="/app/src/main/libs" /> | |||
<option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH" value="/app/src/main/proguard_logs" /> | |||
</configuration> | |||
</facet> | |||
</component> | |||
<component name="NewModuleRootManager" inherit-compiler-output="true"> | |||
<exclude-output /> | |||
<content url="file://$MODULE_DIR$"> | |||
<sourceFolder url="file://$MODULE_DIR$/app/src/main/java" isTestSource="false" /> | |||
<sourceFolder url="file://$MODULE_DIR$/app/src/main/kotlin" isTestSource="false" /> | |||
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" /> | |||
</content> | |||
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" /> | |||
<orderEntry type="sourceFolder" forTests="false" /> | |||
<orderEntry type="library" name="Flutter for Android" level="project" /> | |||
<orderEntry type="library" name="KotlinJavaRuntime" level="project" /> | |||
</component> | |||
</module> |
@@ -0,0 +1,31 @@ | |||
buildscript { | |||
ext.kotlin_version = '1.7.20' | |||
repositories { | |||
google() | |||
jcenter() | |||
} | |||
dependencies { | |||
classpath 'com.android.tools.build:gradle:7.1.2' | |||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | |||
} | |||
} | |||
allprojects { | |||
repositories { | |||
google() | |||
jcenter() | |||
} | |||
} | |||
rootProject.buildDir = '../build' | |||
subprojects { | |||
project.buildDir = "${rootProject.buildDir}/${project.name}" | |||
} | |||
subprojects { | |||
project.evaluationDependsOn(':app') | |||
} | |||
task clean(type: Delete) { | |||
delete rootProject.buildDir | |||
} |
@@ -0,0 +1,29 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<module type="JAVA_MODULE" version="4"> | |||
<component name="FacetManager"> | |||
<facet type="android" name="Android"> | |||
<configuration> | |||
<option name="ALLOW_USER_CONFIGURATION" value="false" /> | |||
<option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/gen" /> | |||
<option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/gen" /> | |||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/app/src/main/AndroidManifest.xml" /> | |||
<option name="RES_FOLDER_RELATIVE_PATH" value="/app/src/main/res" /> | |||
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/app/src/main/assets" /> | |||
<option name="LIBS_FOLDER_RELATIVE_PATH" value="/app/src/main/libs" /> | |||
<option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH" value="/app/src/main/proguard_logs" /> | |||
</configuration> | |||
</facet> | |||
</component> | |||
<component name="NewModuleRootManager" inherit-compiler-output="true"> | |||
<exclude-output /> | |||
<content url="file://$MODULE_DIR$"> | |||
<sourceFolder url="file://$MODULE_DIR$/app/src/main/java" isTestSource="false" /> | |||
<sourceFolder url="file://$MODULE_DIR$/app/src/main/kotlin" isTestSource="false" /> | |||
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" /> | |||
</content> | |||
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" /> | |||
<orderEntry type="sourceFolder" forTests="false" /> | |||
<orderEntry type="library" name="Flutter for Android" level="project" /> | |||
<orderEntry type="library" name="KotlinJavaRuntime" level="project" /> | |||
</component> | |||
</module> |
@@ -0,0 +1,3 @@ | |||
org.gradle.jvmargs=-Xmx1536M | |||
android.useAndroidX=true | |||
android.enableJetifier=true |
@@ -0,0 +1,6 @@ | |||
#Fri Jun 23 08:50:38 CEST 2017 | |||
distributionBase=GRADLE_USER_HOME | |||
distributionPath=wrapper/dists | |||
zipStoreBase=GRADLE_USER_HOME | |||
zipStorePath=wrapper/dists | |||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip |
@@ -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" |
@@ -0,0 +1,11 @@ | |||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> | |||
<g clip-path="url(#clip0_81_197)"> | |||
<path d="M13.8833 6.69546C13.8075 6.49188 11.9583 1.71496 6.99999 1.71496C2.04166 1.71496 0.190166 6.49188 0.116667 6.69546L0 6.99996L0.116667 7.30446C0.1925 7.50804 2.04166 12.285 6.99999 12.285C11.9583 12.285 13.8098 7.50804 13.8833 7.30446L14 6.99996L13.8833 6.69546ZM6.99999 10.5495C3.8395 10.5495 2.30941 7.91637 1.8725 6.99996C2.31058 6.08121 3.84125 3.45038 6.99999 3.45038C10.1587 3.45038 11.6888 6.08063 12.1275 6.99996C11.6888 7.91929 10.1587 10.5495 6.99999 10.5495Z" fill="#D9D9D9"/> | |||
<path d="M6.99999 9.33336C8.28865 9.33336 9.33332 8.28869 9.33332 7.00003C9.33332 5.71137 8.28865 4.6667 6.99999 4.6667C5.71132 4.6667 4.66666 5.71137 4.66666 7.00003C4.66666 8.28869 5.71132 9.33336 6.99999 9.33336Z" fill="#CACACA"/> | |||
</g> | |||
<defs> | |||
<clipPath id="clip0_81_197"> | |||
<rect width="13.5875" height="13.5875" fill="white" transform="scale(1.03036)"/> | |||
</clipPath> | |||
</defs> | |||
</svg> |
@@ -0,0 +1,32 @@ | |||
*.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/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 |
@@ -0,0 +1,26 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>CFBundleDevelopmentRegion</key> | |||
<string>$(DEVELOPMENT_LANGUAGE)</string> | |||
<key>CFBundleExecutable</key> | |||
<string>App</string> | |||
<key>CFBundleIdentifier</key> | |||
<string>io.flutter.flutter.app</string> | |||
<key>CFBundleInfoDictionaryVersion</key> | |||
<string>6.0</string> | |||
<key>CFBundleName</key> | |||
<string>App</string> | |||
<key>CFBundlePackageType</key> | |||
<string>FMWK</string> | |||
<key>CFBundleShortVersionString</key> | |||
<string>1.0</string> | |||
<key>CFBundleSignature</key> | |||
<string>????</string> | |||
<key>CFBundleVersion</key> | |||
<string>1.0</string> | |||
<key>MinimumOSVersion</key> | |||
<string>9.0</string> | |||
</dict> | |||
</plist> |
@@ -0,0 +1 @@ | |||
#include "Generated.xcconfig" |
@@ -0,0 +1 @@ | |||
#include "Generated.xcconfig" |
@@ -0,0 +1,495 @@ | |||
// !$*UTF8*$! | |||
{ | |||
archiveVersion = 1; | |||
classes = { | |||
}; | |||
objectVersion = 46; | |||
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 = "<group>"; }; | |||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; | |||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; }; | |||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; }; | |||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; | |||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; }; | |||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; }; | |||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; }; | |||
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 = "<group>"; }; | |||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | |||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | |||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | |||
/* 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 = "<group>"; | |||
}; | |||
97C146E51CF9000F007C117D = { | |||
isa = PBXGroup; | |||
children = ( | |||
9740EEB11CF90186004384FC /* Flutter */, | |||
97C146F01CF9000F007C117D /* Runner */, | |||
97C146EF1CF9000F007C117D /* Products */, | |||
); | |||
sourceTree = "<group>"; | |||
}; | |||
97C146EF1CF9000F007C117D /* Products */ = { | |||
isa = PBXGroup; | |||
children = ( | |||
97C146EE1CF9000F007C117D /* Runner.app */, | |||
); | |||
name = Products; | |||
sourceTree = "<group>"; | |||
}; | |||
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 = "<group>"; | |||
}; | |||
/* 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 = 1020; | |||
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; | |||
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; | |||
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 = "<group>"; | |||
}; | |||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { | |||
isa = PBXVariantGroup; | |||
children = ( | |||
97C147001CF9000F007C117D /* Base */, | |||
); | |||
name = LaunchScreen.storyboard; | |||
sourceTree = "<group>"; | |||
}; | |||
/* 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 = 10.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; | |||
FRAMEWORK_SEARCH_PATHS = ( | |||
"$(inherited)", | |||
"$(PROJECT_DIR)/Flutter", | |||
); | |||
INFOPLIST_FILE = Runner/Info.plist; | |||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | |||
LIBRARY_SEARCH_PATHS = ( | |||
"$(inherited)", | |||
"$(PROJECT_DIR)/Flutter", | |||
); | |||
PRODUCT_BUNDLE_IDENTIFIER = com.michelesapplication.app; | |||
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 = 10.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 = 10.0; | |||
MTL_ENABLE_DEBUG_INFO = NO; | |||
SDKROOT = iphoneos; | |||
SUPPORTED_PLATFORMS = iphoneos; | |||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; | |||
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; | |||
FRAMEWORK_SEARCH_PATHS = ( | |||
"$(inherited)", | |||
"$(PROJECT_DIR)/Flutter", | |||
); | |||
INFOPLIST_FILE = Runner/Info.plist; | |||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | |||
LIBRARY_SEARCH_PATHS = ( | |||
"$(inherited)", | |||
"$(PROJECT_DIR)/Flutter", | |||
); | |||
PRODUCT_BUNDLE_IDENTIFIER = com.michelesapplication.app; | |||
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; | |||
FRAMEWORK_SEARCH_PATHS = ( | |||
"$(inherited)", | |||
"$(PROJECT_DIR)/Flutter", | |||
); | |||
INFOPLIST_FILE = Runner/Info.plist; | |||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | |||
LIBRARY_SEARCH_PATHS = ( | |||
"$(inherited)", | |||
"$(PROJECT_DIR)/Flutter", | |||
); | |||
PRODUCT_BUNDLE_IDENTIFIER = com.michelesapplication.app; | |||
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 */; | |||
} |
@@ -0,0 +1,7 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<Workspace | |||
version = "1.0"> | |||
<FileRef | |||
location = "group:Runner.xcodeproj"> | |||
</FileRef> | |||
</Workspace> |
@@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>IDEDidComputeMac32BitWarning</key> | |||
<true/> | |||
</dict> | |||
</plist> |
@@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>PreviewsEnabled</key> | |||
<false/> | |||
</dict> | |||
</plist> |
@@ -0,0 +1,91 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<Scheme | |||
LastUpgradeVersion = "1020" | |||
version = "1.3"> | |||
<BuildAction | |||
parallelizeBuildables = "YES" | |||
buildImplicitDependencies = "YES"> | |||
<BuildActionEntries> | |||
<BuildActionEntry | |||
buildForTesting = "YES" | |||
buildForRunning = "YES" | |||
buildForProfiling = "YES" | |||
buildForArchiving = "YES" | |||
buildForAnalyzing = "YES"> | |||
<BuildableReference | |||
BuildableIdentifier = "primary" | |||
BlueprintIdentifier = "97C146ED1CF9000F007C117D" | |||
BuildableName = "Runner.app" | |||
BlueprintName = "Runner" | |||
ReferencedContainer = "container:Runner.xcodeproj"> | |||
</BuildableReference> | |||
</BuildActionEntry> | |||
</BuildActionEntries> | |||
</BuildAction> | |||
<TestAction | |||
buildConfiguration = "Debug" | |||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |||
shouldUseLaunchSchemeArgsEnv = "YES"> | |||
<Testables> | |||
</Testables> | |||
<MacroExpansion> | |||
<BuildableReference | |||
BuildableIdentifier = "primary" | |||
BlueprintIdentifier = "97C146ED1CF9000F007C117D" | |||
BuildableName = "Runner.app" | |||
BlueprintName = "Runner" | |||
ReferencedContainer = "container:Runner.xcodeproj"> | |||
</BuildableReference> | |||
</MacroExpansion> | |||
<AdditionalOptions> | |||
</AdditionalOptions> | |||
</TestAction> | |||
<LaunchAction | |||
buildConfiguration = "Debug" | |||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |||
launchStyle = "0" | |||
useCustomWorkingDirectory = "NO" | |||
ignoresPersistentStateOnLaunch = "NO" | |||
debugDocumentVersioning = "YES" | |||
debugServiceExtension = "internal" | |||
allowLocationSimulation = "YES"> | |||
<BuildableProductRunnable | |||
runnableDebuggingMode = "0"> | |||
<BuildableReference | |||
BuildableIdentifier = "primary" | |||
BlueprintIdentifier = "97C146ED1CF9000F007C117D" | |||
BuildableName = "Runner.app" | |||
BlueprintName = "Runner" | |||
ReferencedContainer = "container:Runner.xcodeproj"> | |||
</BuildableReference> | |||
</BuildableProductRunnable> | |||
<AdditionalOptions> | |||
</AdditionalOptions> | |||
</LaunchAction> | |||
<ProfileAction | |||
buildConfiguration = "Profile" | |||
shouldUseLaunchSchemeArgsEnv = "YES" | |||
savedToolIdentifier = "" | |||
useCustomWorkingDirectory = "NO" | |||
debugDocumentVersioning = "YES"> | |||
<BuildableProductRunnable | |||
runnableDebuggingMode = "0"> | |||
<BuildableReference | |||
BuildableIdentifier = "primary" | |||
BlueprintIdentifier = "97C146ED1CF9000F007C117D" | |||
BuildableName = "Runner.app" | |||
BlueprintName = "Runner" | |||
ReferencedContainer = "container:Runner.xcodeproj"> | |||
</BuildableReference> | |||
</BuildableProductRunnable> | |||
</ProfileAction> | |||
<AnalyzeAction | |||
buildConfiguration = "Debug"> | |||
</AnalyzeAction> | |||
<ArchiveAction | |||
buildConfiguration = "Release" | |||
revealArchiveInOrganizer = "YES"> | |||
</ArchiveAction> | |||
</Scheme> |
@@ -0,0 +1,7 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<Workspace | |||
version = "1.0"> | |||
<FileRef | |||
location = "group:Runner.xcodeproj"> | |||
</FileRef> | |||
</Workspace> |
@@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>IDEDidComputeMac32BitWarning</key> | |||
<true/> | |||
</dict> | |||
</plist> |
@@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>PreviewsEnabled</key> | |||
<false/> | |||
</dict> | |||
</plist> |
@@ -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) | |||
} | |||
} |
@@ -0,0 +1,98 @@ | |||
{ | |||
"images" : [ | |||
{ | |||
"size" : "20x20", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-20x20@1x.png", | |||
"scale" : "1x" | |||
}, | |||
{ | |||
"size" : "40x40", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-20x20@2x.png", | |||
"scale" : "2x" | |||
}, | |||
{ | |||
"size" : "60x60", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-20x20@3x.png", | |||
"scale" : "3x" | |||
}, | |||
{ | |||
"size" : "29x29", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-29x29@1x.png", | |||
"scale" : "1x" | |||
}, | |||
{ | |||
"size" : "58x58", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-29x29@2x.png", | |||
"scale" : "2x" | |||
}, | |||
{ | |||
"size" : "87x87", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-29x29@3x.png", | |||
"scale" : "3x" | |||
}, | |||
{ | |||
"size" : "40x40", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-40x40@1x.png", | |||
"scale" : "1x" | |||
}, | |||
{ | |||
"size" : "80x80", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-40x40@2x.png", | |||
"scale" : "2x" | |||
}, | |||
{ | |||
"size" : "120x120", | |||
"idiom" : "iphone", | |||
"filename" : "Icon-App-40x40@3x.png", | |||
"scale" : "3x" | |||
}, | |||
{ | |||
"size" : "60x60", | |||
"idiom" : "iphone", | |||
"filename" : "", | |||
"scale" : "2x" | |||
}, | |||
{ | |||
"size" : "60x60", | |||
"idiom" : "iphone", | |||
"filename" : "", | |||
"scale" : "3x" | |||
}, | |||
{ | |||
"size" : "76x76", | |||
"idiom" : "ipad", | |||
"filename" : "Icon-App-76x76@1x.png", | |||
"scale" : "1x" | |||
}, | |||
{ | |||
"size" : "152x152", | |||
"idiom" : "ipad", | |||
"filename" : "Icon-App-76x76@2x.png", | |||
"scale" : "2x" | |||
}, | |||
{ | |||
"size" : "167x167", | |||
"idiom" : "ipad", | |||
"filename" : "Icon-App-83.5x83.5@2x.png", | |||
"scale" : "2x" | |||
}, | |||
{ | |||
"size" : "1024x1024", | |||
"idiom" : "ipad", | |||
"filename" : "Icon-App-1024x1024@1x.png", | |||
"scale" : "1x" | |||
} | |||
], | |||
"info" : { | |||
"version" : 1, | |||
"author" : "ios_icon_set" | |||
} | |||
} |
@@ -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" | |||
} | |||
} |
@@ -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. |
@@ -0,0 +1,37 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<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"> | |||
<dependencies> | |||
<deployment identifier="iOS"/> | |||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> | |||
</dependencies> | |||
<scenes> | |||
<!--View Controller--> | |||
<scene sceneID="EHf-IW-A2E"> | |||
<objects> | |||
<viewController id="01J-lp-oVM" sceneMemberID="viewController"> | |||
<layoutGuides> | |||
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/> | |||
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/> | |||
</layoutGuides> | |||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | |||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |||
<subviews> | |||
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4"> | |||
</imageView> | |||
</subviews> | |||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |||
<constraints> | |||
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/> | |||
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/> | |||
</constraints> | |||
</view> | |||
</viewController> | |||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | |||
</objects> | |||
<point key="canvasLocation" x="53" y="375"/> | |||
</scene> | |||
</scenes> | |||
<resources> | |||
<image name="LaunchImage" width="168" height="185"/> | |||
</resources> | |||
</document> |
@@ -0,0 +1,26 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<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"> | |||
<dependencies> | |||
<deployment identifier="iOS"/> | |||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/> | |||
</dependencies> | |||
<scenes> | |||
<!--Flutter View Controller--> | |||
<scene sceneID="tne-QT-ifu"> | |||
<objects> | |||
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController"> | |||
<layoutGuides> | |||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> | |||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> | |||
</layoutGuides> | |||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> | |||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/> | |||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> | |||
</view> | |||
</viewController> | |||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> | |||
</objects> | |||
</scene> | |||
</scenes> | |||
</document> |
@@ -0,0 +1,45 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |||
<plist version="1.0"> | |||
<dict> | |||
<key>CFBundleDevelopmentRegion</key> | |||
<string>$(DEVELOPMENT_LANGUAGE)</string> | |||
<key>CFBundleExecutable</key> | |||
<string>$(EXECUTABLE_NAME)</string> | |||
<key>CFBundleIdentifier</key> | |||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | |||
<key>CFBundleInfoDictionaryVersion</key> | |||
<string>6.0</string> | |||
<key>CFBundleName</key> | |||
<string>michele_s_application8</string> | |||
<key>CFBundlePackageType</key> | |||
<string>APPL</string> | |||
<key>CFBundleShortVersionString</key> | |||
<string>$(FLUTTER_BUILD_NAME)</string> | |||
<key>CFBundleSignature</key> | |||
<string>????</string> | |||
<key>CFBundleVersion</key> | |||
<string>$(FLUTTER_BUILD_NUMBER)</string> | |||
<key>LSRequiresIPhoneOS</key> | |||
<true/> | |||
<key>UILaunchStoryboardName</key> | |||
<string>LaunchScreen</string> | |||
<key>UIMainStoryboardFile</key> | |||
<string>Main</string> | |||
<key>UISupportedInterfaceOrientations</key> | |||
<array> | |||
<string>UIInterfaceOrientationPortrait</string> | |||
<string>UIInterfaceOrientationLandscapeLeft</string> | |||
<string>UIInterfaceOrientationLandscapeRight</string> | |||
</array> | |||
<key>UISupportedInterfaceOrientations~ipad</key> | |||
<array> | |||
<string>UIInterfaceOrientationPortrait</string> | |||
<string>UIInterfaceOrientationPortraitUpsideDown</string> | |||
<string>UIInterfaceOrientationLandscapeLeft</string> | |||
<string>UIInterfaceOrientationLandscapeRight</string> | |||
</array> | |||
<key>UIViewControllerBasedStatusBarAppearance</key> | |||
<false/> | |||
</dict> | |||
</plist> |
@@ -0,0 +1 @@ | |||
#import "GeneratedPluginRegistrant.h" |
@@ -0,0 +1,18 @@ | |||
export 'package:get/get.dart'; | |||
export 'package:michele_s_application8/localization/app_localization.dart'; | |||
export 'package:michele_s_application8/core/constants/constants.dart'; | |||
export 'package:michele_s_application8/core/utils/image_constant.dart'; | |||
export 'package:michele_s_application8/core/utils/color_constant.dart'; | |||
export 'package:michele_s_application8/core/utils/size_utils.dart'; | |||
export 'package:michele_s_application8/core/utils/pref_utils.dart'; | |||
export 'package:michele_s_application8/core/utils/initial_bindings.dart'; | |||
export 'package:michele_s_application8/theme/app_style.dart'; | |||
export 'package:michele_s_application8/theme/app_decoration.dart'; | |||
export 'package:connectivity_plus/connectivity_plus.dart'; | |||
export 'package:michele_s_application8/routes/app_routes.dart'; | |||
export 'package:michele_s_application8/data/models/selectionPopupModel/selection_popup_model.dart'; | |||
export 'package:michele_s_application8/widgets/custom_image_view.dart'; | |||
export 'package:michele_s_application8/core/errors/exceptions.dart'; | |||
export 'package:michele_s_application8/core/network/network_info.dart'; | |||
export 'package:michele_s_application8/core/utils/logger.dart'; | |||
export 'package:michele_s_application8/core/utils/date_time_utils.dart'; |
@@ -0,0 +1 @@ | |||
@@ -0,0 +1,19 @@ | |||
class ServerException implements Exception {} | |||
class CacheException implements Exception {} | |||
class NetworkException implements Exception {} | |||
///can be used for throwing [NoInternetException] | |||
class NoInternetException implements Exception { | |||
late String _message; | |||
NoInternetException([String message = 'NoInternetException Occurred']) { | |||
this._message = message; | |||
} | |||
@override | |||
String toString() { | |||
return _message; | |||
} | |||
} |
@@ -0,0 +1,8 @@ | |||
abstract class Failure {} | |||
// General failures | |||
class ServerFailure extends Failure {} | |||
class CacheFailure extends Failure {} | |||
class NetworkFailure extends Failure {} |
@@ -0,0 +1,41 @@ | |||
import 'package:connectivity_plus/connectivity_plus.dart'; | |||
// For checking internet connectivity | |||
abstract class NetworkInfoI { | |||
Future<bool> isConnected(); | |||
Future<ConnectivityResult> get connectivityResult; | |||
Stream<ConnectivityResult> get onConnectivityChanged; | |||
} | |||
class NetworkInfo implements NetworkInfoI { | |||
Connectivity connectivity; | |||
NetworkInfo(this.connectivity) { | |||
connectivity = this.connectivity; | |||
} | |||
///checks internet is connected or not | |||
///returns [true] if internet is connected | |||
///else it will return [false] | |||
@override | |||
Future<bool> isConnected() async { | |||
final result = await connectivity.checkConnectivity(); | |||
if (result != ConnectivityResult.none) { | |||
return true; | |||
} | |||
return false; | |||
} | |||
// to check type of internet connectivity | |||
@override | |||
Future<ConnectivityResult> get connectivityResult async { | |||
return connectivity.checkConnectivity(); | |||
} | |||
//check the type on internet connection on changed of internet connection | |||
@override | |||
Stream<ConnectivityResult> get onConnectivityChanged => | |||
connectivity.onConnectivityChanged; | |||
} |
@@ -0,0 +1,57 @@ | |||
import 'dart:ui'; | |||
import 'package:flutter/material.dart'; | |||
class ColorConstant { | |||
static Color black9000a = fromHex('#0a000000'); | |||
static Color gray5008e = fromHex('#8ea9a9a9'); | |||
static Color gray500 = fromHex('#a1a1a1'); | |||
static Color blueGray400 = fromHex('#878787'); | |||
static Color lime600 = fromHex('#b6c23a'); | |||
static Color blueGray50 = fromHex('#f1f1f1'); | |||
static Color blueA400 = fromHex('#217aff'); | |||
static Color lightBlueA400 = fromHex('#00b2fe'); | |||
static Color gray900 = fromHex('#222222'); | |||
static Color redA700Af = fromHex('#afff0000'); | |||
static Color black9003f = fromHex('#3f000000'); | |||
static Color gray200 = fromHex('#ededed'); | |||
static Color gray300 = fromHex('#e4e4e4'); | |||
static Color redA7008e = fromHex('#8eff0000'); | |||
static Color teal300 = fromHex('#43ab93'); | |||
static Color blueGray80005 = fromHex('#05373b4d'); | |||
static Color indigo100 = fromHex('#c4c6d7'); | |||
static Color black900 = fromHex('#000000'); | |||
static Color bluegray400 = fromHex('#888888'); | |||
static Color blue600E8 = fromHex('#e81e83ee'); | |||
static Color blueGray400Af = fromHex('#af878787'); | |||
static Color whiteA700 = fromHex('#ffffff'); | |||
static Color whiteA7009e = fromHex('#9effffff'); | |||
static Color fromHex(String hexString) { | |||
final buffer = StringBuffer(); | |||
if (hexString.length == 6 || hexString.length == 7) buffer.write('ff'); | |||
buffer.write(hexString.replaceFirst('#', '')); | |||
return Color(int.parse(buffer.toString(), radix: 16)); | |||
} | |||
} |
@@ -0,0 +1,14 @@ | |||
import 'package:intl/date_symbol_data_local.dart'; | |||
import 'package:intl/intl.dart'; | |||
const String DD_MM_YYYY = 'dd/MM/yyyy'; | |||
extension DateTimeExtension on DateTime { | |||
/// Return a string representing [date] formatted according to our locale | |||
String format([String pattern = DD_MM_YYYY, String? locale]) { | |||
if (locale != null && locale.isNotEmpty) { | |||
initializeDateFormatting(locale); | |||
} | |||
return DateFormat(pattern, locale).format(this); | |||
} | |||
} |
@@ -0,0 +1,9 @@ | |||
class ImageConstant { | |||
static String imgRectangle286 = 'assets/images/img_rectangle286.png'; | |||
static String imgImage1 = 'assets/images/img_image1.png'; | |||
static String imgEye = 'assets/images/img_eye.svg'; | |||
static String imageNotFound = 'assets/images/image_not_found.png'; | |||
} |
@@ -0,0 +1,12 @@ | |||
import 'package:michele_s_application8/core/app_export.dart'; | |||
import 'package:michele_s_application8/data/apiClient/api_client.dart'; | |||
class InitialBindings extends Bindings { | |||
@override | |||
void dependencies() { | |||
Get.put(PrefUtils()); | |||
Get.put(ApiClient()); | |||
Connectivity connectivity = Connectivity(); | |||
Get.put(NetworkInfo(connectivity)); | |||
} | |||
} |
@@ -0,0 +1,15 @@ | |||
class Logger { | |||
static LogMode _logMode = LogMode.debug; | |||
static void init(LogMode mode) { | |||
Logger._logMode = mode; | |||
} | |||
static void log(dynamic data, {StackTrace? stackTrace}) { | |||
if (_logMode == LogMode.debug) { | |||
print("Error: $data$stackTrace"); | |||
} | |||
} | |||
} | |||
enum LogMode { debug, live } |
@@ -0,0 +1,23 @@ | |||
//ignore: unused_import | |||
import 'dart:convert'; | |||
import 'package:shared_preferences/shared_preferences.dart'; | |||
class PrefUtils { | |||
static SharedPreferences? _sharedPreferences; | |||
PrefUtils() { | |||
SharedPreferences.getInstance().then((value) { | |||
_sharedPreferences = value; | |||
}); | |||
} | |||
Future<void> init() async { | |||
_sharedPreferences ??= await SharedPreferences.getInstance(); | |||
print('SharedPreference Initialized'); | |||
} | |||
///will clear all the data stored in preference | |||
void clearPreferencesData() async { | |||
_sharedPreferences!.clear(); | |||
} | |||
} |
@@ -0,0 +1,30 @@ | |||
import 'package:flutter/material.dart'; | |||
import 'package:get/get.dart'; | |||
class ProgressDialogUtils { | |||
static bool isProgressVisible = false; | |||
///common method for showing progress dialog | |||
static void showProgressDialog({isCancellable = false}) async { | |||
if (!isProgressVisible) { | |||
Get.dialog( | |||
Center( | |||
child: CircularProgressIndicator.adaptive( | |||
strokeWidth: 4, | |||
valueColor: AlwaysStoppedAnimation<Color>( | |||
Colors.white, | |||
), | |||
), | |||
), | |||
barrierDismissible: isCancellable, | |||
); | |||
isProgressVisible = true; | |||
} | |||
} | |||
///common method for hiding progress dialog | |||
static void hideProgressDialog() { | |||
if (isProgressVisible) Get.back(); | |||
isProgressVisible = false; | |||
} | |||
} |
@@ -0,0 +1,120 @@ | |||
import 'package:flutter/material.dart'; | |||
// This is where the magic happens. | |||
// This functions are responsible to make UI responsive across all the mobile devices. | |||
Size size = WidgetsBinding.instance.window.physicalSize / | |||
WidgetsBinding.instance.window.devicePixelRatio; | |||
// Caution! If you think these are static values and are used to build a static UI, you mustn’t. | |||
// These are the Viewport values of your Figma Design. | |||
// These are used in the code as a reference to create your UI Responsively. | |||
const num FIGMA_DESIGN_WIDTH = 375; | |||
const num FIGMA_DESIGN_HEIGHT = 812; | |||
const num FIGMA_DESIGN_STATUS_BAR = 0; | |||
///This method is used to get device viewport width. | |||
get width { | |||
return size.width; | |||
} | |||
///This method is used to get device viewport height. | |||
get height { | |||
num statusBar = | |||
MediaQueryData.fromWindow(WidgetsBinding.instance.window).viewPadding.top; | |||
num bottomBar = MediaQueryData.fromWindow(WidgetsBinding.instance.window) | |||
.viewPadding | |||
.bottom; | |||
num screenHeight = size.height - statusBar - bottomBar; | |||
return screenHeight; | |||
} | |||
///This method is used to set padding/margin (for the left and Right side) & width of the screen or widget according to the Viewport width. | |||
double getHorizontalSize(double px) { | |||
return ((px * width) / FIGMA_DESIGN_WIDTH); | |||
} | |||
///This method is used to set padding/margin (for the top and bottom side) & height of the screen or widget according to the Viewport height. | |||
double getVerticalSize(double px) { | |||
return ((px * height) / (FIGMA_DESIGN_HEIGHT - FIGMA_DESIGN_STATUS_BAR)); | |||
} | |||
///This method is used to set smallest px in image height and width | |||
double getSize(double px) { | |||
var height = getVerticalSize(px); | |||
var width = getHorizontalSize(px); | |||
if (height < width) { | |||
return height.toInt().toDouble(); | |||
} else { | |||
return width.toInt().toDouble(); | |||
} | |||
} | |||
///This method is used to set text font size according to Viewport | |||
double getFontSize(double px) { | |||
return getSize(px); | |||
} | |||
///This method is used to set padding responsively | |||
EdgeInsetsGeometry getPadding({ | |||
double? all, | |||
double? left, | |||
double? top, | |||
double? right, | |||
double? bottom, | |||
}) { | |||
return getMarginOrPadding( | |||
all: all, | |||
left: left, | |||
top: top, | |||
right: right, | |||
bottom: bottom, | |||
); | |||
} | |||
///This method is used to set margin responsively | |||
EdgeInsetsGeometry getMargin({ | |||
double? all, | |||
double? left, | |||
double? top, | |||
double? right, | |||
double? bottom, | |||
}) { | |||
return getMarginOrPadding( | |||
all: all, | |||
left: left, | |||
top: top, | |||
right: right, | |||
bottom: bottom, | |||
); | |||
} | |||
///This method is used to get padding or margin responsively | |||
EdgeInsetsGeometry getMarginOrPadding({ | |||
double? all, | |||
double? left, | |||
double? top, | |||
double? right, | |||
double? bottom, | |||
}) { | |||
if (all != null) { | |||
left = all; | |||
top = all; | |||
right = all; | |||
bottom = all; | |||
} | |||
return EdgeInsets.only( | |||
left: getHorizontalSize( | |||
left ?? 0, | |||
), | |||
top: getVerticalSize( | |||
top ?? 0, | |||
), | |||
right: getHorizontalSize( | |||
right ?? 0, | |||
), | |||
bottom: getVerticalSize( | |||
bottom ?? 0, | |||
), | |||
); | |||
} |
@@ -0,0 +1,44 @@ | |||
/// Password should have, | |||
/// at least a upper case letter | |||
/// at least a lower case letter | |||
/// at least a digit | |||
/// at least a special character [@#$%^&+=] | |||
/// length of at least 4 | |||
/// no white space allowed | |||
bool isValidPassword(String? inputString, {bool isRequired = false}) { | |||
bool isInputStringValid = false; | |||
if ((inputString == null ? true : inputString.isEmpty) && !isRequired) { | |||
isInputStringValid = true; | |||
} | |||
if (inputString != null) { | |||
const pattern = | |||
r'^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$'; | |||
final regExp = RegExp(pattern); | |||
isInputStringValid = regExp.hasMatch(inputString); | |||
} | |||
return isInputStringValid; | |||
} | |||
/// Checks if string consist only Alphabet. (No Whitespace) | |||
bool isText(String? inputString, {bool isRequired = false}) { | |||
bool isInputStringValid = false; | |||
if ((inputString == null ? true : inputString.isEmpty) && !isRequired) { | |||
isInputStringValid = true; | |||
} | |||
if (inputString != null) { | |||
const pattern = r'^[a-zA-Z]+$'; | |||
final regExp = RegExp(pattern); | |||
isInputStringValid = regExp.hasMatch(inputString); | |||
} | |||
return isInputStringValid; | |||
} |
@@ -0,0 +1,3 @@ | |||
import 'package:michele_s_application8/core/app_export.dart'; | |||
class ApiClient extends GetConnect {} |
@@ -0,0 +1,15 @@ | |||
///SelectionPopupModel is common model | |||
///used for setting data into dropdowns | |||
class SelectionPopupModel { | |||
int? id; | |||
String title; | |||
dynamic value; | |||
bool isSelected; | |||
SelectionPopupModel({ | |||
this.id, | |||
required this.title, | |||
this.value, | |||
this.isSelected = false, | |||
}); | |||
} |
@@ -0,0 +1,7 @@ | |||
import 'package:get/get.dart'; | |||
import 'en_us/en_us_translations.dart'; | |||
class AppLocalization extends Translations { | |||
@override | |||
Map<String, Map<String, String>> get keys => {'en_US': enUs}; | |||
} |
@@ -0,0 +1,31 @@ | |||
final Map<String, String> enUs = { | |||
'msg_network_err': 'Network Error', | |||
'msg_something_went_wrong': 'Something Went Wrong!', | |||
"msg_password_dimenticata": "Password dimenticata?", | |||
"msg_abilita_disabilita": "Abilita / Disabilita classe Two", | |||
"msg_gestisci_i_miei": "Gestisci i miei dispositivi", | |||
"lbl_login": "Login", | |||
"msg_inserisci_il_tuo": "Inserisci il tuo username", | |||
"lbl_dante_alighieri": "Dante Alighieri", | |||
"lbl_visori_3d": "Visori 3D", | |||
"lbl_app_navigation": "App Navigation", | |||
"msg_check_your_app_s": | |||
"Check your app's UI from the below demo screens of your app.", | |||
"lbl_powered_by": "Powered by", | |||
"msg_tutti_i_miei_dispositivi": "Tutti i miei dispositivi", | |||
"msg_splash_screen_one": "Splash Screen-One", | |||
"msg_gestisci_i_miei2": "Gestisci i miei gruppi", | |||
"msg_collegamento_ad": "Collegamento ad internet", | |||
"lbl_classe_1_c": "Classe 1° C", | |||
"lbl_classe_2_c": "Classe 2° C", | |||
"msg_abilita_disabilita3": "Abilita / Disabilita classe One", | |||
"lbl_password": "Password", | |||
"msg_lab_di_informatica": "Lab. di informatica", | |||
"lbl_scollega_tutti": "Scollega tutti", | |||
"msg_abilita_disabilita2": "Abilita / Disabilita classe", | |||
"msg_istituto_comprensivo": "Istituto \nComprensivo", | |||
"lbl_username": "Username", | |||
"msg_questo_dispositivo": "Questo dispositivo", | |||
"lbl_indietro": "Indietro", | |||
"msg_inserisci_la_password": "Inserisci la password" | |||
}; |
@@ -0,0 +1,35 @@ | |||
import 'package:flutter/foundation.dart'; | |||
import 'package:flutter/material.dart'; | |||
import 'package:flutter/services.dart'; | |||
import 'core/app_export.dart'; | |||
void main() { | |||
WidgetsFlutterBinding.ensureInitialized(); | |||
SystemChrome.setPreferredOrientations([ | |||
DeviceOrientation.portraitUp, | |||
]).then((value) { | |||
Logger.init(kReleaseMode ? LogMode.live : LogMode.debug); | |||
runApp(MyApp()); | |||
}); | |||
} | |||
class MyApp extends StatelessWidget { | |||
// This widget is the root of your application. | |||
@override | |||
Widget build(BuildContext context) { | |||
return GetMaterialApp( | |||
debugShowCheckedModeBanner: false, | |||
theme: ThemeData( | |||
visualDensity: VisualDensity.standard, | |||
), | |||
translations: AppLocalization(), | |||
locale: Get.deviceLocale, //for setting localization strings | |||
fallbackLocale: Locale('en', 'US'), | |||
title: 'WebON', | |||
initialBinding: InitialBindings(), | |||
initialRoute: AppRoutes.initialRoute, | |||
getPages: AppRoutes.pages, | |||
); | |||
} | |||
} |
@@ -0,0 +1,256 @@ | |||
import 'controller/abilita_disabilita_classe_one_controller.dart'; | |||
import 'package:flutter/material.dart'; | |||
import 'package:michele_s_application8/core/app_export.dart'; | |||
import 'package:michele_s_application8/widgets/custom_button.dart'; | |||
import 'package:michele_s_application8/widgets/custom_switch.dart'; | |||
class AbilitaDisabilitaClasseOneScreen | |||
extends GetWidget<AbilitaDisabilitaClasseOneController> { | |||
@override | |||
Widget build(BuildContext context) { | |||
return SafeArea( | |||
child: Scaffold( | |||
backgroundColor: ColorConstant.gray200, | |||
body: Container( | |||
width: double.maxFinite, | |||
child: Column( | |||
mainAxisAlignment: MainAxisAlignment.start, | |||
children: [ | |||
Container( | |||
width: double.maxFinite, | |||
child: Container( | |||
decoration: AppDecoration.fillGray200, | |||
child: Column( | |||
mainAxisAlignment: MainAxisAlignment.start, | |||
children: [ | |||
Align( | |||
alignment: Alignment.centerRight, | |||
child: Padding( | |||
padding: getPadding(right: 20, top:10), | |||
child: Text("lbl_powered_by".tr, | |||
overflow: TextOverflow.ellipsis, | |||
textAlign: TextAlign.left, | |||
style: AppStyle.txtRobotoRomanMedium10))), | |||
CustomImageView( | |||
imagePath: | |||
ImageConstant | |||
.imgImage1, | |||
margin: getMargin(right:20), | |||
height: | |||
getVerticalSize( | |||
21), | |||
width: | |||
getHorizontalSize( | |||
103), | |||
alignment: Alignment | |||
.centerRight), | |||
Align( | |||
alignment: Alignment.centerLeft, | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment.center, | |||
crossAxisAlignment: | |||
CrossAxisAlignment.start, | |||
children: [ | |||
CustomImageView( | |||
imagePath: ImageConstant | |||
.imgRectangle286, | |||
height: | |||
getVerticalSize(133), | |||
width: getHorizontalSize( | |||
134), | |||
margin: | |||
getMargin(top: 20)), | |||
Padding( | |||
padding: getPadding( | |||
left: 15, bottom: 20, top:25), | |||
child: Column( | |||
crossAxisAlignment: | |||
CrossAxisAlignment | |||
.start, | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.start, | |||
children: [ | |||
Container( | |||
width: | |||
getHorizontalSize( | |||
109), | |||
margin: | |||
getMargin( | |||
top: | |||
34), | |||
child: Text( | |||
"msg_istituto_comprensivo" | |||
.tr, | |||
maxLines: | |||
null, | |||
textAlign: | |||
TextAlign | |||
.right, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold19)), | |||
Padding( | |||
padding: | |||
getPadding( | |||
top: 6), | |||
child: Text( | |||
"lbl_dante_alighieri" | |||
.tr, | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.right, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold19Lime600)) | |||
])) | |||
])), | |||
Padding( | |||
padding: getPadding(top: 25),), | |||
Align( | |||
alignment: Alignment.centerLeft, | |||
child: Padding( | |||
padding: | |||
getPadding(left: 41), | |||
child: Text( | |||
"msg_collegamento_ad".tr, | |||
overflow: TextOverflow.ellipsis, | |||
textAlign: TextAlign.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900))), | |||
Container( | |||
margin: getMargin( | |||
left: 16, top: 20, right: 15), | |||
padding: | |||
getPadding(top: 25, bottom: 25), | |||
decoration: AppDecoration.fillWhiteA700 | |||
.copyWith( | |||
borderRadius: BorderRadiusStyle | |||
.roundedBorder8), | |||
child: Column( | |||
mainAxisSize: MainAxisSize.min, | |||
crossAxisAlignment: | |||
CrossAxisAlignment.end, | |||
mainAxisAlignment: | |||
MainAxisAlignment.start, | |||
children: [ | |||
Padding( | |||
padding: getPadding( | |||
left: 31, right: 13), | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.spaceBetween, | |||
children: [ | |||
Padding( | |||
padding: getPadding( | |||
top: 5, | |||
bottom: 2), | |||
child: Text( | |||
"Questo dispositivo", | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900)), | |||
Obx(() => CustomSwitch( | |||
value: controller | |||
.isSelectedSwitch | |||
.value, | |||
onChanged: (value) { | |||
controller | |||
.isSelectedSwitch | |||
.value = value; | |||
})) | |||
])), | |||
Padding( | |||
padding: getPadding(top: 19), | |||
child: Divider( | |||
color: ColorConstant | |||
.gray200)), | |||
Align( | |||
alignment: Alignment.center, | |||
child: Padding( | |||
padding: getPadding( | |||
left: 28, | |||
top: 18, | |||
right: 16), | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.spaceBetween, | |||
children: [ | |||
Padding( | |||
padding: | |||
getPadding( | |||
top: 3, | |||
bottom: | |||
4), | |||
child: Text( | |||
"Tutti i miei dispositivi", | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900)), | |||
Obx(() => | |||
CustomSwitch( | |||
value: controller | |||
.isSelectedSwitch1 | |||
.value, | |||
onChanged: | |||
(value) { | |||
controller | |||
.isSelectedSwitch1 | |||
.value = value; | |||
})) | |||
]))), | |||
])), | |||
]))) | |||
])), | |||
bottomNavigationBar: Container( | |||
height: getVerticalSize(145), | |||
width: double.maxFinite, | |||
child: Stack(alignment: Alignment.topCenter, children: [ | |||
Align( | |||
alignment: Alignment.bottomCenter, | |||
child: Container( | |||
height: getVerticalSize(170), | |||
width: double.maxFinite, | |||
decoration: | |||
BoxDecoration(color: ColorConstant.blueGray50))), | |||
Column( | |||
children: [ | |||
CustomButton( | |||
text: "lbl_scollega_tutti".tr, | |||
onTap: () { | |||
controller.isSelectedSwitch.value = false; | |||
controller.isSelectedSwitch1.value = false; | |||
controller.isSelectedSwitch2.value = false; | |||
controller.isSelectedSwitch3.value = false; | |||
}, | |||
margin: getMargin( | |||
left: 16, top: 10, right: 15, bottom:10) | |||
), | |||
CustomButton( | |||
width: getHorizontalSize(344), | |||
text: "lbl_indietro".tr, | |||
variant: ButtonVariant.GradientGray5008eBluegray400af, | |||
onTap: onBackPressed, | |||
alignment: Alignment.topCenter) | |||
]) | |||
])))); | |||
} | |||
onBackPressed() { | |||
Get.back(); | |||
} | |||
} |
@@ -0,0 +1,9 @@ | |||
import '../controller/abilita_disabilita_classe_one_controller.dart'; | |||
import 'package:get/get.dart'; | |||
class AbilitaDisabilitaClasseOneBinding extends Bindings { | |||
@override | |||
void dependencies() { | |||
Get.lazyPut(() => AbilitaDisabilitaClasseOneController()); | |||
} | |||
} |
@@ -0,0 +1,25 @@ | |||
import 'package:michele_s_application8/core/app_export.dart'; | |||
import 'package:michele_s_application8/presentation/abilita_disabilita_classe_one_screen/models/abilita_disabilita_classe_one_model.dart'; | |||
class AbilitaDisabilitaClasseOneController extends GetxController { | |||
Rx<AbilitaDisabilitaClasseOneModel> abilitaDisabilitaClasseOneModelObj = | |||
AbilitaDisabilitaClasseOneModel().obs; | |||
RxBool isSelectedSwitch = false.obs; | |||
RxBool isSelectedSwitch1 = false.obs; | |||
RxBool isSelectedSwitch2 = false.obs; | |||
RxBool isSelectedSwitch3 = false.obs; | |||
@override | |||
void onReady() { | |||
super.onReady(); | |||
} | |||
@override | |||
void onClose() { | |||
super.onClose(); | |||
} | |||
} |
@@ -0,0 +1 @@ | |||
class AbilitaDisabilitaClasseOneModel {} |
@@ -0,0 +1,355 @@ | |||
import 'controller/abilita_disabilita_classe_controller.dart'; | |||
import 'package:flutter/material.dart'; | |||
import 'package:michele_s_application8/core/app_export.dart'; | |||
import 'package:michele_s_application8/widgets/custom_button.dart'; | |||
import 'package:michele_s_application8/widgets/custom_switch.dart'; | |||
class AbilitaDisabilitaClasseScreen | |||
extends GetWidget<AbilitaDisabilitaClasseController> { | |||
@override | |||
Widget build(BuildContext context) { | |||
return SafeArea( | |||
child: Scaffold( | |||
backgroundColor: ColorConstant.gray200, | |||
body: Container( | |||
width: double.maxFinite, | |||
child: Column( | |||
mainAxisAlignment: MainAxisAlignment.start, | |||
children: [ | |||
Container( | |||
width: double.maxFinite, | |||
child: Container( | |||
decoration: AppDecoration.fillGray200, | |||
child: Column( | |||
mainAxisAlignment: MainAxisAlignment.start, | |||
children: [ | |||
Align( | |||
alignment: Alignment.centerRight, | |||
child: Padding( | |||
padding: getPadding(right: 20, top:10), | |||
child: Text("lbl_powered_by".tr, | |||
overflow: TextOverflow.ellipsis, | |||
textAlign: TextAlign.left, | |||
style: AppStyle.txtRobotoRomanMedium10))), | |||
CustomImageView( | |||
imagePath: | |||
ImageConstant | |||
.imgImage1, | |||
margin: getMargin(right:20), | |||
height: | |||
getVerticalSize( | |||
21), | |||
width: | |||
getHorizontalSize( | |||
103), | |||
alignment: Alignment | |||
.centerRight), | |||
Align( | |||
alignment: Alignment.centerLeft, | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment.center, | |||
crossAxisAlignment: | |||
CrossAxisAlignment.start, | |||
children: [ | |||
CustomImageView( | |||
imagePath: ImageConstant | |||
.imgRectangle286, | |||
height: | |||
getVerticalSize(133), | |||
width: getHorizontalSize( | |||
134), | |||
margin: | |||
getMargin(top: 20)), | |||
Padding( | |||
padding: getPadding( | |||
left: 15, bottom: 20, top:25), | |||
child: Column( | |||
crossAxisAlignment: | |||
CrossAxisAlignment | |||
.start, | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.start, | |||
children: [ | |||
Container( | |||
width: | |||
getHorizontalSize( | |||
109), | |||
margin: | |||
getMargin( | |||
top: | |||
34), | |||
child: Text( | |||
"msg_istituto_comprensivo" | |||
.tr, | |||
maxLines: | |||
null, | |||
textAlign: | |||
TextAlign | |||
.right, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold19)), | |||
Padding( | |||
padding: | |||
getPadding( | |||
top: 6), | |||
child: Text( | |||
"lbl_dante_alighieri" | |||
.tr, | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.right, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold19Lime600)) | |||
])) | |||
])), | |||
Padding( | |||
padding: getPadding(top: 25),), | |||
Align( | |||
alignment: Alignment.centerLeft, | |||
child: Padding( | |||
padding: | |||
getPadding(left: 41), | |||
child: Text( | |||
"msg_collegamento_ad".tr, | |||
overflow: TextOverflow.ellipsis, | |||
textAlign: TextAlign.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900))), | |||
Container( | |||
margin: getMargin( | |||
left: 16, top: 10, right: 15), | |||
padding: | |||
getPadding(top: 25, bottom: 25), | |||
decoration: AppDecoration.fillWhiteA700 | |||
.copyWith( | |||
borderRadius: BorderRadiusStyle | |||
.roundedBorder8), | |||
child: Column( | |||
mainAxisSize: MainAxisSize.min, | |||
crossAxisAlignment: | |||
CrossAxisAlignment.end, | |||
mainAxisAlignment: | |||
MainAxisAlignment.start, | |||
children: [ | |||
Padding( | |||
padding: getPadding( | |||
left: 31, right: 13), | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.spaceBetween, | |||
children: [ | |||
Padding( | |||
padding: getPadding( | |||
top: 5, | |||
bottom: 2), | |||
child: Text( | |||
"lbl_classe_1_c" | |||
.tr, | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900)), | |||
Obx(() => CustomSwitch( | |||
value: controller | |||
.isSelectedSwitch | |||
.value, | |||
onChanged: (value) { | |||
controller | |||
.isSelectedSwitch | |||
.value = value; | |||
})) | |||
])), | |||
Padding( | |||
padding: getPadding(top: 19), | |||
child: Divider( | |||
color: ColorConstant | |||
.gray200)), | |||
Align( | |||
alignment: Alignment.center, | |||
child: Padding( | |||
padding: getPadding( | |||
left: 28, | |||
top: 18, | |||
right: 16), | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.spaceBetween, | |||
children: [ | |||
Padding( | |||
padding: | |||
getPadding( | |||
top: 3, | |||
bottom: | |||
4), | |||
child: Text( | |||
"lbl_classe_2_c" | |||
.tr, | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900)), | |||
Obx(() => | |||
CustomSwitch( | |||
value: controller | |||
.isSelectedSwitch1 | |||
.value, | |||
onChanged: | |||
(value) { | |||
controller | |||
.isSelectedSwitch1 | |||
.value = value; | |||
})) | |||
]))), | |||
Padding( | |||
padding: getPadding(top: 19), | |||
child: Divider( | |||
color: ColorConstant | |||
.gray200)), | |||
Align( | |||
alignment: Alignment.center, | |||
child: Padding( | |||
padding: getPadding( | |||
left: 28, | |||
top: 22, | |||
right: 16), | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.spaceBetween, | |||
crossAxisAlignment: | |||
CrossAxisAlignment | |||
.start, | |||
children: [ | |||
Padding( | |||
padding: | |||
getPadding( | |||
bottom: | |||
8), | |||
child: Text( | |||
"lbl_visori_3d" | |||
.tr, | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900)), | |||
Obx(() => | |||
CustomSwitch( | |||
value: controller | |||
.isSelectedSwitch2 | |||
.value, | |||
onChanged: | |||
(value) { | |||
controller | |||
.isSelectedSwitch2 | |||
.value = value; | |||
})) | |||
]))), | |||
Padding( | |||
padding: getPadding(top: 20), | |||
child: Divider( | |||
color: ColorConstant | |||
.gray200)), | |||
Align( | |||
alignment: Alignment.center, | |||
child: Padding( | |||
padding: getPadding( | |||
left: 27, | |||
top: 17, | |||
right: 15), | |||
child: Row( | |||
mainAxisAlignment: | |||
MainAxisAlignment | |||
.spaceBetween, | |||
crossAxisAlignment: | |||
CrossAxisAlignment | |||
.start, | |||
children: [ | |||
Padding( | |||
padding: | |||
getPadding( | |||
top: 2, | |||
bottom: | |||
5), | |||
child: Text( | |||
"msg_lab_di_informatica" | |||
.tr, | |||
overflow: | |||
TextOverflow | |||
.ellipsis, | |||
textAlign: | |||
TextAlign | |||
.left, | |||
style: AppStyle | |||
.txtRobotoRomanSemiBold24Black900)), | |||
Obx(() => | |||
CustomSwitch( | |||
value: controller | |||
.isSelectedSwitch3 | |||
.value, | |||
onChanged: | |||
(value) { | |||
controller | |||
.isSelectedSwitch3 | |||
.value = value; | |||
})) | |||
]))) | |||
])), | |||
]))) | |||
])), | |||
bottomNavigationBar: Container( | |||
height: getVerticalSize(145), | |||
width: double.maxFinite, | |||
child: Stack(alignment: Alignment.topCenter, children: [ | |||
Align( | |||
alignment: Alignment.bottomCenter, | |||
child: Container( | |||
height: getVerticalSize(170), | |||
width: double.maxFinite, | |||
decoration: | |||
BoxDecoration(color: ColorConstant.blueGray50))), | |||
Column( | |||
children: [ | |||
CustomButton( | |||
text: "lbl_scollega_tutti".tr, | |||
onTap: () { | |||
controller.isSelectedSwitch.value = false; | |||
controller.isSelectedSwitch1.value = false; | |||
controller.isSelectedSwitch2.value = false; | |||
controller.isSelectedSwitch3.value = false; | |||
}, | |||
margin: getMargin( | |||
left: 16, top: 10, right: 15, bottom:10) | |||
), | |||
CustomButton( | |||
width: getHorizontalSize(344), | |||
text: "lbl_indietro".tr, | |||
variant: ButtonVariant.GradientGray5008eBluegray400af, | |||
onTap: onBackPressed, | |||
alignment: Alignment.topCenter) | |||
]) | |||
])))); | |||
} | |||
onBackPressed() { | |||
Get.back(); | |||
} | |||
} |