This commit is contained in:
KillerBossOrig 2023-08-11 20:01:01 +02:00
parent 60b9a625a8
commit e3a93d2d05
21 changed files with 411 additions and 70 deletions

View file

@ -1,11 +1,11 @@
# 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.
# This file should be version controlled.
version:
revision: "8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f"
channel: "beta"
revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
channel: stable
project_type: app
@ -13,26 +13,26 @@ project_type: app
migration:
platforms:
- platform: root
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
- platform: android
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
- platform: ios
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
- platform: linux
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
- platform: macos
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
- platform: web
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
- platform: windows
create_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
base_revision: 8fcb74dbc16b9edb3d3f14c11c627d9e8f24fb1f
create_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
base_revision: f468f3366c26a5092eb964a230ce7892fda8f2f8
# User provided section

View file

@ -1,9 +1,3 @@
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
@ -12,6 +6,11 @@ if (localPropertiesFile.exists()) {
}
}
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'
@ -22,6 +21,10 @@ 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 {
namespace "com.example.skyforce_app"
compileSdkVersion flutter.compileSdkVersion
@ -64,4 +67,6 @@ flutter {
source '../..'
}
dependencies {}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

View file

@ -1,20 +1,11 @@
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}
settings.ext.flutterSdkPath = flutterSdkPath()
include ':app'
includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
plugins {
id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false
}
}
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
include ":app"
apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle"
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"

View file

