Skip to content

Commit 40cd8e2

Browse files
committed
Fix post repeat
1 parent a68a38c commit 40cd8e2

File tree

6 files changed

+18
-18
lines changed

6 files changed

+18
-18
lines changed

.flutter-plugins-dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-2.0.0\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"package_info","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\package_info-0.4.3\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.18\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.12\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1+1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.7.2\\\\","dependencies":[]}],"android":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-2.0.0\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"package_info","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\package_info-0.4.3\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.18\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.12\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1+1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.7.2\\\\","dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-2.0.0\\\\","dependencies":[]},{"name":"package_info","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\package_info-0.4.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-0.0.4+4\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_macos-0.0.1+10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1+1\\\\","dependencies":[]},{"name":"url_launcher_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_macos-0.0.1+8\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_linux-0.0.2+2\\\\","dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_linux-0.0.1+1\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-0.0.4+1\\\\","dependencies":[]},{"name":"shared_preferences_windows","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_windows-0.0.1+1\\\\","dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_windows-0.0.1+1\\\\","dependencies":[]}],"web":[{"name":"shared_preferences_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]},{"name":"url_launcher_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_web-0.1.4+1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"devicelocale","dependencies":[]},{"name":"esys_flutter_share","dependencies":["path_provider"]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"package_info","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos","url_launcher_windows"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2020-10-12 15:36:59.156234","version":"1.20.0"}
1+
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-2.0.0\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"package_info","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\package_info-0.4.3\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.18\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.12\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1+1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.7.2\\\\","dependencies":[]}],"android":[{"name":"devicelocale","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\devicelocale-0.3.2\\\\","dependencies":[]},{"name":"esys_flutter_share","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\esys_flutter_share-1.0.2\\\\","dependencies":["path_provider"]},{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-2.0.0\\\\","dependencies":[]},{"name":"open_file","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\open_file-3.0.1\\\\","dependencies":[]},{"name":"package_info","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\package_info-0.4.3\\\\","dependencies":[]},{"name":"path_provider","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider-1.6.18\\\\","dependencies":[]},{"name":"permission_handler","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\permission_handler-5.0.1+1\\\\","dependencies":[]},{"name":"shared_preferences","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences-0.5.12\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1+1\\\\","dependencies":[]},{"name":"uni_links","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\uni_links-0.4.0\\\\","dependencies":[]},{"name":"url_launcher","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher-5.7.2\\\\","dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\flutter_local_notifications-2.0.0\\\\","dependencies":[]},{"name":"package_info","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\package_info-0.4.3\\\\","dependencies":[]},{"name":"path_provider_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_macos-0.0.4+4\\\\","dependencies":[]},{"name":"shared_preferences_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_macos-0.0.1+10\\\\","dependencies":[]},{"name":"sqflite","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\sqflite-1.3.1+1\\\\","dependencies":[]},{"name":"url_launcher_macos","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_macos-0.0.1+8\\\\","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-0.0.1+2\\\\","dependencies":[]},{"name":"shared_preferences_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_linux-0.0.2+2\\\\","dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_linux-0.0.1+1\\\\","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-0.0.4+1\\\\","dependencies":[]},{"name":"shared_preferences_windows","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_windows-0.0.1+1\\\\","dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_windows-0.0.1+1\\\\","dependencies":[]}],"web":[{"name":"shared_preferences_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\shared_preferences_web-0.1.2+7\\\\","dependencies":[]},{"name":"url_launcher_web","path":"D:\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_web-0.1.4+1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"devicelocale","dependencies":[]},{"name":"esys_flutter_share","dependencies":["path_provider"]},{"name":"flutter_local_notifications","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"package_info","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos","url_launcher_windows"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2020-10-12 17:23:50.707688","version":"1.20.0"}

lib/extensions/list_extension.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,13 @@ import 'package:booru_app/models/rx/booru_bloc.dart';
33
import 'package:booru_app/models/yande/post.dart';
44
import 'package:booru_app/settings/app_settings.dart';
55
import 'package:booru_app/pages/home_page.dart';
6+
import 'package:rxdart/rxdart.dart';
67
// We are moving all the fetched post to the optimized list
78

89
extension ListExtension on List<Post> {
910
Future<List<Post>> arrange() async {
1011
if (AppSettings.masonryGrid) {
11-
var cache = BooruBloc.cache;
12-
if (this.length == 0) {
13-
return cache;
14-
} else {
15-
cache.addAll(this);
16-
return cache;
17-
}
12+
return BooruBloc.cache;
1813
} else {
1914
if (this.length == 0) {
2015
return List<Post>();

lib/main.dart

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,17 @@ void globalInitial() {
3535
(LocalUser user) => user.clientType == AppSettings.currentClient))
3636
.listen((event) => event());
3737

38-
PublishSubject().listen((value) {
39-
print("Subject listened");
40-
});
4138

4239
if (!Platform.isWindows)
4340
getUriLinksStream().listen((link) {
4441
if (AppSettings.currentClient == ClientType.Konachan &&
4542
link.host.contains("yande")) {
4643
AppSettings.currentClient = ClientType.Yande;
4744
booruBloc.onReset.add(null);
48-
booruBloc.onRefresh.add(null);
4945
} else if (AppSettings.currentClient == ClientType.Yande &&
5046
link.host.contains("konachan")) {
5147
AppSettings.currentClient = ClientType.Konachan;
5248
booruBloc.onReset.add(null);
53-
booruBloc.onRefresh.add(null);
5449
}
5550
ExtendedNavigator.root.push(routes.Routes.postViewPageByPostID,
5651
arguments: routes.PostViewPageByPostIDArguments(
@@ -77,7 +72,7 @@ void globalInitial() {
7772
} else {
7873
AppSettings.previewQuality = PreviewQuality.Low;
7974
SharedPreferencesExtension.setTyped(
80-
"PreviewQuality", EnumToString.parse(PreviewQuality.Low));
75+
"PreviewQuality", EnumToString.convertToString(PreviewQuality.Low));
8176
}
8277
});
8378

lib/pages/widgets/sliver_post_waterfall_widget.dart

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:booru_app/models/rx/post_state.dart';
55
import 'package:booru_app/pages/home_page.dart';
66
import 'package:masonry_grid/masonry_grid.dart';
77
import 'post_preview.dart';
8+
import 'package:darq/darq.dart';
89

910
class SliverPostWaterfall extends StatefulWidget {
1011
final ScrollController controller;
@@ -44,8 +45,9 @@ class _SliverPostWaterfallState extends State<SliverPostWaterfall> {
4445
child: Wrap(
4546
spacing: 4,
4647
runSpacing: 4,
47-
children: <Widget>[]..addAll(state.result.map(
48-
(x) => RepaintBoundary(
48+
children: <Widget>[]..addAll(state.result
49+
.distinct((x) => x.id)
50+
.map((x) => RepaintBoundary(
4951
child: PostPreview(post: x)))),
5052
)),
5153
)
@@ -54,7 +56,7 @@ class _SliverPostWaterfallState extends State<SliverPostWaterfall> {
5456
mainAxisSpacing: 4,
5557
column: 2,
5658
children: state.result
57-
.toSet()
59+
.distinct((x) => x.id)
5860
.map((x) => RepaintBoundary(
5961
child: AspectRatio(
6062
aspectRatio: x.ratio,

pubspec.lock

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,13 @@ packages:
197197
url: "https://pub.flutter-io.cn"
198198
source: hosted
199199
version: "0.1.3"
200+
darq:
201+
dependency: "direct main"
202+
description:
203+
name: darq
204+
url: "https://pub.flutter-io.cn"
205+
source: hosted
206+
version: "0.4.0+1"
200207
dart_style:
201208
dependency: transitive
202209
description:

pubspec.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: booru_app
22
description: App for yande and konachan
33

4-
version: 0.2.3+7
4+
version: 0.2.4+8
55

66
environment:
77
sdk: ">=2.8.0 <3.0.0"
@@ -42,6 +42,7 @@ dependencies:
4242
package_info: '>=0.4.3 <2.0.0'
4343
permission_handler: ^5.0.1+1
4444
masonry_grid: ^0.3.1+2
45+
darq: ^0.4.0+1
4546

4647
# flutter_native_splash: ^0.1.9
4748

0 commit comments

Comments
 (0)