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