feat(wyatt_app_template): use brickgen
@ -1,42 +0,0 @@
|
|||||||
name: wyatt_app
|
|
||||||
description: New app template for Wyatt Studio projects.
|
|
||||||
|
|
||||||
path_to_brickify: .
|
|
||||||
brick_ignore:
|
|
||||||
- .env
|
|
||||||
- brick_config.yaml
|
|
||||||
- .dart_tool/
|
|
||||||
- .idea/
|
|
||||||
- build/
|
|
||||||
- node_modules/
|
|
||||||
|
|
||||||
version: 0.1.0
|
|
||||||
|
|
||||||
vars:
|
|
||||||
display_name:
|
|
||||||
name: Display Name
|
|
||||||
type: string
|
|
||||||
description: The display name
|
|
||||||
default: Display Name
|
|
||||||
prompt: "What is the display name?"
|
|
||||||
|
|
||||||
project_name:
|
|
||||||
name: wyatt_app_template
|
|
||||||
type: string
|
|
||||||
description: The project name
|
|
||||||
default: wyatt_app
|
|
||||||
prompt: "What is the project name?"
|
|
||||||
|
|
||||||
bundle_id:
|
|
||||||
name: io.wyattapp.new
|
|
||||||
type: string
|
|
||||||
description: The bundle id used in Android and iOS
|
|
||||||
default: io.wyattapp.new
|
|
||||||
prompt: "What is the bundle id?"
|
|
||||||
|
|
||||||
description:
|
|
||||||
name: wyatt_description
|
|
||||||
type: string
|
|
||||||
description: A short project description
|
|
||||||
default: An app by Wyatt Studio.
|
|
||||||
prompt: "What is the project description?"
|
|
60
apps/wyatt_app_template/brickgen.yaml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# Copyright (C) 2023 WYATT GROUP
|
||||||
|
# Please see the AUTHORS file for details.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
name: wyatt_app_template
|
||||||
|
description: New app template for Wyatt Studio projects.
|
||||||
|
|
||||||
|
version: 0.1.0
|
||||||
|
|
||||||
|
vars:
|
||||||
|
display_name:
|
||||||
|
compilable: Display Name
|
||||||
|
type: string
|
||||||
|
description: The display name
|
||||||
|
default: Display Name
|
||||||
|
prompt: "What is the display name?"
|
||||||
|
|
||||||
|
project_name:
|
||||||
|
compilable: starting_template
|
||||||
|
type: string
|
||||||
|
description: The project name
|
||||||
|
default: starting_template
|
||||||
|
prompt: "What is the project name?"
|
||||||
|
|
||||||
|
bundle_id:
|
||||||
|
compilable: io.wyattapp.start
|
||||||
|
type: string
|
||||||
|
description: The bundle id used in Android and iOS
|
||||||
|
default: io.wyattapp.start
|
||||||
|
prompt: "What is the bundle id?"
|
||||||
|
|
||||||
|
description:
|
||||||
|
compilable: wyatt_description
|
||||||
|
type: string
|
||||||
|
description: A short project description
|
||||||
|
default: An app by Wyatt Studio.
|
||||||
|
prompt: "What is the project description?"
|
||||||
|
|
||||||
|
brickgen:
|
||||||
|
path_to_brickify: starting_template
|
||||||
|
hooks: true
|
||||||
|
ignore:
|
||||||
|
- .env
|
||||||
|
- .dart_tool/
|
||||||
|
- .idea/
|
||||||
|
- build/
|
||||||
|
- node_modules/
|
||||||
|
- ios/.symlinks/
|
39
apps/wyatt_app_template/hooks/post_gen.dart
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
// Copyright (C) 2022 WYATT GROUP
|
||||||
|
// Please see the AUTHORS file for details.
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:mason/mason.dart';
|
||||||
|
|
||||||
|
void removeGitKeepFiles(String targetPath) {
|
||||||
|
if (!FileSystemEntity.isDirectorySync(targetPath)) {
|
||||||
|
throw ArgumentError('Target must be a directory', 'targetPath');
|
||||||
|
}
|
||||||
|
|
||||||
|
Directory(targetPath)
|
||||||
|
.listSync(recursive: true)
|
||||||
|
.whereType<File>()
|
||||||
|
.forEach((file) {
|
||||||
|
if (file.path.contains('.gitkeep')) {
|
||||||
|
file.deleteSync(recursive: true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> run(HookContext context) async {
|
||||||
|
final workingDirectory = Directory.current.path;
|
||||||
|
removeGitKeepFiles(workingDirectory);
|
||||||
|
}
|
7
apps/wyatt_app_template/hooks/pubspec.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
name: hooks
|
||||||
|
|
||||||
|
environment:
|
||||||
|
sdk: ">=2.18.0 <3.0.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
mason: any
|
@ -1,11 +0,0 @@
|
|||||||
import 'package:wyatt_app_template/bootstrap.dart';
|
|
||||||
import 'package:wyatt_app_template/core/flavors/flavor.dart';
|
|
||||||
import 'package:wyatt_app_template/presentation/features/app/app.dart';
|
|
||||||
|
|
||||||
void main(List<String> args) {
|
|
||||||
// Define environment
|
|
||||||
DevelopmentFlavor();
|
|
||||||
|
|
||||||
// Initialize environment and variables
|
|
||||||
bootstrap(App.new);
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
import 'package:wyatt_app_template/bootstrap.dart';
|
|
||||||
import 'package:wyatt_app_template/core/flavors/flavor.dart';
|
|
||||||
import 'package:wyatt_app_template/presentation/features/app/app.dart';
|
|
||||||
|
|
||||||
void main(List<String> args) {
|
|
||||||
// Define environment
|
|
||||||
ProductionFlavor();
|
|
||||||
|
|
||||||
// Initialize environment and variables
|
|
||||||
bootstrap(App.new);
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
import 'package:wyatt_app_template/bootstrap.dart';
|
|
||||||
import 'package:wyatt_app_template/core/flavors/flavor.dart';
|
|
||||||
import 'package:wyatt_app_template/presentation/features/app/app.dart';
|
|
||||||
|
|
||||||
void main(List<String> args) {
|
|
||||||
// Define environment
|
|
||||||
StagingFlavor();
|
|
||||||
|
|
||||||
// Initialize environment and variables
|
|
||||||
bootstrap(App.new);
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
# just to keep empty folder in brick generation
|
|
@ -44,7 +44,7 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||||
applicationId "io.wyattapp.new"
|
applicationId "io.wyattapp.start"
|
||||||
// You can update the following values to match your application needs.
|
// 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.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
|
||||||
minSdkVersion flutter.minSdkVersion
|
minSdkVersion flutter.minSdkVersion
|
@ -1,5 +1,5 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="io.wyattapp.new.wyatt_app_template">
|
package="io.wyattapp.start">
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
<!-- The INTERNET permission is required for development. Specifically,
|
||||||
the Flutter tool needs it to communicate with the running application
|
the Flutter tool needs it to communicate with the running application
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
to allow setting breakpoints, to provide hot reload, etc.
|
@ -1,9 +1,5 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="io.wyattapp.start">
|
||||||
package="io.wyattapp.new.wyatt_app_template">
|
<application android:label="Display Name" android:name="${applicationName}" android:icon="@mipmap/ic_launcher">
|
||||||
<application
|
|
||||||
android:label="Display Name"
|
|
||||||
android:name="${applicationName}"
|
|
||||||
android:icon="@mipmap/ic_launcher">
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
@ -16,10 +12,7 @@
|
|||||||
the Android process has started. This theme is visible to the user
|
the Android process has started. This theme is visible to the user
|
||||||
while the Flutter UI initializes. After that, this theme continues
|
while the Flutter UI initializes. After that, this theme continues
|
||||||
to determine the Window background behind the Flutter UI. -->
|
to determine the Window background behind the Flutter UI. -->
|
||||||
<meta-data
|
<meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" />
|
||||||
android:name="io.flutter.embedding.android.NormalTheme"
|
|
||||||
android:resource="@style/NormalTheme"
|
|
||||||
/>
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
@ -27,8 +20,6 @@
|
|||||||
</activity>
|
</activity>
|
||||||
<!-- Don't delete the meta-data below.
|
<!-- Don't delete the meta-data below.
|
||||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||||
<meta-data
|
<meta-data android:name="flutterEmbedding" android:value="2" />
|
||||||
android:name="flutterEmbedding"
|
|
||||||
android:value="2" />
|
|
||||||
</application>
|
</application>
|
||||||
</manifest>
|
</manifest>
|
@ -1,4 +1,4 @@
|
|||||||
package io.wyattapp.new.wyatt_app_template
|
package io.wyattapp.start
|
||||||
|
|
||||||
import io.flutter.embedding.android.FlutterActivity
|
import io.flutter.embedding.android.FlutterActivity
|
||||||
|
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 442 B |
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 721 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@ -1,5 +1,5 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="io.wyattapp.new.wyatt_app_template">
|
package="io.wyattapp.start">
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
<!-- The INTERNET permission is required for development. Specifically,
|
||||||
the Flutter tool needs it to communicate with the running application
|
the Flutter tool needs it to communicate with the running application
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
to allow setting breakpoints, to provide hot reload, etc.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
@ -21,7 +21,7 @@ EXTERNAL SOURCES:
|
|||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||||
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
|
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
|
||||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
url_launcher_ios: ae1517e5e344f5544fb090b079e11f399dfbe4d2
|
||||||
|
|
||||||
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
|
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 50;
|
objectVersion = 54;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
@ -200,6 +200,7 @@
|
|||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
@ -214,6 +215,7 @@
|
|||||||
};
|
};
|
||||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
@ -363,8 +365,8 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.wyattapp.new;
|
PRODUCT_BUNDLE_IDENTIFIER = io.wyattapp.start;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "Display Name";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
@ -492,12 +494,13 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.wyattapp.new;
|
PRODUCT_BUNDLE_IDENTIFIER = io.wyattapp.start;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "Display Name";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
@ -515,11 +518,12 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = io.wyattapp.new;
|
PRODUCT_BUNDLE_IDENTIFIER = io.wyattapp.start;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "Display Name";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 564 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 68 B After Width: | Height: | Size: 68 B |
Before Width: | Height: | Size: 68 B After Width: | Height: | Size: 68 B |
Before Width: | Height: | Size: 68 B After Width: | Height: | Size: 68 B |
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>aps-environment</key>
|
||||||
|
<string>development</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -2,9 +2,9 @@ import 'dart:async';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:wyatt_app_template/core/dependency_injection/get_it.dart';
|
import 'package:starting_template/core/dependency_injection/get_it.dart';
|
||||||
import 'package:wyatt_app_template/core/flavors/flavor.dart';
|
import 'package:starting_template/core/flavors/flavor.dart';
|
||||||
import 'package:wyatt_app_template/core/utils/app_bloc_observer.dart';
|
import 'package:starting_template/core/utils/app_bloc_observer.dart';
|
||||||
|
|
||||||
Future<void> bootstrap(FutureOr<Widget> Function() builder) async {
|
Future<void> bootstrap(FutureOr<Widget> Function() builder) async {
|
||||||
final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
@ -1,10 +1,10 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:get_it/get_it.dart';
|
import 'package:get_it/get_it.dart';
|
||||||
import 'package:wyatt_app_template/core/enums/dev_mode.dart';
|
import 'package:starting_template/core/enums/dev_mode.dart';
|
||||||
import 'package:wyatt_app_template/core/flavors/flavor.dart';
|
import 'package:starting_template/core/flavors/flavor.dart';
|
||||||
import 'package:wyatt_app_template/data/data_sources/local/counter_data_source_impl.dart';
|
import 'package:starting_template/data/data_sources/local/counter_data_source_impl.dart';
|
||||||
import 'package:wyatt_app_template/domain/data_sources/local/counter_data_source.dart';
|
import 'package:starting_template/domain/data_sources/local/counter_data_source.dart';
|
||||||
|
|
||||||
final getIt = GetIt.I;
|
final getIt = GetIt.I;
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:wyatt_app_template/gen/app_localizations.dart';
|
import 'package:starting_template/gen/app_localizations.dart';
|
||||||
|
|
||||||
extension BuildContextExtension on BuildContext {
|
extension BuildContextExtension on BuildContext {
|
||||||
AppLocalizations get l10n => AppLocalizations.of(this);
|
AppLocalizations get l10n => AppLocalizations.of(this);
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:wyatt_app_template/core/enums/dev_mode.dart';
|
import 'package:starting_template/core/enums/dev_mode.dart';
|
||||||
|
|
||||||
abstract class Flavor {
|
abstract class Flavor {
|
||||||
Flavor._({
|
Flavor._({
|
@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:wyatt_app_template/presentation/features/counter/counter.dart';
|
import 'package:starting_template/presentation/features/counter/counter.dart';
|
||||||
import 'package:wyatt_app_template/presentation/features/home/home.dart';
|
import 'package:starting_template/presentation/features/home/home.dart';
|
||||||
|
|
||||||
abstract class AppRouter {
|
abstract class AppRouter {
|
||||||
/// Default transition for all pages
|
/// Default transition for all pages
|
@ -1,8 +1,8 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:wyatt_app_template/data/models/integer_model.dart';
|
import 'package:starting_template/data/models/integer_model.dart';
|
||||||
import 'package:wyatt_app_template/domain/data_sources/local/counter_data_source.dart';
|
import 'package:starting_template/domain/data_sources/local/counter_data_source.dart';
|
||||||
import 'package:wyatt_app_template/domain/entities/integer.dart';
|
import 'package:starting_template/domain/entities/integer.dart';
|
||||||
import 'package:wyatt_architecture/wyatt_architecture.dart';
|
import 'package:wyatt_architecture/wyatt_architecture.dart';
|
||||||
|
|
||||||
class CounterDataSourceImpl extends CounterDataSource {
|
class CounterDataSourceImpl extends CounterDataSource {
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:wyatt_app_template/domain/entities/integer.dart';
|
import 'package:starting_template/domain/entities/integer.dart';
|
||||||
|
|
||||||
part 'integer_model.freezed.dart';
|
part 'integer_model.freezed.dart';
|
||||||
part 'integer_model.g.dart';
|
part 'integer_model.g.dart';
|
@ -1,6 +1,6 @@
|
|||||||
import 'package:wyatt_app_template/domain/data_sources/local/counter_data_source.dart';
|
import 'package:starting_template/domain/data_sources/local/counter_data_source.dart';
|
||||||
import 'package:wyatt_app_template/domain/entities/integer.dart';
|
import 'package:starting_template/domain/entities/integer.dart';
|
||||||
import 'package:wyatt_app_template/domain/repositories/counter_repository.dart';
|
import 'package:starting_template/domain/repositories/counter_repository.dart';
|
||||||
import 'package:wyatt_architecture/wyatt_architecture.dart';
|
import 'package:wyatt_architecture/wyatt_architecture.dart';
|
||||||
import 'package:wyatt_type_utils/wyatt_type_utils.dart';
|
import 'package:wyatt_type_utils/wyatt_type_utils.dart';
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:wyatt_app_template/domain/entities/integer.dart';
|
import 'package:starting_template/domain/entities/integer.dart';
|
||||||
import 'package:wyatt_architecture/wyatt_architecture.dart';
|
import 'package:wyatt_architecture/wyatt_architecture.dart';
|
||||||
|
|
||||||
abstract class CounterDataSource extends BaseDataSource {
|
abstract class CounterDataSource extends BaseDataSource {
|