@ -168,8 +168,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1430;
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
331C8080294A63A400263BE5 = {

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

69
lib/color_schemes.g.dart Normal file
View file

@ -0,0 +1,69 @@
import 'package:flutter/material.dart';
const lightColorScheme = ColorScheme(
brightness: Brightness.light,
primary: Color(0xFF474ECF),
onPrimary: Color(0xFFFFFFFF),
primaryContainer: Color(0xFFE0E0FF),
onPrimaryContainer: Color(0xFF02006D),
secondary: Color(0xFF363CFF),
onSecondary: Color(0xFFFFFFFF),
secondaryContainer: Color(0xFFE0E0FF),
onSecondaryContainer: Color(0xFF02006E),
tertiary: Color(0xFF4936FF),
onTertiary: Color(0xFFFFFFFF),
tertiaryContainer: Color(0xFFE2DFFF),
onTertiaryContainer: Color(0xFF100069),
error: Color(0xFFBA1A1A),
errorContainer: Color(0xFFFFDAD6),
onError: Color(0xFFFFFFFF),
onErrorContainer: Color(0xFF410002),
background: Color(0xFFFFFBFF),
onBackground: Color(0xFF030865),
surface: Color(0xFFFFFBFF),
onSurface: Color(0xFF030865),
surfaceVariant: Color(0xFFE4E1EC),
onSurfaceVariant: Color(0xFF46464F),
outline: Color(0xFF777680),
onInverseSurface: Color(0xFFF1EFFF),
inverseSurface: Color(0xFF1E2578),
inversePrimary: Color(0xFFBFC2FF),
shadow: Color(0xFF000000),
surfaceTint: Color(0xFF474ECF),
outlineVariant: Color(0xFFC7C5D0),
scrim: Color(0xFF000000),
);
const darkColorScheme = ColorScheme(
brightness: Brightness.dark,
primary: Color(0xFFBFC2FF),
onPrimary: Color(0xFF0E0DA2),
primaryContainer: Color(0xFF2D32B6),
onPrimaryContainer: Color(0xFFE0E0FF),
secondary: Color(0xFFBFC2FF),
onSecondary: Color(0xFF0500AB),
secondaryContainer: Color(0xFF0F09EA),
onSecondaryContainer: Color(0xFFE0E0FF),
tertiary: Color(0xFFC3C0FF),
onTertiary: Color(0xFF1F00A5),
tertiaryContainer: Color(0xFF2F00E5),
onTertiaryContainer: Color(0xFFE2DFFF),
error: Color(0xFFFFB4AB),
errorContainer: Color(0xFF93000A),
onError: Color(0xFF690005),
onErrorContainer: Color(0xFFFFDAD6),
background: Color(0xFF030865),
onBackground: Color(0xFFE0E0FF),
surface: Color(0xFF030865),
onSurface: Color(0xFFE0E0FF),
surfaceVariant: Color(0xFF46464F),
onSurfaceVariant: Color(0xFFC7C5D0),
outline: Color(0xFF918F9A),
onInverseSurface: Color(0xFF030865),
inverseSurface: Color(0xFFE0E0FF),
inversePrimary: Color(0xFF474ECF),
shadow: Color(0xFF000000),
surfaceTint: Color(0xFFBFC2FF),
outlineVariant: Color(0xFF46464F),
scrim: Color(0xFF000000),
);

View file

@ -1,7 +1,15 @@
// ignore_for_file: prefer_const_constructors, prefer_const_literals_to_create_immutables
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
import 'package:skyforce_app/url_strategy_native.dart'
if (dart.library.html) 'package:skyforce_app/url_strategy_web.dart.dart';
// import 'package:url_launcher/url_launcher.dart';
import 'color_schemes.g.dart';
void main() {
runApp(const MainApp());
urlConfig();
}
class MainApp extends StatelessWidget {
@ -9,10 +17,170 @@ class MainApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text('Hello World!'),
return MaterialApp(
theme: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
darkTheme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
initialRoute: '/',
routes: {
'/': (context) => const Home(),
},
// debugShowCheckedModeBanner: false,
);
}
}
class Home extends StatefulWidget {
const Home({super.key});
@override
State<Home> createState() => _HomeState();
}
class _HomeState extends State<Home> {
bool _isLoading = false;
@override
void initState() {
super.initState();
dataLoadFunction();
}
dataLoadFunction() async {
setState(() {
_isLoading = true;
});
await Future.delayed(const Duration(seconds: 5));
setState(() {
_isLoading = false;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Color.fromARGB(255, 1, 0, 56),
title: const Text('SkyForce'),
),
body: _isLoading
? const Loading()
: Loaded()
);
}
}
class Loading extends StatelessWidget {
const Loading({
super.key,
});
@override
Widget build(BuildContext context) {
return Column(
children: [
SizedBox(
height: MediaQuery.of(context).size.height / 2,
),
Align(
child: CircularProgressIndicator(),
),
Align(
child: Text('Loading...'),
),
SizedBox(
height: MediaQuery.of(context).size.height / 2 - 100,
),
Align(
child: Text('Powered by Thunder Network'),
)
],
);
}
}
class Loaded extends StatelessWidget {
const Loaded({
super.key,
});
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Center(
child: Column(
children: [
Wrap(
children: [
Padding(
padding: const EdgeInsets.all(16.0),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(40),
color: Color.fromARGB(255, 44, 44, 44),
),
height: 300,
width: 300,
child: PieChart(
PieChartData(
sections: [
PieChartSectionData(
value: 30,
color: Colors.red,
title: 'Red',
),
PieChartSectionData(
value: 20,
color: Colors.blue,
title: 'Blue',
),
],
),
)
),
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(40),
color: Color.fromARGB(255, 44, 44, 44),
),
height: 300,
width: 300,
child: LineChart(
LineChartData(
lineBarsData: [
LineChartBarData(
spots: [
FlSpot(0, 1),
FlSpot(1, 3),
FlSpot(2, 2),
FlSpot(3, 5),
FlSpot(4, 4),
FlSpot(5, 6),
],
),
LineChartBarData(
color: Colors.red,
spots: [
FlSpot(0, 0),
FlSpot(1, 1),
FlSpot(2, 2),
FlSpot(3, 3),
FlSpot(4, 4),
FlSpot(5, 5),
],
),
],
),
duration: Duration(milliseconds: 150),
curve: Curves.linear,
)
),
),
],
),
],
),
),
);

View file

@ -0,0 +1,2 @@
void urlConfig() {
}

View file

@ -0,0 +1,5 @@
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
void urlConfig() {
setUrlStrategy(PathUrlStrategy());
}

View file

@ -6,6 +6,10 @@
#include "generated_plugin_registrant.h"
#include <url_launcher_linux/url_launcher_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
}

View file

@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
url_launcher_linux
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST

View file

@ -5,6 +5,8 @@
import FlutterMacOS
import Foundation
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
}

View file

@ -227,7 +227,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 1430;
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
331C80D4294CF70F00263BE5 = {

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View file

@ -37,10 +37,18 @@ packages:
dependency: transitive
description:
name: collection
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
url: "https://pub.dev"
source: hosted
version: "1.17.2"
version: "1.17.1"
equatable:
dependency: transitive
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
url: "https://pub.dev"
source: hosted
version: "2.0.5"
fake_async:
dependency: transitive
description:
@ -49,6 +57,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.1"
fl_chart:
dependency: "direct main"
description:
name: fl_chart
sha256: c1e26c7e48496be85104c16c040950b0436674cdf0737f3f6e95511b2529b592
url: "https://pub.dev"
source: hosted
version: "0.63.0"
flutter:
dependency: "direct main"
description: flutter
@ -67,6 +83,11 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_web_plugins:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
js:
dependency: transitive
description:
@ -87,18 +108,18 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
url: "https://pub.dev"
source: hosted
version: "0.12.16"
version: "0.12.15"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
url: "https://pub.dev"
source: hosted
version: "0.5.0"
version: "0.2.0"
meta:
dependency: transitive
description:
@ -115,6 +136,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.8.3"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd"
url: "https://pub.dev"
source: hosted
version: "2.1.5"
sky_engine:
dependency: transitive
description: flutter
@ -124,10 +153,10 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.9.1"
stack_trace:
dependency: transitive
description:
@ -164,10 +193,74 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
url: "https://pub.dev"
source: hosted
version: "0.6.0"
version: "0.5.1"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
sha256: "781bd58a1eb16069412365c98597726cd8810ae27435f04b3b4d3a470bacd61e"
url: "https://pub.dev"
source: hosted
version: "6.1.12"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
sha256: "3dd2388cc0c42912eee04434531a26a82512b9cb1827e0214430c9bcbddfe025"
url: "https://pub.dev"
source: hosted
version: "6.0.38"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2"
url: "https://pub.dev"
source: hosted
version: "6.1.4"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
sha256: "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5"
url: "https://pub.dev"
source: hosted
version: "3.0.5"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
sha256: "1c4fdc0bfea61a70792ce97157e5cc17260f61abbe4f39354513f39ec6fd73b1"
url: "https://pub.dev"
source: hosted
version: "3.0.6"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
sha256: bfdfa402f1f3298637d71ca8ecfe840b4696698213d5346e9d12d4ab647ee2ea
url: "https://pub.dev"
source: hosted
version: "2.1.3"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
sha256: cc26720eefe98c1b71d85f9dc7ef0cada5132617046369d9dc296b3ecaa5cbb4
url: "https://pub.dev"
source: hosted
version: "2.0.18"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
sha256: "7967065dd2b5fccc18c653b97958fdf839c5478c28e767c61ee879f4e7882422"
url: "https://pub.dev"
source: hosted
version: "3.0.7"
vector_math:
dependency: transitive
description:
@ -177,4 +270,5 @@ packages:
source: hosted
version: "2.1.4"
sdks:
dart: ">=3.1.0-163.1.beta <4.0.0"
dart: ">=3.0.0 <4.0.0"
flutter: ">=3.10.0"

View file

@ -1,14 +1,16 @@
name: skyforce_app
description: A new Flutter project.
description: Skyforce App.
publish_to: 'none'
version: 0.1.0
environment:
sdk: '>=3.1.0-163.1.beta <4.0.0'
sdk: ^3.0.0
dependencies:
fl_chart: ^0.63.0
flutter:
sdk: flutter
url_launcher: ^6.1.12
dev_dependencies:
flutter_test:

View file

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
const serviceWorkerVersion = null;
var serviceWorkerVersion = null;
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

View file

@ -8,7 +8,7 @@ set(BINARY_NAME "skyforce_app")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.
cmake_policy(VERSION 3.14...3.25)
cmake_policy(SET CMP0063 NEW)
# Define build configuration option.
get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)

View file

@ -6,6 +6,9 @@
#include "generated_plugin_registrant.h"
#include <url_launcher_windows/url_launcher_windows.h>
void RegisterPlugins(flutter::PluginRegistry* registry) {
UrlLauncherWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("UrlLauncherWindows"));
}

View file

@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
url_launcher_windows
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST

View file

@ -31,11 +31,6 @@ bool FlutterWindow::OnCreate() {
this->Show();
});
// Flutter can complete the first frame before the "show window" callback is
// registered. The following call ensures a frame is pending to ensure the
// window is shown. It is a no-op if the first frame hasn't completed yet.
flutter_controller_->ForceRedraw();
return true;
}