Flutter & dependencies versions was bumped

This commit is contained in:
2025-06-25 22:44:29 +03:00
parent 62e0f52439
commit 795eb23c64
26 changed files with 15621 additions and 12834 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
const int currentSeason = 2;
final DateTime sprintAndBlitzRelevance = DateTime(2025, 1, 16);
final DateTime sprintAndBlitzRelevance = DateTime(2025, 6, 4);
const double noTrRd = 60.9;
const double apmWeight = 1;
const double ppsWeight = 45;
+146 -12469
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -34,7 +34,7 @@ ThemeData theme = ThemeData(
headlineMedium: TextStyle(fontFamily: "Eurostile Round Extended", fontSize: 36),
displayLarge: TextStyle(fontSize: 18),
),
cardTheme: const CardTheme(surfaceTintColor: Color.fromARGB(255, 10, 10, 10)),
cardTheme: const CardThemeData(surfaceTintColor: Color.fromARGB(255, 10, 10, 10)),
drawerTheme: const DrawerThemeData(surfaceTintColor: Color.fromARGB(255, 10, 10, 10)),
searchBarTheme: const SearchBarThemeData(
shadowColor: WidgetStatePropertyAll(Colors.black),
@@ -62,7 +62,7 @@ ThemeData theme = ThemeData(
dropdownMenuTheme: DropdownMenuThemeData(textStyle: TextStyle(fontFamily: "Eurostile Round", fontSize: 18)),
scaffoldBackgroundColor: Colors.black,
tooltipTheme: TooltipThemeData(
textStyle: TextStyle(color: Colors.white),
textStyle: TextStyle(color: Colors.white, fontFamily: "Eurostile Round"),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8.0)),
border: Border.all(
+2 -2
View File
@@ -38,7 +38,7 @@ import 'package:tetra_stats/services/sqlite_db_controller.dart';
import 'package:csv/csv.dart';
const String dbName = "TetraStats.db";
const String webVersionDomain = "tsbeta.dan63.by";
const String webVersionDomain = "ts.dan63.by";
const String tetrioUsersTable = "tetrioUsers";
const String tetrioUsersToTrackTable = "tetrioUsersToTrack";
const String tetraLeagueMatchesTable = "tetrioAlphaLeagueMathces";
@@ -515,7 +515,7 @@ class TetrioService extends DB {
for (BetaRecord record in progress.avaliable){
List<MinomuncherRaw>? cached = _cache.get(record.id, List<MinomuncherRaw>);
if (cached != null){
progress.munched.add(cached.firstWhere((element) => element.nick == id));;
progress.munched.add(cached.firstWhere((element) => element.nick == id));
}else{
List<MinomuncherRaw> raw = await minomuncherPostReplay(await szyGetReplay(record.replayID));
progress.munched.add(raw.firstWhere((element) => element.nick == id));
-1
View File
@@ -28,7 +28,6 @@ import 'package:tetra_stats/widgets/clear_types_thingy.dart';
import 'package:tetra_stats/widgets/efficiency_ranges.dart';
import 'package:tetra_stats/widgets/error_thingy.dart';
import 'package:tetra_stats/widgets/future_error.dart';
import 'package:tetra_stats/widgets/gauget_thingy.dart';
import 'package:tetra_stats/widgets/graphs.dart';
import 'package:tetra_stats/widgets/kills_deaths_thingy.dart';
import 'package:tetra_stats/widgets/pps_distribution_thingy.dart';
+5 -3
View File
@@ -220,8 +220,9 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
return SfCartesianChart(
tooltipBehavior: _historyTooltipBehavior,
zoomPanBehavior: _zoomPanBehavior,
primaryXAxis: _gamesPlayedInsteadOfDateAndTime ? const NumericAxis() : const DateTimeAxis(),
primaryYAxis: const NumericAxis(
primaryXAxis: _gamesPlayedInsteadOfDateAndTime ? NumericAxis(majorGridLines: MajorGridLines(color: Colors.grey.shade800),) : DateTimeAxis(majorGridLines: MajorGridLines(color: Colors.grey.shade800),),
primaryYAxis: NumericAxis(
majorGridLines: MajorGridLines(color: Colors.grey.shade800),
rangePadding: ChartRangePadding.additional,
),
margin: const EdgeInsets.all(0),
@@ -280,7 +281,8 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
return SfCartesianChart(
tooltipBehavior: _tooltipBehavior,
zoomPanBehavior: _zoomPanBehavior,
//primaryXAxis: CategoryAxis(),
primaryXAxis: NumericAxis(majorGridLines: MajorGridLines(color: Colors.grey.shade800)),
primaryYAxis: NumericAxis(majorGridLines: MajorGridLines(color: Colors.grey.shade800)),
series: [
ScatterSeries(
enableTooltip: true,
+9 -10
View File
@@ -342,13 +342,7 @@ class _MainState extends State<MainView> with TickerProviderStateMixin {
});
},
onPerformDrop: (event) async {
// Called when user dropped the item. You can now request the data.
// Note that data must be requested before the performDrop callback
// is over.
print(event.session.items.first.platformFormats);
final item = event.session.items.first;
// data reader is available now
final reader = item.dataReader!;
if (reader.canProvide(Formats.fileUri)){
reader.getValue<Uri>(Formats.fileUri, (value) {
@@ -357,16 +351,21 @@ class _MainState extends State<MainView> with TickerProviderStateMixin {
var decodedReplay = jsonDecode(replay.readAsStringSync());
RawReplay rawReplay = RawReplay(decodedReplay['id'] ?? "none", replay.readAsBytesSync(), replay.readAsStringSync());
BetaRecord fromReplay = BetaRecord.fromJson(decodedReplay, r: rawReplay);
print('Dropped the thingy: ${fromReplay}');
Navigator.push(context, MaterialPageRoute(builder: (context) => TlMatchResultView(record: fromReplay, initPlayerId: decodedReplay['users'][0]['id']))); //Navigator.push(context, MaterialPageRoute(builder: (context) => TlMatchResultView(record: data[index], initPlayerId: userID)))
Navigator.push(context, MaterialPageRoute(builder: (context) => TlMatchResultView(record: fromReplay, initPlayerId: decodedReplay['users'][0]['id'])));
}
}, onError: (error) {
print('Error reading value $error');
});
}
if(reader.canProvide(Formats.json)){print("yo");}
else{
print("lox");
print(item);
reader.getFile(null, (value) async {
Uint8List content = await value.readAll();
RawReplay replay = RawReplay("none", content, String.fromCharCodes(content));
var decodedReplay = jsonDecode(replay.asString);
BetaRecord fromReplay = BetaRecord.fromJson(decodedReplay, r: replay);
Navigator.push(context, MaterialPageRoute(builder: (context) => TlMatchResultView(record: fromReplay, initPlayerId: decodedReplay['users'][0]['id'])));
}, onError: (object){print("ti pidor");});
}
},
child: SafeArea(
+7 -2
View File
@@ -43,13 +43,18 @@ class GaugetThingy extends StatelessWidget{
showLabels: false,
interval: tickInterval,
minorTicksPerInterval: 0,
majorTickStyle: MajorTickStyle(
thickness: 1.0,
color: Colors.grey.shade800
),
ranges:[
GaugeRange(startValue: 0, endValue: (value != null && !value!.isNaN) ? value! : 0, color: theme.colorScheme.primary)
GaugeRange(startValue: min, endValue: max, color: Colors.grey.shade800),
GaugeRange(startValue: 0, endValue: (value != null && !value!.isNaN) ? value! : 0, color: theme.colorScheme.primary),
],
annotations: [
GaugeAnnotation(widget: Container(child:
Text((value != null && !value!.isNaN) ? percentileFormat ? percentage.format(value) : f.format(value) : "---", textAlign: TextAlign.center, style: TextStyle(fontSize: 25, fontWeight: FontWeight.bold, color: (value != null && !value!.isNaN) ? getStatColor(value!, avgValue, moreIsBetter) : Colors.grey))),
angle: 90,positionFactor: 0.10
angle: 90,positionFactor: 0.0
),
GaugeAnnotation(widget: Container(child:
Text(label, textAlign: TextAlign.center, style: TextStyle(height: .9, color: (value != null && !value!.isNaN) ? null : Colors.grey))),
+16
View File
@@ -39,6 +39,14 @@ class NerdStatsThingy extends StatelessWidget{
centerY: 0.5,
minimum: 0,
maximum: 1,
majorTickStyle: MajorTickStyle(
thickness: 1.0,
color: Colors.grey.shade800
),
minorTickStyle: MinorTickStyle(
thickness: 1.0,
color: Colors.grey.shade800
),
ranges: [
GaugeRange(startValue: 0, endValue: 0.2, color: Colors.red),
GaugeRange(startValue: 0.2, endValue: 0.4, color: Colors.yellow),
@@ -82,6 +90,14 @@ class NerdStatsThingy extends StatelessWidget{
centerY: 0.5,
minimum: 1.8,
maximum: 2.4,
majorTickStyle: MajorTickStyle(
thickness: 1.0,
color: Colors.grey.shade800
),
minorTickStyle: MinorTickStyle(
thickness: 1.0,
color: Colors.grey.shade800
),
ranges: [
GaugeRange(startValue: 1.8, endValue: 2.0, color: Colors.green),
GaugeRange(startValue: 2.0, endValue: 2.2, color: Colors.blue),
+4 -2
View File
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart' hide Badge;
import 'package:syncfusion_flutter_charts/charts.dart';
import 'package:tetra_stats/data_objects/tetrio_constants.dart';
import 'package:tetra_stats/gen/strings.g.dart';
import 'package:tetra_stats/utils/numers_formats.dart';
@@ -23,8 +24,9 @@ class PPSDistributionThingy extends StatelessWidget{
child: Padding(
padding: const EdgeInsets.fromLTRB(16.0, 0.0, 16.0, 8.0),
child: SfCartesianChart(
primaryXAxis: NumericAxis(),
primaryYAxis: NumericAxis(numberFormat: percentage),
primaryXAxis: NumericAxis(majorGridLines: MajorGridLines(color: Colors.grey.shade800)),
primaryYAxis: NumericAxis(numberFormat: percentage, majorGridLines: MajorGridLines(color: Colors.grey.shade800)),
palette: lineClearsColors,
tooltipBehavior: TooltipBehavior(
enable: true,
color: Colors.black,
+1
View File
@@ -72,6 +72,7 @@ class TLProgress extends StatelessWidget{
maximum: 1,
interval: 1,
ranges: [
LinearGaugeRange(startValue: 0, endValue: 1, color: Colors.black, position: LinearElementPosition.cross),
if (previousRankTRcutoff != null && nextRankTRcutoff != null) LinearGaugeRange(endValue: getBarTR(tlData.tr)!, color: Theme.of(context).colorScheme.primary, position: LinearElementPosition.cross)
else if (tlData.standing != -1) LinearGaugeRange(endValue: getBarPosition(), color: Theme.of(context).colorScheme.primary, position: LinearElementPosition.cross),
if (previousRankTRcutoff != null && previousRankTRcutoffTarget != null) LinearGaugeRange(endValue: getBarTR(previousRankTRcutoffTarget!)!, color: Colors.greenAccent.withAlpha(175), position: LinearElementPosition.inside),
+2
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart' hide Badge;
import 'package:syncfusion_flutter_charts/charts.dart';
import 'package:tetra_stats/data_objects/minomuncher.dart';
import 'package:tetra_stats/data_objects/tetrio_constants.dart';
import 'package:tetra_stats/gen/strings.g.dart';
import 'package:tetra_stats/utils/numers_formats.dart';
@@ -20,6 +21,7 @@ class WellColumnsThingy extends StatelessWidget{
SfCartesianChart(
primaryXAxis: CategoryAxis(),
primaryYAxis: NumericAxis(numberFormat: percentage),
palette: lineClearsColors,
tooltipBehavior: TooltipBehavior(
enable: true,
color: Colors.black,
+4 -4
View File
@@ -8,7 +8,7 @@
#include <file_selector_linux/file_selector_plugin.h>
#include <irondash_engine_context/irondash_engine_context_plugin.h>
#include <screen_retriever/screen_retriever_plugin.h>
#include <screen_retriever_linux/screen_retriever_linux_plugin.h>
#include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h>
#include <super_native_extensions/super_native_extensions_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
@@ -21,9 +21,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) irondash_engine_context_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "IrondashEngineContextPlugin");
irondash_engine_context_plugin_register_with_registrar(irondash_engine_context_registrar);
g_autoptr(FlPluginRegistrar) screen_retriever_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverPlugin");
screen_retriever_plugin_register_with_registrar(screen_retriever_registrar);
g_autoptr(FlPluginRegistrar) screen_retriever_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverLinuxPlugin");
screen_retriever_linux_plugin_register_with_registrar(screen_retriever_linux_registrar);
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
+1 -1
View File
@@ -5,7 +5,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
file_selector_linux
irondash_engine_context
screen_retriever
screen_retriever_linux
sqlite3_flutter_libs
super_native_extensions
url_launcher_linux
@@ -6,11 +6,12 @@ import FlutterMacOS
import Foundation
import device_info_plus
import file_picker
import file_selector_macos
import irondash_engine_context
import package_info_plus
import path_provider_foundation
import screen_retriever
import screen_retriever_macos
import shared_preferences_foundation
import sqflite
import sqlite3_flutter_libs
@@ -20,11 +21,12 @@ import window_manager
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin"))
ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
+163 -123
View File
@@ -37,26 +37,26 @@ packages:
dependency: transitive
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
url: "https://pub.dev"
source: hosted
version: "2.11.0"
version: "2.13.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
version: "2.1.2"
characters:
dependency: transitive
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.dev"
source: hosted
version: "1.3.0"
version: "1.4.0"
checked_yaml:
dependency: transitive
description:
@@ -65,6 +65,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.3"
cli_config:
dependency: transitive
description:
name: cli_config
sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
url: "https://pub.dev"
source: hosted
version: "0.2.0"
cli_util:
dependency: transitive
description:
@@ -77,18 +85,18 @@ packages:
dependency: transitive
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev"
source: hosted
version: "1.18.0"
version: "1.19.1"
convert:
dependency: transitive
description:
@@ -101,18 +109,18 @@ packages:
dependency: transitive
description:
name: coverage
sha256: "576aaab8b1abdd452e0f656c3e73da9ead9d7880e15bdc494189d9c1a1baf0db"
sha256: "4b8701e48a58f7712492c9b1f7ba0bb9d525644dd66d023b62e1fc8cdb560c8a"
url: "https://pub.dev"
source: hosted
version: "1.9.0"
version: "1.14.0"
cross_file:
dependency: transitive
description:
name: cross_file
sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e
sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
url: "https://pub.dev"
source: hosted
version: "0.3.3+8"
version: "0.3.4+2"
crypto:
dependency: transitive
description:
@@ -125,10 +133,10 @@ packages:
dependency: "direct main"
description:
name: csv
sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e"
sha256: c6aa2679b2a18cb57652920f674488d89712efaf4d3fdf2e537215b35fc19d6c
url: "https://pub.dev"
source: hosted
version: "5.1.1"
version: "6.0.0"
cupertino_icons:
dependency: "direct main"
description:
@@ -149,10 +157,10 @@ packages:
dependency: transitive
description:
name: device_info_plus
sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110"
sha256: "72d146c6d7098689ff5c5f66bcf593ac11efc530095385356e131070333e64da"
url: "https://pub.dev"
source: hosted
version: "9.1.2"
version: "11.3.0"
device_info_plus_platform_interface:
dependency: transitive
description:
@@ -165,26 +173,26 @@ packages:
dependency: transitive
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7"
url: "https://pub.dev"
source: hosted
version: "2.0.5"
version: "2.0.7"
fake_async:
dependency: transitive
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
version: "1.3.3"
ffi:
dependency: transitive
description:
name: ffi
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.4"
file:
dependency: transitive
description:
@@ -197,10 +205,10 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: "1bbf65dd997458a08b531042ec3794112a6c39c07c37ff22113d2e7e4f81d4e4"
sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a
url: "https://pub.dev"
source: hosted
version: "6.2.1"
version: "10.2.0"
file_selector:
dependency: "direct main"
description:
@@ -253,10 +261,10 @@ packages:
dependency: transitive
description:
name: file_selector_web
sha256: c0f025d460de3301b7bbbf837fc8d0759df85f182c635f1dd94934b4cdc92352
sha256: c4c0ea4224d97a60a7067eca0c8fd419e708ff830e0c83b11a48faf566cec3e7
url: "https://pub.dev"
source: hosted
version: "0.9.3"
version: "0.9.4+2"
file_selector_windows:
dependency: transitive
description:
@@ -277,10 +285,10 @@ packages:
dependency: "direct main"
description:
name: fl_chart
sha256: "00b74ae680df6b1135bdbea00a7d1fc072a9180b7c3f3702e4b19a9943f5ed7d"
sha256: "577aeac8ca414c25333334d7c4bb246775234c0e44b38b10a82b559dd4d764e7"
url: "https://pub.dev"
source: hosted
version: "0.66.2"
version: "1.0.0"
flutter:
dependency: "direct main"
description: flutter
@@ -298,10 +306,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_launcher_icons
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7"
url: "https://pub.dev"
source: hosted
version: "0.13.1"
version: "0.14.4"
flutter_layout_grid:
dependency: "direct main"
description:
@@ -314,10 +322,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
url: "https://pub.dev"
source: hosted
version: "3.0.2"
version: "6.0.0"
flutter_localizations:
dependency: "direct main"
description: flutter
@@ -327,18 +335,18 @@ packages:
dependency: "direct main"
description:
name: flutter_markdown
sha256: "04c4722cc36ec5af38acc38ece70d22d3c2123c61305d555750a091517bbe504"
sha256: "08fb8315236099ff8e90cb87bb2b935e0a724a3af1623000a9cec930468e0f27"
url: "https://pub.dev"
source: hosted
version: "0.6.23"
version: "0.7.7+1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de"
sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
url: "https://pub.dev"
source: hosted
version: "2.0.21"
version: "2.0.28"
flutter_svg:
dependency: "direct main"
description:
@@ -385,18 +393,18 @@ packages:
dependency: "direct main"
description:
name: go_router
sha256: b465e99ce64ba75e61c8c0ce3d87b66d8ac07f0b35d0a7e0263fcfc10f99e836
sha256: ac294be30ba841830cfa146e5a3b22bb09f8dc5a0fdd9ca9332b04b0bde99ebf
url: "https://pub.dev"
source: hosted
version: "13.2.5"
version: "15.2.4"
http:
dependency: "direct main"
description:
name: http
sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
version: "1.4.0"
http_multi_server:
dependency: transitive
description:
@@ -425,10 +433,10 @@ packages:
dependency: "direct main"
description:
name: intl
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
url: "https://pub.dev"
source: hosted
version: "0.19.0"
version: "0.20.2"
io:
dependency: transitive
description:
@@ -449,10 +457,10 @@ packages:
dependency: transitive
description:
name: irondash_message_channel
sha256: dd581214215dca054bd9873209d690ec3609288c28774cb509dbd86b21180cf8
sha256: b4101669776509c76133b8917ab8cfc704d3ad92a8c450b92934dd8884a2f060
url: "https://pub.dev"
source: hosted
version: "0.6.0"
version: "0.7.0"
js:
dependency: transitive
description:
@@ -461,14 +469,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.6.7"
json2yaml:
dependency: transitive
description:
name: json2yaml
sha256: da94630fbc56079426fdd167ae58373286f603371075b69bf46d848d63ba3e51
url: "https://pub.dev"
source: hosted
version: "3.0.1"
json_annotation:
dependency: transitive
description:
@@ -481,18 +481,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
url: "https://pub.dev"
source: hosted
version: "10.0.4"
version: "10.0.9"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev"
source: hosted
version: "3.0.3"
version: "3.0.9"
leak_tracker_testing:
dependency: transitive
description:
@@ -505,10 +505,10 @@ packages:
dependency: transitive
description:
name: lints
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0
url: "https://pub.dev"
source: hosted
version: "3.0.0"
version: "6.0.0"
logging:
dependency: transitive
description:
@@ -529,26 +529,26 @@ packages:
dependency: transitive
description:
name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.dev"
source: hosted
version: "0.12.16+1"
version: "0.12.17"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
version: "0.8.0"
version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev"
source: hosted
version: "1.12.0"
version: "1.16.0"
mime:
dependency: transitive
description:
@@ -585,26 +585,26 @@ packages:
dependency: "direct main"
description:
name: package_info_plus
sha256: "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79"
sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191"
url: "https://pub.dev"
source: hosted
version: "5.0.1"
version: "8.3.0"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "3.2.0"
path:
dependency: "direct main"
description:
name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.dev"
source: hosted
version: "1.9.0"
version: "1.9.1"
path_parsing:
dependency: transitive
description:
@@ -717,6 +717,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
url: "https://pub.dev"
source: hosted
version: "1.5.0"
quiver:
dependency: transitive
description:
@@ -729,10 +737,42 @@ packages:
dependency: transitive
description:
name: screen_retriever
sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90"
sha256: "570dbc8e4f70bac451e0efc9c9bb19fa2d6799a11e6ef04f946d7886d2e23d0c"
url: "https://pub.dev"
source: hosted
version: "0.1.9"
version: "0.2.0"
screen_retriever_linux:
dependency: transitive
description:
name: screen_retriever_linux
sha256: f7f8120c92ef0784e58491ab664d01efda79a922b025ff286e29aa123ea3dd18
url: "https://pub.dev"
source: hosted
version: "0.2.0"
screen_retriever_macos:
dependency: transitive
description:
name: screen_retriever_macos
sha256: "71f956e65c97315dd661d71f828708bd97b6d358e776f1a30d5aa7d22d78a149"
url: "https://pub.dev"
source: hosted
version: "0.2.0"
screen_retriever_platform_interface:
dependency: transitive
description:
name: screen_retriever_platform_interface
sha256: ee197f4581ff0d5608587819af40490748e1e39e648d7680ecf95c05197240c0
url: "https://pub.dev"
source: hosted
version: "0.2.0"
screen_retriever_windows:
dependency: transitive
description:
name: screen_retriever_windows
sha256: "449ee257f03ca98a57288ee526a301a430a344a161f9202b4fcc38576716fe13"
url: "https://pub.dev"
source: hosted
version: "0.2.0"
shared_preferences:
dependency: "direct main"
description:
@@ -777,10 +817,10 @@ packages:
dependency: transitive
description:
name: shared_preferences_web
sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21"
sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019
url: "https://pub.dev"
source: hosted
version: "2.2.2"
version: "2.4.3"
shared_preferences_windows:
dependency: transitive
description:
@@ -825,23 +865,23 @@ packages:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
slang:
dependency: "direct main"
description:
name: slang
sha256: f68f6d6709890f85efabfb0318e9d694be2ebdd333e57fe5cb50eee449e4e3ab
sha256: "6668a08355b370d5cb5446fc869c4492ed23c6433934fe88228876460fedac22"
url: "https://pub.dev"
source: hosted
version: "3.31.1"
version: "4.7.2"
slang_flutter:
dependency: "direct main"
description:
name: slang_flutter
sha256: f8400292be49c11697d94af58d7f7d054c91af759f41ffe71e4e5413871ffc62
sha256: fff13b6fc8b0378ee23856c4f9fd7f8e2777b430090681f4d19ab14c47de9bc6
url: "https://pub.dev"
source: hosted
version: "3.31.0"
version: "4.7.0"
source_map_stack_trace:
dependency: transitive
description:
@@ -862,10 +902,10 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.10.1"
sprintf:
dependency: transitive
description:
@@ -926,74 +966,74 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
version: "1.12.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.4"
string_scanner:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
version: "1.4.1"
super_clipboard:
dependency: transitive
description:
name: super_clipboard
sha256: "15d25eb88df8e904e0c2ef77378c6010cc57bbfc0b6f91f2416d08fad5fcca92"
sha256: e73f3bb7e66cc9260efa1dc507f979138e7e106c3521e2dda2d0311f6d728a16
url: "https://pub.dev"
source: hosted
version: "0.8.5"
version: "0.9.1"
super_drag_and_drop:
dependency: "direct main"
description:
name: super_drag_and_drop
sha256: a4e32cecd293b51fb4831bbb541ee45e4a2dea14f88991eb7fe10271f4a779c5
sha256: "8946913a021cb617c35e36cfe57e8b817335643d7ee9bbc83d6e11760136bd1c"
url: "https://pub.dev"
source: hosted
version: "0.8.5"
version: "0.9.1"
super_native_extensions:
dependency: transitive
description:
name: super_native_extensions
sha256: f96db6b137a0b135e43034289bb55ca6447b65225076036e81f97ebb6381ffeb
sha256: b9611dcb68f1047d6f3ef11af25e4e68a21b1a705bbcc3eb8cb4e9f5c3148569
url: "https://pub.dev"
source: hosted
version: "0.8.5"
version: "0.9.1"
syncfusion_flutter_charts:
dependency: "direct main"
description:
name: syncfusion_flutter_charts
sha256: ab73109c586f5ec2b01adc2672026a1fb3f93b2b5f6061ba8d7126c119061002
sha256: f151e1bc5b9537e198cc072df4f1ee275f786fcaba841fe6881c7e08e8e37083
url: "https://pub.dev"
source: hosted
version: "24.2.9"
version: "30.1.37"
syncfusion_flutter_core:
dependency: transitive
description:
name: syncfusion_flutter_core
sha256: "7666506885ebc8f62bb928ad4588a73e20caaff2b2cf2b2b56f67d98f4113525"
sha256: b86e8e24fc44c6a2759adfebd02bf27f2954062e6f3bd52343faa16966039b85
url: "https://pub.dev"
source: hosted
version: "24.2.9"
version: "30.1.37"
syncfusion_flutter_gauges:
dependency: "direct main"
description:
name: syncfusion_flutter_gauges
sha256: "87be13e520fc1676a725691446f411f549ea5b6ff2580234db0479799f213757"
sha256: d022f8ecd50dfc4d621d7a56c90a69c1c33fe5e90101625f563eae582396f872
url: "https://pub.dev"
source: hosted
version: "24.2.9"
version: "30.1.37"
synchronized:
dependency: transitive
description:
@@ -1006,34 +1046,34 @@ packages:
dependency: transitive
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.dev"
source: hosted
version: "1.2.1"
version: "1.2.2"
test:
dependency: "direct dev"
description:
name: test
sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073"
sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e"
url: "https://pub.dev"
source: hosted
version: "1.25.2"
version: "1.25.15"
test_api:
dependency: transitive
description:
name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev"
source: hosted
version: "0.7.0"
version: "0.7.4"
test_core:
dependency: transitive
description:
name: test_core
sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4"
sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa"
url: "https://pub.dev"
source: hosted
version: "0.6.0"
version: "0.6.8"
transparent_image:
dependency: "direct main"
description:
@@ -1102,10 +1142,10 @@ packages:
dependency: transitive
description:
name: url_launcher_web
sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b
sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
url: "https://pub.dev"
source: hosted
version: "2.2.3"
version: "2.4.1"
url_launcher_windows:
dependency: transitive
description:
@@ -1158,10 +1198,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
url: "https://pub.dev"
source: hosted
version: "14.2.1"
version: "15.0.0"
watcher:
dependency: transitive
description:
@@ -1174,18 +1214,18 @@ packages:
dependency: transitive
description:
name: web
sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05"
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
url: "https://pub.dev"
source: hosted
version: "0.4.2"
version: "1.1.1"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
sha256: "939ab60734a4f8fa95feacb55804fa278de28bdeef38e616dc08e44a84adea23"
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
url: "https://pub.dev"
source: hosted
version: "2.4.3"
version: "2.4.0"
webkit_inspection_protocol:
dependency: transitive
description:
@@ -1198,10 +1238,10 @@ packages:
dependency: transitive
description:
name: win32
sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9"
sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03"
url: "https://pub.dev"
source: hosted
version: "5.5.3"
version: "5.14.0"
win32_registry:
dependency: transitive
description:
@@ -1214,10 +1254,10 @@ packages:
dependency: "direct main"
description:
name: window_manager
sha256: "8699323b30da4cdbe2aa2e7c9de567a6abd8a97d9a5c850a3c86dcd0b34bbfbf"
sha256: "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16"
url: "https://pub.dev"
source: hosted
version: "0.3.9"
version: "0.5.0"
xdg_directories:
dependency: transitive
description:
@@ -1243,5 +1283,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"
dart: ">=3.8.0 <4.0.0"
flutter: ">=3.27.4"
+15 -15
View File
@@ -28,32 +28,32 @@ dependencies:
sqflite_common_ffi_web: ">=0.1.0-dev.1"
path_provider: ^2.0.15
path: ^1.8.2
fl_chart: ^0.66.0
package_info_plus: ^5.0.1
fl_chart: ^1.0.0
package_info_plus: ^8.3.0
shared_preferences: ^2.1.1
intl: ^0.19.0
syncfusion_flutter_gauges: ^24.1.41
intl: ^0.20.2
syncfusion_flutter_gauges: ^30.1.37
file_selector: ^1.0.1
file_picker: ^6.1.1
slang: ^3.20.0
slang_flutter: ^3.20.0
csv: ^5.0.2
file_picker: ^10.2.0
slang: ^4.7.2
slang_flutter: ^4.7.0
csv: ^6.0.0
url_launcher: ^6.1.12
flutter_svg: any
window_manager: ^0.3.7
flutter_markdown: ^0.6.18
window_manager: ^0.5.0
flutter_markdown: ^0.7.7+1
flutter_colorpicker: ^1.0.3
flutter_layout_grid: ^2.0.0
go_router: ^13.0.0
syncfusion_flutter_charts: ^24.2.9
go_router: ^15.2.4
syncfusion_flutter_charts: ^30.1.37
flutter_to_debian: ^2.0.2
super_drag_and_drop: ^0.8.5
super_drag_and_drop: ^0.9.1
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^3.0.1
flutter_launcher_icons: "^0.13.1"
flutter_lints: ^6.0.0
flutter_launcher_icons: ^0.14.4
test: ^1.24.9
flutter_launcher_icons:
+212 -193
View File
@@ -1,193 +1,212 @@
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="$FLUTTER_BASE_HREF">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="Track your and other player stats in TETR.IO. Made by dan63047">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="tetra_stats">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<title>Tetra Stats</title>
<link rel="manifest" href="manifest.json">
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = null;
</script>
<style>
@font-face {
font-family: 'Eurostile Round';
src: local('Eurostile Round Medium'), local('EurostileRound-Medium'), url('https://dan63.by/static/EurostileRound-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Eurostile Round Extended';
src: local('Eurostile Round Extended Regular'), local('EurostileRoundExtended-Regular'), url('https://dan63.by/static/EurostileRoundExtended-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Eurostile Round Extended';
src: local('Eurostile Round Extended Black'), local('EurostileRoundExtended-Black'), url('https://dan63.by/static/EurostileRoundExtended-Black.ttf') format('truetype');
font-weight: 900;
font-style: normal;
}
@keyframes breathing {
from{
opacity: 1;
}
to{
opacity: 0.3;
}
}
*{
margin: 0;
padding: 0;
}
body{
display: flex;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
background-color: #000;
color: #fff;
font-family: 'Eurostile Round';
font-weight: 500;
font-style: normal;
}
a{
color: aqua;
}
#preloader{
display: flex;
width: fit-content;
height: fit-content;
align-items: center;
justify-content: center;
background-color: #111;
border-radius: 24px;
padding: 8px;
background-image: linear-gradient(240deg, #0000009e, transparent);
}
.hidden{
display: none!important;
}
.title{
font-family: "Eurostile Round Extended";
font-weight: 100;
padding-bottom: 8px;
}
.subtitle{
color: grey;
}
.logo{
height: 128px;
padding-right: 8px;
border-radius: 24px;
}
#progress{
padding-top: 8px;
animation: 1s cubic-bezier(.46,.03,.52,.96) infinite alternate breathing;
}
.error{
color: red;
}
#tip{
position: absolute;
bottom: 5%;
color: gray;
text-align: center;
}
@media (max-width: 502px){
#preloader{
flex-direction: column;
text-align: center;
}
}
</style>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js?version=2.0.8" defer></script>
</head>
<body>
<div id="preloader">
<img class="logo" src="icons/Icon-192.png" alt="Tetra Stats icon">
<div>
<h1 class="title">Tetra Stats</h1>
<p class="subtitle">Track your and other player stats in TETR.IO.<br>Made by dan63047</p>
<p id="progress">Loading...</p>
</div>
</div>
<p id="tip"></p>
<script>
window.addEventListener('load', function(ev) {
let progress = document.querySelector("#progress");
let preloader = document.querySelector("#preloader");
let tip = document.querySelector("#tip");
const tips = [
// Promoting Tetra Stats "native"
"Did you know, that mobile browsers suck?<br>Fortunately, <a href=\"https://github.com/dan63047/TetraStats/releases\">we have a solution</a>",
"Imagine a world, where Tetra Stats was written in JS",
"Did you know, that Flutter for web sucks?",
"Welcome to fullscreen canvas",
// An actual tips
"You can interact with most objects that have an accent color",
"Like Sheetbot graphs? Go to Settings → Customization",
"Click and hold on line chart graph, then start dragging to zoom in",
"Discord userID ≠ Discord username. It should look like a bunch of digits",
// :droidsmile:
"Is she real?",
"Stats doesn't matter that much, you know...",
"Check out <a href=\"https://github.com/dan63047/TetraStats/wiki\">wiki</a> for more information"
];
tip.innerHTML = tips[Math.floor(Math.random() * tips.length)];
try{
// Download main.dart.js
_flutter.loader.loadEntrypoint({
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
},
onEntrypointLoaded: async function(engineInitializer) {
console.log(serviceWorkerVersion);
progress.innerHTML = "Booting...";
let appRunner = await engineInitializer.initializeEngine();
await appRunner.runApp();
preloader.classList.add("hidden");
tip.classList.add("hidden");
}
});
} catch (e){
progress.classList.add("error");
document.getAnimations()[0].cancel();
progress.innerHTML = "fuck: "+e;
}
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="$FLUTTER_BASE_HREF" />
<meta charset="UTF-8" />
<meta content="IE=Edge" http-equiv="X-UA-Compatible" />
<meta
name="description"
content="Track your and other player stats in TETR.IO. Made by dan63047"
/>
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-title" content="tetra_stats" />
<link rel="apple-touch-icon" href="icons/Icon-192.png" />
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png" />
<script>var serviceWorkerVersion = null;</script>
<title>Tetra Stats</title>
<link rel="manifest" href="manifest.json" />
<style>
@font-face {
font-family: "Eurostile Round";
src:
local("Eurostile Round Medium"),
local("EurostileRound-Medium"),
url("https://dan63.by/static/EurostileRound-Medium.ttf")
format("truetype");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: "Eurostile Round Extended";
src:
local("Eurostile Round Extended Regular"),
local("EurostileRoundExtended-Regular"),
url("https://dan63.by/static/EurostileRoundExtended-Regular.ttf")
format("truetype");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "Eurostile Round Extended";
src:
local("Eurostile Round Extended Black"),
local("EurostileRoundExtended-Black"),
url("https://dan63.by/static/EurostileRoundExtended-Black.ttf")
format("truetype");
font-weight: 900;
font-style: normal;
}
@keyframes breathing {
from {
opacity: 1;
}
to {
opacity: 0.3;
}
}
* {
margin: 0;
padding: 0;
}
body {
display: flex;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
background-color: #000;
color: #fff;
font-family: "Eurostile Round";
font-weight: 500;
font-style: normal;
}
a {
color: aqua;
}
#preloader {
display: flex;
width: fit-content;
height: fit-content;
align-items: center;
justify-content: center;
background-color: #111;
border-radius: 24px;
padding: 8px;
background-image: linear-gradient(
240deg,
#0000009e,
transparent
);
}
.hidden {
display: none !important;
}
.title {
font-family: "Eurostile Round Extended";
font-weight: 100;
padding-bottom: 8px;
}
.subtitle {
color: grey;
}
.logo {
height: 128px;
padding-right: 8px;
border-radius: 24px;
}
#progress {
padding-top: 8px;
animation: 1s cubic-bezier(0.46, 0.03, 0.52, 0.96) infinite
alternate breathing;
}
.error {
color: red;
}
#tip {
position: absolute;
bottom: 5%;
color: gray;
text-align: center;
}
@media (max-width: 502px) {
#preloader {
flex-direction: column;
text-align: center;
}
}
</style>
</head>
<body>
<div id="preloader">
<img class="logo" src="icons/Icon-192.png" alt="Tetra Stats icon" />
<div>
<h1 class="title">Tetra Stats</h1>
<p class="subtitle">
Track your and other player stats in TETR.IO.<br />Made by
dan63047
</p>
<p id="progress">Loading...</p>
</div>
</div>
<p id="tip"></p>
<script>
{{flutter_js}}
{{flutter_build_config}}
window.addEventListener("load", function (ev) {
let progress = document.querySelector("#progress");
let preloader = document.querySelector("#preloader");
let tip = document.querySelector("#tip");
const tips = [
// Promoting Tetra Stats "native"
'Did you know, that mobile browsers suck?<br>Fortunately, <a href="https://github.com/dan63047/TetraStats/releases">we have a solution</a>',
"Imagine a world, where Tetra Stats was written in JS",
"Did you know, that Flutter for web sucks?",
"Welcome to fullscreen canvas",
// An actual tips
"You can interact with most objects that have an accent color",
"Like Sheetbot graphs? Go to Settings → Customization",
"Click and hold on line chart graph, then start dragging to zoom in",
"Discord userID ≠ Discord username. It should look like a bunch of digits",
// :droidsmile:
"Is she real?",
"Stats doesn't matter that much, you know...",
'Check out <a href="https://github.com/dan63047/TetraStats/wiki">wiki</a> for more information',
];
tip.innerHTML = tips[Math.floor(Math.random() * tips.length)];
try {
// Download main.dart.js
_flutter.loader.load({
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
},
onEntrypointLoaded: async function (engineInitializer) {
console.log(serviceWorkerVersion);
progress.innerHTML = "Booting...";
let appRunner =
await engineInitializer.initializeEngine();
await appRunner.runApp();
preloader.classList.add("hidden");
tip.classList.add("hidden");
},
});
} catch (e) {
progress.classList.add("error");
document.getAnimations()[0].cancel();
progress.innerHTML = "fuck: " + e;
}
});
</script>
</body>
</html>
@@ -8,7 +8,7 @@
#include <file_selector_windows/file_selector_windows.h>
#include <irondash_engine_context/irondash_engine_context_plugin_c_api.h>
#include <screen_retriever/screen_retriever_plugin.h>
#include <screen_retriever_windows/screen_retriever_windows_plugin_c_api.h>
#include <sqlite3_flutter_libs/sqlite3_flutter_libs_plugin.h>
#include <super_native_extensions/super_native_extensions_plugin_c_api.h>
#include <url_launcher_windows/url_launcher_windows.h>
@@ -19,8 +19,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("FileSelectorWindows"));
IrondashEngineContextPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("IrondashEngineContextPluginCApi"));
ScreenRetrieverPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ScreenRetrieverPlugin"));
ScreenRetrieverWindowsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi"));
Sqlite3FlutterLibsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
SuperNativeExtensionsPluginCApiRegisterWithRegistrar(
+1 -1
View File
@@ -5,7 +5,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
file_selector_windows
irondash_engine_context
screen_retriever
screen_retriever_windows
sqlite3_flutter_libs
super_native_extensions
url_launcher_windows