Skip to content

Commit

Permalink
feat: break down booru creation into multiple widgets
Browse files Browse the repository at this point in the history
  • Loading branch information
khoadng committed Jul 1, 2023
1 parent d03122d commit 3cdbe10
Show file tree
Hide file tree
Showing 28 changed files with 1,156 additions and 641 deletions.
159 changes: 0 additions & 159 deletions lib/boorus/core/feats/boorus/add_or_update_booru_notifier.dart

This file was deleted.

9 changes: 0 additions & 9 deletions lib/boorus/core/feats/boorus/add_or_update_booru_state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,6 @@ class AddOrUpdateBooruState extends Equatable {
}

extension AddOrUpdateBooruStateExtensions on AddOrUpdateBooruState {
bool allowSubmit() {
if (selectedBooru.booruType == BooruType.unknown) return false;
if (configName.isEmpty) return false;
if (url.isEmpty) return false;

return (login.isNotEmpty && apiKey.isNotEmpty) ||
(login.isEmpty && apiKey.isEmpty);
}

bool supportRatingFilter() => selectedBooru.booruType != BooruType.safebooru;
bool supportHideDeleted() => selectedBooru.booruType != BooruType.gelbooru;

Expand Down
4 changes: 0 additions & 4 deletions lib/boorus/core/feats/boorus/add_unknown_booru_providers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@ final booruEngineProvider = StateProvider.autoDispose<BooruEngine?>((ref) {
return null;
});

final booruRevealKeyProvider = StateProvider.autoDispose<bool>((ref) {
return false;
});

final booruRatingFilterProvider =
StateProvider.autoDispose<BooruConfigRatingFilter>((ref) {
return BooruConfigRatingFilter.none;
Expand Down
1 change: 0 additions & 1 deletion lib/boorus/core/feats/boorus/boorus.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export 'add_or_update_booru_notifier.dart';
export 'add_or_update_booru_state.dart';
export 'add_unknown_booru_providers.dart';
export 'booru.dart';
Expand Down
6 changes: 3 additions & 3 deletions lib/boorus/core/feats/posts/post.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ extension PostImageX on Post {
switch (settings.imageQuality) {
ImageQuality.automatic => thumbnailImageUrl,
ImageQuality.low => thumbnailImageUrl,
ImageQuality.high => sampleImageUrl,
ImageQuality.highest => sampleImageUrl,
ImageQuality.original => originalImageUrl
ImageQuality.high => isVideo ? thumbnailImageUrl : sampleImageUrl,
ImageQuality.highest => isVideo ? thumbnailImageUrl : sampleImageUrl,
ImageQuality.original => isVideo ? thumbnailImageUrl : originalImageUrl
};

bool get hasNoImage =>
Expand Down
17 changes: 8 additions & 9 deletions lib/boorus/core/pages/boorus/add_booru_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
// Project imports:
import 'package:boorusama/boorus/core/feats/boorus/boorus.dart';
import 'package:boorusama/boorus/core/pages/boorus/add_unknown_booru_page.dart';
import 'package:boorusama/boorus/core/pages/boorus/config_booru_page.dart';
import 'package:boorusama/boorus/core/pages/boorus/create_booru_page.dart';
import 'package:boorusama/boorus/core/provider.dart';
import 'package:boorusama/flutter.dart';
import 'package:boorusama/functional.dart';
Expand Down Expand Up @@ -77,6 +77,7 @@ class _AddBooruPageState extends ConsumerState<AddBooruPage> {
),
child: LoginField(
validator: (p0) => null,
autofocus: true,
onChanged: (value) {
inputText.value = value;
booruUrlError.value = mapBooruUrlToUri(value);
Expand All @@ -94,9 +95,10 @@ class _AddBooruPageState extends ConsumerState<AddBooruPage> {
(uri) => ElevatedButton(
onPressed: () {
context.navigator.pop();
if (getBooruType(uri.toString(),
ref.watch(booruFactoryProvider).booruData) ==
BooruType.unknown) {
final booruFactory = ref.watch(booruFactoryProvider);
final booru = getBooruType(
uri.toString(), booruFactory.booruData);
if (booru == BooruType.unknown) {
context.navigator.push(MaterialPageRoute(
builder: (_) => AddUnknownBooruPage(
url: uri.toString(),
Expand All @@ -105,11 +107,8 @@ class _AddBooruPageState extends ConsumerState<AddBooruPage> {
)));
} else {
context.navigator.push(MaterialPageRoute(
builder: (_) => ConfigBooruPage(
setCurrentBooruOnSubmit:
widget.setCurrentBooruOnSubmit,
arg: AddNewConfig(uri),
)));
builder: (_) => CreateBooruPage(
booru: booruFactory.from(type: booru))));
}
},
child: const Text('Next')),
Expand Down
Loading

0 comments on commit 3cdbe10

Please sign in to comment.