mohsen zamani
2 years ago
90 changed files with 2080 additions and 301 deletions
-
3assets/images/svg/next_level.svg
-
3assets/images/svg/sad.svg
-
30data/data_core/local_db/local_db_core/.gitignore
-
10data/data_core/local_db/local_db_core/.metadata
-
3data/data_core/local_db/local_db_core/CHANGELOG.md
-
1data/data_core/local_db/local_db_core/LICENSE
-
39data/data_core/local_db/local_db_core/README.md
-
4data/data_core/local_db/local_db_core/analysis_options.yaml
-
25data/data_core/local_db/local_db_core/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
-
2data/data_core/local_db/local_db_core/android/local.properties
-
14data/data_core/local_db/local_db_core/ios/Flutter/Generated.xcconfig
-
13data/data_core/local_db/local_db_core/ios/Flutter/flutter_export_environment.sh
-
19data/data_core/local_db/local_db_core/ios/Runner/GeneratedPluginRegistrant.h
-
21data/data_core/local_db/local_db_core/ios/Runner/GeneratedPluginRegistrant.m
-
75data/data_core/local_db/local_db_core/lib/boxes/box_list/level_box/level_box.dart
-
8data/data_core/local_db/local_db_core/lib/boxes/box_list/level_box/level_box_keys.dart
-
7data/data_core/local_db/local_db_core/lib/boxes/interfaces/base_box_interface.dart
-
1data/data_core/local_db/local_db_core/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
-
11data/data_core/local_db/local_db_core/linux/flutter/generated_plugin_registrant.cc
-
15data/data_core/local_db/local_db_core/linux/flutter/generated_plugin_registrant.h
-
23data/data_core/local_db/local_db_core/linux/flutter/generated_plugins.cmake
-
12data/data_core/local_db/local_db_core/macos/Flutter/GeneratedPluginRegistrant.swift
-
11data/data_core/local_db/local_db_core/macos/Flutter/ephemeral/Flutter-Generated.xcconfig
-
12data/data_core/local_db/local_db_core/macos/Flutter/ephemeral/flutter_export_environment.sh
-
23data/data_core/local_db/local_db_core/pubspec.yaml
-
11data/data_core/local_db/local_db_core/windows/flutter/generated_plugin_registrant.cc
-
15data/data_core/local_db/local_db_core/windows/flutter/generated_plugin_registrant.h
-
23data/data_core/local_db/local_db_core/windows/flutter/generated_plugins.cmake
-
30data/data_types/types/.gitignore
-
10data/data_types/types/.metadata
-
3data/data_types/types/CHANGELOG.md
-
1data/data_types/types/LICENSE
-
39data/data_types/types/README.md
-
4data/data_types/types/analysis_options.yaml
-
25data/data_types/types/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
-
2data/data_types/types/android/local.properties
-
14data/data_types/types/ios/Flutter/Generated.xcconfig
-
13data/data_types/types/ios/Flutter/flutter_export_environment.sh
-
19data/data_types/types/ios/Runner/GeneratedPluginRegistrant.h
-
21data/data_types/types/ios/Runner/GeneratedPluginRegistrant.m
-
83data/data_types/types/lib/level_data/interface/level_box_repository_impl.dart
-
1data/data_types/types/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
-
11data/data_types/types/linux/flutter/generated_plugin_registrant.cc
-
15data/data_types/types/linux/flutter/generated_plugin_registrant.h
-
23data/data_types/types/linux/flutter/generated_plugins.cmake
-
12data/data_types/types/macos/Flutter/GeneratedPluginRegistrant.swift
-
11data/data_types/types/macos/Flutter/ephemeral/Flutter-Generated.xcconfig
-
12data/data_types/types/macos/Flutter/ephemeral/flutter_export_environment.sh
-
22data/data_types/types/pubspec.yaml
-
11data/data_types/types/windows/flutter/generated_plugin_registrant.cc
-
15data/data_types/types/windows/flutter/generated_plugin_registrant.h
-
23data/data_types/types/windows/flutter/generated_plugins.cmake
-
30domain/repositories/.gitignore
-
10domain/repositories/.metadata
-
3domain/repositories/CHANGELOG.md
-
1domain/repositories/LICENSE
-
39domain/repositories/README.md
-
4domain/repositories/analysis_options.yaml
-
25domain/repositories/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
-
19domain/repositories/ios/Runner/GeneratedPluginRegistrant.h
-
21domain/repositories/ios/Runner/GeneratedPluginRegistrant.m
-
49domain/repositories/lib/level_box_domain/adapter/level_model_adapter.dart
-
37domain/repositories/lib/level_box_domain/model/level_model.dart
-
11domain/repositories/lib/level_box_domain/repository/level_box_repository.dart
-
11domain/repositories/linux/flutter/generated_plugin_registrant.cc
-
15domain/repositories/linux/flutter/generated_plugin_registrant.h
-
23domain/repositories/linux/flutter/generated_plugins.cmake
-
12domain/repositories/macos/Flutter/GeneratedPluginRegistrant.swift
-
11domain/repositories/macos/Flutter/ephemeral/Flutter-Generated.xcconfig
-
12domain/repositories/macos/Flutter/ephemeral/flutter_export_environment.sh
-
18domain/repositories/pubspec.yaml
-
11domain/repositories/windows/flutter/generated_plugin_registrant.cc
-
15domain/repositories/windows/flutter/generated_plugin_registrant.h
-
23domain/repositories/windows/flutter/generated_plugins.cmake
-
25lib/initializer.dart
-
22lib/main.dart
-
31lib/screens/level_list/cubit/level_list_cubit.dart
-
176lib/screens/level_list/screen/level_list_screen.dart
-
4lib/screens/level_list/widgets/level_widget.dart
-
4lib/screens/level_list/widgets/lock_level_widget.dart
-
11lib/screens/level_list/widgets/payed_level_widget.dart
-
221lib/screens/lose/lose_screen.dart
-
278lib/screens/photo/photo_screen_large.dart
-
7lib/screens/splash/screen/splash_screen.dart
-
235lib/screens/win/win_screen.dart
-
2lib/utils/toast.dart
-
60lib/widgets/solo_screen/moves_tiles_widget.dart
-
6lib/widgets/solo_screen/moves_tiles_widget/moves_tiles_text.dart
-
39pubspec.lock
-
6pubspec.yaml
@ -0,0 +1,3 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" width="12.028" height="11.723" viewBox="0 0 12.028 11.723"> |
|||
<path id="Icon_awesome-arrow-right" data-name="Icon awesome-arrow-right" d="M5.114,3.432l.6-.6a.642.642,0,0,1,.91,0l5.219,5.216a.642.642,0,0,1,0,.91L6.62,14.181a.642.642,0,0,1-.91,0l-.6-.6a.645.645,0,0,1,.011-.921L8.36,9.583H.644A.643.643,0,0,1,0,8.938V8.079a.643.643,0,0,1,.644-.644H8.36L5.125,4.353A.64.64,0,0,1,5.114,3.432Z" transform="translate(0 -2.647)" fill="#ff9c00"/> |
|||
</svg> |
@ -0,0 +1,3 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" width="29.25" height="29.25" viewBox="0 0 29.25 29.25"> |
|||
<path id="Icon_ionic-ios-sad" data-name="Icon ionic-ios-sad" d="M18,3.375A14.625,14.625,0,1,0,32.625,18,14.623,14.623,0,0,0,18,3.375ZM12.8,14.07a1.69,1.69,0,1,1-1.547,1.547A1.691,1.691,0,0,1,12.8,14.07Zm-.049,10.68a1.127,1.127,0,0,1-1.034-1.575,6.844,6.844,0,0,1,12.558,0,1.124,1.124,0,0,1-1.034,1.575,50.671,50.671,0,0,0-5.14-.281C15.4,24.469,12.755,24.75,12.755,24.75ZM23.2,17.43a1.69,1.69,0,1,1,1.547-1.547A1.691,1.691,0,0,1,23.2,17.43Z" transform="translate(-3.375 -3.375)" fill="#fff"/> |
|||
</svg> |
@ -0,0 +1,30 @@ |
|||
# 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 |
|||
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. |
|||
/pubspec.lock |
|||
**/doc/api/ |
|||
.dart_tool/ |
|||
.packages |
|||
build/ |
@ -0,0 +1,10 @@ |
|||
# 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 and should not be manually edited. |
|||
|
|||
version: |
|||
revision: b4bce91dd0f168179d46a7ae5eceb3572ba9637a |
|||
channel: stable |
|||
|
|||
project_type: package |
@ -0,0 +1,3 @@ |
|||
## 0.0.1 |
|||
|
|||
* TODO: Describe initial release. |
@ -0,0 +1 @@ |
|||
TODO: Add your license here. |
@ -0,0 +1,39 @@ |
|||
<!-- |
|||
This README describes the package. If you publish this package to pub.dev, |
|||
this README's contents appear on the landing page for your package. |
|||
|
|||
For information about how to write a good package README, see the guide for |
|||
[writing package pages](https://dart.dev/guides/libraries/writing-package-pages). |
|||
|
|||
For general information about developing packages, see the Dart guide for |
|||
[creating packages](https://dart.dev/guides/libraries/create-library-packages) |
|||
and the Flutter guide for |
|||
[developing packages and plugins](https://flutter.dev/developing-packages). |
|||
--> |
|||
|
|||
TODO: Put a short description of the package here that helps potential users |
|||
know whether this package might be useful for them. |
|||
|
|||
## Features |
|||
|
|||
TODO: List what your package can do. Maybe include images, gifs, or videos. |
|||
|
|||
## Getting started |
|||
|
|||
TODO: List prerequisites and provide or point to information on how to |
|||
start using the package. |
|||
|
|||
## Usage |
|||
|
|||
TODO: Include short and useful examples for package users. Add longer examples |
|||
to `/example` folder. |
|||
|
|||
```dart |
|||
const like = 'sample'; |
|||
``` |
|||
|
|||
## Additional information |
|||
|
|||
TODO: Tell users more about the package: where to find more information, how to |
|||
contribute to the package, how to file issues, what response they can expect |
|||
from the package authors, and more. |
@ -0,0 +1,4 @@ |
|||
include: package:flutter_lints/flutter.yaml |
|||
|
|||
# Additional information about this file can be found at |
|||
# https://dart.dev/guides/language/analysis-options |
@ -0,0 +1,25 @@ |
|||
package io.flutter.plugins; |
|||
|
|||
import io.flutter.plugin.common.PluginRegistry; |
|||
import io.flutter.plugins.pathprovider.PathProviderPlugin; |
|||
|
|||
/** |
|||
* Generated file. Do not edit. |
|||
*/ |
|||
public final class GeneratedPluginRegistrant { |
|||
public static void registerWith(PluginRegistry registry) { |
|||
if (alreadyRegisteredWith(registry)) { |
|||
return; |
|||
} |
|||
PathProviderPlugin.registerWith(registry.registrarFor("io.flutter.plugins.pathprovider.PathProviderPlugin")); |
|||
} |
|||
|
|||
private static boolean alreadyRegisteredWith(PluginRegistry registry) { |
|||
final String key = GeneratedPluginRegistrant.class.getCanonicalName(); |
|||
if (registry.hasPlugin(key)) { |
|||
return true; |
|||
} |
|||
registry.registrarFor(key); |
|||
return false; |
|||
} |
|||
} |
@ -0,0 +1,2 @@ |
|||
sdk.dir=C:\\Work\\Tools\\Sdk |
|||
flutter.sdk=C:\\Work\\Tools\\flutter |
@ -0,0 +1,14 @@ |
|||
// This is a generated file; do not edit or check into version control. |
|||
FLUTTER_ROOT=C:\Work\Tools\flutter |
|||
FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_core\local_db\local_db_core |
|||
COCOAPODS_PARALLEL_CODE_SIGN=true |
|||
FLUTTER_TARGET=lib\main.dart |
|||
FLUTTER_BUILD_DIR=build |
|||
FLUTTER_BUILD_NAME=1.0.0 |
|||
FLUTTER_BUILD_NUMBER=1 |
|||
EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386 |
|||
EXCLUDED_ARCHS[sdk=iphoneos*]=armv7 |
|||
DART_OBFUSCATION=false |
|||
TRACK_WIDGET_CREATION=true |
|||
TREE_SHAKE_ICONS=false |
|||
PACKAGE_CONFIG=.dart_tool/package_config.json |
@ -0,0 +1,13 @@ |
|||
#!/bin/sh |
|||
# This is a generated file; do not edit or check into version control. |
|||
export "FLUTTER_ROOT=C:\Work\Tools\flutter" |
|||
export "FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_core\local_db\local_db_core" |
|||
export "COCOAPODS_PARALLEL_CODE_SIGN=true" |
|||
export "FLUTTER_TARGET=lib\main.dart" |
|||
export "FLUTTER_BUILD_DIR=build" |
|||
export "FLUTTER_BUILD_NAME=1.0.0" |
|||
export "FLUTTER_BUILD_NUMBER=1" |
|||
export "DART_OBFUSCATION=false" |
|||
export "TRACK_WIDGET_CREATION=true" |
|||
export "TREE_SHAKE_ICONS=false" |
|||
export "PACKAGE_CONFIG=.dart_tool/package_config.json" |
@ -0,0 +1,19 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GeneratedPluginRegistrant_h |
|||
#define GeneratedPluginRegistrant_h |
|||
|
|||
#import <Flutter/Flutter.h> |
|||
|
|||
NS_ASSUME_NONNULL_BEGIN |
|||
|
|||
@interface GeneratedPluginRegistrant : NSObject |
|||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry; |
|||
@end |
|||
|
|||
NS_ASSUME_NONNULL_END |
|||
#endif /* GeneratedPluginRegistrant_h */ |
@ -0,0 +1,21 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#import "GeneratedPluginRegistrant.h" |
|||
|
|||
#if __has_include(<path_provider_foundation/PathProviderPlugin.h>) |
|||
#import <path_provider_foundation/PathProviderPlugin.h> |
|||
#else |
|||
@import path_provider_foundation; |
|||
#endif |
|||
|
|||
@implementation GeneratedPluginRegistrant |
|||
|
|||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry { |
|||
[PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]]; |
|||
} |
|||
|
|||
@end |
@ -0,0 +1,75 @@ |
|||
import 'package:hive/hive.dart'; |
|||
import 'package:local_db_core/boxes/box_list/level_box/level_box_keys.dart'; |
|||
import 'package:local_db_core/boxes/interfaces/base_box_interface.dart'; |
|||
import 'package:repositories/level_box_domain/model/level_model.dart'; |
|||
|
|||
class LevelBox implements BaseBoxInterface<LevelBoxKeys> { |
|||
Box? _box; |
|||
|
|||
LevelBox.privateConstructor(); |
|||
|
|||
static final LevelBox instance = LevelBox.privateConstructor(); |
|||
|
|||
factory LevelBox() { |
|||
return instance; |
|||
} |
|||
|
|||
@override |
|||
String getBoxName() { |
|||
return "level"; |
|||
} |
|||
|
|||
@override |
|||
String getKeyName(LevelBoxKeys key) { |
|||
return key.value; |
|||
} |
|||
|
|||
@override |
|||
Future<void> openBox() async { |
|||
_box = await Hive.openBox(getBoxName()); |
|||
} |
|||
|
|||
void updateData({required Level level}) async { |
|||
if (!Hive.isBoxOpen(getBoxName())) { |
|||
await openBox(); |
|||
} |
|||
List<Level> list = await getData(); |
|||
int index = list.indexWhere((element) => element.level == level.level); |
|||
if (index != -1) { |
|||
list[index] = level; |
|||
await saveData(list); |
|||
} |
|||
} |
|||
|
|||
Future<void> setCurrentLevel(int level) async { |
|||
if (!Hive.isBoxOpen(getBoxName())) { |
|||
await openBox(); |
|||
} |
|||
_box?.put(getKeyName(LevelBoxKeys.currentLevel), level); |
|||
} |
|||
|
|||
Future<int> getLevel() async { |
|||
if (!Hive.isBoxOpen(getBoxName())) { |
|||
await openBox(); |
|||
} |
|||
int level = _box?.get(getKeyName(LevelBoxKeys.currentLevel), defaultValue: 1) ?? 1; |
|||
return level; |
|||
} |
|||
|
|||
Future<List<Level>> getData() async { |
|||
if (!Hive.isBoxOpen(getBoxName())) { |
|||
await openBox(); |
|||
} |
|||
return _box?.values.cast<Level>().toList() ?? []; |
|||
} |
|||
|
|||
Future<void> saveData(List<Level> data) async { |
|||
if (!Hive.isBoxOpen(getBoxName())) { |
|||
await openBox(); |
|||
} |
|||
_box?.addAll(data); |
|||
for (var value in data) { |
|||
await value.save(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,8 @@ |
|||
enum LevelBoxKeys { |
|||
levelList('levelList'), |
|||
currentLevel('currentLevel'); |
|||
|
|||
final String value; |
|||
|
|||
const LevelBoxKeys(this.value); |
|||
} |
@ -0,0 +1,7 @@ |
|||
abstract class BaseBoxInterface<T> { |
|||
String getBoxName(); |
|||
|
|||
String getKeyName(T key); |
|||
|
|||
Future<void> openBox(); |
|||
} |
@ -0,0 +1 @@ |
|||
C:/Users/user1/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.1.10/ |
@ -0,0 +1,11 @@ |
|||
//
|
|||
// Generated file. Do not edit.
|
|||
//
|
|||
|
|||
// clang-format off
|
|||
|
|||
#include "generated_plugin_registrant.h"
|
|||
|
|||
|
|||
void fl_register_plugins(FlPluginRegistry* registry) { |
|||
} |
@ -0,0 +1,15 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GENERATED_PLUGIN_REGISTRANT_ |
|||
#define GENERATED_PLUGIN_REGISTRANT_ |
|||
|
|||
#include <flutter_linux/flutter_linux.h> |
|||
|
|||
// Registers Flutter plugins. |
|||
void fl_register_plugins(FlPluginRegistry* registry); |
|||
|
|||
#endif // GENERATED_PLUGIN_REGISTRANT_ |
@ -0,0 +1,23 @@ |
|||
# |
|||
# Generated file, do not edit. |
|||
# |
|||
|
|||
list(APPEND FLUTTER_PLUGIN_LIST |
|||
) |
|||
|
|||
list(APPEND FLUTTER_FFI_PLUGIN_LIST |
|||
) |
|||
|
|||
set(PLUGIN_BUNDLED_LIBRARIES) |
|||
|
|||
foreach(plugin ${FLUTTER_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) |
|||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) |
|||
endforeach(plugin) |
|||
|
|||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) |
|||
endforeach(ffi_plugin) |
@ -0,0 +1,12 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
import FlutterMacOS |
|||
import Foundation |
|||
|
|||
import path_provider_foundation |
|||
|
|||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { |
|||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) |
|||
} |
@ -0,0 +1,11 @@ |
|||
// This is a generated file; do not edit or check into version control. |
|||
FLUTTER_ROOT=C:\Work\Tools\flutter |
|||
FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_core\local_db\local_db_core |
|||
COCOAPODS_PARALLEL_CODE_SIGN=true |
|||
FLUTTER_BUILD_DIR=build |
|||
FLUTTER_BUILD_NAME=0.0.1 |
|||
FLUTTER_BUILD_NUMBER=0.0.1 |
|||
DART_OBFUSCATION=false |
|||
TRACK_WIDGET_CREATION=true |
|||
TREE_SHAKE_ICONS=false |
|||
PACKAGE_CONFIG=.dart_tool/package_config.json |
@ -0,0 +1,12 @@ |
|||
#!/bin/sh |
|||
# This is a generated file; do not edit or check into version control. |
|||
export "FLUTTER_ROOT=C:\Work\Tools\flutter" |
|||
export "FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_core\local_db\local_db_core" |
|||
export "COCOAPODS_PARALLEL_CODE_SIGN=true" |
|||
export "FLUTTER_BUILD_DIR=build" |
|||
export "FLUTTER_BUILD_NAME=0.0.1" |
|||
export "FLUTTER_BUILD_NUMBER=0.0.1" |
|||
export "DART_OBFUSCATION=false" |
|||
export "TRACK_WIDGET_CREATION=true" |
|||
export "TREE_SHAKE_ICONS=false" |
|||
export "PACKAGE_CONFIG=.dart_tool/package_config.json" |
@ -0,0 +1,23 @@ |
|||
name: local_db_core |
|||
description: A new Flutter project. |
|||
version: 1.0.0+1 |
|||
publish_to: 'none' |
|||
|
|||
environment: |
|||
sdk: ">=2.17.6 <3.0.0" |
|||
dependencies: |
|||
flutter: |
|||
sdk: flutter |
|||
cupertino_icons: ^1.0.2 |
|||
hive: ^2.0.5 |
|||
hive_flutter: ^1.1.0 |
|||
path_provider: ^2.0.11 |
|||
repositories: |
|||
path : ../../../../domain/repositories |
|||
|
|||
dev_dependencies: |
|||
flutter_test: |
|||
sdk: flutter |
|||
flutter_lints: ^2.0.0 |
|||
flutter: |
|||
uses-material-design: true |
@ -0,0 +1,11 @@ |
|||
//
|
|||
// Generated file. Do not edit.
|
|||
//
|
|||
|
|||
// clang-format off
|
|||
|
|||
#include "generated_plugin_registrant.h"
|
|||
|
|||
|
|||
void RegisterPlugins(flutter::PluginRegistry* registry) { |
|||
} |
@ -0,0 +1,15 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GENERATED_PLUGIN_REGISTRANT_ |
|||
#define GENERATED_PLUGIN_REGISTRANT_ |
|||
|
|||
#include <flutter/plugin_registry.h> |
|||
|
|||
// Registers Flutter plugins. |
|||
void RegisterPlugins(flutter::PluginRegistry* registry); |
|||
|
|||
#endif // GENERATED_PLUGIN_REGISTRANT_ |
@ -0,0 +1,23 @@ |
|||
# |
|||
# Generated file, do not edit. |
|||
# |
|||
|
|||
list(APPEND FLUTTER_PLUGIN_LIST |
|||
) |
|||
|
|||
list(APPEND FLUTTER_FFI_PLUGIN_LIST |
|||
) |
|||
|
|||
set(PLUGIN_BUNDLED_LIBRARIES) |
|||
|
|||
foreach(plugin ${FLUTTER_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) |
|||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) |
|||
endforeach(plugin) |
|||
|
|||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) |
|||
endforeach(ffi_plugin) |
@ -0,0 +1,30 @@ |
|||
# 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 |
|||
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. |
|||
/pubspec.lock |
|||
**/doc/api/ |
|||
.dart_tool/ |
|||
.packages |
|||
build/ |
@ -0,0 +1,10 @@ |
|||
# 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 and should not be manually edited. |
|||
|
|||
version: |
|||
revision: b4bce91dd0f168179d46a7ae5eceb3572ba9637a |
|||
channel: stable |
|||
|
|||
project_type: package |
@ -0,0 +1,3 @@ |
|||
## 0.0.1 |
|||
|
|||
* TODO: Describe initial release. |
@ -0,0 +1 @@ |
|||
TODO: Add your license here. |
@ -0,0 +1,39 @@ |
|||
<!-- |
|||
This README describes the package. If you publish this package to pub.dev, |
|||
this README's contents appear on the landing page for your package. |
|||
|
|||
For information about how to write a good package README, see the guide for |
|||
[writing package pages](https://dart.dev/guides/libraries/writing-package-pages). |
|||
|
|||
For general information about developing packages, see the Dart guide for |
|||
[creating packages](https://dart.dev/guides/libraries/create-library-packages) |
|||
and the Flutter guide for |
|||
[developing packages and plugins](https://flutter.dev/developing-packages). |
|||
--> |
|||
|
|||
TODO: Put a short description of the package here that helps potential users |
|||
know whether this package might be useful for them. |
|||
|
|||
## Features |
|||
|
|||
TODO: List what your package can do. Maybe include images, gifs, or videos. |
|||
|
|||
## Getting started |
|||
|
|||
TODO: List prerequisites and provide or point to information on how to |
|||
start using the package. |
|||
|
|||
## Usage |
|||
|
|||
TODO: Include short and useful examples for package users. Add longer examples |
|||
to `/example` folder. |
|||
|
|||
```dart |
|||
const like = 'sample'; |
|||
``` |
|||
|
|||
## Additional information |
|||
|
|||
TODO: Tell users more about the package: where to find more information, how to |
|||
contribute to the package, how to file issues, what response they can expect |
|||
from the package authors, and more. |
@ -0,0 +1,4 @@ |
|||
include: package:flutter_lints/flutter.yaml |
|||
|
|||
# Additional information about this file can be found at |
|||
# https://dart.dev/guides/language/analysis-options |
@ -0,0 +1,25 @@ |
|||
package io.flutter.plugins; |
|||
|
|||
import io.flutter.plugin.common.PluginRegistry; |
|||
import io.flutter.plugins.pathprovider.PathProviderPlugin; |
|||
|
|||
/** |
|||
* Generated file. Do not edit. |
|||
*/ |
|||
public final class GeneratedPluginRegistrant { |
|||
public static void registerWith(PluginRegistry registry) { |
|||
if (alreadyRegisteredWith(registry)) { |
|||
return; |
|||
} |
|||
PathProviderPlugin.registerWith(registry.registrarFor("io.flutter.plugins.pathprovider.PathProviderPlugin")); |
|||
} |
|||
|
|||
private static boolean alreadyRegisteredWith(PluginRegistry registry) { |
|||
final String key = GeneratedPluginRegistrant.class.getCanonicalName(); |
|||
if (registry.hasPlugin(key)) { |
|||
return true; |
|||
} |
|||
registry.registrarFor(key); |
|||
return false; |
|||
} |
|||
} |
@ -0,0 +1,2 @@ |
|||
sdk.dir=C:\\Work\\Tools\\Sdk |
|||
flutter.sdk=C:\\Work\\Tools\\flutter |
@ -0,0 +1,14 @@ |
|||
// This is a generated file; do not edit or check into version control. |
|||
FLUTTER_ROOT=C:\Work\Tools\flutter |
|||
FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_types\types |
|||
COCOAPODS_PARALLEL_CODE_SIGN=true |
|||
FLUTTER_TARGET=lib\main.dart |
|||
FLUTTER_BUILD_DIR=build |
|||
FLUTTER_BUILD_NAME=0.0.1 |
|||
FLUTTER_BUILD_NUMBER=0.0.1 |
|||
EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386 |
|||
EXCLUDED_ARCHS[sdk=iphoneos*]=armv7 |
|||
DART_OBFUSCATION=false |
|||
TRACK_WIDGET_CREATION=true |
|||
TREE_SHAKE_ICONS=false |
|||
PACKAGE_CONFIG=.dart_tool/package_config.json |
@ -0,0 +1,13 @@ |
|||
#!/bin/sh |
|||
# This is a generated file; do not edit or check into version control. |
|||
export "FLUTTER_ROOT=C:\Work\Tools\flutter" |
|||
export "FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_types\types" |
|||
export "COCOAPODS_PARALLEL_CODE_SIGN=true" |
|||
export "FLUTTER_TARGET=lib\main.dart" |
|||
export "FLUTTER_BUILD_DIR=build" |
|||
export "FLUTTER_BUILD_NAME=0.0.1" |
|||
export "FLUTTER_BUILD_NUMBER=0.0.1" |
|||
export "DART_OBFUSCATION=false" |
|||
export "TRACK_WIDGET_CREATION=true" |
|||
export "TREE_SHAKE_ICONS=false" |
|||
export "PACKAGE_CONFIG=.dart_tool/package_config.json" |
@ -0,0 +1,19 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GeneratedPluginRegistrant_h |
|||
#define GeneratedPluginRegistrant_h |
|||
|
|||
#import <Flutter/Flutter.h> |
|||
|
|||
NS_ASSUME_NONNULL_BEGIN |
|||
|
|||
@interface GeneratedPluginRegistrant : NSObject |
|||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry; |
|||
@end |
|||
|
|||
NS_ASSUME_NONNULL_END |
|||
#endif /* GeneratedPluginRegistrant_h */ |
@ -0,0 +1,21 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#import "GeneratedPluginRegistrant.h" |
|||
|
|||
#if __has_include(<path_provider_foundation/PathProviderPlugin.h>) |
|||
#import <path_provider_foundation/PathProviderPlugin.h> |
|||
#else |
|||
@import path_provider_foundation; |
|||
#endif |
|||
|
|||
@implementation GeneratedPluginRegistrant |
|||
|
|||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry { |
|||
[PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]]; |
|||
} |
|||
|
|||
@end |
@ -0,0 +1,83 @@ |
|||
import 'package:local_db_core/boxes/box_list/level_box/level_box.dart'; |
|||
import 'package:repositories/level_box_domain/model/level_model.dart'; |
|||
import 'package:repositories/level_box_domain/repository/level_box_repository.dart'; |
|||
|
|||
class LevelBoxRepositoryImpl extends LevelBoxRepository { |
|||
final LevelBox _levelBox; |
|||
|
|||
LevelBoxRepositoryImpl({required LevelBox levelBox}) : _levelBox = levelBox; |
|||
|
|||
@override |
|||
Future<void> getLevel({required void Function(List<Level> data) result}) async { |
|||
final List<Level> levelList = []; |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-1.jpg', |
|||
duration: 4, |
|||
puzzleSize: 3, |
|||
level: 1, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-2.jpg', |
|||
duration: 4, |
|||
puzzleSize: 3, |
|||
level: 2, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-3.jpg', |
|||
duration: 4, |
|||
puzzleSize: 3, |
|||
level: 3, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-4.jpg', |
|||
duration: 4, |
|||
puzzleSize: 3, |
|||
level: 4, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-5.jpg', |
|||
duration: 4, |
|||
puzzleSize: 3, |
|||
level: 5, |
|||
payable: true, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-6.jpg', |
|||
duration: 4, |
|||
puzzleSize: 3, |
|||
level: 6, |
|||
payable: true, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-7.jpg', |
|||
duration: 6, |
|||
puzzleSize: 4, |
|||
level: 7, |
|||
payable: true, |
|||
)); |
|||
levelList.add(Level( |
|||
image: 'assets/images/jpg/level-8.jpg', |
|||
duration: 6, |
|||
puzzleSize: 4, |
|||
level: 8, |
|||
payable: true, |
|||
)); |
|||
_levelBox.saveData(levelList); |
|||
result.call(levelList); |
|||
} |
|||
|
|||
@override |
|||
Future<void> openBox() async { |
|||
await _levelBox.openBox(); |
|||
} |
|||
|
|||
@override |
|||
Future<int> getCurrentLevel() async { |
|||
return await _levelBox.getLevel(); |
|||
} |
|||
|
|||
@override |
|||
Future<void> setCurrentLevel(int level) async { |
|||
await _levelBox.setCurrentLevel(level); |
|||
} |
|||
} |
@ -0,0 +1 @@ |
|||
C:/Users/user1/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.1.10/ |
@ -0,0 +1,11 @@ |
|||
//
|
|||
// Generated file. Do not edit.
|
|||
//
|
|||
|
|||
// clang-format off
|
|||
|
|||
#include "generated_plugin_registrant.h"
|
|||
|
|||
|
|||
void fl_register_plugins(FlPluginRegistry* registry) { |
|||
} |
@ -0,0 +1,15 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GENERATED_PLUGIN_REGISTRANT_ |
|||
#define GENERATED_PLUGIN_REGISTRANT_ |
|||
|
|||
#include <flutter_linux/flutter_linux.h> |
|||
|
|||
// Registers Flutter plugins. |
|||
void fl_register_plugins(FlPluginRegistry* registry); |
|||
|
|||
#endif // GENERATED_PLUGIN_REGISTRANT_ |
@ -0,0 +1,23 @@ |
|||
# |
|||
# Generated file, do not edit. |
|||
# |
|||
|
|||
list(APPEND FLUTTER_PLUGIN_LIST |
|||
) |
|||
|
|||
list(APPEND FLUTTER_FFI_PLUGIN_LIST |
|||
) |
|||
|
|||
set(PLUGIN_BUNDLED_LIBRARIES) |
|||
|
|||
foreach(plugin ${FLUTTER_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) |
|||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) |
|||
endforeach(plugin) |
|||
|
|||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) |
|||
endforeach(ffi_plugin) |
@ -0,0 +1,12 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
import FlutterMacOS |
|||
import Foundation |
|||
|
|||
import path_provider_foundation |
|||
|
|||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { |
|||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) |
|||
} |
@ -0,0 +1,11 @@ |
|||
// This is a generated file; do not edit or check into version control. |
|||
FLUTTER_ROOT=C:\Work\Tools\flutter |
|||
FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_types\types |
|||
COCOAPODS_PARALLEL_CODE_SIGN=true |
|||
FLUTTER_BUILD_DIR=build |
|||
FLUTTER_BUILD_NAME=0.0.1 |
|||
FLUTTER_BUILD_NUMBER=0.0.1 |
|||
DART_OBFUSCATION=false |
|||
TRACK_WIDGET_CREATION=true |
|||
TREE_SHAKE_ICONS=false |
|||
PACKAGE_CONFIG=.dart_tool/package_config.json |
@ -0,0 +1,12 @@ |
|||
#!/bin/sh |
|||
# This is a generated file; do not edit or check into version control. |
|||
export "FLUTTER_ROOT=C:\Work\Tools\flutter" |
|||
export "FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\data\data_types\types" |
|||
export "COCOAPODS_PARALLEL_CODE_SIGN=true" |
|||
export "FLUTTER_BUILD_DIR=build" |
|||
export "FLUTTER_BUILD_NAME=0.0.1" |
|||
export "FLUTTER_BUILD_NUMBER=0.0.1" |
|||
export "DART_OBFUSCATION=false" |
|||
export "TRACK_WIDGET_CREATION=true" |
|||
export "TREE_SHAKE_ICONS=false" |
|||
export "PACKAGE_CONFIG=.dart_tool/package_config.json" |
@ -0,0 +1,22 @@ |
|||
name: types |
|||
description: A new Flutter project. |
|||
version: 0.0.1 |
|||
publish_to: 'none' |
|||
|
|||
environment: |
|||
sdk: ">=2.17.6 <3.0.0" |
|||
flutter: ">=1.17.0" |
|||
|
|||
dependencies: |
|||
flutter: |
|||
sdk: flutter |
|||
repositories: |
|||
path: ../../../domain/repositories |
|||
local_db_core: |
|||
path: ../../../data/data_core/local_db/local_db_core |
|||
|
|||
dev_dependencies: |
|||
flutter_test: |
|||
sdk: flutter |
|||
flutter_lints: ^2.0.0 |
|||
flutter: |
@ -0,0 +1,11 @@ |
|||
//
|
|||
// Generated file. Do not edit.
|
|||
//
|
|||
|
|||
// clang-format off
|
|||
|
|||
#include "generated_plugin_registrant.h"
|
|||
|
|||
|
|||
void RegisterPlugins(flutter::PluginRegistry* registry) { |
|||
} |
@ -0,0 +1,15 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GENERATED_PLUGIN_REGISTRANT_ |
|||
#define GENERATED_PLUGIN_REGISTRANT_ |
|||
|
|||
#include <flutter/plugin_registry.h> |
|||
|
|||
// Registers Flutter plugins. |
|||
void RegisterPlugins(flutter::PluginRegistry* registry); |
|||
|
|||
#endif // GENERATED_PLUGIN_REGISTRANT_ |
@ -0,0 +1,23 @@ |
|||
# |
|||
# Generated file, do not edit. |
|||
# |
|||
|
|||
list(APPEND FLUTTER_PLUGIN_LIST |
|||
) |
|||
|
|||
list(APPEND FLUTTER_FFI_PLUGIN_LIST |
|||
) |
|||
|
|||
set(PLUGIN_BUNDLED_LIBRARIES) |
|||
|
|||
foreach(plugin ${FLUTTER_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) |
|||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) |
|||
endforeach(plugin) |
|||
|
|||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) |
|||
endforeach(ffi_plugin) |
@ -0,0 +1,30 @@ |
|||
# 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 |
|||
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. |
|||
/pubspec.lock |
|||
**/doc/api/ |
|||
.dart_tool/ |
|||
.packages |
|||
build/ |
@ -0,0 +1,10 @@ |
|||
# 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 and should not be manually edited. |
|||
|
|||
version: |
|||
revision: b4bce91dd0f168179d46a7ae5eceb3572ba9637a |
|||
channel: stable |
|||
|
|||
project_type: package |
@ -0,0 +1,3 @@ |
|||
## 0.0.1 |
|||
|
|||
* TODO: Describe initial release. |
@ -0,0 +1 @@ |
|||
TODO: Add your license here. |
@ -0,0 +1,39 @@ |
|||
<!-- |
|||
This README describes the package. If you publish this package to pub.dev, |
|||
this README's contents appear on the landing page for your package. |
|||
|
|||
For information about how to write a good package README, see the guide for |
|||
[writing package pages](https://dart.dev/guides/libraries/writing-package-pages). |
|||
|
|||
For general information about developing packages, see the Dart guide for |
|||
[creating packages](https://dart.dev/guides/libraries/create-library-packages) |
|||
and the Flutter guide for |
|||
[developing packages and plugins](https://flutter.dev/developing-packages). |
|||
--> |
|||
|
|||
TODO: Put a short description of the package here that helps potential users |
|||
know whether this package might be useful for them. |
|||
|
|||
## Features |
|||
|
|||
TODO: List what your package can do. Maybe include images, gifs, or videos. |
|||
|
|||
## Getting started |
|||
|
|||
TODO: List prerequisites and provide or point to information on how to |
|||
start using the package. |
|||
|
|||
## Usage |
|||
|
|||
TODO: Include short and useful examples for package users. Add longer examples |
|||
to `/example` folder. |
|||
|
|||
```dart |
|||
const like = 'sample'; |
|||
``` |
|||
|
|||
## Additional information |
|||
|
|||
TODO: Tell users more about the package: where to find more information, how to |
|||
contribute to the package, how to file issues, what response they can expect |
|||
from the package authors, and more. |
@ -0,0 +1,4 @@ |
|||
include: package:flutter_lints/flutter.yaml |
|||
|
|||
# Additional information about this file can be found at |
|||
# https://dart.dev/guides/language/analysis-options |
@ -0,0 +1,25 @@ |
|||
package io.flutter.plugins; |
|||
|
|||
import io.flutter.plugin.common.PluginRegistry; |
|||
import io.flutter.plugins.pathprovider.PathProviderPlugin; |
|||
|
|||
/** |
|||
* Generated file. Do not edit. |
|||
*/ |
|||
public final class GeneratedPluginRegistrant { |
|||
public static void registerWith(PluginRegistry registry) { |
|||
if (alreadyRegisteredWith(registry)) { |
|||
return; |
|||
} |
|||
PathProviderPlugin.registerWith(registry.registrarFor("io.flutter.plugins.pathprovider.PathProviderPlugin")); |
|||
} |
|||
|
|||
private static boolean alreadyRegisteredWith(PluginRegistry registry) { |
|||
final String key = GeneratedPluginRegistrant.class.getCanonicalName(); |
|||
if (registry.hasPlugin(key)) { |
|||
return true; |
|||
} |
|||
registry.registrarFor(key); |
|||
return false; |
|||
} |
|||
} |
@ -0,0 +1,19 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GeneratedPluginRegistrant_h |
|||
#define GeneratedPluginRegistrant_h |
|||
|
|||
#import <Flutter/Flutter.h> |
|||
|
|||
NS_ASSUME_NONNULL_BEGIN |
|||
|
|||
@interface GeneratedPluginRegistrant : NSObject |
|||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry; |
|||
@end |
|||
|
|||
NS_ASSUME_NONNULL_END |
|||
#endif /* GeneratedPluginRegistrant_h */ |
@ -0,0 +1,21 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#import "GeneratedPluginRegistrant.h" |
|||
|
|||
#if __has_include(<path_provider_foundation/PathProviderPlugin.h>) |
|||
#import <path_provider_foundation/PathProviderPlugin.h> |
|||
#else |
|||
@import path_provider_foundation; |
|||
#endif |
|||
|
|||
@implementation GeneratedPluginRegistrant |
|||
|
|||
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry { |
|||
[PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]]; |
|||
} |
|||
|
|||
@end |
@ -0,0 +1,49 @@ |
|||
import 'package:hive_flutter/hive_flutter.dart'; |
|||
import 'package:repositories/level_box_domain/model/level_model.dart'; |
|||
|
|||
class LevelModelAdapter extends TypeAdapter<Level> { |
|||
@override |
|||
final int typeId = 0; |
|||
|
|||
@override |
|||
Level read(BinaryReader reader) { |
|||
final numOfFields = reader.readByte(); |
|||
final fields = <int, dynamic>{ |
|||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), |
|||
}; |
|||
return Level( |
|||
image: fields[0] as String, |
|||
puzzleSize: fields[1] as int, |
|||
duration: fields[2] as int, |
|||
level: fields[3] as int, |
|||
recordDuration: fields[4] as int, |
|||
payable: fields[5] as bool, |
|||
); |
|||
} |
|||
|
|||
@override |
|||
void write(BinaryWriter writer, Level obj) { |
|||
writer |
|||
..writeByte(6) |
|||
..writeByte(0) |
|||
..write(obj.image) |
|||
..writeByte(1) |
|||
..write(obj.puzzleSize) |
|||
..writeByte(2) |
|||
..write(obj.duration) |
|||
..writeByte(3) |
|||
..write(obj.level) |
|||
..writeByte(4) |
|||
..write(obj.recordDuration) |
|||
..writeByte(5) |
|||
..write(obj.payable); |
|||
} |
|||
|
|||
@override |
|||
int get hashCode => typeId.hashCode; |
|||
|
|||
@override |
|||
bool operator ==(Object other) => |
|||
identical(this, other) || |
|||
other is LevelModelAdapter && runtimeType == other.runtimeType && typeId == other.typeId; |
|||
} |
@ -0,0 +1,37 @@ |
|||
import 'package:hive_flutter/adapters.dart'; |
|||
|
|||
@HiveType(typeId: 0) |
|||
class Level extends HiveObject { |
|||
@HiveField(0) |
|||
final String image; |
|||
@HiveField(1) |
|||
final int puzzleSize; |
|||
@HiveField(2) |
|||
final int duration; |
|||
@HiveField(3) |
|||
final int level; |
|||
@HiveField(4) |
|||
final int recordDuration; |
|||
@HiveField(5) |
|||
final bool payable; |
|||
|
|||
Level({ |
|||
required this.image, |
|||
required this.duration, |
|||
required this.puzzleSize, |
|||
required this.level, |
|||
this.recordDuration = 0, |
|||
this.payable = false, |
|||
}); |
|||
|
|||
Map<String, dynamic> toJson() { |
|||
return { |
|||
'image': image, |
|||
'duration': duration, |
|||
'puzzleSize': puzzleSize, |
|||
'level': level, |
|||
'recordDuration': recordDuration, |
|||
'payable': payable, |
|||
}; |
|||
} |
|||
} |
@ -0,0 +1,11 @@ |
|||
import 'package:repositories/level_box_domain/model/level_model.dart'; |
|||
|
|||
abstract class LevelBoxRepository { |
|||
Future<void> getLevel({required void Function(List<Level> data) result}); |
|||
|
|||
Future<void> openBox(); |
|||
|
|||
Future<int> getCurrentLevel(); |
|||
|
|||
Future<void> setCurrentLevel(int level); |
|||
} |
@ -0,0 +1,11 @@ |
|||
//
|
|||
// Generated file. Do not edit.
|
|||
//
|
|||
|
|||
// clang-format off
|
|||
|
|||
#include "generated_plugin_registrant.h"
|
|||
|
|||
|
|||
void fl_register_plugins(FlPluginRegistry* registry) { |
|||
} |
@ -0,0 +1,15 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GENERATED_PLUGIN_REGISTRANT_ |
|||
#define GENERATED_PLUGIN_REGISTRANT_ |
|||
|
|||
#include <flutter_linux/flutter_linux.h> |
|||
|
|||
// Registers Flutter plugins. |
|||
void fl_register_plugins(FlPluginRegistry* registry); |
|||
|
|||
#endif // GENERATED_PLUGIN_REGISTRANT_ |
@ -0,0 +1,23 @@ |
|||
# |
|||
# Generated file, do not edit. |
|||
# |
|||
|
|||
list(APPEND FLUTTER_PLUGIN_LIST |
|||
) |
|||
|
|||
list(APPEND FLUTTER_FFI_PLUGIN_LIST |
|||
) |
|||
|
|||
set(PLUGIN_BUNDLED_LIBRARIES) |
|||
|
|||
foreach(plugin ${FLUTTER_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) |
|||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) |
|||
endforeach(plugin) |
|||
|
|||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) |
|||
endforeach(ffi_plugin) |
@ -0,0 +1,12 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
import FlutterMacOS |
|||
import Foundation |
|||
|
|||
import path_provider_foundation |
|||
|
|||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { |
|||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) |
|||
} |
@ -0,0 +1,11 @@ |
|||
// This is a generated file; do not edit or check into version control. |
|||
FLUTTER_ROOT=C:\Work\Tools\flutter |
|||
FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\domain\repositories |
|||
COCOAPODS_PARALLEL_CODE_SIGN=true |
|||
FLUTTER_BUILD_DIR=build |
|||
FLUTTER_BUILD_NAME=0.0.1 |
|||
FLUTTER_BUILD_NUMBER=0.0.1 |
|||
DART_OBFUSCATION=false |
|||
TRACK_WIDGET_CREATION=true |
|||
TREE_SHAKE_ICONS=false |
|||
PACKAGE_CONFIG=.dart_tool/package_config.json |
@ -0,0 +1,12 @@ |
|||
#!/bin/sh |
|||
# This is a generated file; do not edit or check into version control. |
|||
export "FLUTTER_ROOT=C:\Work\Tools\flutter" |
|||
export "FLUTTER_APPLICATION_PATH=C:\Users\user1\StudioProjects\habib_kids\domain\repositories" |
|||
export "COCOAPODS_PARALLEL_CODE_SIGN=true" |
|||
export "FLUTTER_BUILD_DIR=build" |
|||
export "FLUTTER_BUILD_NAME=0.0.1" |
|||
export "FLUTTER_BUILD_NUMBER=0.0.1" |
|||
export "DART_OBFUSCATION=false" |
|||
export "TRACK_WIDGET_CREATION=true" |
|||
export "TREE_SHAKE_ICONS=false" |
|||
export "PACKAGE_CONFIG=.dart_tool/package_config.json" |
@ -0,0 +1,18 @@ |
|||
name: repositories |
|||
description: A new Flutter project. |
|||
version: 0.0.1 |
|||
|
|||
environment: |
|||
sdk: ">=2.17.6 <3.0.0" |
|||
flutter: ">=1.17.0" |
|||
|
|||
dependencies: |
|||
flutter: |
|||
sdk: flutter |
|||
hive_flutter: ^1.1.0 |
|||
|
|||
dev_dependencies: |
|||
flutter_test: |
|||
sdk: flutter |
|||
flutter_lints: ^2.0.0 |
|||
flutter: |
@ -0,0 +1,11 @@ |
|||
//
|
|||
// Generated file. Do not edit.
|
|||
//
|
|||
|
|||
// clang-format off
|
|||
|
|||
#include "generated_plugin_registrant.h"
|
|||
|
|||
|
|||
void RegisterPlugins(flutter::PluginRegistry* registry) { |
|||
} |
@ -0,0 +1,15 @@ |
|||
// |
|||
// Generated file. Do not edit. |
|||
// |
|||
|
|||
// clang-format off |
|||
|
|||
#ifndef GENERATED_PLUGIN_REGISTRANT_ |
|||
#define GENERATED_PLUGIN_REGISTRANT_ |
|||
|
|||
#include <flutter/plugin_registry.h> |
|||
|
|||
// Registers Flutter plugins. |
|||
void RegisterPlugins(flutter::PluginRegistry* registry); |
|||
|
|||
#endif // GENERATED_PLUGIN_REGISTRANT_ |
@ -0,0 +1,23 @@ |
|||
# |
|||
# Generated file, do not edit. |
|||
# |
|||
|
|||
list(APPEND FLUTTER_PLUGIN_LIST |
|||
) |
|||
|
|||
list(APPEND FLUTTER_FFI_PLUGIN_LIST |
|||
) |
|||
|
|||
set(PLUGIN_BUNDLED_LIBRARIES) |
|||
|
|||
foreach(plugin ${FLUTTER_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) |
|||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) |
|||
endforeach(plugin) |
|||
|
|||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) |
|||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) |
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) |
|||
endforeach(ffi_plugin) |
@ -0,0 +1,25 @@ |
|||
import 'package:local_db_core/boxes/box_list/level_box/level_box.dart'; |
|||
import 'package:path_provider/path_provider.dart'; |
|||
import 'package:repositories/level_box_domain/adapter/level_model_adapter.dart'; |
|||
import 'package:repositories/level_box_domain/repository/level_box_repository.dart'; |
|||
import 'package:types/level_data/interface/level_box_repository_impl.dart'; |
|||
import 'package:hive_flutter/hive_flutter.dart'; |
|||
|
|||
class Initializer { |
|||
Initializer.privateConstructor(); |
|||
|
|||
final LevelBoxRepository _repository = LevelBoxRepositoryImpl(levelBox: LevelBox()); |
|||
static final Initializer instance = Initializer.privateConstructor(); |
|||
|
|||
factory Initializer() { |
|||
return instance; |
|||
} |
|||
|
|||
Future<void> initialHive() async { |
|||
final dir = await getApplicationDocumentsDirectory(); |
|||
Hive.init(dir.path); |
|||
Hive.registerAdapter(LevelModelAdapter()); |
|||
await _repository.openBox(); |
|||
await _repository.setCurrentLevel(1); |
|||
} |
|||
} |
@ -0,0 +1,31 @@ |
|||
import 'package:flutter_bloc/flutter_bloc.dart'; |
|||
import 'package:local_db_core/boxes/box_list/level_box/level_box.dart'; |
|||
import 'package:my_flutter_puzzle/cubits/base_cubit_type.dart'; |
|||
import 'package:repositories/level_box_domain/model/level_model.dart'; |
|||
import 'package:repositories/level_box_domain/repository/level_box_repository.dart'; |
|||
import 'package:types/level_data/interface/level_box_repository_impl.dart'; |
|||
|
|||
class LevelListCubit extends Cubit<BaseCubitType<LevelListCubitState>> { |
|||
List<Level> levelList = []; |
|||
late int currentLevel; |
|||
final LevelBoxRepository _repository = LevelBoxRepositoryImpl(levelBox: LevelBox()); |
|||
|
|||
LevelListCubit() : super(BaseCubitType(eventName: LevelListCubitState.empty)); |
|||
|
|||
void empty() => emit(BaseCubitType(eventName: LevelListCubitState.empty)); |
|||
|
|||
void getData() async { |
|||
currentLevel = await _repository.getCurrentLevel(); |
|||
await _repository.getLevel( |
|||
result: (data) { |
|||
levelList = data; |
|||
emit(BaseCubitType(eventName: LevelListCubitState.list)); |
|||
}, |
|||
); |
|||
} |
|||
} |
|||
|
|||
enum LevelListCubitState { |
|||
empty, |
|||
list, |
|||
} |
@ -0,0 +1,221 @@ |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:flutter_svg/flutter_svg.dart'; |
|||
import 'package:my_flutter_puzzle/utils/extensions/context_extension.dart'; |
|||
import 'package:my_flutter_puzzle/utils/extensions/string_extensions.dart'; |
|||
|
|||
class LoseScreen extends StatefulWidget { |
|||
final int move; |
|||
final int tiles; |
|||
|
|||
const LoseScreen({ |
|||
Key? key, |
|||
required this.tiles, |
|||
required this.move, |
|||
}) : super(key: key); |
|||
|
|||
@override |
|||
State<LoseScreen> createState() => _LoseScreenState(); |
|||
} |
|||
|
|||
class _LoseScreenState extends State<LoseScreen> { |
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Scaffold( |
|||
backgroundColor: const Color(0xffA7A7A7), |
|||
body: SizedBox( |
|||
width: context.width, |
|||
height: context.height, |
|||
child: Stack( |
|||
alignment: AlignmentDirectional.centerEnd, |
|||
children: [ |
|||
Center( |
|||
child: Stack( |
|||
alignment: Alignment.bottomCenter, |
|||
children: [ |
|||
Container( |
|||
width: context.width * 267 / 812, |
|||
height: context.height * 284 / 375, |
|||
decoration: BoxDecoration( |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Color(0xffB9B9B9), |
|||
Color(0xffD1D1D1), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
borderRadius: BorderRadius.circular(36), |
|||
), |
|||
child: Column( |
|||
children: [ |
|||
const SizedBox(height: 31), |
|||
const Text( |
|||
'Opsssss !', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 25, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(height: 24), |
|||
Container( |
|||
width: context.width * 114 / 812, |
|||
height: context.width * 114 / 812, |
|||
decoration: BoxDecoration( |
|||
color: const Color(0xffC0C0C0), |
|||
shape: BoxShape.circle, |
|||
border: Border.all( |
|||
color: const Color(0xff7a7a7a), |
|||
width: 1, |
|||
), |
|||
), |
|||
child: Container( |
|||
margin: EdgeInsets.all(context.width * 20 / 812), |
|||
padding: EdgeInsets.all(context.width * 20 / 812), |
|||
decoration: const BoxDecoration( |
|||
color: Color(0xffE02020), |
|||
shape: BoxShape.circle, |
|||
), |
|||
child: SvgPicture.asset( |
|||
'sad'.svgPath, |
|||
colorFilter: const ColorFilter.mode( |
|||
Colors.white, |
|||
BlendMode.srcIn, |
|||
), |
|||
), |
|||
), |
|||
), |
|||
const SizedBox(height: 19), |
|||
Row( |
|||
mainAxisAlignment: MainAxisAlignment.center, |
|||
children: [ |
|||
Row( |
|||
children: [ |
|||
const Text( |
|||
'Tiles', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(width: 9), |
|||
Text( |
|||
'${widget.tiles}', |
|||
style: const TextStyle( |
|||
decoration: TextDecoration.underline, |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
], |
|||
), |
|||
const SizedBox(width: 42), |
|||
Row( |
|||
children: [ |
|||
const Text( |
|||
'Move', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(width: 9), |
|||
Text( |
|||
'${widget.move}', |
|||
style: const TextStyle( |
|||
decoration: TextDecoration.underline, |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
], |
|||
), |
|||
], |
|||
), |
|||
], |
|||
), |
|||
), |
|||
Transform.translate( |
|||
offset: const Offset(0, 20), |
|||
child: Container( |
|||
width: context.width * 147 / 812, |
|||
height: context.height * 51 / 375, |
|||
padding: const EdgeInsets.all(3), |
|||
decoration: BoxDecoration( |
|||
color: const Color(0xff979797).withOpacity(0.12), |
|||
borderRadius: BorderRadius.circular(36), |
|||
), |
|||
child: Container( |
|||
decoration: BoxDecoration( |
|||
borderRadius: BorderRadius.circular(31), |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Color(0xffFFC600), |
|||
Color(0xffFF5A00), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
), |
|||
child: Row( |
|||
mainAxisAlignment: MainAxisAlignment.center, |
|||
children: [ |
|||
const SizedBox(width: 6), |
|||
Container( |
|||
width: context.width * 26 / 540, |
|||
height: context.width * 26 / 540, |
|||
padding: const EdgeInsets.all(9), |
|||
margin: const EdgeInsets.symmetric(vertical: 3), |
|||
decoration: BoxDecoration( |
|||
border: Border.all( |
|||
color: Colors.white, |
|||
width: 1, |
|||
), |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Colors.white, |
|||
Color(0xffD5D5D5), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
shape: BoxShape.circle, |
|||
), |
|||
child: SvgPicture.asset('refresh'.svgPath), |
|||
), |
|||
const SizedBox(width: 8), |
|||
const Text( |
|||
'Restart', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 14, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(width: 14), |
|||
], |
|||
), |
|||
), |
|||
), |
|||
), |
|||
], |
|||
), |
|||
), |
|||
Container( |
|||
margin: EdgeInsetsDirectional.only(end: context.width * 68 / 812), |
|||
width: context.width * 142 / 812, |
|||
height: context.height * 280 / 375, |
|||
child: Image( |
|||
image: AssetImage('avatar'.pngPath), |
|||
), |
|||
), |
|||
], |
|||
), |
|||
), |
|||
); |
|||
} |
|||
} |
@ -0,0 +1,235 @@ |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:flutter_svg/flutter_svg.dart'; |
|||
import 'package:my_flutter_puzzle/utils/extensions/context_extension.dart'; |
|||
import 'package:my_flutter_puzzle/utils/extensions/string_extensions.dart'; |
|||
|
|||
class WinScreen extends StatefulWidget { |
|||
final int move; |
|||
final int tiles; |
|||
final int level; |
|||
|
|||
const WinScreen({ |
|||
Key? key, |
|||
required this.tiles, |
|||
required this.move, |
|||
required this.level, |
|||
}) : super(key: key); |
|||
|
|||
@override |
|||
State<WinScreen> createState() => _WinScreenState(); |
|||
} |
|||
|
|||
class _WinScreenState extends State<WinScreen> { |
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Scaffold( |
|||
backgroundColor: const Color(0xff4400CE), |
|||
body: SizedBox( |
|||
width: context.width, |
|||
height: context.height, |
|||
child: Stack( |
|||
alignment: AlignmentDirectional.centerEnd, |
|||
children: [ |
|||
Center( |
|||
child: Stack( |
|||
alignment: Alignment.bottomCenter, |
|||
children: [ |
|||
Container( |
|||
width: context.width * 267 / 812, |
|||
height: context.height * 284 / 375, |
|||
decoration: BoxDecoration( |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Color(0xff6236FF), |
|||
Color(0xff4706CC), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
borderRadius: BorderRadius.circular(36), |
|||
), |
|||
child: Column( |
|||
children: [ |
|||
const SizedBox(height: 31), |
|||
const Text( |
|||
'Well done !', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 25, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(height: 24), |
|||
Container( |
|||
width: context.width * 114 / 812, |
|||
height: context.width * 114 / 812, |
|||
decoration: BoxDecoration( |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Color(0xff6236FF), |
|||
Color(0xff4824CB), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
shape: BoxShape.circle, |
|||
border: Border.all( |
|||
color: const Color(0xff6136FE), |
|||
width: 1, |
|||
), |
|||
), |
|||
child: Container( |
|||
margin: EdgeInsets.all(context.width * 20 / 812), |
|||
padding: EdgeInsets.all(context.width * 20 / 812), |
|||
decoration: const BoxDecoration( |
|||
color: Color(0xff6DD400), |
|||
shape: BoxShape.circle, |
|||
), |
|||
child: SvgPicture.asset( |
|||
'check'.svgPath, |
|||
colorFilter: const ColorFilter.mode( |
|||
Colors.white, |
|||
BlendMode.srcIn, |
|||
), |
|||
), |
|||
), |
|||
), |
|||
const SizedBox(height: 19), |
|||
Row( |
|||
mainAxisAlignment: MainAxisAlignment.center, |
|||
children: [ |
|||
Row( |
|||
children: [ |
|||
const Text( |
|||
'Tiles', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(width: 9), |
|||
Text( |
|||
'${widget.tiles}', |
|||
style: const TextStyle( |
|||
decoration: TextDecoration.underline, |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
], |
|||
), |
|||
const SizedBox(width: 42), |
|||
Row( |
|||
children: [ |
|||
const Text( |
|||
'Move', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(width: 9), |
|||
Text( |
|||
'${widget.move}', |
|||
style: const TextStyle( |
|||
decoration: TextDecoration.underline, |
|||
color: Colors.white, |
|||
fontSize: 13, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
], |
|||
), |
|||
], |
|||
), |
|||
], |
|||
), |
|||
), |
|||
Transform.translate( |
|||
offset: const Offset(0, 20), |
|||
child: GestureDetector( |
|||
onTap: () { |
|||
|
|||
}, |
|||
child: Container( |
|||
width: context.width * 160 / 812, |
|||
height: context.height * 51 / 375, |
|||
padding: const EdgeInsets.all(3), |
|||
decoration: BoxDecoration( |
|||
color: const Color(0xff979797).withOpacity(0.12), |
|||
borderRadius: BorderRadius.circular(36), |
|||
), |
|||
child: Container( |
|||
decoration: BoxDecoration( |
|||
borderRadius: BorderRadius.circular(31), |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Color(0xffFFC600), |
|||
Color(0xffFF5A00), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
), |
|||
child: Row( |
|||
mainAxisAlignment: MainAxisAlignment.center, |
|||
children: [ |
|||
const SizedBox(width: 6), |
|||
Container( |
|||
width: context.width * 31 / 540, |
|||
height: context.width * 31 / 540, |
|||
padding: const EdgeInsets.all(9), |
|||
margin: const EdgeInsets.symmetric(vertical: 3), |
|||
decoration: BoxDecoration( |
|||
border: Border.all( |
|||
color: Colors.white, |
|||
width: 1, |
|||
), |
|||
gradient: const LinearGradient( |
|||
colors: [ |
|||
Colors.white, |
|||
Color(0xffD5D5D5), |
|||
], |
|||
begin: Alignment.topCenter, |
|||
end: Alignment.bottomCenter, |
|||
), |
|||
shape: BoxShape.circle, |
|||
), |
|||
child: SvgPicture.asset('next_level'.svgPath), |
|||
), |
|||
const SizedBox(width: 8), |
|||
const Text( |
|||
'Next level', |
|||
style: TextStyle( |
|||
color: Colors.white, |
|||
fontSize: 14, |
|||
fontWeight: FontWeight.bold, |
|||
), |
|||
), |
|||
const SizedBox(width: 14), |
|||
], |
|||
), |
|||
), |
|||
), |
|||
), |
|||
), |
|||
], |
|||
), |
|||
), |
|||
Container( |
|||
margin: EdgeInsetsDirectional.only(end: context.width * 68 / 812), |
|||
width: context.width * 142 / 812, |
|||
height: context.height * 280 / 375, |
|||
child: Image( |
|||
image: AssetImage('avatar'.pngPath), |
|||
), |
|||
), |
|||
], |
|||
), |
|||
), |
|||
); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue