commit b146193122abb13d6422cc97427fac5a6bfe3f0d Author: hiworin Date: Thu Dec 25 10:19:38 2025 +0530 try diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..504c660 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,51 @@ +name: Build and deploy +run-name: Food delivery +on: push +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Clone repository + uses: actions/checkout@v4 + + - name: Archive project + run: | + mkdir -p dist/downloads + zip -r dist/downloads/archive.zip . -x '.git/*' -x '.github/*' -x '.gitea/*' -x 'dist/*' -x 'build/*' + + - name: Build project + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.24.5 + - run: flutter pub get + - run: dart run build_runner build --delete-conflicting-outputs + #- run: flutter test + - run: flutter build web --base-href=/b5239596a3/ --release + #- run: flutter build web --base-href=/b5239596a3/ --profile --dart-define=Dart2jsOptimization=O0 + + - name: Create releases + run: | + (cd build/web && zip -r ../../dist/downloads/web.zip .) + echo 'android' >> dist/downloads/app.apk + mv build/web/* dist/ + mkdir b5239596a3 && mv dist/* b5239596a3/ && mv b5239596a3 dist/ + + - name: Setup database + uses: appremix/mysql-deploy-action@v1 + with: + DATABASE_HOST: '${{ vars.db_hostname }}' + DATABASE_PORT: '${{ vars.db_port }}' + DATABASE_NAME: '' + DATABASE_USERNAME: '${{ secrets.db_username }}' + DATABASE_PASSWORD: '${{ secrets.db_password }}' + DATABASE_SCRIPT: 'database.sql' + + - name: Deploy project + uses: SamKirkland/FTP-Deploy-Action@v4.3.4 + with: + server: ${{ vars.ftp_server }} + username: ${{ secrets.ftp_username }} + password: ${{ secrets.ftp_password }} + local-dir: ./dist/ + server-dir: ./ \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..504d1e5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,47 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..95f73f5 --- /dev/null +++ b/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + - platform: android + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + - platform: ios + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + - platform: linux + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + - platform: macos + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + - platform: web + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + - platform: windows + create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/README.md b/README.md new file mode 100644 index 0000000..4b02abb --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Food delivery + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..a7acf24 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..5d99765 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..84a9fe4 --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,71 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion flutter.compileSdkVersion + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.app" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. + minSdkVersion flutter.minSdkVersion + targetSdkVersion flutter.targetSdkVersion + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..6893e39 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1315799 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/com/example/test_app/MainActivity.kt b/android/app/src/main/kotlin/com/example/test_app/MainActivity.kt new file mode 100644 index 0000000..dcc24e8 --- /dev/null +++ b/android/app/src/main/kotlin/com/example/test_app/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.test_app + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..1cb7aa2 --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..8403758 --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..db77bb4 Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..17987b7 Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..09d4391 Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..d5f1c8d Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..4d6372e Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..360a160 --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..5fac679 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..6893e39 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..104a486 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.6.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.1.2' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..46c1f16 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..258d5e1 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -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 diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..33f0745 --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/assets/data.json b/assets/data.json new file mode 100644 index 0000000..95ba9d6 --- /dev/null +++ b/assets/data.json @@ -0,0 +1 @@ +{"sample":[{"date":"2021-09-03","boolean":true,"string":"lorem","integer":1,"decimal":1},{"date":"2022-10-03","boolean":false,"string":"ipsum","integer":2,"decimal":2},{"date":"2023-11-03","boolean":true,"string":"dolor","integer":3,"decimal":3}]} \ No newline at end of file diff --git a/database.sql b/database.sql new file mode 100644 index 0000000..910af39 --- /dev/null +++ b/database.sql @@ -0,0 +1,26 @@ +DROP DATABASE IF EXISTS `b5239596a3`; +CREATE DATABASE `b5239596a3` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; +USE `b5239596a3`; + +SET NAMES utf8; +SET time_zone = '+00:00'; +SET foreign_key_checks = 0; +SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; + +-- DROP TABLE IF EXISTS `sample`; +CREATE TABLE `sample` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `string` varchar(255), + `integer` int, + `decimal` decimal(10,2), + `boolean` bit(1), + `date` datetime, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +INSERT INTO `sample` (`string`, `integer`, `decimal`, `boolean`, `date`) VALUES +('lorem', 1, 1, true, '2021-09-03'), +('ipsum', 2, 2, false, '2022-10-03'), +('dolor', 3, 3, true, '2023-11-03'); + +SET foreign_key_checks = 1; \ No newline at end of file diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..ad322bc --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..80391e4 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 9.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..0b2d479 --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..0b2d479 --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..e568735 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,481 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + 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 = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.testApp; + 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 = 9.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 = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.testApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.testApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..c4b79bd --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..fc6bf80 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..af0309c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..f9cbb25 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..59c6d39 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..fc6bf80 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..af0309c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..3763683 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..1950fd8 --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000..dc9ada4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000..28c6bf0 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000..2ccbfd9 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000..f091b6b Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000..4cde121 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000..d0ef06e Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000..dcdc230 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000..2ccbfd9 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000..c8f9ed8 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000..a6d6b86 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000..a6d6b86 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000..75b2d16 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000..c4df70d Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 0000000..6a84f41 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000..d0e1f58 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..d08a4de --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000..9da19ea Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..65a94b5 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..497371e --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..bbb83ca --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..d141db5 --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Food delivery + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + food_delivery + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + CADisableMinimumFrameDurationOnPhone + + + diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..fae207f --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..2d48b29 --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,7 @@ +import 'package:flutter/material.dart'; + +import 'src/app.dart'; + +void main() { + runApp(MyApp()); +} diff --git a/lib/src/app.dart b/lib/src/app.dart new file mode 100644 index 0000000..644db4c --- /dev/null +++ b/lib/src/app.dart @@ -0,0 +1,250 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; + +import 'common/utils.dart'; +import 'data/repository/_dao.dart'; +//import 'data/api/_api.dart'; +import 'data/models/_models.dart'; +import 'ui/views/_views.dart'; + +class MyApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (context) => AppController(context)), + // more providers here + ], + child: MaterialApp.router( + title: 'Demo', + debugShowCheckedModeBanner: false, + theme: ThemeData( + primarySwatch: Colors.blue, + brightness: Brightness.light, + visualDensity: VisualDensity.adaptivePlatformDensity, + ), + routerConfig: GoRouter( + initialLocation: '/aboutus', + routes: [ + GoRoute( + path: '/aboutus', + builder: (context, state) { + return AboutUsView(extra: state.extra); + }, + ), + GoRoute( + path: '/audioarticle_60rn', + builder: (context, state) { + return AudioArticle_60rnView(extra: state.extra); + }, + ), + GoRoute( + path: '/bookmark_2rub', + builder: (context, state) { + return Bookmark_2rubView(extra: state.extra); + }, + ), + GoRoute( + path: '/category_e0b3', + builder: (context, state) { + return Category_e0b3View(extra: state.extra); + }, + ), + GoRoute( + path: '/changepassword_5ugn', + builder: (context, state) { + return ChangePassword_5ugnView(extra: state.extra); + }, + ), + GoRoute( + path: '/chat_n9xm', + builder: (context, state) { + return Chat_n9xmView(extra: state.extra); + }, + ), + GoRoute( + path: '/contactus_inkn', + builder: (context, state) { + return ContactUs_inknView(extra: state.extra); + }, + ), + GoRoute( + path: '/dashboard_jvxm', + builder: (context, state) { + return Dashboard_jvxmView(extra: state.extra); + }, + ), + GoRoute( + path: '/datanotfound_f1qf', + builder: (context, state) { + return DataNotFound_f1qfView(extra: state.extra); + }, + ), + GoRoute( + path: '/detail_dm5h', + builder: (context, state) { + return Detail_dm5hView(extra: state.extra); + }, + ), + GoRoute( + path: '/discover_au68', + builder: (context, state) { + return Discover_au68View(extra: state.extra); + }, + ), + GoRoute( + path: '/emptypinnotes_1l1v', + builder: (context, state) { + return EmptyPinNotes_1l1vView(extra: state.extra); + }, + ), + GoRoute( + path: '/following_s3l5', + builder: (context, state) { + return Following_s3l5View(extra: state.extra); + }, + ), + GoRoute( + path: '/forgotpassword_xt11', + builder: (context, state) { + return ForgotPassword_xt11View(extra: state.extra); + }, + ), + GoRoute( + path: '/grid_kcdz', + builder: (context, state) { + return Grid_kcdzView(extra: state.extra); + }, + ), + GoRoute( + path: '/home_cigx', + builder: (context, state) { + return Home_cigxView(extra: state.extra); + }, + ), + GoRoute( + path: '/labels_sxue', + builder: (context, state) { + return Labels_sxueView(extra: state.extra); + }, + ), + GoRoute( + path: '/list_1eal', + builder: (context, state) { + return List_1ealView(extra: state.extra); + }, + ), + GoRoute( + path: '/login_qayv', + builder: (context, state) { + return Login_qayvView(extra: state.extra); + }, + ), + GoRoute( + path: '/membership_z9ze', + builder: (context, state) { + return Membership_z9zeView(extra: state.extra); + }, + ), + GoRoute( + path: '/myaccount_tyvz', + builder: (context, state) { + return MyAccount_tyvzView(extra: state.extra); + }, + ), + GoRoute( + path: '/newsdetails_t6nw', + builder: (context, state) { + return NewsDetails_t6nwView(extra: state.extra); + }, + ), + GoRoute( + path: '/nodatafound_shk8', + builder: (context, state) { + return NoDataFound_shk8View(extra: state.extra); + }, + ), + GoRoute( + path: '/notificationsetting_bycd', + builder: (context, state) { + return NotificationSetting_bycdView(extra: state.extra); + }, + ), + GoRoute( + path: '/pinnotelist_qn8a', + builder: (context, state) { + return PinNoteList_qn8aView(extra: state.extra); + }, + ), + GoRoute( + path: '/profile_pzn0', + builder: (context, state) { + return Profile_pzn0View(extra: state.extra); + }, + ), + GoRoute( + path: '/register_obmz', + builder: (context, state) { + return Register_obmzView(extra: state.extra); + }, + ), + GoRoute( + path: '/review_47su', + builder: (context, state) { + return Review_47suView(extra: state.extra); + }, + ), + GoRoute( + path: '/setting_pano', + builder: (context, state) { + return Setting_panoView(extra: state.extra); + }, + ), + GoRoute( + path: '/splash_p2g8', + builder: (context, state) { + return Splash_p2g8View(extra: state.extra); + }, + ), + GoRoute( + path: '/verification_nhug', + builder: (context, state) { + return Verification_nhugView(extra: state.extra); + }, + ), + GoRoute( + path: '/welcome_g72w', + builder: (context, state) { + return Welcome_g72wView(extra: state.extra); + }, + ), + ], + ), + ), + ); + } +} + +class AppController with ChangeNotifier { + static AppController? _instance; + final BuildContext context; + + // singleton instance + factory AppController(BuildContext context) => + _instance ??= AppController._internal(context); + + AppController._internal(this.context) { + loadData(); + } + + Future loadData() async { + await fillWithMockData(); + } + + void back() { + Navigator.maybePop(context); + } + + final sampleDao = SampleDao(); +} diff --git a/lib/src/common/constants.dart b/lib/src/common/constants.dart new file mode 100644 index 0000000..e8e9c2e --- /dev/null +++ b/lib/src/common/constants.dart @@ -0,0 +1,278 @@ +import 'dart:ui'; + +class Constants { + static const projectId = 'b5239596a3'; + static const apiUrl = 'https://jsonplaceholder.typicode.com'; + static const black = Color(0xFF000000); + static const white = Color(0xFF000000); + static const roboto = 'Roboto'; + static const colour1 = Color(0xFF6200EE); + static const colour2 = Color(0xFF3700B3); + static const colour3 = Color(0xFF03DAC6); + static const colour4 = Color(0xFF018786); + static const colour5 = Color(0xFFB00020); + static const font1 = 'Merriweather'; + static const font2 = 'Raleway'; + /* I18n */ + static const a1QVBVDBF1222_ = 'A1QVBVDBF1222'; + static const aRRahman_ = 'A.R.Rahman'; + static const aSmartRobotFromHeroCompan_ = + 'A smart robot from Hero Company can become a restaurant waiter.'; + static const aboutUs_ = 'About Us'; + static const aboutUs_1 = 'About us'; + static const addToCart_ = 'Add To Cart'; + static const additionalComment_ = 'Additional comment..'; + static const aktaParmar_ = 'Akta Parmar'; + static const allNews_ = 'All News'; + static const alreadyHaveAnAccount_ = 'Already have an account?'; + static const anthony_ = 'Anthony'; + static const anthonysmith12_ = 'anthonysmith12'; + static const anthonysmithgmailcom_ = 'anthonysmith@gmail.com'; + static const appNotification_ = 'App Notification'; + static const art_ = 'Art'; + static const audioArticle_ = 'Audio Article'; + static const background_ = 'Background'; + static const basic_ = 'Basic'; + static const bella_ = 'Bella'; + static const bestDealsOnProducts_ = 'Best Deals On Products'; + static const billedEvery12Month_ = 'Billed every 12 month'; + static const billedEveryMonth_ = 'Billed every month'; + static const bollywoordButter_ = 'Bollywoord Butter'; + static const bookmark_ = 'Bookmark'; + static const byBecomingAMenberYouCan_ = + 'by becoming a menber, you can read on any device, read with no Ads, and offline.'; + static const byJonesHawkins_ = 'by Jones Hawkins'; + static const cLICKTOSPIN_ = 'CLICK TO SPIN'; + static const categories_ = 'Categories'; + static const changePassword_ = 'Change Password'; + static const chap1_ = 'Chap 1'; + static const chap2_ = 'Chap 2'; + static const chap3_ = 'Chap 3'; + static const chooseYourPlan_ = 'Choose your plan'; + static const connection_ = 'Connection'; + static const contact_ = 'Contact'; + static const contestSection_ = 'Contest Section'; + static const continueListening_ = 'Continue Listening'; + static const continue_ = 'Continue'; + static const createConfirmPassword_ = 'Create Confirm Password'; + static const createNewPassword_ = 'Create New Password'; + static const createYourNewPasswordInFl_ = + 'Create your new password in FlutterStudio, Keep in mind and remeber it!.'; + static const creativeGiftsForCapricom_ = 'Creative gifts for Capricom'; + static const darkMode_ = 'Dark Mode'; + static const darshanRaval_ = 'Darshan Raval'; + static const deliveryLocation_ = 'Delivery Location'; + static const design_ = 'Design'; + static const dontHaveAnAccount_ = "Don't have an account?"; + static const doran_ = 'Doran'; + static const ePVariousArtists_ = 'EP.Various Artists'; + static const editPersonalDetails_ = 'Edit Personal Details'; + static const editProfile_ = 'Edit Profile'; + static const email_ = 'Email'; + static const enterConfirmPassword_ = 'Enter Confirm Password'; + static const enterNewPassword_ = 'Enter New Password'; + static const enterText_ = 'Enter Text'; + static const enterTheVerificationCodeWe_ = + 'Enter the verification code we just send you on your email address.'; + static const enterYourEmailForTheVerif_ = + 'Enter your email for the verification process. We will send 4 digits code to your email.'; + static const fASHION_ = 'FASHION'; + static const fLAT20OFF_ = 'FLAT 20% OFF'; + static const fashion_ = 'Fashion'; + static const firstName_ = 'First Name'; + static const follow_ = 'Follow'; + static const following_ = 'Following'; + static const forAnyPressAndMediaInquir_ = + 'For any press and media inquiries please contact'; + static const forgotPassword_ = 'Forgot Password'; + static const fullName_ = 'Full Name'; + static const fultterStudio_ = 'FultterStudio'; + static const gifts_ = 'Gifts'; + static const goBack_ = 'Go Back'; + static const goodMorningGoodMorningGo_ = + 'Good Morning Good Morning Good Morning Good Morning Good Morning Good Morning Good Morning Good Morning'; + static const goodMorningGoodMorningGoo_ = + 'Good Morning Good Morning GoodMorning'; + static const goodMorningGoodMorningGoo_1 = + 'Good Morning Good Morning Good Morning Good Morning Good Morning'; + static const goodMorning_ = 'Good Morning'; + static const helloHowAreYou_ = 'Hello, How are You?'; + static const helloIAmFineAndYou_ = 'Hello, I am Fine and You?'; + static const home_ = 'Home'; + static const howIsYourTrip_ = 'How is your trip?'; + static const howToStartYourUXDesignCa_ = + 'How to start your UX Design career.'; + static const iAmFine_ = 'I am fine'; + static const iD786534789_ = 'ID 786534789'; + static const ideas_ = 'Ideas'; + static const ifYouDidntReceiveACode_ = "If you didn't receive a code!"; + static const indiasLargetsFashionApp_ = "India's largets fashion App"; + static const internationalBrand_ = 'International Brand'; + static const itIsALongEstablishedFact_ = + 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.'; + static const johnHawkins_ = 'John Hawkins'; + static const johngmailcom_ = 'john@gmail.com'; + static const k01362Tbilisi_ = '01362,Tbilisi'; + static const k0634Am_ = '06:34 am'; + static const k10Articles_ = '10 Articles'; + static const k10Off_ = '10% Off'; + static const k12Jan2021_ = '12 Jan, 2021'; + static const k13Articles_ = '13 Articles'; + static const k13June2020_ = '13 June, 2020'; + static const k15Sep20200230Am_ = '15 Sep, 2020 02:30 Am'; + static const k1Item_ = '1 item'; + static const k20June2019_ = '20 June, 2019'; + static const k22Aug20200230Am_ = '22 Aug, 2020 02:30 Am'; + static const k22June20200230Am_ = '22 June, 2020 02:30 Am'; + static const k22Mar20200230Am_ = '22 Mar, 2020 02:30 Am'; + static const k24Articles_ = '24 Articles'; + static const k25Jan2020_ = '25 Jan, 2020'; + static const k2Items_ = '2 items'; + static const k2PetreMelikshliSt_ = '2 Petre Melikshli St.'; + static const k30Off_ = '30% Off'; + static const k3201_ = '32:01'; + static const k4000_ = '40.00'; + static const k4971GodfreyRoad_ = '4971 Godfrey Road'; + static const k50Off_ = '50% Off'; + static const k5Articles_ = '5 Articles'; + static const k6Articles_ = '6 Articles'; + static const k6MonthsExperienceLivingIn_ = + '6 months experience living in south korea.'; + static const k8Articles_ = '8 Articles'; + static const k90sRewind_ = '90s Rewind'; + static const k91987654321_ = '+91 987654321'; + static const kapilSharma_ = 'Kapil Sharma'; + static const kevin_ = 'Kevin'; + static const kurtiSuits_ = 'Kurti & Suits'; + static const lOGIN_ = 'LOGIN'; + static const labels_ = 'Labels'; + static const language_ = 'Language'; + static const lastName_ = 'Last Name'; + static const latestNews_ = 'Latest News'; + static const learningAboutDesignThinking_ = 'Learning about design Thinking.'; + static const lifeStyle_ = 'LifeStyle'; + static const logOut_ = 'Log out'; + static const loginWithSocialNetwork_ = 'Login with Social Network'; + static const login_ = 'Login'; + static const logout_ = 'Logout'; + static const loremIpsumDolorSitAmetCo_ = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'; + static const loremIpsumIsSimplyDummyTe_ = + "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."; + static const loremIpsumIsSimplyDummyTe_1 = + 'Lorem Ipsum is simply dummy text of the printing and typesetting industry'; + static const loremIpsumOrLipsumAsItI_ = + 'Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs.'; + static const loremIpsumOrLipsumAsItI_1 = + 'Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphics.'; + static const lorem_ = 'Lorem'; + static const mTVCoke_ = 'MTV Coke'; + static const marie_ = 'Marie'; + static const membership_ = 'Membership'; + static const men_ = 'Men'; + static const message_ = 'Message'; + static const misson_ = 'Misson'; + static const monthly_ = 'Monthly'; + static const moreLike_ = 'More Like'; + static const mostRecent_ = 'Most Recent'; + static const myAccount_ = 'My Account'; + static const myApp_ = 'My App'; + static const newMusicHindi_ = 'New Music Hindi'; + static const next_ = 'Next'; + static const noInternet_ = 'No Internet'; + static const notebooks_ = 'Notebooks'; + static const notes_ = 'Notes'; + static const notificationSetting_ = 'Notification Setting'; + static const notifications_ = 'Notifications'; + static const offerZone_ = 'Offer Zone'; + static const oopsYouAreLost_ = 'Oops! You are lost'; + static const password_ = 'Password'; + static const philipRamirez_ = 'Philip Ramirez'; + static const phone_ = 'Phone'; + static const pinNotes_ = 'Pin notes'; + static const pins_ = 'Pins'; + static const pleaseCheckYourInternetCon_ = + 'Please check your internet connection and try again'; + static const politics_ = 'Politics'; + static const popularMusic_ = 'Popular Music'; + static const predictionAboutWhoWillWin_ = + 'Prediction about who will win the premier league.'; + static const profile_ = 'Profile'; + static const promotion_ = 'Promotion'; + static const raatanLmbiyan_ = 'Raatan Lmbiyan'; + static const ranjha_ = 'Ranjha'; + static const recent_ = 'Recent'; + static const recentlyPlayed_ = 'Recently played'; + static const recommendedArticle_ = 'Recommended Article'; + static const register_ = 'Register'; + static const renne_ = 'Renne'; + static const resend_ = 'Resend'; + static const resetPassword_ = 'Reset Password'; + static const review_ = 'Review'; + static const rose_ = 'Rose'; + static const sEND_ = 'SEND'; + static const sHOPNOW_ = 'SHOP NOW'; + static const sIGNIN_ = 'SIGN IN'; + static const sIGNUP_ = 'SIGN UP'; + static const sKIP_ = 'SKIP'; + static const saree_ = 'Saree'; + static const science_ = 'Science'; + static const searchHere_ = 'Search here'; + static const search_ = 'Search'; + static const selectPlan_ = 'Select Plan'; + static const settings_ = 'Settings'; + static const shershaahOriginal_ = 'Shershaah(Original)'; + static const sheryaGhoshval_ = 'Sherya Ghoshval'; + static const shopping_ = 'Shopping'; + static const shouldDesignerIsAbleToCod_ = + 'Should designer is able to coding ?'; + static const signUp_ = 'Sign Up'; + static const singleJasleenRoyal_ = 'Single. Jasleen Royal'; + static const singleTanishkBagchi_ = 'Single. Tanishk Bagchi'; + static const smith_ = 'Smith'; + static const sortBy_ = 'Sort by'; + static const spinWinAdduredCredits_ = 'Spin & Win Addured Credits'; + static const spinWinAssuredCredits_ = 'Spin & Win Assured Credits'; + static const sports_ = 'Sports'; + static const story_ = 'Story'; + static const submitReview_ = 'Submit Review'; + static const tRYAGAIN_ = 'TRY AGAIN'; + static const tech_ = 'Tech'; + static const technology_ = 'Technology'; + static const termsAndConditions_ = 'Terms and Conditions'; + static const testgmailcom_ = 'test@gmail.com'; + static const text_ = 'Text'; + static const thePageYouAreLookingForC_ = + 'The page you are looking for could not be found.'; + static const theRoleOfCreativityInUXD_ = + 'The Role of creativity in UX design?'; + static const theRoleOfCretivityInUXDe_ = + 'The Role of Cretivity in UX design?'; + static const theWatchModelThatMakesYu_ = + 'The watch model that makes yu even cooler.'; + static const today_ = 'Today'; + static const uSD1990_ = 'USD 199.0'; + static const uSD499month_ = 'USD 4.99/month'; + static const uSD999_ = 'USD 9.99'; + static const uX_ = 'UX'; + static const upgradePlan_ = 'Upgrade Plan'; + static const userResearchMovieApp_ = 'User Research Movie App'; + static const username_ = 'Username'; + static const verification_ = 'Verification'; + static const verify_ = 'Verify'; + static const vishalShekharAtifAslam_ = 'Vishal-Shekhar,Atif Aslam'; + static const vision_ = 'Vision'; + static const weHaveSpecialFood_ = 'We Have Special Food'; + static const webDevelopPortfolio_ = 'Web Develop Portfolio'; + static const webIdeas_ = 'Web Ideas'; + static const welcomeToTheFultterStudio_ = + 'Welcome to the FultterStudio. Make Attractive UI using FultterStudio.'; + static const westernwear_ = 'Westernwear'; + static const whyDoPlainTshirtsMakeUs_ = + 'Why do plain t-shirts make us look cooler ?'; + static const xD_ = 'XD'; + static const yearly_ = 'Yearly'; + static const yourFeedbackWillHelpImprov_ = + 'Your feedback will help improve driving experience.'; + static const youtubeIdeas_ = 'Youtube Ideas'; +} diff --git a/lib/src/common/utils.dart b/lib/src/common/utils.dart new file mode 100644 index 0000000..6976263 --- /dev/null +++ b/lib/src/common/utils.dart @@ -0,0 +1,106 @@ +import 'package:collection/collection.dart'; +import 'dart:convert'; +import 'dart:math'; +import 'dart:ui'; + +import 'package:flutter/services.dart' show rootBundle; + +//import '../data/api/_api.dart'; +import '../data/models/_models.dart'; +import '../data/repository/_dao.dart'; + +export 'package:google_fonts/google_fonts.dart'; + +/*List samplesListModelFromJson(String str) => + List.from(json.decode(str).map((x) => Sample.fromJson(x))); + +String samplesListModelToJson(List data) => + json.encode(List.from(data.map((x) => x.toJson())));*/ + +Future fillWithMockData() async { + await Future.delayed(const Duration(seconds: 3)); + var jsonString = await rootBundle.loadString('assets/data.json'); + var data = json.decode(jsonString); + + var sampleItems = List.from( + data['sample'].map((x) => Sample.fromJson(x)), + ); + var sampleDao = SampleDao(); + await sampleDao.deleteAll(); + for (var item in sampleItems) { + await sampleDao.insert(item); + } + + return true; +} + +/// Darken a color by [percent] amount (100 = black) +Color darken(Color c, [int percent = 15]) { + assert(1 <= percent && percent <= 100); + var f = 1 - percent / 100; + return Color.fromARGB( + c.alpha, + (c.red * f).round(), + (c.green * f).round(), + (c.blue * f).round(), + ); +} + +/// Lighten a color by [percent] amount (100 = white) +Color lighten(Color c, [int percent = 85]) { + assert(1 <= percent && percent <= 100); + var p = percent / 100; + return Color.fromARGB( + c.alpha, + c.red + ((255 - c.red) * p).round(), + c.green + ((255 - c.green) * p).round(), + c.blue + ((255 - c.blue) * p).round(), + ); +} + +// Validators +String? requiredValidator(String? value) { + if (value?.trim().isNotEmpty != true) { + return 'Please fill this field'; + } + return null; +} + +String? emailValidator(String? value) { + if (value?.trim().isNotEmpty != true) { + return 'Please fill this field'; + } + // https://stackoverflow.com/a/16888554 + if (!RegExp( + r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,253}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,253}[a-zA-Z0-9])?)*$", + ).hasMatch(value!)) { + return 'Enter valid email address'; + } + return null; +} + +String? passwordValidator(String? value) { + if (value?.trim().isNotEmpty != true) { + return 'Please fill this field'; + } + // https://stackoverflow.com/a/19605207 + if (!RegExp( + r'^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$', + ).hasMatch(value!)) { + return 'Password must be at least 8 characters long and include lowercase, uppercase, number, and special character'; + } + return null; +} + +String? phoneValidator(String? value) { + if (value?.trim().isNotEmpty != true) { + return 'Please fill this field'; + } + // https://stackoverflow.com/a/16702965 + if (!RegExp( + r'^\s*(?:\+?(\d{1,3}))?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{4})(?: *x(\d+))?\s*$', + ).hasMatch(value!)) { + return 'Enter valid phone number'; + } + return null; +} diff --git a/lib/src/data/models/_models.dart b/lib/src/data/models/_models.dart new file mode 100644 index 0000000..426e3ff --- /dev/null +++ b/lib/src/data/models/_models.dart @@ -0,0 +1 @@ +export 'sample.dart'; diff --git a/lib/src/data/models/sample.dart b/lib/src/data/models/sample.dart new file mode 100644 index 0000000..a9b04b7 --- /dev/null +++ b/lib/src/data/models/sample.dart @@ -0,0 +1,34 @@ +import 'package:json_annotation/json_annotation.dart'; + +import '_models.dart'; + +part 'sample.g.dart'; + +@JsonSerializable() +class Sample { + Sample({this.string, this.integer, this.decimal, this.boolean, this.date}); + + String? string; + int? integer; + double? decimal; + bool? boolean; + DateTime? date; + + @JsonKey(ignore: true) + String? id; + + factory Sample.fromJson(Map json) => _$SampleFromJson(json); + + Map toJson() => _$SampleToJson(this); + + @override + operator ==(Object other) => other is Sample && other.id == id; + + @override + int get hashCode => id.hashCode; + + @override + String toString() { + return ''; + } +} diff --git a/lib/src/data/repository/_dao.dart b/lib/src/data/repository/_dao.dart new file mode 100644 index 0000000..86d32da --- /dev/null +++ b/lib/src/data/repository/_dao.dart @@ -0,0 +1,25 @@ +export 'sample_dao.dart'; + +abstract class Dao { + Future delete(String id); + + Future deleteAll(); + + T? get(String id); + + List getAll(); + + T create(); + + Future insert(T item); + + Future> fetchAll(); + + Future fetch(String id); + + Future update(T item, String id); + + Future upsert(T item); + + Stream> subscribe(); +} diff --git a/lib/src/data/repository/sample_dao.dart b/lib/src/data/repository/sample_dao.dart new file mode 100644 index 0000000..5b6464d --- /dev/null +++ b/lib/src/data/repository/sample_dao.dart @@ -0,0 +1,90 @@ +import 'dart:async'; + +import 'package:uuid/uuid.dart' as uuid; +import 'package:flutter/foundation.dart'; + +import '../models/_models.dart'; +import '_dao.dart'; + +class SampleDao extends Dao { + static SampleDao? _instance; + + // singleton instance + factory SampleDao() => _instance ??= SampleDao._internal(); + + SampleDao._internal() { + // initialization logic here + } + + final Map _storage = {}; + final StreamController> _streamController = + StreamController>.broadcast(); + + @override + Future delete(String id) async { + var removed = _storage.remove(id); + _emit(); + return removed; + } + + @override + Future deleteAll() async { + _storage.clear(); + _emit(); + return true; + } + + @override + Sample? get(String id) { + return _storage[id]; + } + + @override + List getAll() { + return _storage.values.toList(); + } + + @override + Sample create() { + return Sample(); + } + + @override + Future insert(Sample item) async { + var id = const uuid.Uuid().v4(); + //var newSample = Sample(name: item.name)..id = id; + var newSample = item..id = id; + _storage[id] = newSample; + _emit(); + return newSample; + } + + @override + Future> fetchAll() async { + return _storage.values.toList(); + } + + @override + Future fetch(String id) async { + return _storage[id]; + } + + @override + Future update(Sample item, String id) async { + _storage[id] = item; + _emit(); + return item..id = id; + } + + @override + Future upsert(Sample item) async { + return (item.id == null) ? insert(item) : update(item, item.id!); + } + + @override + Stream> subscribe() => _streamController.stream; + + void _emit() { + _streamController.add(_storage.values.toList()); + } +} diff --git a/lib/src/ui/components/_components.dart b/lib/src/ui/components/_components.dart new file mode 100644 index 0000000..385e12f --- /dev/null +++ b/lib/src/ui/components/_components.dart @@ -0,0 +1,105 @@ +export 'padding1668_943x.dart'; +export 'padding2658_p1zk.dart'; +export 'stack1907_xt28.dart'; +export 'container122_a8w6.dart'; +export 'container2933_cvn3.dart'; +export 'stack3232_t74i.dart'; +export 'stack3235_ayay.dart'; +export 'stack1908_55ms.dart'; +export 'container676_u4q2.dart'; +export 'stack1913_cao7.dart'; +export 'text_field561_jhkd.dart'; +export 'stack3232_hcgu.dart'; +export 'padding562_b5u2.dart'; +export 'stack1911_9sq5.dart'; +export 'padding8_wdx9.dart'; +export 'list_tile1214_lcq3.dart'; +export 'text1342_x667.dart'; +export 'padding1247_rcmx.dart'; +export 'divider1211_qqok.dart'; +export 'padding1670_gouc.dart'; +export 'clip_r_rect1340_ko9q.dart'; +export 'text12_uxqe.dart'; +export 'container1045_jwip.dart'; +export 'padding1_p779.dart'; +export 'app_bar682_1czg.dart'; +export 'rating_barbuilder1009_hkzs.dart'; +export 'stack3205_puva.dart'; +export 'divider1211_quka.dart'; +export 'list_tile1210_3rti.dart'; +export 'padding1902_1msv.dart'; +export 'container2930_2rhj.dart'; +export 'stack3231_thkh.dart'; +export 'padding1901_cx9n.dart'; +export 'padding2523_p4he.dart'; +export 'padding2661_qzry.dart'; +export 'stack1914_hvm6.dart'; +export 'material_button1217_jwby.dart'; +export 'padding2662_bl2j.dart'; +export 'container1915_m39v.dart'; +export 'app_bar2944_rotl.dart'; +export 'padding1903_0ffz.dart'; +export 'align2939_fgkc.dart'; +export 'padding2660_8c7p.dart'; +export 'divider1211_akau.dart'; +export 'text_field1926_332s.dart'; +export 'padding2659_acub.dart'; +export 'stack1910_yg0l.dart'; +export 'row1218_c1cc.dart'; +export 'padding2656_z413.dart'; +export 'row1927_acsm.dart'; +export 'padding2522_3z73.dart'; +export 'app_bar3210_xy2e.dart'; +export 'otp_text_field1083_80av.dart'; +export 'stack1906_s1jy.dart'; +export 'stack1912_btq1.dart'; +export 'material_button1215_0qfr.dart'; +export 'row3264_os4l.dart'; +export 'switch_list_tile1212_w9oz.dart'; +export 'container1042_49si.dart'; +export 'padding2663_fus1.dart'; +export 'padding1904_tdvf.dart'; +export 'row703_gnuw.dart'; +export 'stack2339_cb92.dart'; +export 'container1044_awqh.dart'; +export 'padding1339_yprp.dart'; +export 'stack3234_ew9q.dart'; +export 'row1667_tgx9.dart'; +export 'stack3208_5dv2.dart'; +export 'container2934_5anc.dart'; +export 'app_bar1048_e0na.dart'; +export 'stack2554_yhdm.dart'; +export 'app_bar2671_1agg.dart'; +export 'text_field710_3r6r.dart'; +export 'padding2657_r22y.dart'; +export 'padding3297_l244.dart'; +export 'padding563_2jw4.dart'; +export 'padding2520_wweb.dart'; +export 'stack1909_yxtc.dart'; +export 'padding1341_9kox.dart'; +export 'padding3261_vzwy.dart'; +export 'padding5_pcnl.dart'; +export 'app_bar1219_t88q.dart'; +export 'stack3231_qtc6.dart'; +export 'stack3236_u65x.dart'; +export 'container2930_qyoo.dart'; +export 'padding2654_rvnw.dart'; +export 'container121_di37.dart'; +export 'list_tile1213_y7ek.dart'; +export 'stack3233_o59n.dart'; +export 'row1245_305i.dart'; +export 'padding564_yzg6.dart'; +export 'material_button123_qtis.dart'; +export 'package:smooth_page_indicator/smooth_page_indicator.dart'; +export 'package:flutter_rating_bar/flutter_rating_bar.dart'; +export 'package:lottie/lottie.dart'; +export 'package:flutter_otp_text_field/flutter_otp_text_field.dart'; + +import 'package:flutter/material.dart'; + +abstract class BaseAppBar extends StatelessWidget + implements PreferredSizeWidget { + const BaseAppBar({super.key}); + + Size get preferredSize => Size.fromHeight(kToolbarHeight); +} diff --git a/lib/src/ui/components/align2939_fgkc.dart b/lib/src/ui/components/align2939_fgkc.dart new file mode 100644 index 0000000..61a5b48 --- /dev/null +++ b/lib/src/ui/components/align2939_fgkc.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Align2939_fgkc extends StatelessWidget { + final IconData p1; + + Align2939_fgkc(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Align( + alignment: Alignment.bottomRight, + child: Container( + margin: EdgeInsets.fromLTRB(0, 0, 16, 16), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0xff3a57e8), + shape: BoxShape.circle, + ), + child: Icon(p1, color: Color(0xffffffff), size: 24), + ), + ); + } +} diff --git a/lib/src/ui/components/app_bar1048_e0na.dart b/lib/src/ui/components/app_bar1048_e0na.dart new file mode 100644 index 0000000..04001a4 --- /dev/null +++ b/lib/src/ui/components/app_bar1048_e0na.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AppBar1048_e0na extends BaseAppBar { + final IconData p3; + final IconData p2; + final String p1; + + AppBar1048_e0na(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffffffff), + ), + ), + actions: [ + Icon(p2, color: Color(0xffffffff), size: 22), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 16, 0), + child: Icon(p3, color: Color(0xffffffff), size: 22), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/app_bar1219_t88q.dart b/lib/src/ui/components/app_bar1219_t88q.dart new file mode 100644 index 0000000..90e68f4 --- /dev/null +++ b/lib/src/ui/components/app_bar1219_t88q.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AppBar1219_t88q extends BaseAppBar { + final String p1; + + AppBar1219_t88q(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffffffff), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/app_bar2671_1agg.dart b/lib/src/ui/components/app_bar2671_1agg.dart new file mode 100644 index 0000000..9a395eb --- /dev/null +++ b/lib/src/ui/components/app_bar2671_1agg.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AppBar2671_1agg extends BaseAppBar { + final VoidCallback p2; + final String p1; + + AppBar2671_1agg(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.menu, color: Color(0xff212435), size: 24), + onPressed: p2, + ), + actions: [Icon(Icons.search, color: Color(0xff212435), size: 24)], + ); + } +} diff --git a/lib/src/ui/components/app_bar2944_rotl.dart b/lib/src/ui/components/app_bar2944_rotl.dart new file mode 100644 index 0000000..484714a --- /dev/null +++ b/lib/src/ui/components/app_bar2944_rotl.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AppBar2944_rotl extends BaseAppBar { + final String p1; + + AppBar2944_rotl(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xfff9f9f9), + ), + ), + actions: [ + Icon(Icons.search, color: Color(0xffffffff), size: 22), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 16, 0), + child: Icon(Icons.dashboard, color: Color(0xffffffff), size: 22), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/app_bar3210_xy2e.dart b/lib/src/ui/components/app_bar3210_xy2e.dart new file mode 100644 index 0000000..5319910 --- /dev/null +++ b/lib/src/ui/components/app_bar3210_xy2e.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AppBar3210_xy2e extends BaseAppBar { + final IconData p3; + final VoidCallback p2; + final String p1; + + AppBar3210_xy2e(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return AppBar( + elevation: 0, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xffffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: p2, + ), + actions: [Icon(p3, color: Color(0xff212435), size: 24)], + ); + } +} diff --git a/lib/src/ui/components/app_bar682_1czg.dart b/lib/src/ui/components/app_bar682_1czg.dart new file mode 100644 index 0000000..3339c7a --- /dev/null +++ b/lib/src/ui/components/app_bar682_1czg.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AppBar682_1czg extends BaseAppBar { + final IconData p3; + final IconData p2; + final String p1; + + AppBar682_1czg(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffffffff), + ), + ), + actions: [ + Icon(p2, color: Color(0xffffffff), size: 22), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 16, 0), + child: Icon(p3, color: Color(0xffffffff), size: 22), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/clip_r_rect1340_ko9q.dart b/lib/src/ui/components/clip_r_rect1340_ko9q.dart new file mode 100644 index 0000000..46fcac4 --- /dev/null +++ b/lib/src/ui/components/clip_r_rect1340_ko9q.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ClipRRect1340_ko9q extends StatelessWidget { + final String p1; + + ClipRRect1340_ko9q(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return ClipRRect( + borderRadius: BorderRadius.circular(12.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 200, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ); + } +} diff --git a/lib/src/ui/components/container1042_49si.dart b/lib/src/ui/components/container1042_49si.dart new file mode 100644 index 0000000..cbce407 --- /dev/null +++ b/lib/src/ui/components/container1042_49si.dart @@ -0,0 +1,157 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container1042_49si extends StatelessWidget { + final String p6; + final String p5; + final IconData p4; + final IconData p3; + final String p2; + final IconData p1; + + Container1042_49si( + this.p6, + this.p5, + this.p4, + this.p3, + this.p2, + this.p1, { + super.key, + }); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(0, 0, 0, 16), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xff3a57e8), size: 50), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Icon( + p3, + color: Color(0xffffac00), + size: 20, + ), + ), + ], + ), + ), + Icon(p4, color: Color(0xff212435), size: 20), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p5, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff393939), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + p6, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container1044_awqh.dart b/lib/src/ui/components/container1044_awqh.dart new file mode 100644 index 0000000..f912054 --- /dev/null +++ b/lib/src/ui/components/container1044_awqh.dart @@ -0,0 +1,157 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container1044_awqh extends StatelessWidget { + final String p6; + final String p5; + final IconData p4; + final IconData p3; + final String p2; + final IconData p1; + + Container1044_awqh( + this.p6, + this.p5, + this.p4, + this.p3, + this.p2, + this.p1, { + super.key, + }); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(0, 0, 0, 16), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xff3a57e8), size: 50), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Icon( + p3, + color: Color(0xffffac00), + size: 20, + ), + ), + ], + ), + ), + Icon(p4, color: Color(0xff212435), size: 20), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p5, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff393939), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + p6, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container1045_jwip.dart b/lib/src/ui/components/container1045_jwip.dart new file mode 100644 index 0000000..4de18d6 --- /dev/null +++ b/lib/src/ui/components/container1045_jwip.dart @@ -0,0 +1,157 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container1045_jwip extends StatelessWidget { + final String p6; + final String p5; + final IconData p4; + final IconData p3; + final String p2; + final IconData p1; + + Container1045_jwip( + this.p6, + this.p5, + this.p4, + this.p3, + this.p2, + this.p1, { + super.key, + }); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(0, 0, 0, 16), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xff3a57e8), size: 50), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Icon( + p3, + color: Color(0xffffac00), + size: 20, + ), + ), + ], + ), + ), + Icon(p4, color: Color(0xff212435), size: 20), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p5, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff393939), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + p6, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container121_di37.dart b/lib/src/ui/components/container121_di37.dart new file mode 100644 index 0000000..86ed02f --- /dev/null +++ b/lib/src/ui/components/container121_di37.dart @@ -0,0 +1,94 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container121_di37 extends StatelessWidget { + final String p4; + final String p3; + final String p2; + final Color p1; + + Container121_di37(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 140, + height: 180, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0xffff5630), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 40, + height: 40, + decoration: BoxDecoration(color: p1, shape: BoxShape.circle), + child: Icon(Icons.done, color: Color(0xffffffff), size: 24), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container122_a8w6.dart b/lib/src/ui/components/container122_a8w6.dart new file mode 100644 index 0000000..5dbb0cb --- /dev/null +++ b/lib/src/ui/components/container122_a8w6.dart @@ -0,0 +1,94 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container122_a8w6 extends StatelessWidget { + final String p4; + final String p3; + final String p2; + final Color p1; + + Container122_a8w6(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(16, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 140, + height: 180, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x68898989), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 40, + height: 40, + decoration: BoxDecoration(color: p1, shape: BoxShape.circle), + child: Icon(Icons.done, color: Color(0xffffffff), size: 24), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + p4, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container1915_m39v.dart b/lib/src/ui/components/container1915_m39v.dart new file mode 100644 index 0000000..0e5a968 --- /dev/null +++ b/lib/src/ui/components/container1915_m39v.dart @@ -0,0 +1,110 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container1915_m39v extends StatefulWidget { + final String p4; + final String p3; + final String p2; + final String p1; + + Container1915_m39v(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + State createState() => _Container1915_m39vState(); +} + +class _Container1915_m39vState extends State { + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 280, + height: 100, + decoration: BoxDecoration( + color: Color(0x00000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(12.0), + bottomLeft: Radius.circular(12.0), + ), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image(image: NetworkImage(widget.p1), fit: BoxFit.cover), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + widget.p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + widget.p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + widget.p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container2930_2rhj.dart b/lib/src/ui/components/container2930_2rhj.dart new file mode 100644 index 0000000..863b42e --- /dev/null +++ b/lib/src/ui/components/container2930_2rhj.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container2930_2rhj extends StatelessWidget { + final String p4; + final String p3; + final IconData p2; + final IconData p1; + + Container2930_2rhj(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(0, 0, 16, 0), + padding: EdgeInsets.all(12), + width: 150, + height: 170, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xffffc000), size: 24), + Icon(p2, color: Color(0xff212435), size: 24), + ], + ), + ImageIcon(NetworkImage(p3), size: 80, color: Color(0xffd46d24)), + Text( + p4, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container2930_qyoo.dart b/lib/src/ui/components/container2930_qyoo.dart new file mode 100644 index 0000000..6bb2846 --- /dev/null +++ b/lib/src/ui/components/container2930_qyoo.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container2930_qyoo extends StatelessWidget { + final String p4; + final String p3; + final IconData p2; + final IconData p1; + + Container2930_qyoo(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(0, 0, 16, 0), + padding: EdgeInsets.all(12), + width: 150, + height: 170, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xffffc000), size: 24), + Icon(p2, color: Color(0xff212435), size: 24), + ], + ), + ImageIcon(NetworkImage(p3), size: 80, color: Color(0xffd46d24)), + Text( + p4, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container2933_cvn3.dart b/lib/src/ui/components/container2933_cvn3.dart new file mode 100644 index 0000000..4f1a3e3 --- /dev/null +++ b/lib/src/ui/components/container2933_cvn3.dart @@ -0,0 +1,100 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container2933_cvn3 extends StatelessWidget { + final String p5; + final String p4; + final String p3; + final IconData p2; + final IconData p1; + + Container2933_cvn3(this.p5, this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xffffc000), size: 24), + Icon(p2, color: Color(0xff212435), size: 24), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Expanded( + flex: 1, + child: Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.symmetric(vertical: 4, horizontal: 8), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + p5, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container2934_5anc.dart b/lib/src/ui/components/container2934_5anc.dart new file mode 100644 index 0000000..d6ad6f9 --- /dev/null +++ b/lib/src/ui/components/container2934_5anc.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container2934_5anc extends StatelessWidget { + final String p4; + final String p3; + final String p2; + final IconData p1; + + Container2934_5anc(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(height: 16, width: 16), + Icon(p1, color: Color(0xff212435), size: 24), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Expanded( + flex: 1, + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.symmetric(vertical: 4, horizontal: 8), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/container676_u4q2.dart b/lib/src/ui/components/container676_u4q2.dart new file mode 100644 index 0000000..f1cfd78 --- /dev/null +++ b/lib/src/ui/components/container676_u4q2.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Container676_u4q2 extends StatelessWidget { + final String p2; + final String p1; + + Container676_u4q2(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff3a57e8), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff4c4c4c), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/divider1211_akau.dart b/lib/src/ui/components/divider1211_akau.dart new file mode 100644 index 0000000..32cb89f --- /dev/null +++ b/lib/src/ui/components/divider1211_akau.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Divider1211_akau extends StatelessWidget { + Divider1211_akau({super.key}); + + @override + Widget build(BuildContext context) { + return Divider( + color: Color(0x4d9e9e9e), + height: 16, + thickness: 1, + indent: 0, + endIndent: 0, + ); + } +} diff --git a/lib/src/ui/components/divider1211_qqok.dart b/lib/src/ui/components/divider1211_qqok.dart new file mode 100644 index 0000000..13d0e3f --- /dev/null +++ b/lib/src/ui/components/divider1211_qqok.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Divider1211_qqok extends StatelessWidget { + Divider1211_qqok({super.key}); + + @override + Widget build(BuildContext context) { + return Divider( + color: Color(0x4d9e9e9e), + height: 16, + thickness: 1, + indent: 0, + endIndent: 0, + ); + } +} diff --git a/lib/src/ui/components/divider1211_quka.dart b/lib/src/ui/components/divider1211_quka.dart new file mode 100644 index 0000000..98d3f2c --- /dev/null +++ b/lib/src/ui/components/divider1211_quka.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Divider1211_quka extends StatelessWidget { + Divider1211_quka({super.key}); + + @override + Widget build(BuildContext context) { + return Divider( + color: Color(0x4d9e9e9e), + height: 16, + thickness: 1, + indent: 0, + endIndent: 0, + ); + } +} diff --git a/lib/src/ui/components/list_tile1210_3rti.dart b/lib/src/ui/components/list_tile1210_3rti.dart new file mode 100644 index 0000000..951a8fc --- /dev/null +++ b/lib/src/ui/components/list_tile1210_3rti.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ListTile1210_3rti extends StatelessWidget { + final String p1; + + ListTile1210_3rti(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return ListTile( + tileColor: Color(0xffffffff), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + textAlign: TextAlign.start, + ), + dense: true, + contentPadding: EdgeInsets.all(0), + selected: false, + selectedTileColor: Color(0x42000000), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + trailing: Icon( + Icons.arrow_forward_ios, + color: Color(0xff000000), + size: 18, + ), + ); + } +} diff --git a/lib/src/ui/components/list_tile1213_y7ek.dart b/lib/src/ui/components/list_tile1213_y7ek.dart new file mode 100644 index 0000000..e0242c0 --- /dev/null +++ b/lib/src/ui/components/list_tile1213_y7ek.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ListTile1213_y7ek extends StatelessWidget { + final String p1; + + ListTile1213_y7ek(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return ListTile( + tileColor: Color(0xffffffff), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + textAlign: TextAlign.start, + ), + dense: true, + contentPadding: EdgeInsets.all(0), + selected: false, + selectedTileColor: Color(0x42000000), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + trailing: Icon( + Icons.arrow_forward_ios, + color: Color(0xff000000), + size: 18, + ), + ); + } +} diff --git a/lib/src/ui/components/list_tile1214_lcq3.dart b/lib/src/ui/components/list_tile1214_lcq3.dart new file mode 100644 index 0000000..ff1711a --- /dev/null +++ b/lib/src/ui/components/list_tile1214_lcq3.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ListTile1214_lcq3 extends StatelessWidget { + final String p1; + + ListTile1214_lcq3(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return ListTile( + tileColor: Color(0xffffffff), + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + textAlign: TextAlign.start, + ), + dense: true, + contentPadding: EdgeInsets.all(0), + selected: false, + selectedTileColor: Color(0x42000000), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + trailing: Icon( + Icons.arrow_forward_ios, + color: Color(0xff000000), + size: 18, + ), + ); + } +} diff --git a/lib/src/ui/components/material_button1215_0qfr.dart b/lib/src/ui/components/material_button1215_0qfr.dart new file mode 100644 index 0000000..3c826ad --- /dev/null +++ b/lib/src/ui/components/material_button1215_0qfr.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class MaterialButton1215_0qfr extends StatelessWidget { + final String p2; + final VoidCallback p1; + + MaterialButton1215_0qfr(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return MaterialButton( + onPressed: p1, + color: Color(0x343a57e8), + elevation: 0, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + padding: EdgeInsets.all(16), + child: Text( + p2, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xff3a57e8), + height: 40, + minWidth: MediaQuery.of(context).size.width, + ); + } +} diff --git a/lib/src/ui/components/material_button1217_jwby.dart b/lib/src/ui/components/material_button1217_jwby.dart new file mode 100644 index 0000000..7b72e0f --- /dev/null +++ b/lib/src/ui/components/material_button1217_jwby.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class MaterialButton1217_jwby extends StatelessWidget { + final String p2; + final VoidCallback p1; + + MaterialButton1217_jwby(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return MaterialButton( + onPressed: p1, + color: Color(0x343a57e8), + elevation: 0, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12.0)), + padding: EdgeInsets.all(16), + child: Text( + p2, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xff3a57e8), + minWidth: MediaQuery.of(context).size.width, + ); + } +} diff --git a/lib/src/ui/components/material_button123_qtis.dart b/lib/src/ui/components/material_button123_qtis.dart new file mode 100644 index 0000000..4ede6bc --- /dev/null +++ b/lib/src/ui/components/material_button123_qtis.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class MaterialButton123_qtis extends StatelessWidget { + final String p3; + final Color p2; + final VoidCallback p1; + + MaterialButton123_qtis(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return MaterialButton( + onPressed: p1, + color: p2, + elevation: 0, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12.0)), + padding: EdgeInsets.all(16), + child: Text( + p3, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 50, + minWidth: MediaQuery.of(context).size.width, + ); + } +} diff --git a/lib/src/ui/components/otp_text_field1083_80av.dart b/lib/src/ui/components/otp_text_field1083_80av.dart new file mode 100644 index 0000000..3745dd3 --- /dev/null +++ b/lib/src/ui/components/otp_text_field1083_80av.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class OtpTextField1083_80av extends StatelessWidget { + OtpTextField1083_80av({super.key}); + + @override + Widget build(BuildContext context) { + return OtpTextField( + numberOfFields: 4, + showFieldAsBox: false, + fieldWidth: 50, + filled: true, + fillColor: Color(0x00000000), + enabledBorderColor: Color(0xff898a8e), + focusedBorderColor: Color(0xff3a57e8), + borderWidth: 2, + margin: EdgeInsets.all(0), + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.center, + obscureText: false, + borderRadius: BorderRadius.circular(4.0), + textStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + onCodeChanged: (String code) {}, + onSubmit: (String verificationCode) {}, + ); + } +} diff --git a/lib/src/ui/components/padding1247_rcmx.dart b/lib/src/ui/components/padding1247_rcmx.dart new file mode 100644 index 0000000..8f6be48 --- /dev/null +++ b/lib/src/ui/components/padding1247_rcmx.dart @@ -0,0 +1,51 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1247_rcmx extends StatelessWidget { + final String p1; + + Padding1247_rcmx(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Checkbox( + onChanged: (value) {}, + activeColor: Color(0xffff5630), + autofocus: false, + checkColor: Color(0x005d0e0e), + hoverColor: Color(0x42000000), + splashRadius: 20, + value: false, + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1339_yprp.dart b/lib/src/ui/components/padding1339_yprp.dart new file mode 100644 index 0000000..6e94bda --- /dev/null +++ b/lib/src/ui/components/padding1339_yprp.dart @@ -0,0 +1,47 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1339_yprp extends StatelessWidget { + final IconData p2; + final String p1; + + Padding1339_yprp(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Icon(p2, color: Color(0xb76e6e70), size: 24), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1341_9kox.dart b/lib/src/ui/components/padding1341_9kox.dart new file mode 100644 index 0000000..bf3829f --- /dev/null +++ b/lib/src/ui/components/padding1341_9kox.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1341_9kox extends StatelessWidget { + final String p6; + final Color p5; + final VoidCallback p4; + final String p3; + final String p2; + final String p1; + + Padding1341_9kox( + this.p6, + this.p5, + this.p4, + this.p3, + this.p2, + this.p1, { + super.key, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 70, + width: 70, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(p1, fit: BoxFit.cover), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 8, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff787575), + ), + ), + ), + ], + ), + ), + ), + MaterialButton( + onPressed: p4, + color: p5, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(16), + child: Text( + p6, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1668_943x.dart b/lib/src/ui/components/padding1668_943x.dart new file mode 100644 index 0000000..55a498b --- /dev/null +++ b/lib/src/ui/components/padding1668_943x.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1668_943x extends StatelessWidget { + final String p2; + final IconData p1; + + Padding1668_943x(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 45, + height: 45, + decoration: BoxDecoration( + color: Color(0xff636262), + shape: BoxShape.circle, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Icon(p1, color: Color(0xffffffff), size: 24), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ), + Checkbox( + onChanged: (value) {}, + activeColor: Color(0xff3a57e8), + autofocus: false, + checkColor: Color(0xffffffff), + hoverColor: Color(0x42000000), + splashRadius: 20, + value: true, + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1670_gouc.dart b/lib/src/ui/components/padding1670_gouc.dart new file mode 100644 index 0000000..19956c2 --- /dev/null +++ b/lib/src/ui/components/padding1670_gouc.dart @@ -0,0 +1,75 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1670_gouc extends StatelessWidget { + final String p2; + final IconData p1; + + Padding1670_gouc(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 45, + height: 45, + decoration: BoxDecoration( + color: Color(0xffff9900), + shape: BoxShape.circle, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Icon(p1, color: Color(0xffffffff), size: 24), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ), + Icon(Icons.arrow_forward_ios, color: Color(0xff7b7c80), size: 18), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1901_cx9n.dart b/lib/src/ui/components/padding1901_cx9n.dart new file mode 100644 index 0000000..9fc3de2 --- /dev/null +++ b/lib/src/ui/components/padding1901_cx9n.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1901_cx9n extends StatefulWidget { + final String p2; + final String p1; + + Padding1901_cx9n(this.p2, this.p1, {super.key}); + + @override + State createState() => _Padding1901_cx9nState(); +} + +class _Padding1901_cx9nState extends State { + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(widget.p1, fit: BoxFit.cover), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1902_1msv.dart b/lib/src/ui/components/padding1902_1msv.dart new file mode 100644 index 0000000..e39b758 --- /dev/null +++ b/lib/src/ui/components/padding1902_1msv.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1902_1msv extends StatefulWidget { + final String p2; + final String p1; + + Padding1902_1msv(this.p2, this.p1, {super.key}); + + @override + State createState() => _Padding1902_1msvState(); +} + +class _Padding1902_1msvState extends State { + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(widget.p1, fit: BoxFit.cover), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1903_0ffz.dart b/lib/src/ui/components/padding1903_0ffz.dart new file mode 100644 index 0000000..efa947b --- /dev/null +++ b/lib/src/ui/components/padding1903_0ffz.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1903_0ffz extends StatefulWidget { + final String p2; + final String p1; + + Padding1903_0ffz(this.p2, this.p1, {super.key}); + + @override + State createState() => _Padding1903_0ffzState(); +} + +class _Padding1903_0ffzState extends State { + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(widget.p1, fit: BoxFit.cover), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1904_tdvf.dart b/lib/src/ui/components/padding1904_tdvf.dart new file mode 100644 index 0000000..fb4b68b --- /dev/null +++ b/lib/src/ui/components/padding1904_tdvf.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1904_tdvf extends StatefulWidget { + final String p2; + final String p1; + + Padding1904_tdvf(this.p2, this.p1, {super.key}); + + @override + State createState() => _Padding1904_tdvfState(); +} + +class _Padding1904_tdvfState extends State { + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(widget.p1, fit: BoxFit.cover), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding1_p779.dart b/lib/src/ui/components/padding1_p779.dart new file mode 100644 index 0000000..051c69c --- /dev/null +++ b/lib/src/ui/components/padding1_p779.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding1_p779 extends StatelessWidget { + final String p2; + final String p1; + + Padding1_p779(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 120, + width: 110, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p2, + textAlign: TextAlign.center, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding2520_wweb.dart b/lib/src/ui/components/padding2520_wweb.dart new file mode 100644 index 0000000..a64d619 --- /dev/null +++ b/lib/src/ui/components/padding2520_wweb.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2520_wweb extends StatelessWidget { + final IconData p2; + final String p1; + + Padding2520_wweb(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 30, + height: 30, + decoration: BoxDecoration( + color: Color(0xff3a57e8), + shape: BoxShape.circle, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Icon(p2, color: Color(0xffffffff), size: 18), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding2522_3z73.dart b/lib/src/ui/components/padding2522_3z73.dart new file mode 100644 index 0000000..9229f29 --- /dev/null +++ b/lib/src/ui/components/padding2522_3z73.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2522_3z73 extends StatelessWidget { + final String p1; + + Padding2522_3z73(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2523_p4he.dart b/lib/src/ui/components/padding2523_p4he.dart new file mode 100644 index 0000000..4952395 --- /dev/null +++ b/lib/src/ui/components/padding2523_p4he.dart @@ -0,0 +1,76 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2523_p4he extends StatelessWidget { + final String p3; + final String p2; + final IconData p1; + + Padding2523_p4he(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(p1, color: Color(0xff212435), size: 18), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + Divider( + color: Color(0xff808080), + height: 16, + thickness: 0, + indent: 0, + endIndent: 0, + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding2654_rvnw.dart b/lib/src/ui/components/padding2654_rvnw.dart new file mode 100644 index 0000000..51ddd13 --- /dev/null +++ b/lib/src/ui/components/padding2654_rvnw.dart @@ -0,0 +1,111 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2654_rvnw extends StatelessWidget { + final String p3; + final String p2; + final String p1; + + Padding2654_rvnw(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: SizedBox( + height: 170, + width: 150, + child: Stack( + alignment: Alignment.bottomCenter, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0xa04e4b4b), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + ), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Slider( + onChanged: (value) {}, + value: 3, + min: 0, + max: 10, + activeColor: Color(0xffffffff), + inactiveColor: Color(0xff9e9e9e), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ], + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2656_z413.dart b/lib/src/ui/components/padding2656_z413.dart new file mode 100644 index 0000000..900cac0 --- /dev/null +++ b/lib/src/ui/components/padding2656_z413.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2656_z413 extends StatelessWidget { + final String p1; + + Padding2656_z413(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0xffffffff), + ), + backgroundColor: Color(0xff2e2e2e), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2657_r22y.dart b/lib/src/ui/components/padding2657_r22y.dart new file mode 100644 index 0000000..3e7a528 --- /dev/null +++ b/lib/src/ui/components/padding2657_r22y.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2657_r22y extends StatelessWidget { + final String p1; + + Padding2657_r22y(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0x688a8989), + ), + backgroundColor: Color(0x00ffffff), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + side: BorderSide(color: Color(0x688a8989), width: 1), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2658_p1zk.dart b/lib/src/ui/components/padding2658_p1zk.dart new file mode 100644 index 0000000..f896886 --- /dev/null +++ b/lib/src/ui/components/padding2658_p1zk.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2658_p1zk extends StatelessWidget { + final String p1; + + Padding2658_p1zk(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0x688a8989), + ), + backgroundColor: Color(0x00ffffff), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + side: BorderSide(color: Color(0x688a8989), width: 1), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2659_acub.dart b/lib/src/ui/components/padding2659_acub.dart new file mode 100644 index 0000000..1eb90c3 --- /dev/null +++ b/lib/src/ui/components/padding2659_acub.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2659_acub extends StatelessWidget { + final String p1; + + Padding2659_acub(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0x688a8989), + ), + backgroundColor: Color(0x00ffffff), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + side: BorderSide(color: Color(0x688a8989), width: 1), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2660_8c7p.dart b/lib/src/ui/components/padding2660_8c7p.dart new file mode 100644 index 0000000..56070b3 --- /dev/null +++ b/lib/src/ui/components/padding2660_8c7p.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2660_8c7p extends StatelessWidget { + final String p1; + + Padding2660_8c7p(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0x688a8989), + ), + backgroundColor: Color(0x00ffffff), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + side: BorderSide(color: Color(0x688a8989), width: 1), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2661_qzry.dart b/lib/src/ui/components/padding2661_qzry.dart new file mode 100644 index 0000000..f1c5adc --- /dev/null +++ b/lib/src/ui/components/padding2661_qzry.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2661_qzry extends StatelessWidget { + final String p1; + + Padding2661_qzry(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0x688a8989), + ), + backgroundColor: Color(0x00ffffff), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + side: BorderSide(color: Color(0x688a8989), width: 1), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2662_bl2j.dart b/lib/src/ui/components/padding2662_bl2j.dart new file mode 100644 index 0000000..4aa8a0f --- /dev/null +++ b/lib/src/ui/components/padding2662_bl2j.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2662_bl2j extends StatelessWidget { + final String p1; + + Padding2662_bl2j(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + child: Chip( + labelPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 4), + label: Text(p1), + labelStyle: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + color: Color(0x688a8989), + ), + backgroundColor: Color(0x00ffffff), + elevation: 0, + shadowColor: Color(0xff808080), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + side: BorderSide(color: Color(0x688a8989), width: 1), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding2663_fus1.dart b/lib/src/ui/components/padding2663_fus1.dart new file mode 100644 index 0000000..ec39d21 --- /dev/null +++ b/lib/src/ui/components/padding2663_fus1.dart @@ -0,0 +1,95 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding2663_fus1 extends StatelessWidget { + final String p4; + final String p3; + final String p2; + final String p1; + + Padding2663_fus1(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 90, + width: 90, + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffff5630), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 8), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 3, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ], + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding3261_vzwy.dart b/lib/src/ui/components/padding3261_vzwy.dart new file mode 100644 index 0000000..242ecd4 --- /dev/null +++ b/lib/src/ui/components/padding3261_vzwy.dart @@ -0,0 +1,97 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding3261_vzwy extends StatelessWidget { + final String p4; + final String p3; + final String p2; + final String p1; + + Padding3261_vzwy(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(12.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 100, + width: 100, + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 8, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffff5630), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 8), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 3, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff605f5f), + ), + ), + ], + ), + ), + ), + Icon(Icons.more_vert, color: Color(0xff212435), size: 24), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding3297_l244.dart b/lib/src/ui/components/padding3297_l244.dart new file mode 100644 index 0000000..83ca402 --- /dev/null +++ b/lib/src/ui/components/padding3297_l244.dart @@ -0,0 +1,116 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding3297_l244 extends StatelessWidget { + final String p6; + final String p5; + final String p4; + final String p3; + final String p2; + final String p1; + + Padding3297_l244( + this.p6, + this.p5, + this.p4, + this.p3, + this.p2, + this.p1, { + super.key, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff3a57e8), + ), + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff3a57e8), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 30), + child: Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + Text( + p5, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Text( + p6, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding562_b5u2.dart b/lib/src/ui/components/padding562_b5u2.dart new file mode 100644 index 0000000..cc9d9a4 --- /dev/null +++ b/lib/src/ui/components/padding562_b5u2.dart @@ -0,0 +1,63 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding562_b5u2 extends StatelessWidget { + final IconData p2; + final String p1; + + Padding562_b5u2(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + hintText: p1, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.all(8), + prefixIcon: Icon(p2, color: Color(0xff000000), size: 24), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding563_2jw4.dart b/lib/src/ui/components/padding563_2jw4.dart new file mode 100644 index 0000000..7329926 --- /dev/null +++ b/lib/src/ui/components/padding563_2jw4.dart @@ -0,0 +1,63 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding563_2jw4 extends StatelessWidget { + final IconData p2; + final String p1; + + Padding563_2jw4(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + hintText: p1, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.all(8), + prefixIcon: Icon(p2, color: Color(0xff000000), size: 24), + ), + ), + ); + } +} diff --git a/lib/src/ui/components/padding564_yzg6.dart b/lib/src/ui/components/padding564_yzg6.dart new file mode 100644 index 0000000..e60b8d9 --- /dev/null +++ b/lib/src/ui/components/padding564_yzg6.dart @@ -0,0 +1,47 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding564_yzg6 extends StatelessWidget { + final String p3; + final Color p2; + final VoidCallback p1; + + Padding564_yzg6(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: MaterialButton( + onPressed: p1, + color: p2, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(22.0), + side: BorderSide(color: Color(0xff3a57e8), width: 1), + ), + padding: EdgeInsets.all(16), + child: Text( + p3, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 45, + minWidth: MediaQuery.of(context).size.width, + ), + ); + } +} diff --git a/lib/src/ui/components/padding5_pcnl.dart b/lib/src/ui/components/padding5_pcnl.dart new file mode 100644 index 0000000..be5b49d --- /dev/null +++ b/lib/src/ui/components/padding5_pcnl.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding5_pcnl extends StatelessWidget { + final String p2; + final String p1; + + Padding5_pcnl(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/padding8_wdx9.dart b/lib/src/ui/components/padding8_wdx9.dart new file mode 100644 index 0000000..25cbbd8 --- /dev/null +++ b/lib/src/ui/components/padding8_wdx9.dart @@ -0,0 +1,70 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Padding8_wdx9 extends StatelessWidget { + final String p3; + final String p2; + final String p1; + + Padding8_wdx9(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(7, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 160, + width: 140, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 8, 0, 0), + child: Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffffffff), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 4, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/components/rating_barbuilder1009_hkzs.dart b/lib/src/ui/components/rating_barbuilder1009_hkzs.dart new file mode 100644 index 0000000..b8dd73e --- /dev/null +++ b/lib/src/ui/components/rating_barbuilder1009_hkzs.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class RatingBarbuilder1009_hkzs extends StatelessWidget { + RatingBarbuilder1009_hkzs({super.key}); + + @override + Widget build(BuildContext context) { + return RatingBar.builder( + initialRating: 4, + unratedColor: Color(0xff9e9e9e), + itemBuilder: (context, index) => + Icon(Icons.star, color: Color(0xffffc107)), + itemCount: 4, + itemSize: 32, + direction: Axis.horizontal, + allowHalfRating: false, + onRatingUpdate: (value) {}, + ); + } +} diff --git a/lib/src/ui/components/row1218_c1cc.dart b/lib/src/ui/components/row1218_c1cc.dart new file mode 100644 index 0000000..68b164f --- /dev/null +++ b/lib/src/ui/components/row1218_c1cc.dart @@ -0,0 +1,97 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Row1218_c1cc extends StatelessWidget { + final String p5; + final VoidCallback p4; + final String p3; + final String p2; + final String p1; + + Row1218_c1cc(this.p5, this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(p1, fit: BoxFit.cover), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff9e9e9e), + ), + ), + ), + ], + ), + ), + ), + MaterialButton( + onPressed: p4, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(4.0), + ), + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Text( + p5, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/row1245_305i.dart b/lib/src/ui/components/row1245_305i.dart new file mode 100644 index 0000000..21beec4 --- /dev/null +++ b/lib/src/ui/components/row1245_305i.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Row1245_305i extends StatelessWidget { + final String p1; + + Row1245_305i(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Checkbox( + onChanged: (value) {}, + activeColor: Color(0xffff5630), + autofocus: false, + checkColor: Color(0xffffffff), + hoverColor: Color(0x42000000), + splashRadius: 20, + value: true, + ), + ], + ); + } +} diff --git a/lib/src/ui/components/row1667_tgx9.dart b/lib/src/ui/components/row1667_tgx9.dart new file mode 100644 index 0000000..41621a5 --- /dev/null +++ b/lib/src/ui/components/row1667_tgx9.dart @@ -0,0 +1,88 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Row1667_tgx9 extends StatelessWidget { + final String p3; + final String p2; + final String p1; + + Row1667_tgx9(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x88e34040), + shape: BoxShape.circle, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Container( + height: 55, + width: 55, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(p1, fit: BoxFit.cover), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + ), + Icon(Icons.arrow_forward_ios, color: Color(0xff7b7c80), size: 18), + ], + ); + } +} diff --git a/lib/src/ui/components/row1927_acsm.dart b/lib/src/ui/components/row1927_acsm.dart new file mode 100644 index 0000000..cbbcefc --- /dev/null +++ b/lib/src/ui/components/row1927_acsm.dart @@ -0,0 +1,71 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Row1927_acsm extends StatefulWidget { + final IconData p5; + final IconData p4; + final IconData p3; + final String p2; + final String p1; + + Row1927_acsm(this.p5, this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + State createState() => _Row1927_acsmState(); +} + +class _Row1927_acsmState extends State { + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 45, + width: 45, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(widget.p1, fit: BoxFit.cover), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Text( + widget.p2, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Icon(widget.p3, color: Color(0xff212435), size: 24), + ), + SizedBox(width: 8), + Icon(widget.p4, color: Color(0xff212435), size: 24), + SizedBox(width: 8), + Icon(widget.p5, color: Color(0xff212435), size: 24), + SizedBox(width: 8), + ], + ); + } +} diff --git a/lib/src/ui/components/row3264_os4l.dart b/lib/src/ui/components/row3264_os4l.dart new file mode 100644 index 0000000..1a85919 --- /dev/null +++ b/lib/src/ui/components/row3264_os4l.dart @@ -0,0 +1,71 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Row3264_os4l extends StatelessWidget { + final String p2; + final String p1; + + Row3264_os4l(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Container( + width: 130, + height: 40, + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + borderRadius: BorderRadius.circular(0), + ), + child: DropdownButtonHideUnderline( + child: DropdownButton( + value: p2, + items: ["Most Recent", "Daily", "Monthly", "Weekly", "Yearly"] + .map>((String value) { + return DropdownMenuItem( + value: value, + child: Text(value), + ); + }) + .toList(), + style: TextStyle( + color: Color(0xff000000), + fontSize: 16, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + onChanged: (value) {}, + elevation: 8, + isExpanded: true, + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/row703_gnuw.dart b/lib/src/ui/components/row703_gnuw.dart new file mode 100644 index 0000000..5529812 --- /dev/null +++ b/lib/src/ui/components/row703_gnuw.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Row703_gnuw extends StatelessWidget { + final String p4; + final String p3; + final String p2; + final String p1; + + Row703_gnuw(this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network(p1, fit: BoxFit.cover), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 80, + height: 40, + decoration: BoxDecoration( + color: Color(0xff000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(22.0), + ), + child: Text( + p4, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1906_s1jy.dart b/lib/src/ui/components/stack1906_s1jy.dart new file mode 100644 index 0000000..b226f48 --- /dev/null +++ b/lib/src/ui/components/stack1906_s1jy.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1906_s1jy extends StatefulWidget { + final String p2; + final String p1; + + Stack1906_s1jy(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1906_s1jyState(); +} + +class _Stack1906_s1jyState extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1907_xt28.dart b/lib/src/ui/components/stack1907_xt28.dart new file mode 100644 index 0000000..88db86d --- /dev/null +++ b/lib/src/ui/components/stack1907_xt28.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1907_xt28 extends StatefulWidget { + final String p2; + final String p1; + + Stack1907_xt28(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1907_xt28State(); +} + +class _Stack1907_xt28State extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1908_55ms.dart b/lib/src/ui/components/stack1908_55ms.dart new file mode 100644 index 0000000..2d2e8ad --- /dev/null +++ b/lib/src/ui/components/stack1908_55ms.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1908_55ms extends StatefulWidget { + final String p2; + final String p1; + + Stack1908_55ms(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1908_55msState(); +} + +class _Stack1908_55msState extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1909_yxtc.dart b/lib/src/ui/components/stack1909_yxtc.dart new file mode 100644 index 0000000..c0bf59b --- /dev/null +++ b/lib/src/ui/components/stack1909_yxtc.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1909_yxtc extends StatefulWidget { + final String p2; + final String p1; + + Stack1909_yxtc(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1909_yxtcState(); +} + +class _Stack1909_yxtcState extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1910_yg0l.dart b/lib/src/ui/components/stack1910_yg0l.dart new file mode 100644 index 0000000..43f8f82 --- /dev/null +++ b/lib/src/ui/components/stack1910_yg0l.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1910_yg0l extends StatefulWidget { + final String p2; + final String p1; + + Stack1910_yg0l(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1910_yg0lState(); +} + +class _Stack1910_yg0lState extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1911_9sq5.dart b/lib/src/ui/components/stack1911_9sq5.dart new file mode 100644 index 0000000..d24242f --- /dev/null +++ b/lib/src/ui/components/stack1911_9sq5.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1911_9sq5 extends StatefulWidget { + final String p2; + final String p1; + + Stack1911_9sq5(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1911_9sq5State(); +} + +class _Stack1911_9sq5State extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1912_btq1.dart b/lib/src/ui/components/stack1912_btq1.dart new file mode 100644 index 0000000..a54eb02 --- /dev/null +++ b/lib/src/ui/components/stack1912_btq1.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1912_btq1 extends StatefulWidget { + final String p2; + final String p1; + + Stack1912_btq1(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1912_btq1State(); +} + +class _Stack1912_btq1State extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1913_cao7.dart b/lib/src/ui/components/stack1913_cao7.dart new file mode 100644 index 0000000..7b85b78 --- /dev/null +++ b/lib/src/ui/components/stack1913_cao7.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1913_cao7 extends StatefulWidget { + final String p2; + final String p1; + + Stack1913_cao7(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1913_cao7State(); +} + +class _Stack1913_cao7State extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack1914_hvm6.dart b/lib/src/ui/components/stack1914_hvm6.dart new file mode 100644 index 0000000..5146de6 --- /dev/null +++ b/lib/src/ui/components/stack1914_hvm6.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack1914_hvm6 extends StatefulWidget { + final String p2; + final String p1; + + Stack1914_hvm6(this.p2, this.p1, {super.key}); + + @override + State createState() => _Stack1914_hvm6State(); +} + +class _Stack1914_hvm6State extends State { + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.topLeft, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(6.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(widget.p1), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.topRight, + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 22, + decoration: BoxDecoration( + color: Color(0xffeb1c1c), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), + ), + ), + child: Text( + widget.p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffece90d), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack2339_cb92.dart b/lib/src/ui/components/stack2339_cb92.dart new file mode 100644 index 0000000..6cc3fb8 --- /dev/null +++ b/lib/src/ui/components/stack2339_cb92.dart @@ -0,0 +1,116 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack2339_cb92 extends StatelessWidget { + final String p5; + final VoidCallback p4; + final String p3; + final String p2; + final String p1; + + Stack2339_cb92(this.p5, this.p4, this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.bottomCenter, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(4), + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(8.0), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + p2, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff8e8989), + ), + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 4, horizontal: 0), + child: Text( + p3, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + MaterialButton( + onPressed: p4, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(0), + child: Text( + p5, + style: TextStyle( + fontSize: 11, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 20, + minWidth: 140, + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 200, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x110b0a0a), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack2554_yhdm.dart b/lib/src/ui/components/stack2554_yhdm.dart new file mode 100644 index 0000000..d4bfabd --- /dev/null +++ b/lib/src/ui/components/stack2554_yhdm.dart @@ -0,0 +1,67 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack2554_yhdm extends StatefulWidget { + final String p1; + + Stack2554_yhdm(this.p1, {super.key}); + + @override + State createState() => _Stack2554_yhdmState(); +} + +class _Stack2554_yhdmState extends State { + final pageController = PageController(); + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + PageView.builder( + controller: pageController, + scrollDirection: Axis.horizontal, + itemCount: 4, + itemBuilder: (context, position) { + return Align( + alignment: Alignment(0.0, -0.3), + child: Image.network( + widget.p1, + height: MediaQuery.of(context).size.height * 0.4, + width: MediaQuery.of(context).size.width * 0.8, + fit: BoxFit.cover, + ), + ); + }, + ), + Align( + alignment: Alignment.bottomCenter, + child: Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 30), + child: SmoothPageIndicator( + controller: pageController, + count: 4, + axisDirection: Axis.horizontal, + effect: WormEffect( + dotColor: Color(0xff5598ff), + activeDotColor: Color(0xffffffff), + dotHeight: 12, + dotWidth: 12, + radius: 16, + spacing: 8, + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3205_puva.dart b/lib/src/ui/components/stack3205_puva.dart new file mode 100644 index 0000000..ab283c7 --- /dev/null +++ b/lib/src/ui/components/stack3205_puva.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3205_puva extends StatelessWidget { + final String p3; + final String p2; + final String p1; + + Stack3205_puva(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 180, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Align( + alignment: Alignment.center, + child: Container( + margin: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + padding: EdgeInsets.all(4), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0xff000000), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffa3a3a3), + ), + ), + ), + ], + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3208_5dv2.dart b/lib/src/ui/components/stack3208_5dv2.dart new file mode 100644 index 0000000..a851a34 --- /dev/null +++ b/lib/src/ui/components/stack3208_5dv2.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3208_5dv2 extends StatelessWidget { + final String p3; + final String p2; + final String p1; + + Stack3208_5dv2(this.p3, this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage(p1), + height: 180, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Align( + alignment: Alignment.center, + child: Container( + margin: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + padding: EdgeInsets.all(4), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0xff000000), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + p3, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffa3a3a3), + ), + ), + ), + ], + ), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3231_qtc6.dart b/lib/src/ui/components/stack3231_qtc6.dart new file mode 100644 index 0000000..3c24530 --- /dev/null +++ b/lib/src/ui/components/stack3231_qtc6.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3231_qtc6 extends StatelessWidget { + final String p2; + final String p1; + + Stack3231_qtc6(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3231_thkh.dart b/lib/src/ui/components/stack3231_thkh.dart new file mode 100644 index 0000000..89d2140 --- /dev/null +++ b/lib/src/ui/components/stack3231_thkh.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3231_thkh extends StatelessWidget { + final String p2; + final String p1; + + Stack3231_thkh(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3232_hcgu.dart b/lib/src/ui/components/stack3232_hcgu.dart new file mode 100644 index 0000000..568503e --- /dev/null +++ b/lib/src/ui/components/stack3232_hcgu.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3232_hcgu extends StatelessWidget { + final String p2; + final String p1; + + Stack3232_hcgu(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3232_t74i.dart b/lib/src/ui/components/stack3232_t74i.dart new file mode 100644 index 0000000..43143dd --- /dev/null +++ b/lib/src/ui/components/stack3232_t74i.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3232_t74i extends StatelessWidget { + final String p2; + final String p1; + + Stack3232_t74i(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3233_o59n.dart b/lib/src/ui/components/stack3233_o59n.dart new file mode 100644 index 0000000..feae039 --- /dev/null +++ b/lib/src/ui/components/stack3233_o59n.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3233_o59n extends StatelessWidget { + final String p2; + final String p1; + + Stack3233_o59n(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3234_ew9q.dart b/lib/src/ui/components/stack3234_ew9q.dart new file mode 100644 index 0000000..a4409dd --- /dev/null +++ b/lib/src/ui/components/stack3234_ew9q.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3234_ew9q extends StatelessWidget { + final String p2; + final String p1; + + Stack3234_ew9q(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3235_ayay.dart b/lib/src/ui/components/stack3235_ayay.dart new file mode 100644 index 0000000..d321374 --- /dev/null +++ b/lib/src/ui/components/stack3235_ayay.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3235_ayay extends StatelessWidget { + final String p2; + final String p1; + + Stack3235_ayay(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/stack3236_u65x.dart b/lib/src/ui/components/stack3236_u65x.dart new file mode 100644 index 0000000..6cfdb39 --- /dev/null +++ b/lib/src/ui/components/stack3236_u65x.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Stack3236_u65x extends StatelessWidget { + final String p2; + final String p1; + + Stack3236_u65x(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: Image( + image: NetworkImage(p1), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0x6e000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(16.0), + ), + ), + Text( + p2, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ], + ); + } +} diff --git a/lib/src/ui/components/switch_list_tile1212_w9oz.dart b/lib/src/ui/components/switch_list_tile1212_w9oz.dart new file mode 100644 index 0000000..0eb9639 --- /dev/null +++ b/lib/src/ui/components/switch_list_tile1212_w9oz.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class SwitchListTile1212_w9oz extends StatelessWidget { + final String p1; + + SwitchListTile1212_w9oz(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return SwitchListTile( + value: true, + title: Text( + p1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + textAlign: TextAlign.start, + ), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + onChanged: (value) {}, + tileColor: Color(0xffffffff), + activeColor: Color(0xff3a57e8), + activeTrackColor: Color(0x343a57e8), + controlAffinity: ListTileControlAffinity.trailing, + dense: true, + inactiveThumbColor: Color(0xff9e9e9e), + inactiveTrackColor: Color(0xffe0e0e0), + contentPadding: EdgeInsets.all(0), + selected: false, + selectedTileColor: Color(0x42000000), + ); + } +} diff --git a/lib/src/ui/components/text12_uxqe.dart b/lib/src/ui/components/text12_uxqe.dart new file mode 100644 index 0000000..f93f4f8 --- /dev/null +++ b/lib/src/ui/components/text12_uxqe.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Text12_uxqe extends StatelessWidget { + final String p1; + + Text12_uxqe(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Text( + p1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xffffffff), + ), + ); + } +} diff --git a/lib/src/ui/components/text1342_x667.dart b/lib/src/ui/components/text1342_x667.dart new file mode 100644 index 0000000..5cfe07f --- /dev/null +++ b/lib/src/ui/components/text1342_x667.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Text1342_x667 extends StatelessWidget { + final String p1; + + Text1342_x667(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return Text( + p1, + textAlign: TextAlign.left, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ); + } +} diff --git a/lib/src/ui/components/text_field1926_332s.dart b/lib/src/ui/components/text_field1926_332s.dart new file mode 100644 index 0000000..aaac6c7 --- /dev/null +++ b/lib/src/ui/components/text_field1926_332s.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class TextField1926_332s extends StatefulWidget { + final IconData p2; + final String p1; + + TextField1926_332s(this.p2, this.p1, {super.key}); + + @override + State createState() => _TextField1926_332sState(); +} + +class _TextField1926_332sState extends State { + @override + Widget build(BuildContext context) { + return TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide(color: Color(0xffa7a4a4), width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide(color: Color(0xffa7a4a4), width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide(color: Color(0xffa7a4a4), width: 1), + ), + hintText: widget.p1, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffa29f9f), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.all(8), + prefixIcon: Icon(Icons.search, color: Color(0xffa29f9f), size: 24), + suffixIcon: Icon(widget.p2, color: Color(0xffa29f9f), size: 24), + ), + ); + } +} diff --git a/lib/src/ui/components/text_field561_jhkd.dart b/lib/src/ui/components/text_field561_jhkd.dart new file mode 100644 index 0000000..c9db70a --- /dev/null +++ b/lib/src/ui/components/text_field561_jhkd.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class TextField561_jhkd extends StatelessWidget { + final IconData p2; + final String p1; + + TextField561_jhkd(this.p2, this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(22.0), + borderSide: BorderSide(color: Color(0xffffffff), width: 1), + ), + hintText: p1, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xfffefeff), + isDense: false, + contentPadding: EdgeInsets.all(8), + prefixIcon: Icon(p2, color: Color(0xff000000), size: 24), + ), + ); + } +} diff --git a/lib/src/ui/components/text_field710_3r6r.dart b/lib/src/ui/components/text_field710_3r6r.dart new file mode 100644 index 0000000..4bedc7e --- /dev/null +++ b/lib/src/ui/components/text_field710_3r6r.dart @@ -0,0 +1,59 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class TextField710_3r6r extends StatelessWidget { + final String p1; + + TextField710_3r6r(this.p1, {super.key}); + + @override + Widget build(BuildContext context) { + return TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12.0), + borderSide: BorderSide(color: Color(0x00000000), width: 1), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12.0), + borderSide: BorderSide(color: Color(0x00000000), width: 1), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12.0), + borderSide: BorderSide(color: Color(0x00000000), width: 1), + ), + hintText: p1, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff9f9d9d), + ), + filled: true, + fillColor: Color(0xfff2f2f3), + isDense: false, + contentPadding: EdgeInsets.symmetric(vertical: 8, horizontal: 12), + prefixIcon: Icon(Icons.search, color: Color(0xff9f9d9d), size: 24), + ), + ); + } +} diff --git a/lib/src/ui/views/_views.dart b/lib/src/ui/views/_views.dart new file mode 100644 index 0000000..1d44c7e --- /dev/null +++ b/lib/src/ui/views/_views.dart @@ -0,0 +1,32 @@ +export 'audio_article_60rn.dart'; +export 'empty_pin_notes_1l1v.dart'; +export 'labels_sxue.dart'; +export 'login_qayv.dart'; +export 'dashboard_jvxm.dart'; +export 'data_not_found_f1qf.dart'; +export 'contact_us_inkn.dart'; +export 'review_47su.dart'; +export 'chat_n9xm.dart'; +export 'bookmark_2rub.dart'; +export 'detail_dm5h.dart'; +export 'no_data_found_shk8.dart'; +export 'change_password_5ugn.dart'; +export 'splash_p2g8.dart'; +export 'membership_z9ze.dart'; +export 'verification_nhug.dart'; +export 'discover_au68.dart'; +export 'forgot_password_xt11.dart'; +export 'grid_kcdz.dart'; +export 'notification_setting_bycd.dart'; +export 'about_us.dart'; +export 'pin_note_list_qn8a.dart'; +export 'welcome_g72w.dart'; +export 'following_s3l5.dart'; +export 'setting_pano.dart'; +export 'category_e0b3.dart'; +export 'register_obmz.dart'; +export 'my_account_tyvz.dart'; +export 'news_details_t6nw.dart'; +export 'home_cigx.dart'; +export 'list_1eal.dart'; +export 'profile_pzn0.dart'; diff --git a/lib/src/ui/views/about_us.dart b/lib/src/ui/views/about_us.dart new file mode 100644 index 0000000..45c8fc8 --- /dev/null +++ b/lib/src/ui/views/about_us.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AboutUsView extends StatefulWidget { + final Object? extra; + + AboutUsView({super.key, this.extra}); + + @override + State createState() => _AboutUsViewState(); +} + +class _AboutUsViewState extends State { + late AboutUsController _view; + + @override + void initState() { + super.initState(); + _view = AboutUsController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xffffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.aboutUs_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.myApp_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontFamily: GoogleFonts.getFont('Montserrat').fontFamily, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 24, + color: Color(0xff000000), + ), + ), + Text( + Constants.indiasLargetsFashionApp_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Opacity( + opacity: 0.5, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/GCCDJ67/into-success-group-young-freelancers-office-have-conversation-smiling-146671-13567.jpg', + ), + height: 220, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: Text( + Constants.loremIpsumIsSimplyDummyTe_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff222020), + ), + ), + ), + Padding3297_l244( + Constants.testgmailcom_, + Constants.forAnyPressAndMediaInquir_, + Constants.loremIpsumDolorSitAmetCo_, + Constants.misson_, + Constants.itIsALongEstablishedFact_, + Constants.vision_, + ), + ], + ), + ), + ), + ), + ); + } +} + +class AboutUsController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/audio_article_60rn.dart b/lib/src/ui/views/audio_article_60rn.dart new file mode 100644 index 0000000..00990a9 --- /dev/null +++ b/lib/src/ui/views/audio_article_60rn.dart @@ -0,0 +1,466 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class AudioArticle_60rnView extends StatefulWidget { + final Object? extra; + + AudioArticle_60rnView({super.key, this.extra}); + + @override + State createState() => _AudioArticle_60rnViewState(); +} + +class _AudioArticle_60rnViewState extends State { + late AudioArticle_60rnController _view; + + @override + void initState() { + super.initState(); + _view = AudioArticle_60rnController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar2671_1agg(() { + view._click(); + }, Constants.audioArticle_), + body: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.all(16), + child: Text( + Constants.continueListening_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + height: 190, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0x4dffffff), width: 1), + ), + child: ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.fromLTRB(0, 0, 16, 0), + shrinkWrap: false, + physics: ScrollPhysics(), + children: [ + Padding2654_rvnw( + Constants.k3201_, + Constants.howToStartYourUXDesignCa_, + 'https://i.ibb.co/jgzmNKz/cartoon-graphic-design-landing-page-52683-70881.jpg', + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: SizedBox( + height: 170, + width: 150, + child: Stack( + alignment: Alignment.bottomCenter, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/dQWbrZN/graphic-designer-top-view-mockup-with-laptop-23-2147675736.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0xa04e4b4b), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + ), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: Text( + Constants.learningAboutDesignThinking_, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + Row( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Slider( + onChanged: (value) {}, + value: 8, + min: 0, + max: 10, + activeColor: Color(0xffffffff), + inactiveColor: Color(0xff9e9e9e), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB( + 0, + 0, + 16, + 0, + ), + child: Text( + Constants.k4000_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 10, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ], + ), + ], + ), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 16, 0, 16), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding2656_z413(Constants.allNews_), + Padding2657_r22y(Constants.tech_), + Padding2658_p1zk(Constants.fashion_), + Padding2659_acub(Constants.art_), + Padding2660_8c7p(Constants.politics_), + Padding2661_qzry(Constants.sports_), + Padding2662_bl2j(Constants.science_), + ], + ), + ), + ), + ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + children: [ + Padding2663_fus1( + Constants.k20June2019_, + Constants.shouldDesignerIsAbleToCod_, + Constants.design_, + 'https://i.ibb.co/Y8g25GC/realistic-ui-ux-background-52683-68896.jpg', + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/3NTCBFn/dae-jang-geum-park-korean-historical-drama-south-korea-335224-516.jpg', + ), + height: 90, + width: 90, + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.lifeStyle_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffff5630), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 8), + child: Text( + Constants.k6MonthsExperienceLivingIn_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Text( + Constants.k25Jan2020_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ], + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/Hzssmsx/soccer-stadium-1284-22432.jpg', + ), + height: 90, + width: 90, + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.sports_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffff5630), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 8), + child: Text( + Constants.predictionAboutWhoWillWin_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Text( + Constants.k25Jan2020_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ], + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(16.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/Y8g25GC/realistic-ui-ux-background-52683-68896.jpg', + ), + height: 90, + width: 90, + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.design_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffff5630), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 8), + child: Text( + Constants.shouldDesignerIsAbleToCod_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Text( + Constants.k25Jan2020_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ], + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ), + ), + ); + } +} + +class AudioArticle_60rnController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/bookmark_2rub.dart b/lib/src/ui/views/bookmark_2rub.dart new file mode 100644 index 0000000..366abc9 --- /dev/null +++ b/lib/src/ui/views/bookmark_2rub.dart @@ -0,0 +1,184 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Bookmark_2rubView extends StatefulWidget { + final Object? extra; + + Bookmark_2rubView({super.key, this.extra}); + + @override + State createState() => _Bookmark_2rubViewState(); +} + +class _Bookmark_2rubViewState extends State { + late Bookmark_2rubController _view; + + @override + void initState() { + super.initState(); + _view = Bookmark_2rubController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.bookmark_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row3264_os4l(Constants.mostRecent_, Constants.sortBy_), + ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + shrinkWrap: true, + physics: ScrollPhysics(), + children: [ + Padding3261_vzwy( + Constants.k12Jan2021_, + Constants.aSmartRobotFromHeroCompan_, + Constants.technology_, + 'https://i.ibb.co/D8Lsh6x/ai-nuclear-energy-industry-innovation-smart-grid-disruptive-technology-53876-143121.jpg', + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(12.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/yYJ6S0k/young-woman-with-shopping-bags-beautiful-dress-1303-17550.jpg', + ), + height: 100, + width: 100, + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 8, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.fashion_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffff5630), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 8), + child: Text( + Constants.whyDoPlainTshirtsMakeUs_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Text( + Constants.k13June2020_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff605f5f), + ), + ), + ], + ), + ), + ), + Icon( + Icons.more_vert, + color: Color(0xff212435), + size: 24, + ), + ], + ), + ), + ], + ), + ], + ), + ), + ), + ), + ); + } +} + +class Bookmark_2rubController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/category_e0b3.dart b/lib/src/ui/views/category_e0b3.dart new file mode 100644 index 0000000..ac03b36 --- /dev/null +++ b/lib/src/ui/views/category_e0b3.dart @@ -0,0 +1,128 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Category_e0b3View extends StatefulWidget { + final Object? extra; + + Category_e0b3View({super.key, this.extra}); + + @override + State createState() => _Category_e0b3ViewState(); +} + +class _Category_e0b3ViewState extends State { + late Category_e0b3Controller _view; + + @override + void initState() { + super.initState(); + _view = Category_e0b3Controller()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.categories_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: GridView( + padding: EdgeInsets.all(16), + shrinkWrap: true, + scrollDirection: Axis.vertical, + physics: ClampingScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + crossAxisSpacing: 8, + mainAxisSpacing: 8, + childAspectRatio: 1, + ), + children: [ + Stack3231_thkh( + Constants.fashion_, + 'https://i.ibb.co/yYJ6S0k/young-woman-with-shopping-bags-beautiful-dress-1303-17550.jpg', + ), + Stack3232_t74i( + Constants.art_, + 'https://i.ibb.co/W3PCjpS/picture-with-drawing-man-s-face-1122-1031.jpg', + ), + Stack3233_o59n( + Constants.sports_, + 'https://i.ibb.co/NsC3bBS/gradient-national-sports-day-illustration-23-2148995776.jpg', + ), + Stack3234_ew9q( + Constants.science_, + 'https://i.ibb.co/wJFzN9H/3d-medical-background-with-male-figure-with-brain-virus-cells-1048-5871.jpg', + ), + Stack3235_ayay( + Constants.politics_, + 'https://i.ibb.co/ZhZNqRs/tribune-crowd-realistic-composition-1284-26565.jpg', + ), + Stack3236_u65x( + Constants.design_, + 'https://i.ibb.co/yYJ6S0k/young-woman-with-shopping-bags-beautiful-dress-1303-17550.jpg', + ), + Stack3232_hcgu( + Constants.art_, + 'https://i.ibb.co/W3PCjpS/picture-with-drawing-man-s-face-1122-1031.jpg', + ), + Stack3231_qtc6( + Constants.fashion_, + 'https://i.ibb.co/yYJ6S0k/young-woman-with-shopping-bags-beautiful-dress-1303-17550.jpg', + ), + ], + ), + ), + ), + ); + } +} + +class Category_e0b3Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/change_password_5ugn.dart b/lib/src/ui/views/change_password_5ugn.dart new file mode 100644 index 0000000..1bae450 --- /dev/null +++ b/lib/src/ui/views/change_password_5ugn.dart @@ -0,0 +1,326 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ChangePassword_5ugnView extends StatefulWidget { + final Object? extra; + + ChangePassword_5ugnView({super.key, this.extra}); + + @override + State createState() => + _ChangePassword_5ugnViewState(); +} + +class _ChangePassword_5ugnViewState extends State { + late ChangePassword_5ugnController _view; + + @override + void initState() { + super.initState(); + _view = ChangePassword_5ugnController() + ..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xff3a57e8), + body: SizedBox( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + alignment: Alignment.topLeft, + children: [ + Container( + margin: EdgeInsets.fromLTRB(0, 150, 0, 0), + padding: EdgeInsets.all(0), + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(16.0), + topRight: Radius.circular(16.0), + ), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Padding( + padding: EdgeInsets.fromLTRB(16, 40, 16, 16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.symmetric( + vertical: 16, + horizontal: 0, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + IconButton( + icon: Icon( + Icons.arrow_back, + color: Color(0xff212435), + size: 24, + ), + onPressed: () { + app.back(); + }, + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Text( + Constants.resetPassword_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + Text( + Constants.createYourNewPasswordInFl_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 16), + child: Text( + Constants.createNewPassword_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff494949), + ), + ), + ), + TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00000000), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00000000), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00000000), + width: 1, + ), + ), + hintText: Constants.enterNewPassword_, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffa4a4a4), + ), + filled: true, + fillColor: Color(0xfff2f2f3), + isDense: false, + contentPadding: EdgeInsets.symmetric( + vertical: 8, + horizontal: 12, + ), + prefixIcon: Icon( + Icons.lock_open, + color: Color(0xff212435), + size: 24, + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 16, + horizontal: 0, + ), + child: Text( + Constants.createConfirmPassword_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff494949), + ), + ), + ), + TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00000000), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00000000), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00000000), + width: 1, + ), + ), + hintText: Constants.enterConfirmPassword_, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffa4a4a4), + ), + filled: true, + fillColor: Color(0xfff2f2f3), + isDense: false, + contentPadding: EdgeInsets.symmetric( + vertical: 8, + horizontal: 12, + ), + prefixIcon: Icon( + Icons.lock_open, + color: Color(0xff212435), + size: 24, + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 0), + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.resetPassword_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 45, + minWidth: MediaQuery.of(context).size.width, + ), + ), + ], + ), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 120, 0, 0), + child: Container( + height: 80, + width: 80, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://cdn2.iconfinder.com/data/icons/blue-round-amazing-icons-2/512/lock-128.png', + fit: BoxFit.cover, + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class ChangePassword_5ugnController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/chat_n9xm.dart b/lib/src/ui/views/chat_n9xm.dart new file mode 100644 index 0000000..acf8d11 --- /dev/null +++ b/lib/src/ui/views/chat_n9xm.dart @@ -0,0 +1,716 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Chat_n9xmView extends StatefulWidget { + final Object? extra; + + Chat_n9xmView({super.key, this.extra}); + + @override + State createState() => _Chat_n9xmViewState(); +} + +class _Chat_n9xmViewState extends State { + late Chat_n9xmController _view; + + @override + void initState() { + super.initState(); + _view = Chat_n9xmController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + body: Stack( + alignment: Alignment.topLeft, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.symmetric(vertical: 30, horizontal: 16), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Color(0xff3a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + IconButton( + icon: Icon( + Icons.arrow_back_ios, + color: Color(0xffffffff), + size: 24, + ), + onPressed: () { + app.back(); + }, + ), + Container( + height: 40, + width: 40, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://i.ibb.co/4Kwc7Gh/woman-takes-images-holding-photographic-camera-hands-176532-12497.jpg', + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Text( + Constants.aktaParmar_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ), + ), + Icon(Icons.video_call, color: Color(0xffffffff), size: 24), + Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + child: Icon( + Icons.call, + color: Color(0xffffffff), + size: 24, + ), + ), + Icon(Icons.more_vert, color: Color(0xffffffff), size: 24), + ], + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 85, 0, 0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: BoxDecoration( + color: Color(0xfff2f2f2), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(16.0), + topRight: Radius.circular(16.0), + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.all(16), + shrinkWrap: true, + physics: ScrollPhysics(), + children: [ + Align( + alignment: Alignment.center, + child: Text( + Constants.today_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 50, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.goodMorningGoodMorningGoo_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.topRight, + margin: EdgeInsets.fromLTRB(50, 16, 0, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.goodMorning_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 50, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.helloHowAreYou_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.topRight, + margin: EdgeInsets.fromLTRB(50, 16, 0, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.helloIAmFineAndYou_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.topLeft, + margin: EdgeInsets.fromLTRB(0, 16, 50, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.iAmFine_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.topRight, + margin: EdgeInsets.fromLTRB(50, 16, 0, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.goodMorningGoodMorningGo_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.topLeft, + margin: EdgeInsets.fromLTRB(0, 16, 50, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topRight: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.goodMorningGoodMorningGoo_1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.topRight, + margin: EdgeInsets.fromLTRB(50, 16, 0, 0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(6), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(6.0), + bottomLeft: Radius.circular(6.0), + bottomRight: Radius.circular(6.0), + ), + ), + child: Text( + Constants.goodMorning_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k0634Am_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff646464), + ), + ), + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.all(8), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ImageIcon( + NetworkImage( + 'https://cdn3.iconfinder.com/data/icons/lightly-icons/24/happy-96.png', + ), + size: 24, + color: Color(0xff989898), + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: ImageIcon( + NetworkImage( + 'https://cdn2.iconfinder.com/data/icons/pictograms-3/512/27-128.png', + ), + size: 24, + color: Color(0xff989898), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(30.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(30.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(30.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: true, + contentPadding: EdgeInsets.all(16), + suffixIcon: Icon( + Icons.photo_camera, + color: Color(0xff989898), + size: 24, + ), + ), + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 50, + height: 50, + decoration: BoxDecoration( + color: Color(0xff3a57e8), + shape: BoxShape.circle, + border: Border.all( + color: Color(0x4dffffff), + width: 1, + ), + ), + child: ImageIcon( + NetworkImage( + 'https://cdn4.iconfinder.com/data/icons/symbol-blue-set-1/100/Untitled-2-80-128.png', + ), + size: 24, + color: Color(0xffffffff), + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +} + +class Chat_n9xmController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/contact_us_inkn.dart b/lib/src/ui/views/contact_us_inkn.dart new file mode 100644 index 0000000..954a127 --- /dev/null +++ b/lib/src/ui/views/contact_us_inkn.dart @@ -0,0 +1,312 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ContactUs_inknView extends StatefulWidget { + final Object? extra; + + ContactUs_inknView({super.key, this.extra}); + + @override + State createState() => _ContactUs_inknViewState(); +} + +class _ContactUs_inknViewState extends State { + late ContactUs_inknController _view; + + @override + void initState() { + super.initState(); + _view = ContactUs_inknController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.contact_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xffffffff), + ), + ), + leading: IconButton( + icon: Icon(Icons.menu, color: Color(0xffffffff), size: 24), + onPressed: () { + view._click(); + }, + ), + actions: [ + Icon(Icons.more_vert, color: Color(0xffffffff), size: 24), + ], + ), + body: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(Icons.mail, color: Color(0xff3a57e8), size: 18), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(4, 0, 0, 0), + child: TextField( + controller: TextEditingController( + text: Constants.johngmailcom_, + ), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.email_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.all(8), + ), + ), + ), + ), + ], + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(Icons.call, color: Color(0xff3a57e8), size: 18), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(4, 0, 0, 0), + child: TextField( + controller: TextEditingController( + text: Constants.k91987654321_, + ), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.phone_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.all(8), + ), + ), + ), + ), + ], + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon(Icons.message, color: Color(0xff3a57e8), size: 18), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(4, 0, 0, 0), + child: TextField( + controller: TextEditingController( + text: Constants.loremIpsumIsSimplyDummyTe_1, + ), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 3, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.message_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.all(8), + ), + ), + ), + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 0), + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.zero, + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.sEND_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 40, + minWidth: 140, + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class ContactUs_inknController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/dashboard_jvxm.dart b/lib/src/ui/views/dashboard_jvxm.dart new file mode 100644 index 0000000..9053e74 --- /dev/null +++ b/lib/src/ui/views/dashboard_jvxm.dart @@ -0,0 +1,626 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Dashboard_jvxmView extends StatefulWidget { + final Object? extra; + + Dashboard_jvxmView({super.key, this.extra}); + + @override + State createState() => _Dashboard_jvxmViewState(); +} + +class _Dashboard_jvxmViewState extends State { + late Dashboard_jvxmController _view; + + @override + void initState() { + super.initState(); + _view = Dashboard_jvxmController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar2944_rotl(Constants.home_), + body: Stack( + alignment: Alignment.topLeft, + children: [ + SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.all(16), + child: Text( + Constants.notebooks_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + height: 170, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + shrinkWrap: true, + physics: ScrollPhysics(), + children: [ + Container2930_qyoo( + Constants.youtubeIdeas_, + 'https://cdn4.iconfinder.com/data/icons/xicons/25/xicons_about_book-128.png', + Icons.more_horiz, + Icons.push_pin, + ), + Container( + margin: EdgeInsets.fromLTRB(0, 0, 16, 0), + padding: EdgeInsets.all(12), + width: 150, + height: 170, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(height: 16, width: 16), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 24, + ), + ], + ), + ImageIcon( + NetworkImage( + 'https://cdn4.iconfinder.com/data/icons/xicons/25/xicons_about_book-128.png', + ), + size: 80, + color: Color(0xff3a57e8), + ), + Text( + Constants.userResearchMovieApp_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 0, 16, 0), + padding: EdgeInsets.all(12), + width: 150, + height: 170, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(height: 16, width: 16), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 24, + ), + ], + ), + ImageIcon( + NetworkImage( + 'https://cdn4.iconfinder.com/data/icons/xicons/25/xicons_about_book-128.png', + ), + size: 80, + color: Color(0xffe4c00d), + ), + Text( + Constants.webDevelopPortfolio_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ], + ), + ), + Container2930_2rhj( + Constants.youtubeIdeas_, + 'https://cdn4.iconfinder.com/data/icons/xicons/25/xicons_about_book-128.png', + Icons.more_horiz, + Icons.push_pin, + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 16, 16, 0), + child: Text( + Constants.notes_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + GridView( + padding: EdgeInsets.all(16), + shrinkWrap: true, + scrollDirection: Axis.vertical, + physics: NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + crossAxisSpacing: 16, + mainAxisSpacing: 16, + childAspectRatio: 0.6, + ), + children: [ + Container2933_cvn3( + Constants.ideas_, + Constants.loremIpsumOrLipsumAsItI_, + Constants.webIdeas_, + Icons.more_horiz, + Icons.push_pin, + ), + Container2934_5anc( + Constants.uX_, + Constants.loremIpsumOrLipsumAsItI_, + Constants.theRoleOfCreativityInUXD_, + Icons.more_horiz, + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(height: 16, width: 16), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 24, + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + Constants.chap1_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Expanded( + flex: 1, + child: Text( + Constants.loremIpsumOrLipsumAsItI_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + Constants.story_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Icon( + Icons.push_pin, + color: Color(0xffffc000), + size: 24, + ), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 24, + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + Constants.chap2_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Expanded( + flex: 1, + child: Text( + Constants.loremIpsumOrLipsumAsItI_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + Constants.ideas_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Icon( + Icons.push_pin, + color: Color(0xffffc000), + size: 24, + ), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 24, + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + Constants.webIdeas_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Expanded( + flex: 1, + child: Text( + Constants.loremIpsumOrLipsumAsItI_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + Constants.ideas_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Icon( + Icons.push_pin, + color: Color(0xffffc000), + size: 24, + ), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 24, + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + Constants.chap3_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Expanded( + flex: 1, + child: Text( + Constants.loremIpsumOrLipsumAsItI_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(4.0), + ), + child: Text( + Constants.story_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + Align2939_fgkc(Icons.add), + ], + ), + ), + ), + ); + } +} + +class Dashboard_jvxmController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/data_not_found_f1qf.dart b/lib/src/ui/views/data_not_found_f1qf.dart new file mode 100644 index 0000000..03a75f1 --- /dev/null +++ b/lib/src/ui/views/data_not_found_f1qf.dart @@ -0,0 +1,147 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class DataNotFound_f1qfView extends StatefulWidget { + final Object? extra; + + DataNotFound_f1qfView({super.key, this.extra}); + + @override + State createState() => _DataNotFound_f1qfViewState(); +} + +class _DataNotFound_f1qfViewState extends State { + late DataNotFound_f1qfController _view; + + @override + void initState() { + super.initState(); + _view = DataNotFound_f1qfController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + body: Stack( + alignment: Alignment.topLeft, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/g7pKbhg/old-black-background-grunge-texture-dark-wallpaper-blackboard-chalkboard-room-wall-1258-28312.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.noInternet_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 24, + color: Color(0xffbbbaba), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 8), + child: Text( + Constants.connection_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 26, + color: Color(0xffffffff), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 30), + child: Text( + Constants.pleaseCheckYourInternetCon_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffbbbaba), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xffffffff), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.tRYAGAIN_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xff000000), + height: 40, + minWidth: 140, + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +} + +class DataNotFound_f1qfController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/detail_dm5h.dart b/lib/src/ui/views/detail_dm5h.dart new file mode 100644 index 0000000..40e30e4 --- /dev/null +++ b/lib/src/ui/views/detail_dm5h.dart @@ -0,0 +1,216 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Detail_dm5hView extends StatefulWidget { + final Object? extra; + + Detail_dm5hView({super.key, this.extra}); + + @override + State createState() => _Detail_dm5hViewState(); +} + +class _Detail_dm5hViewState extends State { + late Detail_dm5hController _view; + + @override + void initState() { + super.initState(); + _view = Detail_dm5hController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + body: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Stack( + alignment: Alignment.topLeft, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://images.unsplash.com/photo-1599669454699-248893623440?ixid=MnwxMjA3fDB8MHxzZWFyY2h8MTd8fGhlYWRwaG9uZXN8ZW58MHx8MHx8&ixlib=rb-1.2.1&w=1000&q=80', + ), + height: MediaQuery.of(context).size.height * 0.5, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 30, + height: 30, + decoration: BoxDecoration( + color: Color(0x1f000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Padding( + padding: EdgeInsets.fromLTRB(16, 16, 0, 0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + color: Color(0xffffffff), + size: 24, + ), + onPressed: () { + app.back(); + }, + ), + ), + ), + ], + ), + Padding( + padding: EdgeInsets.all(16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon( + Icons.shopping_cart, + color: Color(0xff3a57e8), + size: 18, + ), + Padding( + padding: EdgeInsets.fromLTRB(7, 0, 0, 0), + child: Text( + Constants.shopping_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + Padding2520_wweb( + Icons.insert_link, + Constants.a1QVBVDBF1222_, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.loremIpsumOrLipsumAsItI_1, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + Padding2522_3z73(Constants.deliveryLocation_), + Padding2523_p4he( + Constants.k01362Tbilisi_, + Constants.k2PetreMelikshliSt_, + Icons.location_on, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.uSD1990_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.addToCart_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 42, + minWidth: MediaQuery.of(context).size.width, + ), + ), + ], + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Detail_dm5hController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/discover_au68.dart b/lib/src/ui/views/discover_au68.dart new file mode 100644 index 0000000..c49b545 --- /dev/null +++ b/lib/src/ui/views/discover_au68.dart @@ -0,0 +1,496 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Discover_au68View extends StatefulWidget { + final Object? extra; + + Discover_au68View({super.key, this.extra}); + + @override + State createState() => _Discover_au68ViewState(); +} + +class _Discover_au68ViewState extends State { + late Discover_au68Controller _view; + + @override + void initState() { + super.initState(); + _view = Discover_au68Controller()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xff3a57e8), + appBar: AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.recentlyPlayed_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ), + body: Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: 160, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: ClampingScrollPhysics(), + children: [ + Padding1_p779( + Constants.newMusicHindi_, + 'https://1.bp.blogspot.com/-Sfm1TVjYa8o/YEmNsLz6WNI/AAAAAAAADoE/WO7H_uaBtbkKXE0UiPeXn0P1gGSAGijJwCLcBGAsYHQ/s1280/maxresdefault%2B%25283%2529.jpg', + ), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.scdn.co/image/ab67616d0000b27314621522f43a17b1f0cfb565', + ), + height: 120, + width: 110, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.mTVCoke_, + textAlign: TextAlign.center, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRCD69ZCvQ8FdZG3VwTaIDVuQZ62tdd0zKujg&usqp=CAU', + ), + height: 120, + width: 110, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.bollywoordButter_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 8, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.scdn.co/image/ab67616d0000b27314621522f43a17b1f0cfb565', + ), + height: 120, + width: 110, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k90sRewind_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 8, 16, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 50, + width: 50, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcThsMMUK5ykC_JusWVz8opNfuNsYNwNMVLUDdFsGg2sW6gWyFL1mxCm818QkjpUZo_RlmI&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.moreLike_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + Constants.aRRahman_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: 180, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: ClampingScrollPhysics(), + children: [ + Padding5_pcnl( + Constants.vishalShekharAtifAslam_, + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSejp88_U6iaR-vNPvZUdgj1omlqdK5M6apdBhq5g1jKCGOAbUYsg9yd3Hx6zG5SR3NcGc&usqp=CAU', + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTDOjj0NZafV2BhUZOeJArqdFIM6Dn22Q6Uu2quiinylIONzg5yB7l1eDwzB9p44VtRhHM&usqp=CAU', + ), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 8, 0, 0), + child: Text( + Constants.sheryaGhoshval_, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSddOVWcVocDfTWl1Ent0iSpT099wKm7osDco50KMLoSFOLEpXNKB5TT1_V1KBvShC6on0&usqp=CAU', + ), + height: 140, + width: 140, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 8, 0, 0), + child: Text( + Constants.darshanRaval_, + textAlign: TextAlign.start, + maxLines: 2, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Align( + alignment: Alignment.centerLeft, + child: Text12_uxqe(Constants.popularMusic_), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: 220, + decoration: BoxDecoration( + color: Color(0x00000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: ClampingScrollPhysics(), + children: [ + Padding8_wdx9( + Constants.singleTanishkBagchi_, + Constants.raatanLmbiyan_, + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSejp88_U6iaR-vNPvZUdgj1omlqdK5M6apdBhq5g1jKCGOAbUYsg9yd3Hx6zG5SR3NcGc&usqp=CAU', + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRCD69ZCvQ8FdZG3VwTaIDVuQZ62tdd0zKujg&usqp=CAU', + ), + height: 160, + width: 140, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 8, 0, 0), + child: Text( + Constants.ranjha_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffffffff), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 4, 0, 0), + child: Text( + Constants.singleJasleenRoyal_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 8, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTDOjj0NZafV2BhUZOeJArqdFIM6Dn22Q6Uu2quiinylIONzg5yB7l1eDwzB9p44VtRhHM&usqp=CAU', + ), + height: 160, + width: 140, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 8, 0, 0), + child: Text( + Constants.shershaahOriginal_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffffffff), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(8, 4, 0, 0), + child: Text( + Constants.ePVariousArtists_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +class Discover_au68Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/empty_pin_notes_1l1v.dart b/lib/src/ui/views/empty_pin_notes_1l1v.dart new file mode 100644 index 0000000..422cea5 --- /dev/null +++ b/lib/src/ui/views/empty_pin_notes_1l1v.dart @@ -0,0 +1,118 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class EmptyPinNotes_1l1vView extends StatefulWidget { + final Object? extra; + + EmptyPinNotes_1l1vView({super.key, this.extra}); + + @override + State createState() => _EmptyPinNotes_1l1vViewState(); +} + +class _EmptyPinNotes_1l1vViewState extends State { + late EmptyPinNotes_1l1vController _view; + + @override + void initState() { + super.initState(); + _view = EmptyPinNotes_1l1vController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.pins_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffffffff), + ), + ), + actions: [ + Icon(Icons.search, color: Color(0xffffffff), size: 22), + Padding( + padding: EdgeInsets.fromLTRB(8, 0, 16, 0), + child: Icon( + Icons.dashboard, + color: Color(0xffffffff), + size: 22, + ), + ), + ], + ), + body: Align( + alignment: Alignment.center, + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.push_pin, + color: const Color(0xFF000000), + size: 100, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.pinNotes_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontFamily: GoogleFonts.getFont('Oswald').fontFamily, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 30, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +class EmptyPinNotes_1l1vController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/following_s3l5.dart b/lib/src/ui/views/following_s3l5.dart new file mode 100644 index 0000000..2deae81 --- /dev/null +++ b/lib/src/ui/views/following_s3l5.dart @@ -0,0 +1,517 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Following_s3l5View extends StatefulWidget { + final Object? extra; + + Following_s3l5View({super.key, this.extra}); + + @override + State createState() => _Following_s3l5ViewState(); +} + +class _Following_s3l5ViewState extends State { + late Following_s3l5Controller _view; + + @override + void initState() { + super.initState(); + _view = Following_s3l5Controller()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xffffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.following_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: Padding( + padding: EdgeInsets.all(16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: TextField710_3r6r(Constants.search_), + ), + ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: ScrollPhysics(), + children: [ + Row703_gnuw( + Constants.following_, + Constants.k13Articles_, + Constants.johnHawkins_, + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRraGrytZ8u02sInXmIguSY2bdhVAYtmqJC-vJzrJBzIbJeex1dXb-a1PuIFCIL_qj7DkU&usqp=CAU', + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRWHjMzM5qzBjS64SJEIyCQkLgXODzDLznFPOt54tmyPNXP3BQ78_AN83FAlbeGujmuPCg&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.kevin_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k10Articles_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 80, + height: 40, + decoration: BoxDecoration( + color: Color(0xff000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(22.0), + ), + child: Text( + Constants.following_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQAxDgR_pCrTRrc1IgCv6mFaAQg8czsfkdULquUavCyXAlDqNYawOm4q3VsSuyUFqw_Ygc&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.rose_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k6Articles_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 80, + height: 40, + decoration: BoxDecoration( + color: Color(0xff000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(22.0), + ), + child: Text( + Constants.following_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRAL5lx462Rjn-dAsEQHumnRJATsXmXbP2mxHWzbFr_RKitmboHvkL-gnOFfOi-gbyZW60&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.renne_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k5Articles_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 80, + height: 40, + decoration: BoxDecoration( + color: Color(0xff000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(22.0), + ), + child: Text( + Constants.following_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRMBF7GiWBnuwHZEoUkGAktUZR91Ge2bVJ9rhYg7-YRz0M7tdM-8Os4tSZno4Jd6j5p9p8&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.doran_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k24Articles_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 80, + height: 40, + decoration: BoxDecoration( + color: Color(0xff000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(22.0), + ), + child: Text( + Constants.following_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSNys7iFvBBxifr5E1pgSgnlKxZ8G9HO-47sSR1oW57o1QAXA3YuXsmpVq1WZk9-HkoZls&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.marie_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k8Articles_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xbe8a8989), + ), + ), + ), + ], + ), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(8, 0, 0, 0), + padding: EdgeInsets.all(0), + width: 80, + height: 40, + decoration: BoxDecoration( + color: Color(0xff000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(22.0), + ), + child: Text( + Constants.following_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +class Following_s3l5Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/forgot_password_xt11.dart b/lib/src/ui/views/forgot_password_xt11.dart new file mode 100644 index 0000000..1f83acb --- /dev/null +++ b/lib/src/ui/views/forgot_password_xt11.dart @@ -0,0 +1,262 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class ForgotPassword_xt11View extends StatefulWidget { + final Object? extra; + + ForgotPassword_xt11View({super.key, this.extra}); + + @override + State createState() => + _ForgotPassword_xt11ViewState(); +} + +class _ForgotPassword_xt11ViewState extends State { + late ForgotPassword_xt11Controller _view; + + @override + void initState() { + super.initState(); + _view = ForgotPassword_xt11Controller() + ..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xff3a57e8), + body: SizedBox( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + alignment: Alignment.topLeft, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height * 0.5, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + height: 100, + width: 100, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://cdn4.iconfinder.com/data/icons/seo-and-marketing-icons-1-1/129/56-128.png', + fit: BoxFit.fill, + ), + ), + ), + Align( + alignment: Alignment.bottomCenter, + child: Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height * 0.5, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(16.0), + topRight: Radius.circular(16.0), + ), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.forgotPassword_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.enterYourEmailForTheVerif_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff615f5f), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.email_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff595757), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff595757), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff595757), + width: 1, + ), + ), + hintText: Constants.enterText_, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xffffffff), + isDense: false, + contentPadding: EdgeInsets.symmetric( + vertical: 8, + horizontal: 12, + ), + suffixIcon: Icon( + Icons.mail, + color: Color(0xff212435), + size: 24, + ), + ), + ), + ), + ], + ), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(30, 30, 0, 0), + child: IconButton( + icon: Icon( + Icons.arrow_back_ios, + color: Color(0xffffffff), + size: 24, + ), + onPressed: () { + app.back(); + }, + ), + ), + Padding( + padding: EdgeInsets.all(16), + child: Align( + alignment: Alignment.bottomCenter, + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: const Color(0xFF3A57E8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.continue_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 45, + minWidth: MediaQuery.of(context).size.width, + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class ForgotPassword_xt11Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/grid_kcdz.dart b/lib/src/ui/views/grid_kcdz.dart new file mode 100644 index 0000000..f2e8e99 --- /dev/null +++ b/lib/src/ui/views/grid_kcdz.dart @@ -0,0 +1,579 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Grid_kcdzView extends StatefulWidget { + final Object? extra; + + Grid_kcdzView({super.key, this.extra}); + + @override + State createState() => _Grid_kcdzViewState(); +} + +class _Grid_kcdzViewState extends State { + late Grid_kcdzController _view; + + @override + void initState() { + super.initState(); + _view = Grid_kcdzController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xffffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: GridView( + padding: EdgeInsets.all(16), + shrinkWrap: false, + scrollDirection: Axis.vertical, + physics: ClampingScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + crossAxisSpacing: 8, + mainAxisSpacing: 8, + childAspectRatio: 0.8, + ), + children: [ + Stack2339_cb92( + Constants.sHOPNOW_, + () { + view._click(); + }, + Constants.fLAT20OFF_, + Constants.internationalBrand_, + 'https://images.pexels.com/photos/1382731/pexels-photo-1382731.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500', + ), + Stack( + alignment: Alignment.bottomCenter, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/VH1dm4Y/excited-ginger-lady-hat-holding-straw-bag-ecstatic-long-haired-girl-summer-outfit-enjoying-good-day.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(4), + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(8.0), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.internationalBrand_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff8e8989), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 0, + ), + child: Text( + Constants.fLAT20OFF_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(0), + child: Text( + Constants.sHOPNOW_, + style: TextStyle( + fontSize: 11, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 20, + minWidth: 140, + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 200, + height: 100, + decoration: BoxDecoration( + color: Color(0x000b0a0a), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + ), + ], + ), + Stack( + alignment: Alignment.bottomCenter, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/HHkQNXK/cute-smiling-model-white-t-shirt-hat-among-orange-background-with-funny-face-231208-4900.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(4), + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(8.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.internationalBrand_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff8e8989), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 0, + ), + child: Text( + Constants.fLAT20OFF_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(0), + child: Text( + Constants.sHOPNOW_, + style: TextStyle( + fontSize: 11, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 20, + minWidth: 140, + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 200, + height: 100, + decoration: BoxDecoration( + color: Color(0x000b0a0a), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + ), + ], + ), + Stack( + alignment: Alignment.bottomCenter, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/59PLznV/dark-haired-woman-with-red-lipstick-smiles-leans-stand-with-clothes-holds-package-pink-background-19.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(4), + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(8.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.internationalBrand_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff8e8989), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 0, + ), + child: Text( + Constants.fLAT20OFF_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(0), + child: Text( + Constants.sHOPNOW_, + style: TextStyle( + fontSize: 11, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 20, + minWidth: 140, + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 200, + height: 100, + decoration: BoxDecoration( + color: Color(0x000b0a0a), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + ), + ], + ), + Stack( + alignment: Alignment.bottomCenter, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/2SmNQBk/happy-lady-stylish-skirt-boater-posing-pink-wall-197531-23653.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(4), + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(8.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.internationalBrand_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff8e8989), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 0, + ), + child: Text( + Constants.fLAT20OFF_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(0), + child: Text( + Constants.sHOPNOW_, + style: TextStyle( + fontSize: 11, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 20, + minWidth: 140, + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 200, + height: 100, + decoration: BoxDecoration( + color: Color(0x000b0a0a), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + ), + ], + ), + Stack( + alignment: Alignment.bottomCenter, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8.0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/Ykjp9cF/portrait-handsome-smiling-stylish-young-man-model-wearing-jeans-clothes-fashion-man-158538-5025.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Container( + margin: EdgeInsets.all(4), + padding: EdgeInsets.all(4), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(8.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.internationalBrand_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff8e8989), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 0, + ), + child: Text( + Constants.fLAT20OFF_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff3a57e8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + padding: EdgeInsets.all(0), + child: Text( + Constants.sHOPNOW_, + style: TextStyle( + fontSize: 11, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 20, + minWidth: 140, + ), + ], + ), + ), + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 200, + height: 100, + decoration: BoxDecoration( + color: Color(0x000b0a0a), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + ), + ], + ), + ], + ), + ), + ), + ); + } +} + +class Grid_kcdzController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/home_cigx.dart b/lib/src/ui/views/home_cigx.dart new file mode 100644 index 0000000..7e454db --- /dev/null +++ b/lib/src/ui/views/home_cigx.dart @@ -0,0 +1,576 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Home_cigxView extends StatefulWidget { + final Object? extra; + + Home_cigxView({super.key, this.extra}); + + @override + State createState() => _Home_cigxViewState(); +} + +class _Home_cigxViewState extends State { + late Home_cigxController _view; + final pageController = PageController(); + + @override + void initState() { + super.initState(); + _view = Home_cigxController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + body: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(16, 40, 16, 16), + child: Row1927_acsm( + Icons.shopping_cart, + Icons.notifications, + Icons.favorite_border, + Constants.rose_, + 'https://cdn.pixabay.com/photo/2018/01/15/07/51/woman-3083383_960_720.jpg', + ), + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: TextField1926_332s( + Icons.photo_camera, + Constants.searchHere_, + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 16, 0, 0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: 100, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(8), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0xffffc6e0), + shape: BoxShape.circle, + ), + child: ImageIcon( + NetworkImage( + 'https://cdn1.iconfinder.com/data/icons/basi-icon-set-01/100/Fin_copy-37-256.png', + ), + size: 24, + color: Color(0xff731069), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.categories_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + children: [ + Padding1901_cx9n( + Constants.kurtiSuits_, + 'https://i.ibb.co/5v10g3w/young-woman-beautiful-red-dress-1303-17506.jpg', + ), + Padding1902_1msv( + Constants.westernwear_, + 'https://i.ibb.co/2SmNQBk/happy-lady-stylish-skirt-boater-posing-pink-wall-197531-23653.jpg', + ), + Padding1903_0ffz( + Constants.men_, + 'https://i.ibb.co/6mSs68n/portrait-handsome-smiling-stylish-young-man-model-dressed-blue-shirt-clothes-fashion-man-posing-1585.jpg', + ), + Padding1904_tdvf( + Constants.saree_, + 'https://images.unsplash.com/photo-1610030469983-98e550d6193c?ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8c2FyZWV8ZW58MHx8MHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60', + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + height: 60, + width: 60, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration( + shape: BoxShape.circle, + ), + child: Image.network( + 'https://images.unsplash.com/photo-1601121141461-9d6647bca1ed?ixid=MnwxMjA3fDB8MHxzZWFyY2h8M3x8Z29sZCUyMGpld2VsbGVyeXxlbnwwfHwwfHw%3D&ixlib=rb-1.2.1&w=1000&q=80', + fit: BoxFit.cover, + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.text_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ), + SizedBox( + height: 240, + width: MediaQuery.of(context).size.width, + child: Stack( + children: [ + PageView.builder( + controller: pageController, + scrollDirection: Axis.horizontal, + itemCount: 3, + itemBuilder: (context, position) { + return Align( + alignment: Alignment.topCenter, + child: Image.network( + 'https://i.ibb.co/80RV30C/flat-diwali-sale-with-candle-52683-27177.jpg', + height: 200, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ); + }, + ), + Align( + alignment: Alignment.bottomCenter, + child: Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 15), + child: SmoothPageIndicator( + controller: pageController, + count: 3, + axisDirection: Axis.horizontal, + effect: ExpandingDotsEffect( + dotColor: Color(0xff9e9e9e), + activeDotColor: Color(0xff3a57e8), + dotHeight: 10, + dotWidth: 10, + radius: 16, + spacing: 8, + expansionFactor: 3, + ), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 8, 0, 0), + child: Align( + alignment: Alignment.centerLeft, + child: Text( + Constants.offerZone_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 4, 0, 16), + child: Align( + alignment: Alignment.centerLeft, + child: Text( + Constants.bestDealsOnProducts_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff9e9e9e), + ), + ), + ), + ), + GridView( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + shrinkWrap: true, + scrollDirection: Axis.vertical, + physics: NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 3, + crossAxisSpacing: 8, + mainAxisSpacing: 8, + childAspectRatio: 1, + ), + children: [ + Stack1906_s1jy( + Constants.k50Off_, + 'https://i.ibb.co/59PLznV/dark-haired-woman-with-red-lipstick-smiles-leans-stand-with-clothes-holds-package-pink-background-19.jpg', + ), + Stack1907_xt28( + Constants.k30Off_, + 'https://i.ibb.co/2styPjJ/pretty-young-stylish-sexy-woman-pink-luxury-dress-summer-fashion-trend-chic-style-sunglasses-blue-st.jpg', + ), + Stack1908_55ms( + Constants.k10Off_, + 'https://i.ibb.co/wQH72qM/fashion-portrait-two-elegant-women-best-friends-posing-indoor-grey-wall-wearing-winter-fluffy-coat-b.jpg', + ), + Stack1909_yxtc( + Constants.k30Off_, + 'https://i.ibb.co/stCq4J3/three-young-beautiful-smiling-girls-trendy-summer-casual-jeans-clothes-sexy-carefree-women-posing-po.jpg', + ), + Stack1910_yg0l( + Constants.k30Off_, + 'https://images.unsplash.com/photo-1572804013427-4d7ca7268217?ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8d29tYW4lMjBjbG90aGVzfGVufDB8fDB8fA%3D%3D&ixlib=rb-1.2.1&w=1000&q=80', + ), + Stack1911_9sq5( + Constants.k30Off_, + 'https://i.ibb.co/kXYrWvS/pleased-female-model-with-happy-face-expression-posing-winter-clothes-smiling-short-haired-woman-sca.jpg', + ), + Stack1912_btq1( + Constants.k30Off_, + 'https://i.ibb.co/2styPjJ/pretty-young-stylish-sexy-woman-pink-luxury-dress-summer-fashion-trend-chic-style-sunglasses-blue-st.jpg', + ), + Stack1913_cao7( + Constants.k30Off_, + 'https://images.pexels.com/photos/5868122/pexels-photo-5868122.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500', + ), + Stack1914_hvm6( + Constants.k50Off_, + 'https://i.ibb.co/5YNNwcc/woman-with-shopping-bags-studio-yellow-background-isolated-1303-14294.jpg', + ), + ], + ), + Divider( + color: Color(0xffe3e1e1), + height: 16, + thickness: 8, + indent: 0, + endIndent: 0, + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 8, 0, 0), + child: Align( + alignment: Alignment.centerLeft, + child: Text( + Constants.contestSection_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 8, 0, 16), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: 100, + decoration: BoxDecoration( + color: Color(0x00000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: ListView( + scrollDirection: Axis.horizontal, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: ClampingScrollPhysics(), + children: [ + Container1915_m39v( + Constants.cLICKTOSPIN_, + Constants.spinWinAssuredCredits_, + Constants.spinWinAdduredCredits_, + 'https://i.ibb.co/XDbRhWd/wheel-fortune-lucky-girl-winner-casino-107791-1550.jpg', + ), + Container( + margin: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + padding: EdgeInsets.all(0), + width: 280, + height: 100, + decoration: BoxDecoration( + color: Color(0x00000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(12.0), + bottomLeft: Radius.circular(12.0), + ), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/8Nv083m/golden-wheel-fortune-luck-spin-background-1017-31404.jpg', + ), + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.spinWinAdduredCredits_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + Constants.spinWinAssuredCredits_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.cLICKTOSPIN_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ), + Container( + margin: EdgeInsets.fromLTRB(0, 0, 8, 0), + padding: EdgeInsets.all(0), + width: 280, + height: 100, + decoration: BoxDecoration( + color: Color(0x00000000), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(12.0), + bottomLeft: Radius.circular(12.0), + ), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/CwxXLdv/jackpot-realistic-background-1284-25763.jpg', + ), + fit: BoxFit.cover, + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(8, 4, 0, 4), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.spinWinAdduredCredits_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + Constants.spinWinAssuredCredits_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 11, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.cLICKTOSPIN_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Home_cigxController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/labels_sxue.dart b/lib/src/ui/views/labels_sxue.dart new file mode 100644 index 0000000..c9d00cb --- /dev/null +++ b/lib/src/ui/views/labels_sxue.dart @@ -0,0 +1,251 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Labels_sxueView extends StatefulWidget { + final Object? extra; + + Labels_sxueView({super.key, this.extra}); + + @override + State createState() => _Labels_sxueViewState(); +} + +class _Labels_sxueViewState extends State { + late Labels_sxueController _view; + + @override + void initState() { + super.initState(); + _view = Labels_sxueController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar682_1czg( + Icons.dashboard, + Icons.search, + Constants.labels_, + ), + body: GridView( + padding: EdgeInsets.all(16), + shrinkWrap: false, + scrollDirection: Axis.vertical, + physics: ClampingScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + crossAxisSpacing: 16, + mainAxisSpacing: 16, + childAspectRatio: 1.3, + ), + children: [ + Container676_u4q2(Constants.k1Item_, Constants.ideas_), + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.uX_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffff9200), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k2Items_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff4c4c4c), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.story_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffff5600), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k1Item_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff4c4c4c), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.xD_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff169b81), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k2Items_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff4c4c4c), + ), + ), + ), + ], + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.lorem_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffaf1d86), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 0), + child: Text( + Constants.k1Item_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff4c4c4c), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +} + +class Labels_sxueController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/list_1eal.dart b/lib/src/ui/views/list_1eal.dart new file mode 100644 index 0000000..3de38c0 --- /dev/null +++ b/lib/src/ui/views/list_1eal.dart @@ -0,0 +1,213 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class List_1ealView extends StatefulWidget { + final Object? extra; + + List_1ealView({super.key, this.extra}); + + @override + State createState() => _List_1ealViewState(); +} + +class _List_1ealViewState extends State { + late List_1ealController _view; + + @override + void initState() { + super.initState(); + _view = List_1ealController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar3210_xy2e(Icons.search, () { + app.back(); + }, Constants.gifts_), + body: ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.all(16), + shrinkWrap: true, + physics: ClampingScrollPhysics(), + children: [ + Stack3205_puva( + Constants.gifts_, + Constants.creativeGiftsForCapricom_, + 'https://i.ibb.co/T41bzp3/cosmetic-product-packaging-mockup-1150-40282.jpg', + ), + Stack( + alignment: Alignment.center, + children: [ + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/fqCzqgH/realistic-ad-with-product-landing-page-52683-70960.jpg', + ), + height: 180, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.center, + child: Container( + margin: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + padding: EdgeInsets.all(4), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0xff000000), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.creativeGiftsForCapricom_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + Constants.gifts_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffa3a3a3), + ), + ), + ), + ], + ), + ), + ), + ], + ), + Stack( + alignment: Alignment.center, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 16), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/4RwSHM4/realistic-ad-with-product-landing-page-52683-70867.jpg', + ), + height: 180, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + ), + Align( + alignment: Alignment.center, + child: Container( + margin: EdgeInsets.symmetric(vertical: 0, horizontal: 8), + padding: EdgeInsets.all(4), + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + border: Border.all(color: Color(0xff000000), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.creativeGiftsForCapricom_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Text( + Constants.gifts_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xffa3a3a3), + ), + ), + ), + ], + ), + ), + ), + ], + ), + Stack3208_5dv2( + Constants.gifts_, + Constants.creativeGiftsForCapricom_, + 'https://i.ibb.co/j4fqbMX/skincare-brand-bottle-ad-52683-35127.jpg', + ), + ], + ), + ), + ), + ); + } +} + +class List_1ealController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/login_qayv.dart b/lib/src/ui/views/login_qayv.dart new file mode 100644 index 0000000..f144029 --- /dev/null +++ b/lib/src/ui/views/login_qayv.dart @@ -0,0 +1,319 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Login_qayvView extends StatefulWidget { + final Object? extra; + + Login_qayvView({super.key, this.extra}); + + @override + State createState() => _Login_qayvViewState(); +} + +class _Login_qayvViewState extends State { + late Login_qayvController _view; + + @override + void initState() { + super.initState(); + _view = Login_qayvController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + body: SizedBox( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + alignment: Alignment.topLeft, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i.ibb.co/kX2c8DW/low-angle-shot-mesmerizing-starry-sky-181624-27925.jpg', + ), + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Align( + alignment: Alignment.center, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://cdn0.iconfinder.com/data/icons/butterflies-2/48/74-128.png', + ), + height: 120, + width: 120, + fit: BoxFit.contain, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 70, 0, 16), + child: TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + hintText: Constants.username_, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xfff2f2f3), + isDense: false, + contentPadding: EdgeInsets.symmetric( + vertical: 8, + horizontal: 12, + ), + ), + ), + ), + TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(24.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + hintText: Constants.password_, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0xfff2f2f3), + isDense: false, + contentPadding: EdgeInsets.symmetric( + vertical: 8, + horizontal: 12, + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 16), + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: const Color(0xFF3A57E8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.lOGIN_, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 50, + minWidth: MediaQuery.of(context).size.width, + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.dontHaveAnAccount_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffbab4b4), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(4, 0, 0, 0), + child: Text( + Constants.signUp_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 16), + child: Text( + Constants.loginWithSocialNetwork_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffbab4b4), + ), + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://cdn2.iconfinder.com/data/icons/social-media-2285/512/1_Facebook_colored_svg_copy-128.png', + ), + height: 50, + width: 50, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://cdn3.iconfinder.com/data/icons/2018-social-media-logotypes/1000/2018_social_media_popular_app_logo_instagram-128.png', + ), + height: 50, + width: 50, + fit: BoxFit.cover, + ), + ), + + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://cdn3.iconfinder.com/data/icons/2018-social-media-logotypes/1000/2018_social_media_popular_app_logo_twitter-128.png', + ), + height: 50, + width: 50, + fit: BoxFit.cover, + ), + ], + ), + ], + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Login_qayvController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/membership_z9ze.dart b/lib/src/ui/views/membership_z9ze.dart new file mode 100644 index 0000000..f5481af --- /dev/null +++ b/lib/src/ui/views/membership_z9ze.dart @@ -0,0 +1,153 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Membership_z9zeView extends StatefulWidget { + final Object? extra; + + Membership_z9zeView({super.key, this.extra}); + + @override + State createState() => _Membership_z9zeViewState(); +} + +class _Membership_z9zeViewState extends State { + late Membership_z9zeController _view; + + @override + void initState() { + super.initState(); + _view = Membership_z9zeController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.membership_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.chooseYourPlan_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 30), + child: Text( + Constants.byBecomingAMenberYouCan_, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xbe8a8989), + ), + ), + ), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container121_di37( + Constants.billedEveryMonth_, + Constants.uSD999_, + Constants.monthly_, + const Color(0xFFFF5630), + ), + Container122_a8w6( + Constants.billedEvery12Month_, + Constants.uSD499month_, + Constants.yearly_, + const Color(0xFF89898968), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 0), + child: MaterialButton123_qtis( + Constants.selectPlan_, + const Color(0xFFFF5630), + () { + context.push('/aboutus'); + }, + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Membership_z9zeController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/my_account_tyvz.dart b/lib/src/ui/views/my_account_tyvz.dart new file mode 100644 index 0000000..8dfb230 --- /dev/null +++ b/lib/src/ui/views/my_account_tyvz.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class MyAccount_tyvzView extends StatefulWidget { + final Object? extra; + + MyAccount_tyvzView({super.key, this.extra}); + + @override + State createState() => _MyAccount_tyvzViewState(); +} + +class _MyAccount_tyvzViewState extends State { + late MyAccount_tyvzController _view; + + @override + void initState() { + super.initState(); + _view = MyAccount_tyvzController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar1219_t88q(Constants.myAccount_), + body: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.symmetric(vertical: 30, horizontal: 16), + child: Row1218_c1cc( + Constants.basic_, + () { + view._click(); + }, + Constants.iD786534789_, + Constants.philipRamirez_, + 'https://i.ibb.co/GV44RGq/pleasant-looking-serious-man-stands-profile-has-confident-expression-wears-casual-white-t-shirt-2736.jpg', + ), + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 30), + child: MaterialButton1217_jwby(Constants.upgradePlan_, () { + view._click(); + }), + ), + ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.symmetric(vertical: 30, horizontal: 16), + shrinkWrap: true, + physics: ScrollPhysics(), + children: [ + ListTile1210_3rti(Constants.settings_), + Divider1211_akau(), + SwitchListTile1212_w9oz(Constants.darkMode_), + Divider1211_qqok(), + ListTile1213_y7ek(Constants.aboutUs_1), + Divider1211_quka(), + ListTile1214_lcq3(Constants.termsAndConditions_), + ], + ), + MaterialButton1215_0qfr(Constants.logOut_, () { + view._click(); + }), + ], + ), + ), + ), + ), + ); + } +} + +class MyAccount_tyvzController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/news_details_t6nw.dart b/lib/src/ui/views/news_details_t6nw.dart new file mode 100644 index 0000000..e7d8bdf --- /dev/null +++ b/lib/src/ui/views/news_details_t6nw.dart @@ -0,0 +1,121 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class NewsDetails_t6nwView extends StatefulWidget { + final Object? extra; + + NewsDetails_t6nwView({super.key, this.extra}); + + @override + State createState() => _NewsDetails_t6nwViewState(); +} + +class _NewsDetails_t6nwViewState extends State { + late NewsDetails_t6nwController _view; + + @override + void initState() { + super.initState(); + _view = NewsDetails_t6nwController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + actions: [ + Icon(Icons.more_vert, color: Color(0xff212435), size: 24), + ], + ), + body: Padding( + padding: EdgeInsets.all(16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.fASHION_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffff5630), + ), + ), + Padding1339_yprp( + Icons.bookmark_outline, + Constants.theWatchModelThatMakesYu_, + ), + ClipRRect1340_ko9q( + 'https://i.ibb.co/2SmNQBk/happy-lady-stylish-skirt-boater-posing-pink-wall-197531-23653.jpg', + ), + Padding1341_9kox( + Constants.follow_, + const Color(0xFF2E2E2E), + () { + view._click(); + }, + Constants.k12Jan2021_, + Constants.byJonesHawkins_, + 'https://i.ibb.co/xDFtpkb/businessman-character-avatar-isolated-24877-60111.jpg', + ), + Text1342_x667(Constants.loremIpsumIsSimplyDummyTe_), + ], + ), + ), + ), + ), + ), + ); + } +} + +class NewsDetails_t6nwController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/no_data_found_shk8.dart b/lib/src/ui/views/no_data_found_shk8.dart new file mode 100644 index 0000000..60fe480 --- /dev/null +++ b/lib/src/ui/views/no_data_found_shk8.dart @@ -0,0 +1,133 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class NoDataFound_shk8View extends StatefulWidget { + final Object? extra; + + NoDataFound_shk8View({super.key, this.extra}); + + @override + State createState() => _NoDataFound_shk8ViewState(); +} + +class _NoDataFound_shk8ViewState extends State { + late NoDataFound_shk8Controller _view; + + @override + void initState() { + super.initState(); + _view = NoDataFound_shk8Controller()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + body: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + + ///***If you have exported images you must have to copy those images in assets/images directory. + children: [ + Image( + image: NetworkImage( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ8Q834-7f4pEXZbLNMllf9kfmCa98XH7r3KqlWuYvzb2MxQofQ0lEZV17zyaAZSGOMzmU&usqp=CAU', + ), + height: 120, + width: 120, + fit: BoxFit.cover, + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.oopsYouAreLost_, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 30), + child: Text( + Constants.thePageYouAreLookingForC_, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xbe8a8989), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: const Color(0xFFFF5630), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.goBack_, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 50, + minWidth: MediaQuery.of(context).size.width, + ), + ], + ), + ), + ), + ), + ); + } +} + +class NoDataFound_shk8Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/notification_setting_bycd.dart b/lib/src/ui/views/notification_setting_bycd.dart new file mode 100644 index 0000000..09f5ec4 --- /dev/null +++ b/lib/src/ui/views/notification_setting_bycd.dart @@ -0,0 +1,157 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class NotificationSetting_bycdView extends StatefulWidget { + final Object? extra; + + NotificationSetting_bycdView({super.key, this.extra}); + + @override + State createState() => + _NotificationSetting_bycdViewState(); +} + +class _NotificationSetting_bycdViewState + extends State { + late NotificationSetting_bycdController _view; + + @override + void initState() { + super.initState(); + _view = NotificationSetting_bycdController() + ..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xffffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.notificationSetting_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row1245_305i(Constants.appNotification_), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.recommendedArticle_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Checkbox( + onChanged: (value) {}, + activeColor: Color(0xffff5630), + autofocus: false, + checkColor: Color(0xffffffff), + hoverColor: Color(0x42000000), + splashRadius: 20, + value: true, + ), + ], + ), + ), + Padding1247_rcmx(Constants.promotion_), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.latestNews_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Checkbox( + onChanged: (value) {}, + activeColor: Color(0xffff5630), + autofocus: false, + checkColor: Color(0xffffffff), + hoverColor: Color(0x42000000), + splashRadius: 20, + value: true, + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class NotificationSetting_bycdController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/pin_note_list_qn8a.dart b/lib/src/ui/views/pin_note_list_qn8a.dart new file mode 100644 index 0000000..d74f186 --- /dev/null +++ b/lib/src/ui/views/pin_note_list_qn8a.dart @@ -0,0 +1,270 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class PinNoteList_qn8aView extends StatefulWidget { + final Object? extra; + + PinNoteList_qn8aView({super.key, this.extra}); + + @override + State createState() => _PinNoteList_qn8aViewState(); +} + +class _PinNoteList_qn8aViewState extends State { + late PinNoteList_qn8aController _view; + + @override + void initState() { + super.initState(); + _view = PinNoteList_qn8aController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar1048_e0na( + Icons.dashboard, + Icons.search, + Constants.pins_, + ), + body: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Text( + Constants.recent_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ListView( + scrollDirection: Axis.vertical, + padding: EdgeInsets.all(0), + shrinkWrap: true, + physics: ScrollPhysics(), + children: [ + Container1042_49si( + Constants.ideas_, + Constants.k22Aug20200230Am_, + Icons.more_horiz, + Icons.push_pin, + Constants.webIdeas_, + Icons.article, + ), + Container( + margin: EdgeInsets.fromLTRB(0, 0, 0, 16), + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(12.0), + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Icon( + Icons.article, + color: Color(0xff3a57e8), + size: 50, + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.fromLTRB(16, 0, 0, 0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Row( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + Constants + .theRoleOfCretivityInUXDe_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: + TextOverflow.ellipsis, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 8, + ), + child: Icon( + Icons.push_pin, + color: Color(0xffffac00), + size: 20, + ), + ), + ], + ), + ), + Icon( + Icons.more_horiz, + color: Color(0xff212435), + size: 20, + ), + ], + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 4, 0, 0), + child: Row( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: Text( + Constants.k15Sep20200230Am_, + textAlign: TextAlign.start, + maxLines: 1, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff393939), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB( + 8, + 0, + 0, + 0, + ), + padding: EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + decoration: BoxDecoration( + color: Color(0x343a57e8), + shape: BoxShape.rectangle, + borderRadius: + BorderRadius.circular(4.0), + ), + child: Text( + Constants.uX_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ), + Container1044_awqh( + Constants.story_, + Constants.k22Mar20200230Am_, + Icons.more_horiz, + Icons.push_pin, + Constants.chap1_, + Icons.article, + ), + Container1045_jwip( + Constants.story_, + Constants.k22June20200230Am_, + Icons.more_horiz, + Icons.push_pin, + Constants.chap2_, + Icons.article, + ), + ], + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +class PinNoteList_qn8aController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } +} diff --git a/lib/src/ui/views/profile_pzn0.dart b/lib/src/ui/views/profile_pzn0.dart new file mode 100644 index 0000000..4300bb6 --- /dev/null +++ b/lib/src/ui/views/profile_pzn0.dart @@ -0,0 +1,359 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Profile_pzn0View extends StatefulWidget { + final Object? extra; + + Profile_pzn0View({super.key, this.extra}); + + @override + State createState() => _Profile_pzn0ViewState(); +} + +class _Profile_pzn0ViewState extends State { + late Profile_pzn0Controller _view; + + @override + void initState() { + super.initState(); + _view = Profile_pzn0Controller()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 4, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0xffffffff), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(16.0), + bottomRight: Radius.circular(16.0), + ), + ), + title: Text( + Constants.profile_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.menu, color: Color(0xff000000), size: 24), + onPressed: () { + view._click(); + }, + ), + ), + body: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(height: 16, width: 16), + Text( + Constants.editProfile_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff535252), + ), + ), + Container( + alignment: Alignment.center, + margin: EdgeInsets.fromLTRB(0, 16, 0, 30), + padding: EdgeInsets.all(0), + width: 140, + height: 140, + decoration: BoxDecoration( + color: Color(0x1f000000), + shape: BoxShape.circle, + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Container( + height: 120, + width: 120, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://i.ibb.co/xDFtpkb/businessman-character-avatar-isolated-24877-60111.jpg', + fit: BoxFit.cover, + ), + ), + ), + TextField( + controller: TextEditingController(text: Constants.anthony_), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.lastName_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff6f6d6d), + ), + hintText: "Enter Text", + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0x00ffffff), + isDense: false, + contentPadding: EdgeInsets.fromLTRB(0, 0, 0, 8), + ), + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: TextField( + controller: TextEditingController(text: Constants.smith_), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.firstName_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff6f6d6d), + ), + hintText: "Enter Text", + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0x00ffffff), + isDense: false, + contentPadding: EdgeInsets.fromLTRB(0, 0, 0, 8), + ), + ), + ), + TextField( + controller: TextEditingController( + text: Constants.anthonysmith12_, + ), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.username_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff6f6d6d), + ), + hintText: "Enter Text", + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0x00ffffff), + isDense: false, + contentPadding: EdgeInsets.fromLTRB(0, 0, 0, 8), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: TextField( + controller: TextEditingController( + text: Constants.anthonysmithgmailcom_, + ), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 1, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + focusedBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + enabledBorder: UnderlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0xff000000), + width: 1, + ), + ), + labelText: Constants.email_, + labelStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff6f6d6d), + ), + hintText: "Enter Text", + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + filled: true, + fillColor: Color(0x00ffffff), + isDense: false, + contentPadding: EdgeInsets.fromLTRB(0, 0, 0, 8), + ), + ), + ), + SizedBox(height: 16, width: 16), + ], + ), + ), + ), + ), + ), + ); + } +} + +class Profile_pzn0Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/register_obmz.dart b/lib/src/ui/views/register_obmz.dart new file mode 100644 index 0000000..c259d88 --- /dev/null +++ b/lib/src/ui/views/register_obmz.dart @@ -0,0 +1,181 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Register_obmzView extends StatefulWidget { + final Object? extra; + + Register_obmzView({super.key, this.extra}); + + @override + State createState() => _Register_obmzViewState(); +} + +class _Register_obmzViewState extends State { + late Register_obmzController _view; + + @override + void initState() { + super.initState(); + _view = Register_obmzController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xfff1f1f1), + body: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height * 0.4, + decoration: BoxDecoration( + color: Color(0xff3a57e8), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(60.0), + ), + border: Border.all(color: Color(0x4d9e9e9e), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 70, + width: 70, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRviAGWGV45QGRAHOv3Hh35VxwyNU_Qiy8ZK_8PytS-eTrEMY4RgaNgInAQie6VgqvSA24&usqp=CAU', + fit: BoxFit.cover, + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 0), + child: Text( + Constants.register_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xffffffff), + ), + ), + ), + ], + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 30, 16, 16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + TextField561_jhkd(Icons.person, Constants.fullName_), + Padding562_b5u2(Icons.mail, Constants.email_), + Padding563_2jw4( + Icons.visibility_off, + Constants.password_, + ), + Padding564_yzg6( + Constants.register_, + const Color(0xFF3A57E8), + () { + view._click(); + }, + ), + ], + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Align( + alignment: Alignment.center, + child: Text( + Constants.alreadyHaveAnAccount_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(4, 0, 0, 0), + child: Text( + Constants.login_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff3a57e8), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Register_obmzController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/review_47su.dart b/lib/src/ui/views/review_47su.dart new file mode 100644 index 0000000..9b11ffe --- /dev/null +++ b/lib/src/ui/views/review_47su.dart @@ -0,0 +1,268 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Review_47suView extends StatefulWidget { + final Object? extra; + + Review_47suView({super.key, this.extra}); + + @override + State createState() => _Review_47suViewState(); +} + +class _Review_47suViewState extends State { + late Review_47suController _view; + + @override + void initState() { + super.initState(); + _view = Review_47suController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 4, + centerTitle: false, + automaticallyImplyLeading: false, + backgroundColor: Color(0xff3a57e8), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.review_, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xffffffff), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xffffffff), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: SizedBox( + width: MediaQuery.of(context).size.width, + child: Stack( + alignment: Alignment.topLeft, + children: [ + ///***If you have exported images you must have to copy those images in assets/images directory. + Image( + image: NetworkImage( + 'https://i0.wp.com/cssscript.com/wp-content/uploads/2018/03/Simple-Location-Picker.png?fit=561%2C421&ssl=1', + ), + height: 250, + width: MediaQuery.of(context).size.width, + fit: BoxFit.cover, + ), + Container( + margin: EdgeInsets.fromLTRB(0, 200, 0, 80), + padding: EdgeInsets.all(0), + decoration: BoxDecoration( + color: Color(0xffffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(0, 60, 0, 0), + child: Text( + Constants.bella_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 22, + color: Color(0xff000000), + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 8, 0, 16), + child: Text( + Constants.k4971GodfreyRoad_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff878787), + ), + ), + ), + RatingBarbuilder1009_hkzs(), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 0, 8), + child: Text( + Constants.howIsYourTrip_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + ), + Text( + Constants.yourFeedbackWillHelpImprov_, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff878787), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 30, 16, 16), + child: TextField( + controller: TextEditingController(), + obscureText: false, + textAlign: TextAlign.start, + maxLines: 5, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + decoration: InputDecoration( + disabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(4.0), + borderSide: BorderSide( + color: Color(0x00ffffff), + width: 1, + ), + ), + hintText: Constants.additionalComment_, + hintStyle: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffafafaf), + ), + filled: true, + fillColor: Color(0xfff2f2f3), + isDense: false, + contentPadding: EdgeInsets.symmetric( + vertical: 8, + horizontal: 12, + ), + ), + ), + ), + ], + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(16, 200, 0, 0), + child: Container( + height: 80, + width: 80, + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration(shape: BoxShape.circle), + child: Image.network( + 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTH7wtiaB5F3B2oaF5699EJCNEtPnjD57ERWKTMjN0h-gpRxrFQ1u68HzFFT3eYJFFNLr4&usqp=CAU', + fit: BoxFit.cover, + ), + ), + ), + Padding( + padding: EdgeInsets.all(16), + child: Align( + alignment: Alignment.bottomCenter, + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: const Color(0xFF3A57E8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.submitReview_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 50, + minWidth: MediaQuery.of(context).size.width, + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Review_47suController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/setting_pano.dart b/lib/src/ui/views/setting_pano.dart new file mode 100644 index 0000000..4f3057d --- /dev/null +++ b/lib/src/ui/views/setting_pano.dart @@ -0,0 +1,411 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Setting_panoView extends StatefulWidget { + final Object? extra; + + Setting_panoView({super.key, this.extra}); + + @override + State createState() => _Setting_panoViewState(); +} + +class _Setting_panoViewState extends State { + late Setting_panoController _view; + + @override + void initState() { + super.initState(); + _view = Setting_panoController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final app = context.watch(); + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.settings_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Color(0xff212435), size: 24), + onPressed: () { + app.back(); + }, + ), + ), + body: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 16), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + SizedBox(height: 30, width: 16), + Row1667_tgx9( + Constants.editPersonalDetails_, + Constants.kapilSharma_, + 'https://i.ibb.co/xDFtpkb/businessman-character-avatar-isolated-24877-60111.jpg', + ), + Padding1668_943x( + Constants.darkMode_, + Icons.wb_sunny_outlined, + ), + Text( + Constants.profile_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + Padding1670_gouc(Constants.editProfile_, Icons.person), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 45, + height: 45, + decoration: BoxDecoration( + color: Color(0xff3a57e8), + shape: BoxShape.circle, + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Icon( + Icons.build, + color: Color(0xffffffff), + size: 24, + ), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: Text( + Constants.changePassword_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ), + Icon( + Icons.arrow_forward_ios, + color: Color(0xff7b7c80), + size: 18, + ), + ], + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Text( + Constants.notifications_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 45, + height: 45, + decoration: BoxDecoration( + color: Color(0xff81cd26), + shape: BoxShape.circle, + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Icon( + Icons.notifications, + color: Color(0xffffffff), + size: 24, + ), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: Text( + Constants.notifications_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ), + Checkbox( + onChanged: (value) {}, + activeColor: Color(0xff3a57e8), + autofocus: false, + checkColor: Color(0xffffffff), + hoverColor: Color(0x42000000), + splashRadius: 20, + value: true, + ), + ], + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Text( + Constants.background_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 45, + height: 45, + decoration: BoxDecoration( + color: Color(0xff9400ff), + shape: BoxShape.circle, + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Icon( + Icons.language, + color: Color(0xffffffff), + size: 24, + ), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: Text( + Constants.language_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ), + Icon( + Icons.arrow_forward_ios, + color: Color(0xff7b7c80), + size: 18, + ), + ], + ), + Padding( + padding: EdgeInsets.symmetric(vertical: 16, horizontal: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 60, + height: 60, + decoration: BoxDecoration( + color: Color(0x00ffffff), + shape: BoxShape.rectangle, + borderRadius: BorderRadius.zero, + ), + child: Container( + alignment: Alignment.center, + margin: EdgeInsets.all(0), + padding: EdgeInsets.all(0), + width: 45, + height: 45, + decoration: BoxDecoration( + color: Color(0xffff5d00), + shape: BoxShape.circle, + border: Border.all( + color: Color(0x4d9e9e9e), + width: 1, + ), + ), + child: Icon( + Icons.logout, + color: Color(0xffffffff), + size: 24, + ), + ), + ), + Expanded( + flex: 1, + child: Padding( + padding: EdgeInsets.symmetric( + vertical: 0, + horizontal: 16, + ), + child: Text( + Constants.logout_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xff000000), + ), + ), + ), + ), + Icon( + Icons.arrow_forward_ios, + color: Color(0xff7b7c80), + size: 18, + ), + ], + ), + ), + ], + ), + ), + ), + ), + ), + ); + } +} + +class Setting_panoController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/splash_p2g8.dart b/lib/src/ui/views/splash_p2g8.dart new file mode 100644 index 0000000..f6cc306 --- /dev/null +++ b/lib/src/ui/views/splash_p2g8.dart @@ -0,0 +1,120 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Splash_p2g8View extends StatefulWidget { + final Object? extra; + + Splash_p2g8View({super.key, this.extra}); + + @override + State createState() => _Splash_p2g8ViewState(); +} + +class _Splash_p2g8ViewState extends State { + late Splash_p2g8Controller _view; + + @override + void initState() { + super.initState(); + _view = Splash_p2g8Controller()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xff3a57e8), + body: Padding( + padding: EdgeInsets.all(16), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Align( + alignment: Alignment.center, + child: Lottie.network( + 'https://assets6.lottiefiles.com/temp/lf20_cEITBI.json', + height: 140, + width: 140, + fit: BoxFit.cover, + repeat: true, + animate: true, + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 0, 60), + child: Text( + Constants.weHaveSpecialFood_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 22, + color: Color(0xffffffff), + ), + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: const Color(0xFFFFFFFF), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.next_, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xff3a57e8), + height: 45, + minWidth: MediaQuery.of(context).size.width * 0.5, + ), + ], + ), + ), + ), + ), + ); + } +} + +class Splash_p2g8Controller with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/verification_nhug.dart b/lib/src/ui/views/verification_nhug.dart new file mode 100644 index 0000000..44de34d --- /dev/null +++ b/lib/src/ui/views/verification_nhug.dart @@ -0,0 +1,180 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Verification_nhugView extends StatefulWidget { + final Object? extra; + + Verification_nhugView({super.key, this.extra}); + + @override + State createState() => _Verification_nhugViewState(); +} + +class _Verification_nhugViewState extends State { + late Verification_nhugController _view; + + @override + void initState() { + super.initState(); + _view = Verification_nhugController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xffffffff), + appBar: AppBar( + elevation: 0, + centerTitle: true, + automaticallyImplyLeading: false, + backgroundColor: Color(0x00ffffff), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero), + title: Text( + Constants.verification_, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 20, + color: Color(0xff000000), + ), + ), + ), + body: Align( + alignment: Alignment.center, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 0, horizontal: 30), + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Image( + image: NetworkImage( + 'https://cdn4.iconfinder.com/data/icons/avatar-users/512/Avatar_Users2_15-128.png', + ), + height: 120, + width: 120, + fit: BoxFit.contain, + ), + Padding( + padding: EdgeInsets.symmetric( + vertical: 30, + horizontal: 0, + ), + child: Text( + Constants.enterTheVerificationCodeWe_, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 18, + color: Color(0xff000000), + ), + ), + ), + OtpTextField1083_80av(), + Padding( + padding: EdgeInsets.symmetric( + vertical: 30, + horizontal: 0, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + Constants.ifYouDidntReceiveACode_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 12, + color: Color(0xff000000), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(4, 0, 0, 0), + child: Text( + Constants.resend_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xff000000), + ), + ), + ), + ], + ), + ), + MaterialButton( + onPressed: () { + view._click(); + }, + color: const Color(0xFF3A57E8), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(30.0), + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.verify_, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 50, + minWidth: 150, + ), + ], + ), + ), + ), + ), + ), + ), + ); + } +} + +class Verification_nhugController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/lib/src/ui/views/welcome_g72w.dart b/lib/src/ui/views/welcome_g72w.dart new file mode 100644 index 0000000..5c7ece4 --- /dev/null +++ b/lib/src/ui/views/welcome_g72w.dart @@ -0,0 +1,190 @@ +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; +import 'package:provider/provider.dart'; +//import 'package:collection/collection.dart'; +import 'dart:math'; + +import '../../app.dart'; +import '../../common/constants.dart'; +import '../../common/utils.dart'; +import '../../data/repository/_dao.dart'; +import '../../data/models/_models.dart'; +import '../components/_components.dart'; + +class Welcome_g72wView extends StatefulWidget { + final Object? extra; + + Welcome_g72wView({super.key, this.extra}); + + @override + State createState() => _Welcome_g72wViewState(); +} + +class _Welcome_g72wViewState extends State { + late Welcome_g72wController _view; + + @override + void initState() { + super.initState(); + _view = Welcome_g72wController()..selectedIndex = widget.extra as int; + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _view, + child: Consumer( + builder: (context, view, child) => Scaffold( + backgroundColor: Color(0xff3a57e8), + body: SizedBox( + height: MediaQuery.of(context).size.height, + width: MediaQuery.of(context).size.width, + child: Stack( + alignment: Alignment.topLeft, + children: [ + Align( + alignment: Alignment.bottomCenter, + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Text( + Constants.fultterStudio_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 24, + color: Color(0xffffffff), + ), + ), + Padding( + padding: EdgeInsets.all(16), + child: Text( + Constants.welcomeToTheFultterStudio_, + textAlign: TextAlign.center, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 14, + color: Color(0xffffffff), + ), + ), + ), + SizedBox( + height: MediaQuery.of(context).size.height * 0.6, + width: MediaQuery.of(context).size.width, + child: Stack2554_yhdm( + 'https://miro.medium.com/max/2000/1*8QgPF5tXwo5NqhvXXncwSQ.png', + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + flex: 1, + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff5598ff), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.zero, + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.sIGNUP_, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 60, + minWidth: 140, + ), + ), + Expanded( + flex: 1, + child: MaterialButton( + onPressed: () { + view._click(); + }, + color: Color(0xff5598ff), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.zero, + ), + padding: EdgeInsets.all(16), + child: Text( + Constants.sIGNIN_, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + ), + ), + textColor: Color(0xffffffff), + height: 60, + minWidth: 140, + ), + ), + ], + ), + ], + ), + ), + ), + Padding( + padding: EdgeInsets.fromLTRB(0, 16, 16, 0), + child: Align( + alignment: Alignment.topRight, + child: Text( + Constants.sKIP_, + textAlign: TextAlign.start, + overflow: TextOverflow.clip, + style: TextStyle( + fontWeight: FontWeight.w400, + fontStyle: FontStyle.normal, + fontSize: 16, + color: Color(0xffffffff), + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class Welcome_g72wController with ChangeNotifier { + int? selectedIndex; + + dynamic getModel(Dao repository) { + final items = repository.getAll(); + return (selectedIndex == null || selectedIndex! >= items.length) + ? repository.create() + : items[selectedIndex!]; + } + + void _click() { + /* TODO */ + } +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..7cdfbc7 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,167 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.2" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.16.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.4" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.0" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.2" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.9" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" +sdks: + dart: ">=2.17.1 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..1ea95fe --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,39 @@ +name: food_delivery +description: A new Flutter project. +version: 1.0.0+1 +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +environment: + sdk: '>=3.2.3 <4.0.0' + +dependencies: + flutter: + sdk: flutter + cached_network_image: ^3.1.0 + cupertino_icons: ^1.0.2 + #http: ^0.13.3 + intl: ^0.19.0 + json_annotation: ^4.5.0 + provider: ^6.0.0 + shared_preferences: ^2.0.7 + uuid: ^4.2.2 + go_router: ^13.2.2 + #collection: ^1.17.0 + google_fonts: ^6.1.0 + smooth_page_indicator: ^1.2.1 + flutter_rating_bar: ^4.0.0 + lottie: ^1.1.0 + flutter_otp_text_field: ^1.0.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^3.0.1 + json_serializable: ^6.2.0 + build_runner: ^2.1.1 + +flutter: + uses-material-design: true + assets: + - assets/data.json + - assets/images/ \ No newline at end of file diff --git a/web/favicon.png b/web/favicon.png new file mode 100644 index 0000000..8aaa46a Binary files /dev/null and b/web/favicon.png differ diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png new file mode 100644 index 0000000..b749bfe Binary files /dev/null and b/web/icons/Icon-192.png differ diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png new file mode 100644 index 0000000..88cfd48 Binary files /dev/null and b/web/icons/Icon-512.png differ diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000..eb9b4d7 Binary files /dev/null and b/web/icons/Icon-maskable-192.png differ diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000..d69c566 Binary files /dev/null and b/web/icons/Icon-maskable-512.png differ diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..b17db64 --- /dev/null +++ b/web/index.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + test_app + + + + + + + + + + diff --git a/web/manifest.json b/web/manifest.json new file mode 100644 index 0000000..87578f3 --- /dev/null +++ b/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "test_app", + "short_name": "test_app", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +}