mirror of
https://github.com/jagandeepbrar/lunasea.git
synced 2026-08-31 04:32:32 +00:00
fix: Update packages, remove font_awesome_flutter, add derry script descriptions (#475)
* fix(dev): Add descriptions to all derry scripts * Removing from blackbox: vendor/font_awesome_flutter/icons.json * Removing from blackbox: vendor/font_awesome_flutter/lib/fonts/fa-brands-400.ttf * Removing from blackbox: vendor/font_awesome_flutter/lib/fonts/fa-duotone-900.ttf * Removing from blackbox: vendor/font_awesome_flutter/lib/fonts/fa-light-300.ttf * Removing from blackbox: vendor/font_awesome_flutter/lib/fonts/fa-regular-400.ttf * Removing from blackbox: vendor/font_awesome_flutter/lib/fonts/fa-solid-900.ttf * fix(vendor): Remove font_awesome_flutter * fix(flutter): Update packages * fix(syntax): Sort import ordering
This commit is contained in:
@@ -4,9 +4,3 @@ android/key.properties
|
||||
ios/ExportOptions.plist
|
||||
ios/GoogleService-Info.plist
|
||||
macos/GoogleService-Info.plist
|
||||
vendor/font_awesome_flutter/icons.json
|
||||
vendor/font_awesome_flutter/lib/fonts/fa-brands-400.ttf
|
||||
vendor/font_awesome_flutter/lib/fonts/fa-duotone-900.ttf
|
||||
vendor/font_awesome_flutter/lib/fonts/fa-light-300.ttf
|
||||
vendor/font_awesome_flutter/lib/fonts/fa-regular-400.ttf
|
||||
vendor/font_awesome_flutter/lib/fonts/fa-solid-900.ttf
|
||||
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -55,10 +55,4 @@ coverage/
|
||||
/ios/ExportOptions.plist
|
||||
/ios/GoogleService-Info.plist
|
||||
/macos/GoogleService-Info.plist
|
||||
/vendor/font_awesome_flutter/lib/fonts/fa-brands-400.ttf
|
||||
/vendor/font_awesome_flutter/lib/fonts/fa-duotone-900.ttf
|
||||
/vendor/font_awesome_flutter/lib/fonts/fa-light-300.ttf
|
||||
/vendor/font_awesome_flutter/lib/fonts/fa-regular-400.ttf
|
||||
/vendor/font_awesome_flutter/lib/fonts/fa-solid-900.ttf
|
||||
/vendor/font_awesome_flutter/lib/fonts/fa-thin-100.ttf
|
||||
/vendor/font_awesome_flutter/icons.json
|
||||
|
||||
121
derry.yaml
121
derry.yaml
@@ -1,41 +1,108 @@
|
||||
blackbox:
|
||||
admins: blackbox_list_admins
|
||||
decrypt: blackbox_postdeploy
|
||||
files: blackbox_list_files
|
||||
shred: blackbox_shred_all_files
|
||||
update: blackbox_update_all_files
|
||||
admins:
|
||||
(description): Blackbox - List Admins
|
||||
(execution): once
|
||||
(scripts):
|
||||
- blackbox_list_admins
|
||||
decrypt:
|
||||
(description): Blackbox - Decrypt Encrypted Files
|
||||
(execution): once
|
||||
(scripts):
|
||||
- blackbox_postdeploy
|
||||
files:
|
||||
(description): Blackbox - List Encrypted Files
|
||||
(execution): once
|
||||
(scripts):
|
||||
- blackbox_list_files
|
||||
shred:
|
||||
(description): Blackbox - Safely Delete Decrypted Files
|
||||
(execution): once
|
||||
(scripts):
|
||||
- blackbox_shred_all_files
|
||||
update:
|
||||
(description): Blackbox - Decrypt & Re-Encrypt Tracked Files
|
||||
(execution): once
|
||||
(scripts):
|
||||
- blackbox_update_all_files
|
||||
build:
|
||||
android:
|
||||
apk: ./scripts/build/apk.sh
|
||||
aab: ./scripts/build/aab.sh
|
||||
apk:
|
||||
(description): Build (Android) - Build Split APKs
|
||||
(execution): once
|
||||
(scripts):
|
||||
- ./scripts/build/apk.sh
|
||||
aab:
|
||||
(description): Build (Android) - Build Appbundle
|
||||
(execution): once
|
||||
(scripts):
|
||||
- ./scripts/build/aab.sh
|
||||
ios:
|
||||
ipa: ./scripts/build/ipa.sh
|
||||
ipa:
|
||||
(description): Build (iOS) - Build IPA
|
||||
(execution): once
|
||||
(scripts):
|
||||
- ./scripts/build/ipa.sh
|
||||
archive:
|
||||
- flutter clean
|
||||
- flutter build ios
|
||||
(description): Build (iOS) - Build Xcode Archive
|
||||
(execution): once
|
||||
(scripts):
|
||||
- flutter clean
|
||||
- flutter build ios
|
||||
macos:
|
||||
archive:
|
||||
- flutter clean
|
||||
- flutter build macos
|
||||
(description): Build (iOS) - Build Xcode Archive
|
||||
(execution): once
|
||||
(scripts):
|
||||
- flutter clean
|
||||
- flutter build macos
|
||||
cocoapods:
|
||||
clearcache:
|
||||
- rm -rf ~/Library/Caches/CocoaPods
|
||||
- rm -rf ~/Library/Developer/Xcode/DerivedData/*
|
||||
(description): Cocoapods - Delete Cache & Derived Data
|
||||
(execution): multiple
|
||||
(scripts):
|
||||
- rm -rf ~/Library/Caches/CocoaPods
|
||||
- rm -rf ~/Library/Developer/Xcode/DerivedData/*
|
||||
nuke:
|
||||
ios:
|
||||
- cd ./ios && rm -rf Pods/
|
||||
- cd ./ios && pod deintegrate
|
||||
- cd ./ios && pod setup
|
||||
- cd ./ios && pod install
|
||||
(description): Cocoapods - Reintegrate & Reinstall iOS Pods
|
||||
(execution): once
|
||||
(scripts):
|
||||
- cd ./ios && rm -rf Pods/
|
||||
- cd ./ios && pod deintegrate
|
||||
- cd ./ios && pod setup
|
||||
- cd ./ios && pod install
|
||||
macos:
|
||||
- cd ./macos && rm -rf Pods/
|
||||
- cd ./macos && pod deintegrate
|
||||
- cd ./macos && pod setup
|
||||
- cd ./macos && pod install
|
||||
(description): Cocoapods - Reintegrate & Reinstall macOS Pods
|
||||
(execution): once
|
||||
(scripts):
|
||||
- cd ./macos && rm -rf Pods/
|
||||
- cd ./macos && pod deintegrate
|
||||
- cd ./macos && pod setup
|
||||
- cd ./macos && pod install
|
||||
coverage:
|
||||
create: flutter test --coverage
|
||||
upload: bash <(curl -s https://codecov.io/bash)
|
||||
create:
|
||||
(description): Coverage - Create Coverage Report
|
||||
(execution): once
|
||||
(scripts):
|
||||
- flutter test --coverage
|
||||
upload:
|
||||
(description): Coverage - Upload to Codecov
|
||||
(execution): once
|
||||
(scripts):
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
generate:
|
||||
assets: spider build
|
||||
runner: flutter packages pub run build_runner build --delete-conflicting-outputs
|
||||
localization: dart ./scripts/generate/localization.dart
|
||||
assets:
|
||||
(description): Generator - Asset Tree
|
||||
(execution): once
|
||||
(scripts):
|
||||
- spider build
|
||||
runner:
|
||||
(description): Generator - Build Runner
|
||||
(execution): once
|
||||
(scripts):
|
||||
- flutter packages pub run build_runner build --delete-conflicting-outputs
|
||||
localization:
|
||||
(description): Generator - Localizations
|
||||
(execution): once
|
||||
(scripts):
|
||||
- dart ./scripts/generate/localization.dart
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules.dart';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class LunaState {
|
||||
LunaState._();
|
||||
|
||||
@@ -4,8 +4,8 @@ import 'package:file_selector_platform_interface/file_selector_platform_interfac
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
|
||||
class LunaFileSystem {
|
||||
/// Export a given byte array to the filesystem.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:google_nav_bar/google_nav_bar.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_nav_bar/google_nav_bar.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
|
||||
class LunaBottomNavigationBar extends StatefulWidget {
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
import 'dart:ui' show lerpDouble;
|
||||
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
|
||||
/// A list whose items the user can interactively reorder by dragging.
|
||||
///
|
||||
|
||||
@@ -3,8 +3,8 @@ import 'package:flutter/services.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/dashboard.dart';
|
||||
import 'package:table_calendar/table_calendar.dart';
|
||||
import 'package:simple_gesture_detector/simple_gesture_detector.dart';
|
||||
import 'package:table_calendar/table_calendar.dart';
|
||||
|
||||
class DashboardCalendarWidget extends StatefulWidget {
|
||||
final Map<DateTime, List> events;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
|
||||
class LidarrAlbumData {
|
||||
final Map<String, dynamic> api = Database.currentProfileObject.getLidarr();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/lidarr.dart';
|
||||
import 'package:lunasea/modules/dashboard.dart';
|
||||
import 'package:lunasea/modules/lidarr.dart';
|
||||
|
||||
class LidarrReleasesTile extends StatefulWidget {
|
||||
final LidarrReleaseData release;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:lunasea/modules/nzbget.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
class NZBGetHistory extends StatefulWidget {
|
||||
static const ROUTE_NAME = '/nzbget/history';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:lunasea/modules/nzbget.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
class NZBGetAppBarStats extends StatelessWidget {
|
||||
@override
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:lunasea/modules/nzbget.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
class NZBGetQueueFAB extends StatefulWidget {
|
||||
final ScrollController scrollController;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'dart:math';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/nzbget.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
|
||||
class NZBGetQueueTile extends StatefulWidget {
|
||||
final int index;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/radarr.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/radarr.dart';
|
||||
|
||||
class RadarrQueueRouter extends RadarrPageRouter {
|
||||
RadarrQueueRouter() : super('/radarr/queue');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:lunasea/modules/sabnzbd.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
class SABnzbdHistory extends StatefulWidget {
|
||||
static const ROUTE_NAME = '/sabnzbd/history';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:lunasea/modules/sabnzbd.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
class SABnzbdAppBarStats extends StatelessWidget {
|
||||
@override
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:lunasea/modules/sabnzbd.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
class SABnzbdQueueFAB extends StatefulWidget {
|
||||
final ScrollController scrollController;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'dart:math';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/sabnzbd.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
|
||||
class SABnzbdQueueTile extends StatefulWidget {
|
||||
final int index;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
|
||||
class NewznabResultData {
|
||||
String title;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
import 'package:lunasea/modules/settings.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
|
||||
class SettingsConfigurationSonarrConnectionDetailsRouter
|
||||
extends SettingsPageRouter {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
import 'package:lunasea/modules/settings.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
|
||||
class SettingsConfigurationSonarrDefaultPagesRouter extends SettingsPageRouter {
|
||||
SettingsConfigurationSonarrDefaultPagesRouter()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
import 'package:lunasea/modules/settings.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
|
||||
class SettingsConfigurationSonarrDefaultSortingRouter
|
||||
extends SettingsPageRouter {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/modules/settings.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class SettingsConfigurationTautulliConnectionDetailsRouter
|
||||
extends SettingsPageRouter {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/modules/settings.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class SettingsConfigurationTautulliDefaultPagesRouter
|
||||
extends SettingsPageRouter {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:fluro/fluro.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/modules/settings.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class SettingsConfigurationTautulliRouter extends SettingsPageRouter {
|
||||
SettingsConfigurationTautulliRouter()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:expandable/expandable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/sonarr.dart';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
extension TautulliActivityExtension on TautulliActivity {
|
||||
String get lunaSessionsHeader {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
extension TautulliHistoryRecordExtension on TautulliHistoryRecord {
|
||||
String get lsFullTitle => [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'dart:math';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
|
||||
class TautulliActivityTile extends StatelessWidget {
|
||||
final TautulliSession session;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliIPAddressDetailsState extends ChangeNotifier {
|
||||
final String ipAddress;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliLogsLoginsState extends ChangeNotifier {
|
||||
TautulliLogsLoginsState(BuildContext context) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliLogsNewslettersState extends ChangeNotifier {
|
||||
TautulliLogsNewslettersState(BuildContext context) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliLogsNotificationsState extends ChangeNotifier {
|
||||
TautulliLogsNotificationsState(BuildContext context) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliLogsPlexMediaScannerState extends ChangeNotifier {
|
||||
TautulliLogsPlexMediaScannerState(BuildContext context) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliLogsPlexMediaServerState extends ChangeNotifier {
|
||||
TautulliLogsPlexMediaServerState(BuildContext context) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
import 'package:lunasea/core.dart';
|
||||
import 'package:lunasea/modules/tautulli.dart';
|
||||
|
||||
class TautulliLogsTautulliState extends ChangeNotifier {
|
||||
TautulliLogsTautulliState(BuildContext context) {
|
||||
|
||||
150
pubspec.lock
150
pubspec.lock
@@ -7,14 +7,14 @@ packages:
|
||||
name: _fe_analyzer_shared
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "21.0.0"
|
||||
version: "22.0.0"
|
||||
analyzer:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: analyzer
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.5.0"
|
||||
version: "1.7.0"
|
||||
archive:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -23,33 +23,33 @@ packages:
|
||||
source: hosted
|
||||
version: "3.1.2"
|
||||
args:
|
||||
dependency: transitive
|
||||
dependency: "direct overridden"
|
||||
description:
|
||||
name: args
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.1"
|
||||
asn1lib:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: asn1lib
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.0.2"
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.6.0"
|
||||
version: "2.7.0"
|
||||
badges:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: badges
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "2.0.1"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -63,7 +63,7 @@ packages:
|
||||
name: build
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.2"
|
||||
build_config:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -84,7 +84,7 @@ packages:
|
||||
name: build_resolvers
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.3"
|
||||
build_runner:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -105,14 +105,14 @@ packages:
|
||||
name: built_collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.0.0"
|
||||
version: "5.1.0"
|
||||
built_value:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: built_value
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.0.5"
|
||||
version: "8.1.0"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -126,7 +126,7 @@ packages:
|
||||
name: charcode
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.3.1"
|
||||
checked_yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -140,7 +140,7 @@ packages:
|
||||
name: cli_util
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.0"
|
||||
version: "0.3.1"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -189,14 +189,14 @@ packages:
|
||||
name: convert
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
coverage:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: coverage
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.2"
|
||||
version: "1.0.3"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -245,7 +245,7 @@ packages:
|
||||
name: effective_dart
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.1"
|
||||
version: "1.3.2"
|
||||
encrypt:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -259,7 +259,7 @@ packages:
|
||||
name: equatable
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.3"
|
||||
expandable:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -273,21 +273,21 @@ packages:
|
||||
name: ffi
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.1.2"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.0"
|
||||
version: "6.1.2"
|
||||
file_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: file_picker
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.0.3"
|
||||
file_selector_macos:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -315,119 +315,119 @@ packages:
|
||||
name: firebase_analytics
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.0.3"
|
||||
version: "8.1.2"
|
||||
firebase_analytics_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_analytics_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.1"
|
||||
firebase_analytics_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_analytics_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.0"
|
||||
version: "0.3.0+1"
|
||||
firebase_auth:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_auth
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.3"
|
||||
version: "2.0.0"
|
||||
firebase_auth_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_auth_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.2.1"
|
||||
version: "5.0.0"
|
||||
firebase_auth_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_auth_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.1"
|
||||
version: "2.0.0"
|
||||
firebase_core:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
version: "1.3.0"
|
||||
firebase_core_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_core_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
version: "4.0.1"
|
||||
firebase_core_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_core_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.2"
|
||||
version: "1.1.0"
|
||||
firebase_crashlytics:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_crashlytics
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.7"
|
||||
firebase_crashlytics_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_crashlytics_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
version: "3.0.6"
|
||||
firebase_messaging:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_messaging
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "9.1.3"
|
||||
version: "10.0.3"
|
||||
firebase_messaging_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_messaging_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
version: "3.0.2"
|
||||
firebase_messaging_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_messaging_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.6"
|
||||
version: "2.0.2"
|
||||
firebase_storage:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: firebase_storage
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.0.5"
|
||||
version: "9.0.0"
|
||||
firebase_storage_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_storage_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "3.0.0"
|
||||
firebase_storage_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: firebase_storage_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.5"
|
||||
version: "2.0.0"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -441,7 +441,7 @@ packages:
|
||||
name: fl_chart
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.36.0"
|
||||
version: "0.36.2"
|
||||
flash:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -479,14 +479,14 @@ packages:
|
||||
name: flutter_native_splash
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.8+4"
|
||||
version: "1.2.0"
|
||||
flutter_plugin_android_lifecycle:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.2"
|
||||
flutter_spinkit:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -540,7 +540,7 @@ packages:
|
||||
name: hive_flutter
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.1.0"
|
||||
hive_generator:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -554,7 +554,7 @@ packages:
|
||||
name: http
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.13.2"
|
||||
version: "0.13.3"
|
||||
http_multi_server:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -589,7 +589,7 @@ packages:
|
||||
name: infinite_scroll_pagination
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.0.1+1"
|
||||
intl:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -638,7 +638,7 @@ packages:
|
||||
name: meta
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.4.0"
|
||||
mime:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -673,7 +673,7 @@ packages:
|
||||
name: node_preamble
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.1"
|
||||
overseerr:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -694,14 +694,14 @@ packages:
|
||||
name: package_info_plus
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.3"
|
||||
package_info_plus_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
package_info_plus_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -722,14 +722,14 @@ packages:
|
||||
name: package_info_plus_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
package_info_plus_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -743,7 +743,7 @@ packages:
|
||||
name: path_provider
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.2"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -778,7 +778,7 @@ packages:
|
||||
name: pedantic
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.11.0"
|
||||
version: "1.11.1"
|
||||
percent_indicator:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -792,7 +792,7 @@ packages:
|
||||
name: petitparser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.1.0"
|
||||
version: "4.2.0"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -813,7 +813,7 @@ packages:
|
||||
name: pointycastle
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.1.3"
|
||||
pool:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -855,7 +855,7 @@ packages:
|
||||
name: quick_actions
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.0+1"
|
||||
version: "0.6.0+2"
|
||||
quick_actions_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -883,21 +883,21 @@ packages:
|
||||
name: share_plus
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.1.4"
|
||||
share_plus_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.3"
|
||||
share_plus_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.2"
|
||||
share_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -911,21 +911,21 @@ packages:
|
||||
name: share_plus_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.4"
|
||||
share_plus_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.0.3"
|
||||
shared_preferences:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.0.6"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -967,7 +967,7 @@ packages:
|
||||
name: shelf
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.1"
|
||||
version: "1.1.4"
|
||||
shelf_packages_handler:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1007,7 +1007,7 @@ packages:
|
||||
name: sliver_tools
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.2"
|
||||
version: "0.2.5"
|
||||
sonarr:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1021,7 +1021,7 @@ packages:
|
||||
name: source_gen
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.0.2"
|
||||
source_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1098,7 +1098,7 @@ packages:
|
||||
name: table_calendar
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
tautulli:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1119,21 +1119,21 @@ packages:
|
||||
name: test
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.17.3"
|
||||
version: "1.17.9"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.0"
|
||||
version: "0.4.1"
|
||||
test_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.23"
|
||||
version: "0.3.29"
|
||||
timing:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1168,7 +1168,7 @@ packages:
|
||||
name: url_launcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.3"
|
||||
version: "6.0.8"
|
||||
url_launcher_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1189,14 +1189,14 @@ packages:
|
||||
name: url_launcher_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.0.3"
|
||||
url_launcher_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.0.1"
|
||||
url_launcher_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1224,7 +1224,7 @@ packages:
|
||||
name: vm_service
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.2.0"
|
||||
version: "7.1.0"
|
||||
wake_on_lan:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1245,7 +1245,7 @@ packages:
|
||||
name: web_socket_channel
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
version: "2.1.0"
|
||||
webkit_inspection_protocol:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1259,7 +1259,7 @@ packages:
|
||||
name: win32
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.2.4"
|
||||
window_size:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1282,7 +1282,7 @@ packages:
|
||||
name: xml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.1.0"
|
||||
version: "5.1.2"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1291,5 +1291,5 @@ packages:
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
sdks:
|
||||
dart: ">=2.12.0 <3.0.0"
|
||||
dart: ">=2.13.0 <3.0.0"
|
||||
flutter: ">=2.0.0"
|
||||
|
||||
103
pubspec.yaml
103
pubspec.yaml
@@ -8,69 +8,70 @@ environment:
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
badges: ^1.2.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
cloud_firestore: ^1.0.7 # ANDROID IOS MACOS WEB
|
||||
convert: ^3.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
dio: ^4.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
easy_localization: ^3.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
effective_dart: ^1.3.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
encrypt: ^5.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
expandable: ^5.0.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
file_picker: ^3.0.1 # ANDROID IOS WEB
|
||||
file_selector_macos: ^0.0.4 # MACOS
|
||||
file_selector_platform_interface: ^2.0.2 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
firebase_analytics: ^8.0.3 # ANDROID IOS WEB
|
||||
firebase_auth: ^1.1.3 # ANDROID IOS MACOS WEB
|
||||
firebase_core: ^1.1.0 # ANDROID IOS MACOS WEB
|
||||
firebase_crashlytics: ^2.0.2 # ANDROID IOS MACOS
|
||||
firebase_messaging: ^9.1.3 # ANDROID IOS MACOS WEB
|
||||
firebase_storage: ^8.0.5 # ANDROID IOS MACOS WEB
|
||||
flash: 1.5.2 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
fluro: ^2.0.3 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
flutter_spinkit: ^5.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
fl_chart: ^0.36.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
# font_awesome_flutter: # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
# path: vendor/font_awesome_flutter
|
||||
google_nav_bar: ^5.0.5 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
hive: ^2.0.4 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
hive_flutter: ^1.0.0 # ANDROID IOS LINUX MACOS WINDOWS
|
||||
in_app_purchase: ^0.5.2 # ANDROID IOS
|
||||
infinite_scroll_pagination: ^3.0.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
intl: ^0.17.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
modal_bottom_sheet: ^2.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
overseerr: ^0.0.1-pre.5 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
package_info_plus: ^1.0.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
path_provider: ^2.0.1 # ANDROID IOS LINUX MACOS WINDOWS
|
||||
percent_indicator: ^3.0.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
provider: ^5.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
quick_actions: ^0.6.0+1 # ANDROID IOS
|
||||
radarr: ^2.1.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
share_plus: ^2.0.3 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
sonarr: ^2.0.1 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
stack_trace: ^1.10.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
supercharged: ^2.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
table_calendar: ^3.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
tautulli: ^2.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
tuple: ^2.0.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
url_launcher: ^6.0.3 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
uuid: ^3.0.4 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
wake_on_lan: ^2.0.1+1 # ANDROID IOS LINUX MACOS WINDOWS
|
||||
window_size: # LINUX MACOS WINDOWS
|
||||
badges: ^2.0.1
|
||||
cloud_firestore: ^1.0.7
|
||||
convert: ^3.0.1
|
||||
dio: ^4.0.0
|
||||
easy_localization: ^3.0.0
|
||||
effective_dart: ^1.3.2
|
||||
encrypt: ^5.0.0
|
||||
expandable: ^5.0.1
|
||||
file_picker: ^3.0.3
|
||||
file_selector_macos: ^0.0.4
|
||||
file_selector_platform_interface: ^2.0.2
|
||||
firebase_analytics: ^8.1.2
|
||||
firebase_auth: ^2.0.0
|
||||
firebase_core: ^1.3.0
|
||||
firebase_crashlytics: ^2.0.7
|
||||
firebase_messaging: ^10.0.3
|
||||
firebase_storage: ^9.0.0
|
||||
flash: 1.5.2
|
||||
fluro: ^2.0.3
|
||||
flutter_spinkit: ^5.0.0
|
||||
fl_chart: ^0.36.2
|
||||
google_nav_bar: ^5.0.5
|
||||
hive: ^2.0.4
|
||||
hive_flutter: ^1.1.0
|
||||
in_app_purchase: ^0.5.2
|
||||
infinite_scroll_pagination: ^3.0.1+1
|
||||
intl: ^0.17.0
|
||||
modal_bottom_sheet: ^2.0.0
|
||||
overseerr: ^0.0.1-pre.5
|
||||
package_info_plus: ^1.0.3
|
||||
path_provider: ^2.0.1
|
||||
percent_indicator: ^3.0.1
|
||||
provider: ^5.0.0
|
||||
quick_actions: ^0.6.0+2
|
||||
radarr: ^2.1.1
|
||||
share_plus: ^2.1.4
|
||||
sonarr: ^2.0.1
|
||||
stack_trace: ^1.10.0
|
||||
supercharged: ^2.0.0
|
||||
table_calendar: ^3.0.1
|
||||
tautulli: ^2.0.0
|
||||
tuple: ^2.0.0
|
||||
url_launcher: ^6.0.3
|
||||
uuid: ^3.0.4
|
||||
wake_on_lan: ^2.0.1+1
|
||||
window_size:
|
||||
git:
|
||||
url: git://github.com/google/flutter-desktop-embedding.git
|
||||
path: plugins/window_size
|
||||
ref: 57a2cd88486105d3d813583339eb0e23c9bfd6d2
|
||||
xml: ^5.1.0 # ANDROID IOS LINUX MACOS WEB WINDOWS
|
||||
xml: ^5.1.2
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: ^1.12.2
|
||||
coverage: ^1.0.2
|
||||
coverage: ^1.0.3
|
||||
flutter_launcher_icons: ^0.9.0
|
||||
flutter_native_splash: ^1.1.8+4
|
||||
flutter_native_splash: ^1.2.0
|
||||
hive_generator: ^1.1.0
|
||||
mockito: ^5.0.7
|
||||
test: ^1.17.3
|
||||
|
||||
dependency_overrides:
|
||||
args: ^2.1.1
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
assets:
|
||||
|
||||
12
vendor/font_awesome_flutter/.gitignore
vendored
12
vendor/font_awesome_flutter/.gitignore
vendored
@@ -1,12 +0,0 @@
|
||||
.DS_Store
|
||||
.atom/
|
||||
.idea
|
||||
.packages
|
||||
.dart_tool/
|
||||
.pub/
|
||||
build/
|
||||
ios/.generated/
|
||||
packages
|
||||
pubspec.lock
|
||||
.flutter-plugins
|
||||
local.properties
|
||||
23
vendor/font_awesome_flutter/LICENSE
vendored
23
vendor/font_awesome_flutter/LICENSE
vendored
@@ -1,23 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Brian Egan
|
||||
Font Awesome Icons by @fontawesome - https://fontawesome.com
|
||||
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
BIN
vendor/font_awesome_flutter/icons.json.gpg
vendored
BIN
vendor/font_awesome_flutter/icons.json.gpg
vendored
Binary file not shown.
52408
vendor/font_awesome_flutter/lib/font_awesome_flutter.dart
vendored
52408
vendor/font_awesome_flutter/lib/font_awesome_flutter.dart
vendored
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,71 +0,0 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:font_awesome_flutter/src/fa_icon.dart';
|
||||
import 'package:font_awesome_flutter/src/icon_data.dart';
|
||||
|
||||
/// Special icon style which can have two colors
|
||||
class FaDuotoneIcon extends StatelessWidget {
|
||||
/// The icon to display. The available icons are described in
|
||||
/// [FontAwesomeIcons]. Applicable icons start with "duotone".
|
||||
final IconDataDuotone icon;
|
||||
|
||||
/// The font size of the icon.
|
||||
///
|
||||
/// Defaults to the current [IconTheme] size, if any. If there is no
|
||||
/// [IconTheme], or it does not specify an explicit size, then it defaults to
|
||||
/// 24.0.
|
||||
///
|
||||
/// If this [FaIcon] is being placed inside an [IconButton], then use
|
||||
/// [IconButton.iconSize] instead, so that the [IconButton] can make the
|
||||
/// splash area the appropriate size as well. The [IconButton] uses an
|
||||
/// [IconTheme] to pass down the size to the [FaIcon].
|
||||
final double? size;
|
||||
|
||||
/// Color used for the icon's main body
|
||||
final Color? primaryColor;
|
||||
|
||||
/// Color used for the icon's accents
|
||||
final Color? secondaryColor;
|
||||
|
||||
/// Semantic label for the icon.
|
||||
///
|
||||
/// Announced in accessibility modes (e.g TalkBack/VoiceOver).
|
||||
/// This label does not show in the UI.
|
||||
///
|
||||
/// See also:
|
||||
///
|
||||
/// * [Semantics.label], which is set to [semanticLabel] in the underlying
|
||||
/// [Semantics] widget.
|
||||
final String? semanticLabel;
|
||||
|
||||
const FaDuotoneIcon(
|
||||
this.icon, {
|
||||
Key? key,
|
||||
this.size,
|
||||
this.primaryColor,
|
||||
this.secondaryColor,
|
||||
this.semanticLabel,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Semantics(
|
||||
label: semanticLabel,
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
FaIcon(
|
||||
icon,
|
||||
size: size,
|
||||
color: primaryColor,
|
||||
key: Key("primaryGlyph"),
|
||||
),
|
||||
FaIcon(
|
||||
icon.secondary,
|
||||
size: size,
|
||||
color: secondaryColor,
|
||||
key: Key("secondaryGlyph"),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
148
vendor/font_awesome_flutter/lib/src/fa_icon.dart
vendored
148
vendor/font_awesome_flutter/lib/src/fa_icon.dart
vendored
@@ -1,148 +0,0 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
|
||||
/// Creates an Icon Widget that works for non-material Icons, such as the
|
||||
/// Font Awesome Icons.
|
||||
///
|
||||
/// The default `Icon` Widget from the Material package assumes all Icons are
|
||||
/// square in size and wraps all Icons in a square SizedBox Widget. Icons from
|
||||
/// the FontAwesome package are often wider than they are tall, which causes
|
||||
/// alignment and cutoff issues.
|
||||
///
|
||||
/// This Widget does not wrap the icons in a fixed square box, which allows the
|
||||
/// icons to render based on their size.
|
||||
class FaIcon extends StatelessWidget {
|
||||
/// Creates an icon.
|
||||
///
|
||||
/// The [size] and [color] default to the value given by the current [IconTheme].
|
||||
const FaIcon(
|
||||
this.icon, {
|
||||
Key? key,
|
||||
this.size,
|
||||
this.color,
|
||||
this.semanticLabel,
|
||||
this.textDirection,
|
||||
}) : assert(icon != null),
|
||||
super(key: key);
|
||||
|
||||
/// The icon to display. The available icons are described in
|
||||
/// [FontAwesomeIcons].
|
||||
final IconData? icon;
|
||||
|
||||
/// The font size of the icon.
|
||||
///
|
||||
/// Defaults to the current [IconTheme] size, if any. If there is no
|
||||
/// [IconTheme], or it does not specify an explicit size, then it defaults to
|
||||
/// 24.0.
|
||||
///
|
||||
/// If this [FaIcon] is being placed inside an [IconButton], then use
|
||||
/// [IconButton.iconSize] instead, so that the [IconButton] can make the
|
||||
/// splash area the appropriate size as well. The [IconButton] uses an
|
||||
/// [IconTheme] to pass down the size to the [FaIcon].
|
||||
final double? size;
|
||||
|
||||
/// The color to use when drawing the icon.
|
||||
///
|
||||
/// Defaults to the current [IconTheme] color, if any.
|
||||
///
|
||||
/// The given color will be adjusted by the opacity of the current
|
||||
/// [IconTheme], if any.
|
||||
final Color? color;
|
||||
|
||||
/// Semantic label for the icon.
|
||||
///
|
||||
/// Announced in accessibility modes (e.g TalkBack/VoiceOver).
|
||||
/// This label does not show in the UI.
|
||||
///
|
||||
/// See also:
|
||||
///
|
||||
/// * [Semantics.label], which is set to [semanticLabel] in the underlying
|
||||
/// [Semantics] widget.
|
||||
final String? semanticLabel;
|
||||
|
||||
/// The text direction to use for rendering the icon.
|
||||
///
|
||||
/// If this is null, the ambient [Directionality] is used instead.
|
||||
///
|
||||
/// Some icons follow the reading direction. For example, "back" buttons point
|
||||
/// left in left-to-right environments and right in right-to-left
|
||||
/// environments. Such icons have their [IconData.matchTextDirection] field
|
||||
/// set to true, and the [FaIcon] widget uses the [textDirection] to determine
|
||||
/// the orientation in which to draw the icon.
|
||||
///
|
||||
/// This property has no effect if the [icon]'s [IconData.matchTextDirection]
|
||||
/// field is false, but for consistency a text direction value must always be
|
||||
/// specified, either directly using this property or using [Directionality].
|
||||
final TextDirection? textDirection;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
assert(this.textDirection != null || debugCheckHasDirectionality(context));
|
||||
final TextDirection textDirection =
|
||||
this.textDirection ?? Directionality.of(context);
|
||||
|
||||
final IconThemeData iconTheme = IconTheme.of(context);
|
||||
|
||||
final double? iconSize = size ?? iconTheme.size;
|
||||
|
||||
if (icon == null) {
|
||||
return Semantics(
|
||||
label: semanticLabel,
|
||||
child: SizedBox(width: iconSize, height: iconSize),
|
||||
);
|
||||
}
|
||||
|
||||
final double iconOpacity = iconTheme.opacity ?? 1.0;
|
||||
Color iconColor = color ?? iconTheme.color!;
|
||||
if (iconOpacity != 1.0)
|
||||
iconColor = iconColor.withOpacity(iconColor.opacity * iconOpacity);
|
||||
|
||||
Widget iconWidget = RichText(
|
||||
overflow: TextOverflow.visible, // Never clip.
|
||||
textDirection:
|
||||
textDirection, // Since we already fetched it for the assert...
|
||||
text: TextSpan(
|
||||
text: String.fromCharCode(icon!.codePoint),
|
||||
style: TextStyle(
|
||||
inherit: false,
|
||||
color: iconColor,
|
||||
fontSize: iconSize,
|
||||
fontFamily: icon!.fontFamily,
|
||||
package: icon!.fontPackage,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
if (icon!.matchTextDirection) {
|
||||
switch (textDirection) {
|
||||
case TextDirection.rtl:
|
||||
iconWidget = Transform(
|
||||
transform: Matrix4.identity()..scale(-1.0, 1.0, 1.0),
|
||||
alignment: Alignment.center,
|
||||
transformHitTests: false,
|
||||
child: iconWidget,
|
||||
);
|
||||
break;
|
||||
case TextDirection.ltr:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Semantics(
|
||||
label: semanticLabel,
|
||||
child: ExcludeSemantics(
|
||||
child: iconWidget,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
|
||||
super.debugFillProperties(properties);
|
||||
properties.add(
|
||||
IconDataProperty('icon', icon, ifNull: '<empty>', showName: false));
|
||||
properties.add(DoubleProperty('size', size, defaultValue: null));
|
||||
properties.add(ColorProperty('color', color, defaultValue: null));
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
library font_awesome_flutter;
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
/// [IconData] for a font awesome brand icon from a code point
|
||||
///
|
||||
/// Code points can be obtained from fontawesome.com
|
||||
class IconDataBrands extends IconData {
|
||||
const IconDataBrands(int codePoint)
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'FontAwesomeBrands',
|
||||
fontPackage: 'font_awesome_flutter',
|
||||
);
|
||||
}
|
||||
|
||||
/// [IconData] for a font awesome solid icon from a code point
|
||||
///
|
||||
/// Code points can be obtained from fontawesome.com
|
||||
class IconDataSolid extends IconData {
|
||||
const IconDataSolid(int codePoint)
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'FontAwesomeSolid',
|
||||
fontPackage: 'font_awesome_flutter',
|
||||
);
|
||||
}
|
||||
|
||||
/// [IconData] for a font awesome regular icon from a code point
|
||||
///
|
||||
/// Code points can be obtained from fontawesome.com
|
||||
class IconDataRegular extends IconData {
|
||||
const IconDataRegular(int codePoint)
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'FontAwesomeRegular',
|
||||
fontPackage: 'font_awesome_flutter',
|
||||
);
|
||||
}
|
||||
|
||||
/// [IconData] for a font awesome light icon from a code point. Only works if
|
||||
/// light icons (font awesome pro) have been installed.
|
||||
///
|
||||
/// Code points can be obtained from fontawesome.com
|
||||
class IconDataLight extends IconData {
|
||||
const IconDataLight(int codePoint)
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'FontAwesomeLight',
|
||||
fontPackage: 'font_awesome_flutter',
|
||||
);
|
||||
}
|
||||
|
||||
/// [IconData] for a font awesome duotone icon from a code point. Only works if
|
||||
/// duotone icons (font awesome pro) have been installed.
|
||||
///
|
||||
/// Code points can be obtained from fontawesome.com. Each duotone icon consists
|
||||
/// of a primary [codePoint] and a [secondary].
|
||||
class IconDataDuotone extends IconData {
|
||||
/// Secondary glyph of the duotone icon
|
||||
///
|
||||
/// Due to tree-shaking restraints [secondary] cannot be the codepoint itself,
|
||||
/// but has to be an [IconData] object.
|
||||
final IconData? secondary;
|
||||
|
||||
const IconDataDuotone(int codePoint, {this.secondary})
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'FontAwesomeDuotone',
|
||||
fontPackage: 'font_awesome_flutter',
|
||||
);
|
||||
}
|
||||
|
||||
/// [IconData] for a font awesome thin icon from a code point. Only works if
|
||||
/// thin icons (font awesome pro, v6+) have been installed.
|
||||
///
|
||||
/// Code points can be obtained from fontawesome.com
|
||||
class IconDataThin extends IconData {
|
||||
const IconDataThin(int codePoint)
|
||||
: super(
|
||||
codePoint,
|
||||
fontFamily: 'FontAwesomeThin',
|
||||
fontPackage: 'font_awesome_flutter',
|
||||
);
|
||||
}
|
||||
49
vendor/font_awesome_flutter/pubspec.yaml
vendored
49
vendor/font_awesome_flutter/pubspec.yaml
vendored
@@ -1,49 +0,0 @@
|
||||
name: font_awesome_flutter
|
||||
description: The Font Awesome Icon pack available as Flutter Icons. Provides 1500 additional icons to use in your apps.
|
||||
maintainer: Michael Spiss (@michaelspiss)
|
||||
homepage: https://github.com/fluttercommunity/font_awesome_flutter
|
||||
version: 9.0.0
|
||||
|
||||
environment:
|
||||
sdk: ">=2.12.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
dev_dependencies:
|
||||
recase: ^4.0.0-nullsafety
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
version: ^2.0.0
|
||||
|
||||
flutter:
|
||||
fonts:
|
||||
- family: FontAwesomeBrands
|
||||
fonts:
|
||||
- asset: lib/fonts/fa-brands-400.ttf
|
||||
weight: 400
|
||||
- family: FontAwesomeRegular
|
||||
fonts:
|
||||
- asset: lib/fonts/fa-regular-400.ttf
|
||||
weight: 400
|
||||
- family: FontAwesomeSolid
|
||||
fonts:
|
||||
- asset: lib/fonts/fa-solid-900.ttf
|
||||
weight: 900
|
||||
# Uncomment the following lines to support pro icons
|
||||
- family: FontAwesomeLight
|
||||
fonts:
|
||||
- asset: lib/fonts/fa-light-300.ttf
|
||||
weight: 300
|
||||
# Leave commented out if you don't own duotone icons
|
||||
- family: FontAwesomeDuotone
|
||||
fonts:
|
||||
- asset: lib/fonts/fa-duotone-900.ttf
|
||||
weight: 900
|
||||
# Thin style is available in font awesome pro 6 and beyond
|
||||
# Leave commented out if you don't own version 6
|
||||
- family: FontAwesomeThin
|
||||
fonts:
|
||||
- asset: lib/fonts/fa-thin-100.ttf
|
||||
weight: 100
|
||||
@@ -1,87 +0,0 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:recase/recase.dart';
|
||||
|
||||
const Map<String, String> nameAdjustments = {
|
||||
"500px": "fiveHundredPx",
|
||||
"360-degrees": "threeHundredSixtyDegrees",
|
||||
"1": "one",
|
||||
"2": "two",
|
||||
"3": "three",
|
||||
"4": "four",
|
||||
"5": "five",
|
||||
"6": "six",
|
||||
"7": "seven",
|
||||
"8": "eight",
|
||||
"9": "nine",
|
||||
"0": "zero",
|
||||
};
|
||||
|
||||
void main(List<String> arguments) {
|
||||
var file = new File(arguments.first);
|
||||
|
||||
if (!file.existsSync()) {
|
||||
print('Cannot find the file "${arguments.first}".');
|
||||
}
|
||||
|
||||
var content = file.readAsStringSync();
|
||||
Map<String, dynamic> icons = json.decode(content);
|
||||
|
||||
Map<String, String> iconDefinitions = {};
|
||||
|
||||
for (String iconName in icons.keys) {
|
||||
var icon = icons[iconName];
|
||||
|
||||
// At least one icon does not have a glyph in the font files. This property
|
||||
// is marked with "private": true in icons.json
|
||||
if ((icon as Map<String, dynamic>).containsKey('private') &&
|
||||
icon['private']) continue;
|
||||
|
||||
List<String> styles = (icon['styles'] as List).cast<String>();
|
||||
|
||||
if (styles.length > 1) {
|
||||
if (styles.contains('regular')) {
|
||||
styles.remove('regular');
|
||||
iconDefinitions[iconName] = generateExampleIcon(iconName);
|
||||
}
|
||||
|
||||
for (String style in styles) {
|
||||
String name = '${style}_$iconName';
|
||||
iconDefinitions[name] = generateExampleIcon(name);
|
||||
}
|
||||
} else {
|
||||
iconDefinitions[iconName] = generateExampleIcon(iconName);
|
||||
}
|
||||
}
|
||||
|
||||
List<String> generatedOutput = [
|
||||
'',
|
||||
"import 'package:font_awesome_flutter/font_awesome_flutter.dart';",
|
||||
"import 'package:font_awesome_flutter_example/example_icon.dart';",
|
||||
'',
|
||||
'// THIS FILE IS AUTOMATICALLY GENERATED!',
|
||||
'',
|
||||
'final icons = <ExampleIcon>[',
|
||||
];
|
||||
|
||||
generatedOutput.addAll(iconDefinitions.values);
|
||||
|
||||
generatedOutput.add('];');
|
||||
|
||||
File output = new File('example/lib/icons.dart');
|
||||
output.writeAsStringSync(generatedOutput.join('\n'));
|
||||
}
|
||||
|
||||
String generateExampleIcon(String iconName) {
|
||||
if (nameAdjustments.containsKey(iconName)) {
|
||||
iconName = nameAdjustments[iconName]!;
|
||||
}
|
||||
|
||||
iconName = new ReCase(iconName).camelCase;
|
||||
if (iconName.contains('duotone')) {
|
||||
return " ExampleIcon(null, FontAwesomeIcons.$iconName, '$iconName'),";
|
||||
} else {
|
||||
return " ExampleIcon(FontAwesomeIcons.$iconName, null, '$iconName'),";
|
||||
}
|
||||
}
|
||||
204
vendor/font_awesome_flutter/tool/generate_font.dart
vendored
204
vendor/font_awesome_flutter/tool/generate_font.dart
vendored
@@ -1,204 +0,0 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:recase/recase.dart';
|
||||
import 'package:version/version.dart';
|
||||
|
||||
const Map<String, String> nameAdjustments = {
|
||||
"500px": "fiveHundredPx",
|
||||
"360-degrees": "threeHundredSixtyDegrees",
|
||||
"1": "one",
|
||||
"2": "two",
|
||||
"3": "three",
|
||||
"4": "four",
|
||||
"5": "five",
|
||||
"6": "six",
|
||||
"7": "seven",
|
||||
"8": "eight",
|
||||
"9": "nine",
|
||||
"0": "zero",
|
||||
};
|
||||
|
||||
void main(List<String> arguments) {
|
||||
var file = new File(arguments.first);
|
||||
|
||||
if (!file.existsSync()) {
|
||||
print('Cannot find the file "${arguments.first}".');
|
||||
}
|
||||
|
||||
var content = file.readAsStringSync();
|
||||
Map<String, dynamic> icons = json.decode(content);
|
||||
|
||||
Map<String, String> iconDefinitions = {};
|
||||
|
||||
bool hasDuotone = false;
|
||||
|
||||
// figure out current version
|
||||
Version highestVersion = Version.parse("0.0.0");
|
||||
|
||||
for (String iconName in icons.keys) {
|
||||
var icon = icons[iconName];
|
||||
|
||||
// At least one icon does not have a glyph in the font files. This property
|
||||
// is marked with "private": true in icons.json
|
||||
if ((icon as Map<String, dynamic>).containsKey('private') &&
|
||||
icon['private']) continue;
|
||||
|
||||
// compute highest version
|
||||
var changes = (icon["changes"] as List);
|
||||
|
||||
List<Version> versions = changes.map((v) {
|
||||
// since font awesome does not adhere to semver standards
|
||||
var partsCount = v.split(".").length;
|
||||
if (partsCount == 1) {
|
||||
return v + ".0.0";
|
||||
} else if (partsCount == 2) {
|
||||
return v + ".0";
|
||||
} else if (partsCount == 3) {
|
||||
return v;
|
||||
} else {
|
||||
return "0.0.0";
|
||||
}
|
||||
}).map((v) {
|
||||
try {
|
||||
return Version.parse(v);
|
||||
} on FormatException {
|
||||
return Version.parse("0.0.0");
|
||||
}
|
||||
}).toList(growable: true)
|
||||
..add(highestVersion)
|
||||
..sort();
|
||||
|
||||
highestVersion = versions.last;
|
||||
|
||||
var unicode = icon['unicode'];
|
||||
List<String> styles = (icon['styles'] as List).cast<String>();
|
||||
|
||||
if (styles.length > 1) {
|
||||
if (styles.contains('regular')) {
|
||||
styles.remove('regular');
|
||||
iconDefinitions[iconName] = generateIconDefinition(
|
||||
iconName,
|
||||
'regular',
|
||||
unicode,
|
||||
icon["search"]["terms"],
|
||||
icon["label"],
|
||||
);
|
||||
}
|
||||
|
||||
if (styles.contains('duotone')) {
|
||||
hasDuotone = true;
|
||||
}
|
||||
|
||||
for (String style in styles) {
|
||||
String name = '${style}_$iconName';
|
||||
iconDefinitions[name] = generateIconDefinition(
|
||||
name,
|
||||
style,
|
||||
unicode,
|
||||
icon["search"]["terms"],
|
||||
icon["label"],
|
||||
);
|
||||
}
|
||||
} else {
|
||||
iconDefinitions[iconName] = generateIconDefinition(
|
||||
iconName,
|
||||
styles.first,
|
||||
unicode,
|
||||
icon["search"]["terms"],
|
||||
icon["label"],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<String> generatedOutput = [
|
||||
'library font_awesome_flutter;',
|
||||
'',
|
||||
"import 'package:flutter/widgets.dart';",
|
||||
"import 'package:font_awesome_flutter/src/icon_data.dart';",
|
||||
"export 'package:font_awesome_flutter/src/fa_icon.dart';",
|
||||
"export 'package:font_awesome_flutter/src/icon_data.dart';",
|
||||
"export 'package:font_awesome_flutter/src/fa_duotone_icon.dart';",
|
||||
];
|
||||
|
||||
if (hasDuotone) {
|
||||
generatedOutput
|
||||
.add("export 'package:font_awesome_flutter/src/fa_duotone_icon.dart';");
|
||||
}
|
||||
|
||||
generatedOutput.addAll([
|
||||
'',
|
||||
'// THIS FILE IS AUTOMATICALLY GENERATED!',
|
||||
'',
|
||||
'/// Icons based on font awesome $highestVersion',
|
||||
'class FontAwesomeIcons {',
|
||||
]);
|
||||
|
||||
generatedOutput.addAll(iconDefinitions.values);
|
||||
|
||||
generatedOutput.add('}');
|
||||
|
||||
File output = new File('lib/font_awesome_flutter.dart');
|
||||
output.writeAsStringSync(generatedOutput.join('\n'));
|
||||
}
|
||||
|
||||
String generateIconDocumentation(
|
||||
String iconName, String style, List searchTerms, String iconLabel) {
|
||||
searchTerms = searchTerms;
|
||||
var searchTermsString = searchTerms.toString();
|
||||
searchTermsString =
|
||||
searchTermsString.substring(1, searchTermsString.length - 1);
|
||||
|
||||
iconName = iconName.replaceFirst("solid_", "");
|
||||
|
||||
var doc = '/// ${style.sentenceCase} $iconLabel icon\n'
|
||||
'///\n'
|
||||
'/// https://fontawesome.com/icons/$iconName?style=$style';
|
||||
|
||||
if (searchTermsString.length != 0) {
|
||||
doc += '\n/// $searchTermsString';
|
||||
}
|
||||
|
||||
return doc;
|
||||
}
|
||||
|
||||
String generateIconDefinition(String iconName, String style, String unicode,
|
||||
List searchTerms, String iconLabel) {
|
||||
if (style == 'duotone') {
|
||||
return generateDuotoneIconDefinition(
|
||||
iconName, unicode, searchTerms, iconLabel);
|
||||
}
|
||||
|
||||
String doc =
|
||||
generateIconDocumentation(iconName, style, searchTerms, iconLabel);
|
||||
|
||||
iconName = normalizeIconName(iconName);
|
||||
String iconDataSource = styleToDataSource(style);
|
||||
|
||||
return '$doc\nstatic const IconData $iconName = const $iconDataSource(0x$unicode);';
|
||||
}
|
||||
|
||||
String generateDuotoneIconDefinition(String iconName, String primaryUnicode,
|
||||
List searchTerms, String iconLabel) {
|
||||
String doc =
|
||||
generateIconDocumentation(iconName, "duotone", searchTerms, iconLabel);
|
||||
|
||||
iconName = normalizeIconName(iconName);
|
||||
String secondaryUnicode = (int.parse(primaryUnicode, radix: 16) + 0x100000)
|
||||
.toRadixString(16)
|
||||
.toString();
|
||||
|
||||
return '$doc\nstatic const IconDataDuotone $iconName = const IconDataDuotone(0x$primaryUnicode, secondary: const IconDataDuotone(0x$secondaryUnicode),);';
|
||||
}
|
||||
|
||||
String normalizeIconName(String iconName) {
|
||||
iconName = nameAdjustments[iconName] ?? iconName;
|
||||
|
||||
return new ReCase(iconName).camelCase;
|
||||
}
|
||||
|
||||
String styleToDataSource(String style) {
|
||||
style = '${style[0].toUpperCase()}${style.substring(1)}';
|
||||
|
||||
return 'IconData$style';
|
||||
}
|
||||
25
vendor/font_awesome_flutter/tool/update.bat
vendored
25
vendor/font_awesome_flutter/tool/update.bat
vendored
@@ -1,25 +0,0 @@
|
||||
@echo off
|
||||
|
||||
if exist icons.json (
|
||||
echo Custom icons.json found, using local data only.
|
||||
|
||||
dart .\tool\generate_font.dart .\icons.json
|
||||
dart .\tool\generate_example.dart .\icons.json
|
||||
) else (
|
||||
echo Updating free icons to newest version.
|
||||
pushd lib\fonts
|
||||
|
||||
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/webfonts/fa-brands-400.ttf', 'fa-brands-400.ttf')"
|
||||
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/webfonts/fa-regular-400.ttf', 'fa-regular-400.ttf')"
|
||||
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/webfonts/fa-solid-900.ttf', 'fa-solid-900.ttf')"
|
||||
|
||||
popd
|
||||
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/metadata/icons.json', 'icons.json')"
|
||||
|
||||
dart .\tool\generate_font.dart .\icons.json
|
||||
dart .\tool\generate_example.dart .\icons.json
|
||||
del "icons.json" /f /q
|
||||
)
|
||||
|
||||
dartfmt -w .\lib\font_awesome_flutter.dart & ^
|
||||
dartfmt -w .\example\lib\icons.dart
|
||||
29
vendor/font_awesome_flutter/tool/update.sh
vendored
29
vendor/font_awesome_flutter/tool/update.sh
vendored
@@ -1,29 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
if [ -e ./icons.json ];
|
||||
then
|
||||
echo "Custom icons.json found, using local data only."
|
||||
|
||||
dart ./tool/generate_font.dart ./icons.json
|
||||
dart ./tool/generate_example.dart ./icons.json
|
||||
dartfmt -w ./lib/font_awesome_flutter.dart
|
||||
dartfmt -w ./example/lib/icons.dart
|
||||
|
||||
else
|
||||
echo "Updating icons to newest version."
|
||||
pushd lib/fonts/
|
||||
|
||||
curl -O -L "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/webfonts/fa-brands-400.ttf"
|
||||
curl -O -L "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/webfonts/fa-regular-400.ttf"
|
||||
curl -O -L "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/webfonts/fa-solid-900.ttf"
|
||||
|
||||
popd
|
||||
|
||||
curl -o /tmp/icons.json "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/metadata/icons.json"
|
||||
|
||||
dart ./tool/generate_font.dart /tmp/icons.json
|
||||
dart ./tool/generate_example.dart /tmp/icons.json
|
||||
dartfmt -w ./lib/font_awesome_flutter.dart
|
||||
dartfmt -w ./example/lib/icons.dart
|
||||
|
||||
rm /tmp/icons.json
|
||||
fi
|
||||
Reference in New Issue
Block a user