try
|
|
@ -1,51 +0,0 @@
|
||||||
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: ./
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
# 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
|
|
||||||
45
.metadata
|
|
@ -1,45 +0,0 @@
|
||||||
# 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'
|
|
||||||
11
LICENSE
|
|
@ -1,11 +0,0 @@
|
||||||
Copyright (c) 2025 hiworin.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
16
README.md
|
|
@ -1,16 +0,0 @@
|
||||||
# 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.
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
# 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
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
||||||
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"
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.example.test_app">
|
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
|
||||||
the Flutter tool needs it to communicate with the running application
|
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
|
||||||
-->
|
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
|
||||||
</manifest>
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.example.app">
|
|
||||||
<application
|
|
||||||
android:label="Food delivery"
|
|
||||||
android:name="${applicationName}"
|
|
||||||
android:icon="@mipmap/ic_launcher">
|
|
||||||
<activity
|
|
||||||
android:name=".MainActivity"
|
|
||||||
android:exported="true"
|
|
||||||
android:launchMode="singleTop"
|
|
||||||
android:theme="@style/LaunchTheme"
|
|
||||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
|
||||||
android:hardwareAccelerated="true"
|
|
||||||
android:windowSoftInputMode="adjustResize">
|
|
||||||
<!-- Specifies an Android theme to apply to this Activity as soon as
|
|
||||||
the Android process has started. This theme is visible to the user
|
|
||||||
while the Flutter UI initializes. After that, this theme continues
|
|
||||||
to determine the Window background behind the Flutter UI. -->
|
|
||||||
<meta-data
|
|
||||||
android:name="io.flutter.embedding.android.NormalTheme"
|
|
||||||
android:resource="@style/NormalTheme"
|
|
||||||
/>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
|
||||||
</intent-filter>
|
|
||||||
</activity>
|
|
||||||
<!-- Don't delete the meta-data below.
|
|
||||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
|
||||||
<meta-data
|
|
||||||
android:name="flutterEmbedding"
|
|
||||||
android:value="2" />
|
|
||||||
</application>
|
|
||||||
</manifest>
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
package com.example.test_app
|
|
||||||
|
|
||||||
import io.flutter.embedding.android.FlutterActivity
|
|
||||||
|
|
||||||
class MainActivity: FlutterActivity() {
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Modify this file to customize your launch splash screen -->
|
|
||||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<item android:drawable="?android:colorBackground" />
|
|
||||||
|
|
||||||
<!-- You can insert your own image assets here -->
|
|
||||||
<!-- <item>
|
|
||||||
<bitmap
|
|
||||||
android:gravity="center"
|
|
||||||
android:src="@mipmap/launch_image" />
|
|
||||||
</item> -->
|
|
||||||
</layer-list>
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Modify this file to customize your launch splash screen -->
|
|
||||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<item android:drawable="@android:color/white" />
|
|
||||||
|
|
||||||
<!-- You can insert your own image assets here -->
|
|
||||||
<!-- <item>
|
|
||||||
<bitmap
|
|
||||||
android:gravity="center"
|
|
||||||
android:src="@mipmap/launch_image" />
|
|
||||||
</item> -->
|
|
||||||
</layer-list>
|
|
||||||
|
Before Width: | Height: | Size: 544 B |
|
Before Width: | Height: | Size: 442 B |
|
Before Width: | Height: | Size: 721 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
|
@ -1,18 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
|
|
||||||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
|
||||||
<!-- Show a splash screen on the activity. Automatically removed when
|
|
||||||
the Flutter engine draws its first frame -->
|
|
||||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
|
||||||
</style>
|
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
|
||||||
This theme determines the color of the Android Window while your
|
|
||||||
Flutter UI initializes, as well as behind your Flutter UI while its
|
|
||||||
running.
|
|
||||||
|
|
||||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
|
||||||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
|
||||||
<item name="android:windowBackground">?android:colorBackground</item>
|
|
||||||
</style>
|
|
||||||
</resources>
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
|
|
||||||
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
|
||||||
<!-- Show a splash screen on the activity. Automatically removed when
|
|
||||||
the Flutter engine draws its first frame -->
|
|
||||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
|
||||||
</style>
|
|
||||||
<!-- Theme applied to the Android Window as soon as the process has started.
|
|
||||||
This theme determines the color of the Android Window while your
|
|
||||||
Flutter UI initializes, as well as behind your Flutter UI while its
|
|
||||||
running.
|
|
||||||
|
|
||||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
|
||||||
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
|
||||||
<item name="android:windowBackground">?android:colorBackground</item>
|
|
||||||
</style>
|
|
||||||
</resources>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.example.test_app">
|
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
|
||||||
the Flutter tool needs it to communicate with the running application
|
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
|
||||||
-->
|
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
|
||||||
</manifest>
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
org.gradle.jvmargs=-Xmx1536M
|
|
||||||
android.useAndroidX=true
|
|
||||||
android.enableJetifier=true
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
#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
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
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"
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"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}]}
|
|
||||||
26
database.sql
|
|
@ -1,26 +0,0 @@
|
||||||
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;
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
**/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
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>App</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>io.flutter.flutter.app</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>App</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>MinimumOSVersion</key>
|
|
||||||
<string>9.0</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
#include "Generated.xcconfig"
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
#include "Generated.xcconfig"
|
|
||||||
|
|
@ -1,481 +0,0 @@
|
||||||
// !$*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 = "<group>"; };
|
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
|
||||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
||||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
|
||||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
|
||||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
|
||||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
|
||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
||||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
|
||||||
97C146EB1CF9000F007C117D /* Frameworks */ = {
|
|
||||||
isa = PBXFrameworksBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXFrameworksBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
|
||||||
9740EEB11CF90186004384FC /* Flutter */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
|
|
||||||
9740EEB21CF90195004384FC /* Debug.xcconfig */,
|
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
|
|
||||||
9740EEB31CF90195004384FC /* Generated.xcconfig */,
|
|
||||||
);
|
|
||||||
name = Flutter;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
97C146E51CF9000F007C117D = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
9740EEB11CF90186004384FC /* Flutter */,
|
|
||||||
97C146F01CF9000F007C117D /* Runner */,
|
|
||||||
97C146EF1CF9000F007C117D /* Products */,
|
|
||||||
);
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
97C146EF1CF9000F007C117D /* Products */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
97C146EE1CF9000F007C117D /* Runner.app */,
|
|
||||||
);
|
|
||||||
name = Products;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
97C146F01CF9000F007C117D /* Runner */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
97C146FA1CF9000F007C117D /* Main.storyboard */,
|
|
||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */,
|
|
||||||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
|
|
||||||
97C147021CF9000F007C117D /* Info.plist */,
|
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
|
||||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
|
|
||||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
|
|
||||||
);
|
|
||||||
path = Runner;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXGroup section */
|
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
|
||||||
97C146ED1CF9000F007C117D /* Runner */ = {
|
|
||||||
isa = PBXNativeTarget;
|
|
||||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
|
||||||
buildPhases = (
|
|
||||||
9740EEB61CF901F6004384FC /* Run Script */,
|
|
||||||
97C146EA1CF9000F007C117D /* Sources */,
|
|
||||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
|
||||||
97C146EC1CF9000F007C117D /* Resources */,
|
|
||||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
|
||||||
);
|
|
||||||
buildRules = (
|
|
||||||
);
|
|
||||||
dependencies = (
|
|
||||||
);
|
|
||||||
name = Runner;
|
|
||||||
productName = Runner;
|
|
||||||
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
|
|
||||||
productType = "com.apple.product-type.application";
|
|
||||||
};
|
|
||||||
/* End PBXNativeTarget section */
|
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
|
||||||
97C146E61CF9000F007C117D /* Project object */ = {
|
|
||||||
isa = PBXProject;
|
|
||||||
attributes = {
|
|
||||||
LastUpgradeCheck = 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 = "<group>";
|
|
||||||
};
|
|
||||||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
|
|
||||||
isa = PBXVariantGroup;
|
|
||||||
children = (
|
|
||||||
97C147001CF9000F007C117D /* Base */,
|
|
||||||
);
|
|
||||||
name = LaunchScreen.storyboard;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXVariantGroup section */
|
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
|
||||||
249021D3217E4FDB00AE95B9 /* Profile */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
|
||||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_COMMA = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
||||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
||||||
COPY_PHASE_STRIP = NO;
|
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 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 */;
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "self:">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>IDEDidComputeMac32BitWarning</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>PreviewsEnabled</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "1300"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
||||||
BuildableName = "Runner.app"
|
|
||||||
BlueprintName = "Runner"
|
|
||||||
ReferencedContainer = "container:Runner.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
||||||
BuildableName = "Runner.app"
|
|
||||||
BlueprintName = "Runner"
|
|
||||||
ReferencedContainer = "container:Runner.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
<BuildableProductRunnable
|
|
||||||
runnableDebuggingMode = "0">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
||||||
BuildableName = "Runner.app"
|
|
||||||
BlueprintName = "Runner"
|
|
||||||
ReferencedContainer = "container:Runner.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildableProductRunnable>
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Profile"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
<BuildableProductRunnable
|
|
||||||
runnableDebuggingMode = "0">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
|
|
||||||
BuildableName = "Runner.app"
|
|
||||||
BlueprintName = "Runner"
|
|
||||||
ReferencedContainer = "container:Runner.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildableProductRunnable>
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "group:Runner.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>IDEDidComputeMac32BitWarning</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>PreviewsEnabled</key>
|
|
||||||
<false/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,122 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 564 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.5 KiB |
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 68 B |
|
Before Width: | Height: | Size: 68 B |
|
Before Width: | Height: | Size: 68 B |
|
|
@ -1,5 +0,0 @@
|
||||||
# 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.
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
|
||||||
<dependencies>
|
|
||||||
<deployment identifier="iOS"/>
|
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
|
|
||||||
</dependencies>
|
|
||||||
<scenes>
|
|
||||||
<!--View Controller-->
|
|
||||||
<scene sceneID="EHf-IW-A2E">
|
|
||||||
<objects>
|
|
||||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
|
||||||
<layoutGuides>
|
|
||||||
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
|
|
||||||
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
|
|
||||||
</layoutGuides>
|
|
||||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
||||||
<subviews>
|
|
||||||
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
|
|
||||||
</imageView>
|
|
||||||
</subviews>
|
|
||||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
|
|
||||||
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
|
|
||||||
</constraints>
|
|
||||||
</view>
|
|
||||||
</viewController>
|
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
||||||
</objects>
|
|
||||||
<point key="canvasLocation" x="53" y="375"/>
|
|
||||||
</scene>
|
|
||||||
</scenes>
|
|
||||||
<resources>
|
|
||||||
<image name="LaunchImage" width="168" height="185"/>
|
|
||||||
</resources>
|
|
||||||
</document>
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
|
|
||||||
<dependencies>
|
|
||||||
<deployment identifier="iOS"/>
|
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
|
||||||
</dependencies>
|
|
||||||
<scenes>
|
|
||||||
<!--Flutter View Controller-->
|
|
||||||
<scene sceneID="tne-QT-ifu">
|
|
||||||
<objects>
|
|
||||||
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
|
|
||||||
<layoutGuides>
|
|
||||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
|
||||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
|
||||||
</layoutGuides>
|
|
||||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
|
||||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
||||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
|
||||||
</view>
|
|
||||||
</viewController>
|
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
|
||||||
</objects>
|
|
||||||
</scene>
|
|
||||||
</scenes>
|
|
||||||
</document>
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
||||||
<key>CFBundleDisplayName</key>
|
|
||||||
<string>Food delivery</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>food_delivery</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>APPL</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>$(FLUTTER_BUILD_NAME)</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
|
||||||
<key>LSRequiresIPhoneOS</key>
|
|
||||||
<true/>
|
|
||||||
<key>UILaunchStoryboardName</key>
|
|
||||||
<string>LaunchScreen</string>
|
|
||||||
<key>UIMainStoryboardFile</key>
|
|
||||||
<string>Main</string>
|
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
|
||||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
|
||||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
||||||
<false/>
|
|
||||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
#import "GeneratedPluginRegistrant.h"
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'src/app.dart';
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
runApp(MyApp());
|
|
||||||
}
|
|
||||||
250
lib/src/app.dart
|
|
@ -1,250 +0,0 @@
|
||||||
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<void> loadData() async {
|
|
||||||
await fillWithMockData();
|
|
||||||
}
|
|
||||||
|
|
||||||
void back() {
|
|
||||||
Navigator.maybePop(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
final sampleDao = SampleDao();
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
export 'sample.dart';
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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<String, dynamic> json) => _$SampleFromJson(json);
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() => _$SampleToJson(this);
|
|
||||||
|
|
||||||
@override
|
|
||||||
operator ==(Object other) => other is Sample && other.id == id;
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode => id.hashCode;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() {
|
|
||||||
return '<Sample id=$id>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
export 'sample_dao.dart';
|
|
||||||
|
|
||||||
abstract class Dao<T> {
|
|
||||||
Future<T?> delete(String id);
|
|
||||||
|
|
||||||
Future<bool> deleteAll();
|
|
||||||
|
|
||||||
T? get(String id);
|
|
||||||
|
|
||||||
List<T> getAll();
|
|
||||||
|
|
||||||
T create();
|
|
||||||
|
|
||||||
Future<T> insert(T item);
|
|
||||||
|
|
||||||
Future<List<T>> fetchAll();
|
|
||||||
|
|
||||||
Future<T?> fetch(String id);
|
|
||||||
|
|
||||||
Future<T> update(T item, String id);
|
|
||||||
|
|
||||||
Future<T> upsert(T item);
|
|
||||||
|
|
||||||
Stream<List<T>> subscribe();
|
|
||||||
}
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
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<Sample> {
|
|
||||||
static SampleDao? _instance;
|
|
||||||
|
|
||||||
// singleton instance
|
|
||||||
factory SampleDao() => _instance ??= SampleDao._internal();
|
|
||||||
|
|
||||||
SampleDao._internal() {
|
|
||||||
// initialization logic here
|
|
||||||
}
|
|
||||||
|
|
||||||
final Map<String, Sample> _storage = {};
|
|
||||||
final StreamController<List<Sample>> _streamController =
|
|
||||||
StreamController<List<Sample>>.broadcast();
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<Sample?> delete(String id) async {
|
|
||||||
var removed = _storage.remove(id);
|
|
||||||
_emit();
|
|
||||||
return removed;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<bool> deleteAll() async {
|
|
||||||
_storage.clear();
|
|
||||||
_emit();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Sample? get(String id) {
|
|
||||||
return _storage[id];
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
List<Sample> getAll() {
|
|
||||||
return _storage.values.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Sample create() {
|
|
||||||
return Sample();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<Sample> 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<List<Sample>> fetchAll() async {
|
|
||||||
return _storage.values.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<Sample?> fetch(String id) async {
|
|
||||||
return _storage[id];
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<Sample> update(Sample item, String id) async {
|
|
||||||
_storage[id] = item;
|
|
||||||
_emit();
|
|
||||||
return item..id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Future<Sample> upsert(Sample item) async {
|
|
||||||
return (item.id == null) ? insert(item) : update(item, item.id!);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Stream<List<Sample>> subscribe() => _streamController.stream;
|
|
||||||
|
|
||||||
void _emit() {
|
|
||||||
_streamController.add(_storage.values.toList());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,152 +0,0 @@
|
||||||
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<AboutUsView> createState() => _AboutUsViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _AboutUsViewState extends State<AboutUsView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<AboutUsController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,466 +0,0 @@
|
||||||
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<AudioArticle_60rnView> createState() => _AudioArticle_60rnViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _AudioArticle_60rnViewState extends State<AudioArticle_60rnView> {
|
|
||||||
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<AudioArticle_60rnController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,184 +0,0 @@
|
||||||
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<Bookmark_2rubView> createState() => _Bookmark_2rubViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Bookmark_2rubViewState extends State<Bookmark_2rubView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Bookmark_2rubController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
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<Category_e0b3View> createState() => _Category_e0b3ViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Category_e0b3ViewState extends State<Category_e0b3View> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Category_e0b3Controller>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,326 +0,0 @@
|
||||||
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<ChangePassword_5ugnView> createState() =>
|
|
||||||
_ChangePassword_5ugnViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ChangePassword_5ugnViewState extends State<ChangePassword_5ugnView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<ChangePassword_5ugnController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,716 +0,0 @@
|
||||||
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<Chat_n9xmView> createState() => _Chat_n9xmViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Chat_n9xmViewState extends State<Chat_n9xmView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Chat_n9xmController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,312 +0,0 @@
|
||||||
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<ContactUs_inknView> createState() => _ContactUs_inknViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ContactUs_inknViewState extends State<ContactUs_inknView> {
|
|
||||||
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<ContactUs_inknController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,626 +0,0 @@
|
||||||
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<Dashboard_jvxmView> createState() => _Dashboard_jvxmViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Dashboard_jvxmViewState extends State<Dashboard_jvxmView> {
|
|
||||||
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<Dashboard_jvxmController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,147 +0,0 @@
|
||||||
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<DataNotFound_f1qfView> createState() => _DataNotFound_f1qfViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _DataNotFound_f1qfViewState extends State<DataNotFound_f1qfView> {
|
|
||||||
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<DataNotFound_f1qfController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,216 +0,0 @@
|
||||||
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<Detail_dm5hView> createState() => _Detail_dm5hViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Detail_dm5hViewState extends State<Detail_dm5hView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Detail_dm5hController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,496 +0,0 @@
|
||||||
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<Discover_au68View> createState() => _Discover_au68ViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Discover_au68ViewState extends State<Discover_au68View> {
|
|
||||||
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<Discover_au68Controller>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,118 +0,0 @@
|
||||||
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<EmptyPinNotes_1l1vView> createState() => _EmptyPinNotes_1l1vViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _EmptyPinNotes_1l1vViewState extends State<EmptyPinNotes_1l1vView> {
|
|
||||||
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<EmptyPinNotes_1l1vController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,517 +0,0 @@
|
||||||
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<Following_s3l5View> createState() => _Following_s3l5ViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Following_s3l5ViewState extends State<Following_s3l5View> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Following_s3l5Controller>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,262 +0,0 @@
|
||||||
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<ForgotPassword_xt11View> createState() =>
|
|
||||||
_ForgotPassword_xt11ViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ForgotPassword_xt11ViewState extends State<ForgotPassword_xt11View> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<ForgotPassword_xt11Controller>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,579 +0,0 @@
|
||||||
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<Grid_kcdzView> createState() => _Grid_kcdzViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Grid_kcdzViewState extends State<Grid_kcdzView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Grid_kcdzController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,576 +0,0 @@
|
||||||
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<Home_cigxView> createState() => _Home_cigxViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Home_cigxViewState extends State<Home_cigxView> {
|
|
||||||
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<Home_cigxController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,251 +0,0 @@
|
||||||
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<Labels_sxueView> createState() => _Labels_sxueViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Labels_sxueViewState extends State<Labels_sxueView> {
|
|
||||||
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<Labels_sxueController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,213 +0,0 @@
|
||||||
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<List_1ealView> createState() => _List_1ealViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _List_1ealViewState extends State<List_1ealView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<List_1ealController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,319 +0,0 @@
|
||||||
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<Login_qayvView> createState() => _Login_qayvViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Login_qayvViewState extends State<Login_qayvView> {
|
|
||||||
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<Login_qayvController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,153 +0,0 @@
|
||||||
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<Membership_z9zeView> createState() => _Membership_z9zeViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _Membership_z9zeViewState extends State<Membership_z9zeView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<Membership_z9zeController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,109 +0,0 @@
|
||||||
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<MyAccount_tyvzView> createState() => _MyAccount_tyvzViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _MyAccount_tyvzViewState extends State<MyAccount_tyvzView> {
|
|
||||||
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<MyAccount_tyvzController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,121 +0,0 @@
|
||||||
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<NewsDetails_t6nwView> createState() => _NewsDetails_t6nwViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _NewsDetails_t6nwViewState extends State<NewsDetails_t6nwView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<NewsDetails_t6nwController>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,133 +0,0 @@
|
||||||
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<NoDataFound_shk8View> createState() => _NoDataFound_shk8ViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _NoDataFound_shk8ViewState extends State<NoDataFound_shk8View> {
|
|
||||||
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<NoDataFound_shk8Controller>(
|
|
||||||
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 */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,157 +0,0 @@
|
||||||
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<NotificationSetting_bycdView> createState() =>
|
|
||||||
_NotificationSetting_bycdViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _NotificationSetting_bycdViewState
|
|
||||||
extends State<NotificationSetting_bycdView> {
|
|
||||||
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<AppController>();
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => _view,
|
|
||||||
child: Consumer<NotificationSetting_bycdController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,270 +0,0 @@
|
||||||
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<PinNoteList_qn8aView> createState() => _PinNoteList_qn8aViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _PinNoteList_qn8aViewState extends State<PinNoteList_qn8aView> {
|
|
||||||
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<PinNoteList_qn8aController>(
|
|
||||||
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!];
|
|
||||||
}
|
|
||||||
}
|
|
||||||