Merge pull request #336 from LemmurOrg/feat/flutter-3
This commit is contained in:
commit
44cd556fef
|
@ -69,7 +69,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: subosito/flutter-action@v1
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
|
||||
|
@ -91,10 +91,6 @@ jobs:
|
|||
sudo apt-get update -y
|
||||
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev
|
||||
|
||||
- name: Enable linux support
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
flutter build linux --release --target lib/main_prod.dart
|
||||
|
|
|
@ -90,10 +90,6 @@ jobs:
|
|||
sudo apt-get update -y
|
||||
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev
|
||||
|
||||
- name: Enable linux support
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
flutter build linux --release --target lib/main_prod.dart
|
||||
|
|
|
@ -44,11 +44,7 @@ The apk will be in `build/app/outputs/flutter-apk/app-prod-release.apk`
|
|||
### Linux
|
||||
|
||||
1. Make sure you have the additional [linux requirements](https://flutter.dev/desktop#additional-linux-requirements) (verify with `flutter doctor`)
|
||||
2. Enable linux desktop:
|
||||
```sh
|
||||
flutter config --enable-linux-desktop
|
||||
```
|
||||
3. Build: `flutter build linux --target lib/main_prod.dart --release`
|
||||
2. Build: `flutter build linux --target lib/main_prod.dart --release`
|
||||
|
||||
The executable will be in `build/linux/x64/release/bundle/lemmur` (be aware, however, that this executable is not standalone)
|
||||
|
||||
|
|
|
@ -112,12 +112,15 @@ linter:
|
|||
- unnecessary_string_interpolations
|
||||
- unnecessary_this
|
||||
- unrelated_type_equality_checks
|
||||
- use_colored_box
|
||||
- use_enums
|
||||
- use_full_hex_values_for_flutter_colors
|
||||
- use_is_even_rather_than_modulo
|
||||
- use_named_constants
|
||||
- use_raw_strings
|
||||
- use_rethrow_when_possible
|
||||
- use_setters_to_change_properties
|
||||
- use_super_parameters
|
||||
- use_test_throws_matchers
|
||||
- use_to_and_as_if_applicable
|
||||
- void_checks
|
||||
|
|
|
@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
|
|||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion 31
|
||||
compileSdkVersion Math.max(flutter.compileSdkVersion, 32)
|
||||
|
||||
lintOptions {
|
||||
disable 'InvalidPackage'
|
||||
|
@ -47,8 +47,8 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId "com.krawieck.lemmur"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 30
|
||||
minSdkVersion Math.max(flutter.minSdkVersion, 16)
|
||||
targetSdkVersion flutter.targetSdkVersion
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/LaunchTheme"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
buildscript {
|
||||
ext.kotlin_version = '1.5.31'
|
||||
ext.kotlin_version = '1.7.0'
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.0.2'
|
||||
classpath 'com.android.tools.build:gradle:7.2.1'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
|
||||
|
|
|
@ -1,4 +1,38 @@
|
|||
PODS:
|
||||
- DKImagePickerController/Core (4.3.3):
|
||||
- DKImagePickerController/ImageDataManager
|
||||
- DKImagePickerController/Resource
|
||||
- DKImagePickerController/ImageDataManager (4.3.3)
|
||||
- DKImagePickerController/PhotoGallery (4.3.3):
|
||||
- DKImagePickerController/Core
|
||||
- DKPhotoGallery
|
||||
- DKImagePickerController/Resource (4.3.3)
|
||||
- DKPhotoGallery (0.0.17):
|
||||
- DKPhotoGallery/Core (= 0.0.17)
|
||||
- DKPhotoGallery/Model (= 0.0.17)
|
||||
- DKPhotoGallery/Preview (= 0.0.17)
|
||||
- DKPhotoGallery/Resource (= 0.0.17)
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Core (0.0.17):
|
||||
- DKPhotoGallery/Model
|
||||
- DKPhotoGallery/Preview
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Model (0.0.17):
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Preview (0.0.17):
|
||||
- DKPhotoGallery/Model
|
||||
- DKPhotoGallery/Resource
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Resource (0.0.17):
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- file_picker (0.0.1):
|
||||
- DKImagePickerController/PhotoGallery
|
||||
- Flutter
|
||||
- Flutter (1.0.0)
|
||||
- flutter_keyboard_visibility (0.0.1):
|
||||
- Flutter
|
||||
|
@ -8,14 +42,19 @@ PODS:
|
|||
- Flutter
|
||||
- path_provider_ios (0.0.1):
|
||||
- Flutter
|
||||
- SDWebImage (5.12.5):
|
||||
- SDWebImage/Core (= 5.12.5)
|
||||
- SDWebImage/Core (5.12.5)
|
||||
- share_plus (0.0.1):
|
||||
- Flutter
|
||||
- shared_preferences_ios (0.0.1):
|
||||
- Flutter
|
||||
- SwiftyGif (5.4.3)
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
|
||||
DEPENDENCIES:
|
||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`)
|
||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
|
@ -25,7 +64,16 @@ DEPENDENCIES:
|
|||
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- DKImagePickerController
|
||||
- DKPhotoGallery
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
file_picker:
|
||||
:path: ".symlinks/plugins/file_picker/ios"
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
flutter_keyboard_visibility:
|
||||
|
@ -44,13 +92,18 @@ EXTERNAL SOURCES:
|
|||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
DKImagePickerController: 72fd378f244cef3d27288e0aebf217a4467e4012
|
||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||
file_picker: 3e6c3790de664ccf9b882732d9db5eaf6b8d4eb1
|
||||
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
|
||||
flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069
|
||||
image_picker_ios: b786a5dcf033a8336a657191401bfdf12017dabb
|
||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
|
||||
SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
|
||||
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
||||
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
|
||||
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
||||
|
||||
PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<key>CFBundleVersion</key>
|
||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<true />
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
|
@ -42,7 +42,9 @@
|
|||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
<false />
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true />
|
||||
|
||||
<!-- Image picker -->
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
|
|
|
@ -7,10 +7,8 @@ enum CommentSortType {
|
|||
top,
|
||||
new_,
|
||||
old,
|
||||
chat,
|
||||
}
|
||||
chat;
|
||||
|
||||
extension on CommentSortType {
|
||||
/// returns a compare function for sorting a CommentTree according
|
||||
/// to the comment sort type
|
||||
int Function(CommentTree a, CommentTree b) get sortFunction {
|
||||
|
|
|
@ -11,8 +11,11 @@ class CommunitiesListPage extends StatelessWidget {
|
|||
final String title;
|
||||
final FetcherWithSorting<CommunityView> fetcher;
|
||||
|
||||
const CommunitiesListPage({Key? key, required this.fetcher, this.title = ''})
|
||||
: super(key: key);
|
||||
const CommunitiesListPage({
|
||||
super.key,
|
||||
required this.fetcher,
|
||||
this.title = '',
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -42,8 +45,7 @@ class CommunitiesListPage extends StatelessWidget {
|
|||
class CommunitiesListItem extends StatelessWidget {
|
||||
final CommunityView community;
|
||||
|
||||
const CommunitiesListItem({Key? key, required this.community})
|
||||
: super(key: key);
|
||||
const CommunitiesListItem({super.key, required this.community});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => ListTile(
|
||||
|
|
|
@ -241,9 +241,11 @@ class _CommunitySubscribeToggle extends HookWidget {
|
|||
final int communityId;
|
||||
final String instanceHost;
|
||||
|
||||
const _CommunitySubscribeToggle(
|
||||
{required this.instanceHost, required this.communityId, Key? key})
|
||||
: super(key: key);
|
||||
const _CommunitySubscribeToggle({
|
||||
required this.instanceHost,
|
||||
required this.communityId,
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -15,8 +15,7 @@ import 'community_store.dart';
|
|||
class CommmunityAboutTab extends StatelessWidget {
|
||||
final FullCommunityView fullCommunityView;
|
||||
|
||||
const CommmunityAboutTab(this.fullCommunityView, {Key? key})
|
||||
: super(key: key);
|
||||
const CommmunityAboutTab(this.fullCommunityView, {super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -14,8 +14,7 @@ import 'community_store.dart';
|
|||
class CommunityMoreMenu extends HookWidget {
|
||||
final FullCommunityView fullCommunityView;
|
||||
|
||||
const CommunityMoreMenu({Key? key, required this.fullCommunityView})
|
||||
: super(key: key);
|
||||
const CommunityMoreMenu({super.key, required this.fullCommunityView});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'community_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$CommunityStore on _CommunityStore, Store {
|
||||
late final _$refreshAsyncAction =
|
||||
|
|
|
@ -13,7 +13,7 @@ import '../../widgets/avatar.dart';
|
|||
import 'create_post_store.dart';
|
||||
|
||||
class CreatePostCommunityPicker extends HookWidget {
|
||||
const CreatePostCommunityPicker({Key? key}) : super(key: key);
|
||||
const CreatePostCommunityPicker({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import '../../widgets/radio_picker.dart';
|
|||
import 'create_post_store.dart';
|
||||
|
||||
class CreatePostInstancePicker extends StatelessWidget {
|
||||
const CreatePostInstancePicker({Key? key}) : super(key: key);
|
||||
const CreatePostInstancePicker({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -16,6 +16,7 @@ abstract class _CreatePostStore with Store {
|
|||
_CreatePostStore({
|
||||
required this.instanceHost,
|
||||
this.postToEdit,
|
||||
// ignore: unused_element
|
||||
this.selectedCommunity,
|
||||
}) : title = postToEdit?.name ?? '',
|
||||
nsfw = postToEdit?.nsfw ?? false,
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'create_post_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$CreatePostStore on _CreatePostStore, Store {
|
||||
Computed<bool>? _$hasUploadedImageComputed;
|
||||
|
@ -17,7 +17,8 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
name: '_CreatePostStore.hasUploadedImage'))
|
||||
.value;
|
||||
|
||||
final _$showFancyAtom = Atom(name: '_CreatePostStore.showFancy');
|
||||
late final _$showFancyAtom =
|
||||
Atom(name: '_CreatePostStore.showFancy', context: context);
|
||||
|
||||
@override
|
||||
bool get showFancy {
|
||||
|
@ -32,7 +33,8 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$instanceHostAtom = Atom(name: '_CreatePostStore.instanceHost');
|
||||
late final _$instanceHostAtom =
|
||||
Atom(name: '_CreatePostStore.instanceHost', context: context);
|
||||
|
||||
@override
|
||||
String get instanceHost {
|
||||
|
@ -47,8 +49,8 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$selectedCommunityAtom =
|
||||
Atom(name: '_CreatePostStore.selectedCommunity');
|
||||
late final _$selectedCommunityAtom =
|
||||
Atom(name: '_CreatePostStore.selectedCommunity', context: context);
|
||||
|
||||
@override
|
||||
CommunityView? get selectedCommunity {
|
||||
|
@ -63,7 +65,7 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$urlAtom = Atom(name: '_CreatePostStore.url');
|
||||
late final _$urlAtom = Atom(name: '_CreatePostStore.url', context: context);
|
||||
|
||||
@override
|
||||
String get url {
|
||||
|
@ -78,7 +80,8 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$titleAtom = Atom(name: '_CreatePostStore.title');
|
||||
late final _$titleAtom =
|
||||
Atom(name: '_CreatePostStore.title', context: context);
|
||||
|
||||
@override
|
||||
String get title {
|
||||
|
@ -93,7 +96,7 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$bodyAtom = Atom(name: '_CreatePostStore.body');
|
||||
late final _$bodyAtom = Atom(name: '_CreatePostStore.body', context: context);
|
||||
|
||||
@override
|
||||
String get body {
|
||||
|
@ -108,7 +111,7 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$nsfwAtom = Atom(name: '_CreatePostStore.nsfw');
|
||||
late final _$nsfwAtom = Atom(name: '_CreatePostStore.nsfw', context: context);
|
||||
|
||||
@override
|
||||
bool get nsfw {
|
||||
|
@ -123,14 +126,16 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
});
|
||||
}
|
||||
|
||||
final _$submitAsyncAction = AsyncAction('_CreatePostStore.submit');
|
||||
late final _$submitAsyncAction =
|
||||
AsyncAction('_CreatePostStore.submit', context: context);
|
||||
|
||||
@override
|
||||
Future<void> submit(Jwt token) {
|
||||
return _$submitAsyncAction.run(() => super.submit(token));
|
||||
}
|
||||
|
||||
final _$uploadImageAsyncAction = AsyncAction('_CreatePostStore.uploadImage');
|
||||
late final _$uploadImageAsyncAction =
|
||||
AsyncAction('_CreatePostStore.uploadImage', context: context);
|
||||
|
||||
@override
|
||||
Future<void> uploadImage(String filePath, Jwt token) {
|
||||
|
@ -138,8 +143,8 @@ mixin _$CreatePostStore on _CreatePostStore, Store {
|
|||
.run(() => super.uploadImage(filePath, token));
|
||||
}
|
||||
|
||||
final _$_CreatePostStoreActionController =
|
||||
ActionController(name: '_CreatePostStore');
|
||||
late final _$_CreatePostStoreActionController =
|
||||
ActionController(name: '_CreatePostStore', context: context);
|
||||
|
||||
@override
|
||||
Future<List<CommunityView>?> searchCommunities(
|
||||
|
|
|
@ -27,7 +27,7 @@ class CommentSection extends StatelessWidget {
|
|||
CommentSortType.chat: _SortSelection(Icons.chat, L10nStrings.chat),
|
||||
};
|
||||
|
||||
const CommentSection({Key? key}) : super(key: key);
|
||||
const CommentSection({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -14,7 +14,6 @@ abstract class _FullPostStore with Store {
|
|||
final String instanceHost;
|
||||
|
||||
_FullPostStore({
|
||||
this.postStore,
|
||||
required this.postId,
|
||||
required this.instanceHost,
|
||||
});
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'full_post_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$FullPostStore on _FullPostStore, Store {
|
||||
Computed<List<CommentTree>?>? _$commentTreeComputed;
|
||||
|
|
|
@ -11,7 +11,7 @@ import '../../widgets/info_table_popup.dart';
|
|||
class InstanceMoreMenu extends StatelessWidget {
|
||||
final FullSiteView site;
|
||||
|
||||
const InstanceMoreMenu({Key? key, required this.site}) : super(key: key);
|
||||
const InstanceMoreMenu({super.key, required this.site});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'instance_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$InstanceStore on _InstanceStore, Store {
|
||||
late final _$fetchAsyncAction =
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'log_console_page_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$LogConsolePageStore on _LogConsolePageStore, Store {
|
||||
late final _$_LogConsolePageStoreActionController =
|
||||
|
|
|
@ -86,7 +86,7 @@ class ManageAccountPage extends HookWidget {
|
|||
}
|
||||
|
||||
class _ManageAccount extends HookWidget {
|
||||
const _ManageAccount({Key? key, required this.user}) : super(key: key);
|
||||
const _ManageAccount({required this.user});
|
||||
|
||||
final LocalUserSettingsView user;
|
||||
|
||||
|
@ -396,13 +396,12 @@ class _ImagePicker extends HookWidget {
|
|||
final ObjectRef<VoidCallback?> informAcceptedRef;
|
||||
|
||||
const _ImagePicker({
|
||||
Key? key,
|
||||
required this.initialUrl,
|
||||
required this.name,
|
||||
required this.user,
|
||||
required this.onChange,
|
||||
required this.informAcceptedRef,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -12,6 +12,7 @@ abstract class _ModlogPageStore with Store, DisposableStore {
|
|||
final String instanceHost;
|
||||
final int? communityId;
|
||||
|
||||
// ignore: unused_element
|
||||
_ModlogPageStore(this.instanceHost, [this.communityId]) {
|
||||
addReaction(reaction((_) => page, (_) => fetchPage()));
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'modlog_page_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$ModlogPageStore on _ModlogPageStore, Store {
|
||||
Computed<bool>? _$hasPreviousPageComputed;
|
||||
|
|
|
@ -8,7 +8,7 @@ import '../../widgets/avatar.dart';
|
|||
import 'modlog_entry.dart';
|
||||
|
||||
class ModlogTable extends StatelessWidget {
|
||||
const ModlogTable({Key? key, required this.modlog}) : super(key: key);
|
||||
const ModlogTable({super.key, required this.modlog});
|
||||
|
||||
final Modlog modlog;
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import 'community_block_store.dart';
|
|||
import 'user_block_store.dart';
|
||||
|
||||
class BlockPersonTile extends StatelessWidget {
|
||||
const BlockPersonTile({Key? key}) : super(key: key);
|
||||
const BlockPersonTile({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -40,7 +40,7 @@ class BlockPersonTile extends StatelessWidget {
|
|||
}
|
||||
|
||||
class BlockCommunityTile extends HookWidget {
|
||||
const BlockCommunityTile({Key? key}) : super(key: key);
|
||||
const BlockCommunityTile({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'blocks_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$BlocksStore on _BlocksStore, Store {
|
||||
Computed<Iterable<UserBlockStore>?>? _$blockedUsersComputed;
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'community_block_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$CommunityBlockStore on _CommunityBlockStore, Store {
|
||||
late final _$blockedAtom =
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'user_block_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$UserBlockStore on _UserBlockStore, Store {
|
||||
late final _$blockedAtom =
|
||||
|
|
|
@ -185,10 +185,9 @@ class _AccountOptions extends HookWidget {
|
|||
final String username;
|
||||
|
||||
const _AccountOptions({
|
||||
Key? key,
|
||||
required this.instanceHost,
|
||||
required this.username,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -12,8 +12,7 @@ class UsersListPage extends StatelessWidget {
|
|||
final String title;
|
||||
final Fetcher<PersonViewSafe> fetcher;
|
||||
|
||||
const UsersListPage({Key? key, required this.fetcher, this.title = ''})
|
||||
: super(key: key);
|
||||
const UsersListPage({super.key, required this.fetcher, this.title = ''});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -41,7 +40,7 @@ class UsersListPage extends StatelessWidget {
|
|||
class UsersListItem extends StatelessWidget {
|
||||
final PersonViewSafe user;
|
||||
|
||||
const UsersListItem({Key? key, required this.user}) : super(key: key);
|
||||
const UsersListItem({super.key, required this.user});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -19,7 +19,7 @@ ConfigStore _$ConfigStoreFromJson(Map<String, dynamic> json) => ConfigStore()
|
|||
|
||||
Map<String, dynamic> _$ConfigStoreToJson(ConfigStore instance) =>
|
||||
<String, dynamic>{
|
||||
'theme': _$ThemeModeEnumMap[instance.theme],
|
||||
'theme': _$ThemeModeEnumMap[instance.theme]!,
|
||||
'amoledDarkMode': instance.amoledDarkMode,
|
||||
'locale': const LocaleConverter().toJson(instance.locale),
|
||||
'showAvatars': instance.showAvatars,
|
||||
|
@ -38,7 +38,7 @@ const _$ThemeModeEnumMap = {
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$ConfigStore on _ConfigStore, Store {
|
||||
late final _$themeAtom = Atom(name: '_ConfigStore.theme', context: context);
|
||||
|
|
|
@ -86,22 +86,22 @@ class _$AsyncStateCopyWithImpl<T, $Res>
|
|||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $AsyncStateInitialCopyWith<T, $Res> {
|
||||
factory $AsyncStateInitialCopyWith(AsyncStateInitial<T> value,
|
||||
$Res Function(AsyncStateInitial<T>) then) =
|
||||
_$AsyncStateInitialCopyWithImpl<T, $Res>;
|
||||
abstract class _$$AsyncStateInitialCopyWith<T, $Res> {
|
||||
factory _$$AsyncStateInitialCopyWith(_$AsyncStateInitial<T> value,
|
||||
$Res Function(_$AsyncStateInitial<T>) then) =
|
||||
__$$AsyncStateInitialCopyWithImpl<T, $Res>;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AsyncStateInitialCopyWithImpl<T, $Res>
|
||||
class __$$AsyncStateInitialCopyWithImpl<T, $Res>
|
||||
extends _$AsyncStateCopyWithImpl<T, $Res>
|
||||
implements $AsyncStateInitialCopyWith<T, $Res> {
|
||||
_$AsyncStateInitialCopyWithImpl(
|
||||
AsyncStateInitial<T> _value, $Res Function(AsyncStateInitial<T>) _then)
|
||||
: super(_value, (v) => _then(v as AsyncStateInitial<T>));
|
||||
implements _$$AsyncStateInitialCopyWith<T, $Res> {
|
||||
__$$AsyncStateInitialCopyWithImpl(_$AsyncStateInitial<T> _value,
|
||||
$Res Function(_$AsyncStateInitial<T>) _then)
|
||||
: super(_value, (v) => _then(v as _$AsyncStateInitial<T>));
|
||||
|
||||
@override
|
||||
AsyncStateInitial<T> get _value => super._value as AsyncStateInitial<T>;
|
||||
_$AsyncStateInitial<T> get _value => super._value as _$AsyncStateInitial<T>;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
@ -125,7 +125,7 @@ class _$AsyncStateInitial<T>
|
|||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType && other is AsyncStateInitial<T>);
|
||||
(other.runtimeType == runtimeType && other is _$AsyncStateInitial<T>);
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -211,30 +211,30 @@ abstract class AsyncStateInitial<T> implements AsyncState<T> {
|
|||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $AsyncStateDataCopyWith<T, $Res> {
|
||||
factory $AsyncStateDataCopyWith(
|
||||
AsyncStateData<T> value, $Res Function(AsyncStateData<T>) then) =
|
||||
_$AsyncStateDataCopyWithImpl<T, $Res>;
|
||||
abstract class _$$AsyncStateDataCopyWith<T, $Res> {
|
||||
factory _$$AsyncStateDataCopyWith(
|
||||
_$AsyncStateData<T> value, $Res Function(_$AsyncStateData<T>) then) =
|
||||
__$$AsyncStateDataCopyWithImpl<T, $Res>;
|
||||
$Res call({T data, String? errorTerm});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AsyncStateDataCopyWithImpl<T, $Res>
|
||||
class __$$AsyncStateDataCopyWithImpl<T, $Res>
|
||||
extends _$AsyncStateCopyWithImpl<T, $Res>
|
||||
implements $AsyncStateDataCopyWith<T, $Res> {
|
||||
_$AsyncStateDataCopyWithImpl(
|
||||
AsyncStateData<T> _value, $Res Function(AsyncStateData<T>) _then)
|
||||
: super(_value, (v) => _then(v as AsyncStateData<T>));
|
||||
implements _$$AsyncStateDataCopyWith<T, $Res> {
|
||||
__$$AsyncStateDataCopyWithImpl(
|
||||
_$AsyncStateData<T> _value, $Res Function(_$AsyncStateData<T>) _then)
|
||||
: super(_value, (v) => _then(v as _$AsyncStateData<T>));
|
||||
|
||||
@override
|
||||
AsyncStateData<T> get _value => super._value as AsyncStateData<T>;
|
||||
_$AsyncStateData<T> get _value => super._value as _$AsyncStateData<T>;
|
||||
|
||||
@override
|
||||
$Res call({
|
||||
Object? data = freezed,
|
||||
Object? errorTerm = freezed,
|
||||
}) {
|
||||
return _then(AsyncStateData<T>(
|
||||
return _then(_$AsyncStateData<T>(
|
||||
data == freezed
|
||||
? _value.data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
|
@ -277,7 +277,7 @@ class _$AsyncStateData<T>
|
|||
bool operator ==(dynamic other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is AsyncStateData<T> &&
|
||||
other is _$AsyncStateData<T> &&
|
||||
const DeepCollectionEquality().equals(other.data, data) &&
|
||||
const DeepCollectionEquality().equals(other.errorTerm, errorTerm));
|
||||
}
|
||||
|
@ -290,8 +290,8 @@ class _$AsyncStateData<T>
|
|||
|
||||
@JsonKey(ignore: true)
|
||||
@override
|
||||
$AsyncStateDataCopyWith<T, AsyncStateData<T>> get copyWith =>
|
||||
_$AsyncStateDataCopyWithImpl<T, AsyncStateData<T>>(this, _$identity);
|
||||
_$$AsyncStateDataCopyWith<T, _$AsyncStateData<T>> get copyWith =>
|
||||
__$$AsyncStateDataCopyWithImpl<T, _$AsyncStateData<T>>(this, _$identity);
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
|
@ -372,30 +372,30 @@ abstract class AsyncStateData<T> implements AsyncState<T> {
|
|||
const factory AsyncStateData(final T data, [final String? errorTerm]) =
|
||||
_$AsyncStateData<T>;
|
||||
|
||||
T get data => throw _privateConstructorUsedError;
|
||||
String? get errorTerm => throw _privateConstructorUsedError;
|
||||
T get data;
|
||||
String? get errorTerm;
|
||||
@JsonKey(ignore: true)
|
||||
$AsyncStateDataCopyWith<T, AsyncStateData<T>> get copyWith =>
|
||||
_$$AsyncStateDataCopyWith<T, _$AsyncStateData<T>> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $AsyncStateLoadingCopyWith<T, $Res> {
|
||||
factory $AsyncStateLoadingCopyWith(AsyncStateLoading<T> value,
|
||||
$Res Function(AsyncStateLoading<T>) then) =
|
||||
_$AsyncStateLoadingCopyWithImpl<T, $Res>;
|
||||
abstract class _$$AsyncStateLoadingCopyWith<T, $Res> {
|
||||
factory _$$AsyncStateLoadingCopyWith(_$AsyncStateLoading<T> value,
|
||||
$Res Function(_$AsyncStateLoading<T>) then) =
|
||||
__$$AsyncStateLoadingCopyWithImpl<T, $Res>;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AsyncStateLoadingCopyWithImpl<T, $Res>
|
||||
class __$$AsyncStateLoadingCopyWithImpl<T, $Res>
|
||||
extends _$AsyncStateCopyWithImpl<T, $Res>
|
||||
implements $AsyncStateLoadingCopyWith<T, $Res> {
|
||||
_$AsyncStateLoadingCopyWithImpl(
|
||||
AsyncStateLoading<T> _value, $Res Function(AsyncStateLoading<T>) _then)
|
||||
: super(_value, (v) => _then(v as AsyncStateLoading<T>));
|
||||
implements _$$AsyncStateLoadingCopyWith<T, $Res> {
|
||||
__$$AsyncStateLoadingCopyWithImpl(_$AsyncStateLoading<T> _value,
|
||||
$Res Function(_$AsyncStateLoading<T>) _then)
|
||||
: super(_value, (v) => _then(v as _$AsyncStateLoading<T>));
|
||||
|
||||
@override
|
||||
AsyncStateLoading<T> get _value => super._value as AsyncStateLoading<T>;
|
||||
_$AsyncStateLoading<T> get _value => super._value as _$AsyncStateLoading<T>;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
@ -419,7 +419,7 @@ class _$AsyncStateLoading<T>
|
|||
@override
|
||||
bool operator ==(dynamic other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType && other is AsyncStateLoading<T>);
|
||||
(other.runtimeType == runtimeType && other is _$AsyncStateLoading<T>);
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -505,29 +505,29 @@ abstract class AsyncStateLoading<T> implements AsyncState<T> {
|
|||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $AsyncStateErrorCopyWith<T, $Res> {
|
||||
factory $AsyncStateErrorCopyWith(
|
||||
AsyncStateError<T> value, $Res Function(AsyncStateError<T>) then) =
|
||||
_$AsyncStateErrorCopyWithImpl<T, $Res>;
|
||||
abstract class _$$AsyncStateErrorCopyWith<T, $Res> {
|
||||
factory _$$AsyncStateErrorCopyWith(_$AsyncStateError<T> value,
|
||||
$Res Function(_$AsyncStateError<T>) then) =
|
||||
__$$AsyncStateErrorCopyWithImpl<T, $Res>;
|
||||
$Res call({String errorTerm});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$AsyncStateErrorCopyWithImpl<T, $Res>
|
||||
class __$$AsyncStateErrorCopyWithImpl<T, $Res>
|
||||
extends _$AsyncStateCopyWithImpl<T, $Res>
|
||||
implements $AsyncStateErrorCopyWith<T, $Res> {
|
||||
_$AsyncStateErrorCopyWithImpl(
|
||||
AsyncStateError<T> _value, $Res Function(AsyncStateError<T>) _then)
|
||||
: super(_value, (v) => _then(v as AsyncStateError<T>));
|
||||
implements _$$AsyncStateErrorCopyWith<T, $Res> {
|
||||
__$$AsyncStateErrorCopyWithImpl(
|
||||
_$AsyncStateError<T> _value, $Res Function(_$AsyncStateError<T>) _then)
|
||||
: super(_value, (v) => _then(v as _$AsyncStateError<T>));
|
||||
|
||||
@override
|
||||
AsyncStateError<T> get _value => super._value as AsyncStateError<T>;
|
||||
_$AsyncStateError<T> get _value => super._value as _$AsyncStateError<T>;
|
||||
|
||||
@override
|
||||
$Res call({
|
||||
Object? errorTerm = freezed,
|
||||
}) {
|
||||
return _then(AsyncStateError<T>(
|
||||
return _then(_$AsyncStateError<T>(
|
||||
errorTerm == freezed
|
||||
? _value.errorTerm
|
||||
: errorTerm // ignore: cast_nullable_to_non_nullable
|
||||
|
@ -563,7 +563,7 @@ class _$AsyncStateError<T>
|
|||
bool operator ==(dynamic other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is AsyncStateError<T> &&
|
||||
other is _$AsyncStateError<T> &&
|
||||
const DeepCollectionEquality().equals(other.errorTerm, errorTerm));
|
||||
}
|
||||
|
||||
|
@ -573,8 +573,9 @@ class _$AsyncStateError<T>
|
|||
|
||||
@JsonKey(ignore: true)
|
||||
@override
|
||||
$AsyncStateErrorCopyWith<T, AsyncStateError<T>> get copyWith =>
|
||||
_$AsyncStateErrorCopyWithImpl<T, AsyncStateError<T>>(this, _$identity);
|
||||
_$$AsyncStateErrorCopyWith<T, _$AsyncStateError<T>> get copyWith =>
|
||||
__$$AsyncStateErrorCopyWithImpl<T, _$AsyncStateError<T>>(
|
||||
this, _$identity);
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
|
@ -654,8 +655,8 @@ class _$AsyncStateError<T>
|
|||
abstract class AsyncStateError<T> implements AsyncState<T> {
|
||||
const factory AsyncStateError(final String errorTerm) = _$AsyncStateError<T>;
|
||||
|
||||
String get errorTerm => throw _privateConstructorUsedError;
|
||||
String get errorTerm;
|
||||
@JsonKey(ignore: true)
|
||||
$AsyncStateErrorCopyWith<T, AsyncStateError<T>> get copyWith =>
|
||||
_$$AsyncStateErrorCopyWith<T, _$AsyncStateError<T>> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'async_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$AsyncStore<T> on _AsyncStore<T>, Store {
|
||||
Computed<bool>? _$isLoadingComputed;
|
||||
|
|
|
@ -18,12 +18,12 @@ class AsyncStoreListener<T> extends SingleChildStatelessWidget {
|
|||
)? onSuccess;
|
||||
|
||||
const AsyncStoreListener({
|
||||
Key? key,
|
||||
super.key,
|
||||
required this.asyncStore,
|
||||
this.successMessageBuilder,
|
||||
this.onSuccess,
|
||||
Widget? child,
|
||||
}) : super(key: key, child: child);
|
||||
super.child,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget buildWithChild(BuildContext context, Widget? child) {
|
||||
|
|
|
@ -59,7 +59,6 @@ void goToMedia(BuildContext context, String url) => Navigator.push(
|
|||
context,
|
||||
PageRouteBuilder(
|
||||
pageBuilder: (_, __, ___) => MediaViewPage(url),
|
||||
transitionDuration: const Duration(milliseconds: 300),
|
||||
opaque: false,
|
||||
transitionsBuilder: (_, animation, __, child) =>
|
||||
FadeTransition(opacity: animation, child: child),
|
||||
|
|
|
@ -8,34 +8,24 @@ import 'observer_consumers.dart';
|
|||
/// Important: this will not make [context.watch] react to changes
|
||||
class MobxProvider<T extends Store> extends Provider<T> {
|
||||
MobxProvider({
|
||||
Key? key,
|
||||
required Create<T> create,
|
||||
bool? lazy,
|
||||
TransitionBuilder? builder,
|
||||
Widget? child,
|
||||
super.key,
|
||||
required super.create,
|
||||
super.lazy,
|
||||
super.builder,
|
||||
super.child,
|
||||
}) : super(
|
||||
key: key,
|
||||
create: create,
|
||||
dispose: (context, store) {
|
||||
if (store is DisposableStore) store.dispose();
|
||||
},
|
||||
lazy: lazy,
|
||||
builder: builder,
|
||||
child: child,
|
||||
);
|
||||
|
||||
/// will not dispose the store
|
||||
MobxProvider.value({
|
||||
Key? key,
|
||||
required T value,
|
||||
TransitionBuilder? builder,
|
||||
Widget? child,
|
||||
}) : super.value(
|
||||
key: key,
|
||||
builder: builder,
|
||||
value: value,
|
||||
child: child,
|
||||
);
|
||||
super.key,
|
||||
required super.value,
|
||||
super.builder,
|
||||
super.child,
|
||||
}) : super.value();
|
||||
}
|
||||
|
||||
/// tracks reactions and disposes them in [DisposableStore.dispose]
|
||||
|
|
|
@ -14,10 +14,10 @@ class ObserverBuilder<T extends Store> extends StatelessWidget {
|
|||
final MobxBuilder<T> builder;
|
||||
|
||||
const ObserverBuilder({
|
||||
Key? key,
|
||||
super.key,
|
||||
this.store,
|
||||
required this.builder,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -38,11 +38,11 @@ class ObserverListener<T extends Store> extends HookWidget {
|
|||
final Widget child;
|
||||
|
||||
const ObserverListener({
|
||||
Key? key,
|
||||
super.key,
|
||||
this.store,
|
||||
required this.listener,
|
||||
required this.child,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -64,11 +64,11 @@ class ObserverConsumer<T extends Store> extends HookWidget {
|
|||
final MobxBuilder<T> builder;
|
||||
|
||||
const ObserverConsumer({
|
||||
Key? key,
|
||||
super.key,
|
||||
this.store,
|
||||
required this.listener,
|
||||
required this.builder,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -96,7 +96,7 @@ class AboutTile extends HookWidget {
|
|||
class ChangelogPage extends StatelessWidget {
|
||||
final String changelog;
|
||||
|
||||
const ChangelogPage(this.changelog, {Key? key}) : super(key: key);
|
||||
const ChangelogPage(this.changelog, {super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -10,14 +10,14 @@ import 'cached_network_image.dart';
|
|||
/// Can be disabled with `noBlank`
|
||||
class Avatar extends HookWidget {
|
||||
const Avatar({
|
||||
Key? key,
|
||||
super.key,
|
||||
required this.url,
|
||||
this.radius = 25,
|
||||
this.noBlank = false,
|
||||
this.alwaysShow = false,
|
||||
this.padding = EdgeInsets.zero,
|
||||
this.onTap,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
final String? url;
|
||||
final double radius;
|
||||
|
|
|
@ -41,8 +41,8 @@ class CachedNetworkImage extends StatelessWidget {
|
|||
this.width,
|
||||
this.fit,
|
||||
this.cache = true,
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -35,8 +35,8 @@ class CommentWidget extends StatelessWidget {
|
|||
this.canBeMarkedAsRead = false,
|
||||
this.hideOnRead = false,
|
||||
this.userMentionId,
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
super.key,
|
||||
});
|
||||
|
||||
CommentWidget.fromCommentView(
|
||||
CommentView cv, {
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'comment_more_menu_button.dart';
|
|||
import 'comment_store.dart';
|
||||
|
||||
class CommentActions extends HookWidget {
|
||||
const CommentActions({Key? key}) : super(key: key);
|
||||
const CommentActions({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -18,7 +18,7 @@ import 'comment.dart';
|
|||
import 'comment_store.dart';
|
||||
|
||||
class CommentMoreMenuButton extends HookWidget {
|
||||
const CommentMoreMenuButton({Key? key}) : super(key: key);
|
||||
const CommentMoreMenuButton({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -44,9 +44,8 @@ class _CommentMoreMenuPopup extends HookWidget {
|
|||
final CommentStore store;
|
||||
|
||||
const _CommentMoreMenuPopup({
|
||||
Key? key,
|
||||
required this.store,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -54,6 +54,7 @@ abstract class _CommentStore with Store {
|
|||
_CommentStore(
|
||||
this._accountsStore, {
|
||||
required CommentTree commentTree,
|
||||
// ignore: unused_element
|
||||
this.userMentionId,
|
||||
required this.depth,
|
||||
required this.canBeMarkedAsRead,
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'comment_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$CommentStore on _CommentStore, Store {
|
||||
Computed<bool>? _$isMineComputed;
|
||||
|
|
|
@ -20,7 +20,7 @@ class Editor extends HookWidget {
|
|||
final String instanceHost;
|
||||
|
||||
const Editor({
|
||||
Key? key,
|
||||
super.key,
|
||||
this.controller,
|
||||
this.focusNode,
|
||||
this.onSubmitted,
|
||||
|
@ -32,7 +32,7 @@ class Editor extends HookWidget {
|
|||
this.fancy = false,
|
||||
required this.instanceHost,
|
||||
this.autofocus = false,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -9,10 +9,10 @@ class FullscreenableImage extends StatelessWidget {
|
|||
final Widget child;
|
||||
|
||||
const FullscreenableImage({
|
||||
Key? key,
|
||||
super.key,
|
||||
required this.url,
|
||||
required this.child,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => InkWell(
|
||||
|
|
|
@ -6,7 +6,7 @@ part of 'post_store.dart';
|
|||
// StoreGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic
|
||||
// ignore_for_file: non_constant_identifier_names, unnecessary_brace_in_string_interps, unnecessary_lambdas, prefer_expression_function_bodies, lines_longer_than_80_chars, avoid_as, avoid_annotating_with_dynamic, no_leading_underscores_for_local_identifiers
|
||||
|
||||
mixin _$PostStore on _PostStore, Store {
|
||||
Computed<String?>? _$urlDomainComputed;
|
||||
|
|
|
@ -6,10 +6,10 @@ class PullToRefresh extends StatelessWidget {
|
|||
final Widget child;
|
||||
|
||||
const PullToRefresh({
|
||||
Key? key,
|
||||
super.key,
|
||||
required this.onRefresh,
|
||||
required this.child,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -20,7 +20,7 @@ class RadioPicker<T> extends StatelessWidget {
|
|||
final Widget? trailing;
|
||||
|
||||
const RadioPicker({
|
||||
Key? key,
|
||||
super.key,
|
||||
required this.values,
|
||||
required this.groupValue,
|
||||
required this.onChanged,
|
||||
|
@ -28,7 +28,7 @@ class RadioPicker<T> extends StatelessWidget {
|
|||
this.buttonBuilder,
|
||||
this.title,
|
||||
this.trailing,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -70,8 +70,8 @@ class SortableInfiniteList<T> extends HookWidget {
|
|||
|
||||
class InfinitePostList extends SortableInfiniteList<PostView> {
|
||||
InfinitePostList({
|
||||
required FetcherWithSorting<PostView> fetcher,
|
||||
InfiniteScrollController? controller,
|
||||
required super.fetcher,
|
||||
super.controller,
|
||||
}) : super(
|
||||
itemBuilder: (post) => Column(
|
||||
children: [
|
||||
|
@ -79,8 +79,6 @@ class InfinitePostList extends SortableInfiniteList<PostView> {
|
|||
const SizedBox(height: 20),
|
||||
],
|
||||
),
|
||||
fetcher: fetcher,
|
||||
controller: controller,
|
||||
noItems: const Text('there are no posts'),
|
||||
uniqueProp: (item) => item.post.apId,
|
||||
);
|
||||
|
@ -88,15 +86,13 @@ class InfinitePostList extends SortableInfiniteList<PostView> {
|
|||
|
||||
class InfiniteCommentList extends SortableInfiniteList<CommentView> {
|
||||
InfiniteCommentList({
|
||||
required FetcherWithSorting<CommentView> fetcher,
|
||||
InfiniteScrollController? controller,
|
||||
required super.fetcher,
|
||||
super.controller,
|
||||
}) : super(
|
||||
itemBuilder: (comment) => CommentWidget(
|
||||
CommentTree(comment),
|
||||
detached: true,
|
||||
),
|
||||
fetcher: fetcher,
|
||||
controller: controller,
|
||||
noItems: const Text('there are no comments'),
|
||||
uniqueProp: (item) => item.comment.apId,
|
||||
);
|
||||
|
|
|
@ -14,14 +14,14 @@ class TileAction extends StatelessWidget {
|
|||
final Color? iconColor;
|
||||
|
||||
const TileAction({
|
||||
Key? key,
|
||||
super.key,
|
||||
this.delayedLoading,
|
||||
this.iconColor,
|
||||
required this.icon,
|
||||
required this.onPressed,
|
||||
required this.tooltip,
|
||||
this.loading = false,
|
||||
}) : super(key: key);
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => IconButton(
|
||||
|
|
|
@ -12,8 +12,8 @@ class PersonTile extends StatelessWidget {
|
|||
const PersonTile(
|
||||
this.person, {
|
||||
this.expanded = false,
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
|
@ -6,6 +6,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
|
|||
url_launcher_linux
|
||||
)
|
||||
|
||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||
)
|
||||
|
||||
set(PLUGIN_BUNDLED_LIBRARIES)
|
||||
|
||||
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
||||
|
@ -14,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
||||
endforeach(plugin)
|
||||
|
||||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
||||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
||||
endforeach(ffi_plugin)
|
||||
|
|
187
pubspec.lock
187
pubspec.lock
|
@ -7,14 +7,14 @@ packages:
|
|||
name: _fe_analyzer_shared
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "34.0.0"
|
||||
version: "41.0.0"
|
||||
analyzer:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: analyzer
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.2.0"
|
||||
version: "4.2.0"
|
||||
archive:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -28,7 +28,7 @@ packages:
|
|||
name: args
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.3.0"
|
||||
version: "2.3.1"
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -56,7 +56,7 @@ packages:
|
|||
name: build_config
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.1.0"
|
||||
build_daemon:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -70,14 +70,14 @@ packages:
|
|||
name: build_resolvers
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.6"
|
||||
version: "2.0.9"
|
||||
build_runner:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: build_runner
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.10"
|
||||
version: "2.2.0"
|
||||
build_runner_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -98,7 +98,7 @@ packages:
|
|||
name: built_value
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "8.2.3"
|
||||
version: "8.4.0"
|
||||
characters:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -120,13 +120,6 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
cli_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.5"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -147,21 +140,21 @@ packages:
|
|||
name: collection
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.15.0"
|
||||
version: "1.16.0"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: convert
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.1"
|
||||
version: "3.0.2"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cross_file
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.2"
|
||||
version: "0.3.3+1"
|
||||
crypto:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -175,35 +168,35 @@ packages:
|
|||
name: dart_style
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
version: "2.2.3"
|
||||
extended_image:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: extended_image
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.3"
|
||||
version: "6.2.1"
|
||||
extended_image_library:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: extended_image_library
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.4"
|
||||
version: "3.3.0"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fake_async
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.3.0"
|
||||
ffi:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: ffi
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.1.2"
|
||||
version: "1.2.1"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -217,14 +210,14 @@ packages:
|
|||
name: file_picker
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.3.1"
|
||||
version: "4.6.1"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fixnum
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
version: "1.0.1"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
|
@ -236,14 +229,14 @@ packages:
|
|||
name: flutter_hooks
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.18.3"
|
||||
version: "0.18.5+1"
|
||||
flutter_keyboard_visibility:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_keyboard_visibility
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.2.0"
|
||||
version: "5.3.0"
|
||||
flutter_keyboard_visibility_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -264,7 +257,7 @@ packages:
|
|||
name: flutter_launcher_icons
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.9.2"
|
||||
version: "0.9.3"
|
||||
flutter_localizations:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
|
@ -276,21 +269,21 @@ packages:
|
|||
name: flutter_markdown
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.10"
|
||||
version: "0.6.10+2"
|
||||
flutter_mobx:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_mobx
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.0.6+1"
|
||||
flutter_plugin_android_lifecycle:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.0.7"
|
||||
flutter_speed_dial:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -309,7 +302,7 @@ packages:
|
|||
name: flutter_typeahead
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.2.5"
|
||||
version: "4.0.0"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
|
@ -321,21 +314,21 @@ packages:
|
|||
name: freezed
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.1.0+1"
|
||||
freezed_annotation:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: freezed_annotation
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.1.0"
|
||||
frontend_server_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: frontend_server_client
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
version: "2.1.3"
|
||||
fuzzy:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -349,7 +342,7 @@ packages:
|
|||
name: glob
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.1.0"
|
||||
graphs:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -377,56 +370,56 @@ packages:
|
|||
name: http_multi_server
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.2.0"
|
||||
version: "3.2.1"
|
||||
http_parser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: http_parser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
version: "4.0.1"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.3"
|
||||
version: "3.2.0"
|
||||
image_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image_picker
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.8.5"
|
||||
version: "0.8.5+3"
|
||||
image_picker_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.8.4+11"
|
||||
version: "0.8.5+1"
|
||||
image_picker_for_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_for_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.6"
|
||||
version: "2.1.8"
|
||||
image_picker_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.8.5"
|
||||
version: "0.8.5+6"
|
||||
image_picker_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.4.4"
|
||||
version: "2.5.0"
|
||||
intl:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -447,28 +440,28 @@ packages:
|
|||
name: js
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.6.3"
|
||||
version: "0.6.4"
|
||||
json_annotation:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: json_annotation
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.5.0"
|
||||
version: "4.6.0"
|
||||
json_serializable:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: json_serializable
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.2.0"
|
||||
version: "6.3.1"
|
||||
keyboard_dismisser:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: keyboard_dismisser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "3.0.0"
|
||||
latinize:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -482,7 +475,7 @@ packages:
|
|||
name: lemmy_api_client
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.20.0"
|
||||
version: "0.21.0"
|
||||
logging:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -510,7 +503,7 @@ packages:
|
|||
name: material_color_utilities
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.3"
|
||||
version: "0.1.4"
|
||||
matrix4_transform:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -531,28 +524,28 @@ packages:
|
|||
name: mime
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
mobx:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: mobx
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.7"
|
||||
version: "2.0.7+4"
|
||||
mobx_codegen:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: mobx_codegen
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.6"
|
||||
version: "2.0.7"
|
||||
modal_bottom_sheet:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: modal_bottom_sheet
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.1.0"
|
||||
nested:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -566,7 +559,7 @@ packages:
|
|||
name: package_config
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
version: "2.1.0"
|
||||
package_info_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -615,70 +608,70 @@ packages:
|
|||
name: path
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.0"
|
||||
version: "1.8.1"
|
||||
path_provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.9"
|
||||
version: "2.0.11"
|
||||
path_provider_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.13"
|
||||
version: "2.0.16"
|
||||
path_provider_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.8"
|
||||
version: "2.0.10"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.5"
|
||||
version: "2.1.7"
|
||||
path_provider_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.0.6"
|
||||
path_provider_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.0.4"
|
||||
path_provider_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.0.7"
|
||||
petitparser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: petitparser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.4.0"
|
||||
version: "5.0.0"
|
||||
photo_view:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: photo_view
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.13.0"
|
||||
version: "0.14.0"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -699,7 +692,7 @@ packages:
|
|||
name: pool
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.5.0"
|
||||
version: "1.5.1"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -713,7 +706,7 @@ packages:
|
|||
name: provider
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.2"
|
||||
version: "6.0.3"
|
||||
pub_semver:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -734,7 +727,7 @@ packages:
|
|||
name: share_plus
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.0.4"
|
||||
version: "4.0.10"
|
||||
share_plus_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -748,63 +741,63 @@ packages:
|
|||
name: share_plus_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
share_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
version: "3.0.3"
|
||||
share_plus_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
share_plus_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: shared_preferences
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.13"
|
||||
version: "2.0.15"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.11"
|
||||
version: "2.0.12"
|
||||
shared_preferences_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
version: "2.1.1"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
version: "2.1.1"
|
||||
shared_preferences_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.0.4"
|
||||
shared_preferences_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -818,28 +811,28 @@ packages:
|
|||
name: shared_preferences_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.0.4"
|
||||
shared_preferences_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
version: "2.1.1"
|
||||
shelf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.3.1"
|
||||
shelf_web_socket:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shelf_web_socket
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.0.2"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
|
@ -865,7 +858,7 @@ packages:
|
|||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.1"
|
||||
version: "1.8.2"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -907,7 +900,7 @@ packages:
|
|||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.8"
|
||||
version: "0.4.9"
|
||||
timeago:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -928,70 +921,70 @@ packages:
|
|||
name: typed_data
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.3.1"
|
||||
url_launcher:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: url_launcher
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.0"
|
||||
version: "6.1.5"
|
||||
url_launcher_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_android
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.16"
|
||||
version: "6.0.17"
|
||||
url_launcher_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_ios
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.15"
|
||||
version: "6.0.17"
|
||||
url_launcher_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
url_launcher_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_macos
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
url_launcher_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.5"
|
||||
version: "2.1.0"
|
||||
url_launcher_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.9"
|
||||
version: "2.0.12"
|
||||
url_launcher_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_windows
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
version: "3.0.1"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
version: "2.1.2"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1019,7 +1012,7 @@ packages:
|
|||
name: win32
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.5.2"
|
||||
version: "2.6.1"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -1033,14 +1026,14 @@ packages:
|
|||
name: xml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.3.1"
|
||||
version: "6.1.0"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: yaml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
version: "3.1.1"
|
||||
sdks:
|
||||
dart: ">=2.16.0 <3.0.0"
|
||||
flutter: ">=2.10.0"
|
||||
dart: ">=2.17.0 <3.0.0"
|
||||
flutter: ">=3.0.0"
|
||||
|
|
12
pubspec.yaml
12
pubspec.yaml
|
@ -18,16 +18,16 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
|||
version: 0.8.0+19
|
||||
|
||||
environment:
|
||||
sdk: ">=2.16.0 <3.0.0"
|
||||
flutter: ">=2.10.0 <3.0.0"
|
||||
sdk: ">=2.17.0 <3.0.0"
|
||||
flutter: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
# widgets
|
||||
flutter_speed_dial: ^6.0.0
|
||||
photo_view: ^0.13.0
|
||||
photo_view: ^0.14.0
|
||||
markdown: ^5.0.0
|
||||
flutter_markdown: ^0.6.1
|
||||
flutter_typeahead: ^3.2.1
|
||||
flutter_typeahead: ^4.0.0
|
||||
modal_bottom_sheet: ^2.0.0
|
||||
|
||||
# native
|
||||
|
@ -47,11 +47,11 @@ dependencies:
|
|||
# utils
|
||||
timeago: ^3.0.2
|
||||
fuzzy: ^0.4.0-nullsafety.0
|
||||
lemmy_api_client: ^0.20.0
|
||||
lemmy_api_client: ^0.21.0
|
||||
intl: ^0.17.0
|
||||
matrix4_transform: ^2.0.0
|
||||
json_annotation: ^4.5.0
|
||||
keyboard_dismisser: ^2.0.0
|
||||
keyboard_dismisser: ^3.0.0
|
||||
freezed_annotation: ^2.0.1
|
||||
logging: ^1.0.1
|
||||
nested: ^1.0.0
|
||||
|
|
|
@ -6,6 +6,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
|
|||
url_launcher_windows
|
||||
)
|
||||
|
||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
||||
)
|
||||
|
||||
set(PLUGIN_BUNDLED_LIBRARIES)
|
||||
|
||||
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
||||
|
@ -14,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
|||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
||||
endforeach(plugin)
|
||||
|
||||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
||||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
|
||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
||||
endforeach(ffi_plugin)
|
||||
|
|
Loading…
Reference in New Issue