Skip to content

Commit

Permalink
タブのアイコンを長押しで各TLに飛べるように
Browse files Browse the repository at this point in the history
  • Loading branch information
4ster1sk committed Nov 4, 2024
1 parent 93884ef commit e587e28
Show file tree
Hide file tree
Showing 10 changed files with 584 additions and 4 deletions.
4 changes: 4 additions & 0 deletions lib/router/app_router.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ import "package:miria/view/share_extension_page/share_extension_page.dart";
import "package:miria/view/sharing_account_select_page/account_select_page.dart";
import "package:miria/view/splash_page/splash_page.dart";
import "package:miria/view/time_line_page/time_line_page.dart";
import "package:miria/view/timeline_modal_sheet/antenna_select_modal_sheet.dart";
import "package:miria/view/timeline_modal_sheet/channel_select_modal_sheet.dart";
import "package:miria/view/timeline_modal_sheet/list_select_modal_sheet.dart";
import "package:miria/view/timeline_modal_sheet/timeline_modal_sheet.dart";
import "package:miria/view/user_page/antenna_modal_sheet.dart";
import "package:miria/view/user_page/update_memo_dialog.dart";
import "package:miria/view/user_page/user_control_dialog.dart";
Expand Down
202 changes: 200 additions & 2 deletions lib/router/app_router.gr.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/state_notifier/common/download_file_notifier.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 59 additions & 0 deletions lib/view/timeline_modal_sheet/antenna_select_modal_sheet.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import "package:auto_route/auto_route.dart";
import "package:flutter/material.dart";
import "package:flutter_gen/gen_l10n/app_localizations.dart";
import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:miria/model/account.dart";
import "package:miria/model/users_list_settings.dart";
import "package:miria/providers.dart";
import "package:miria/router/app_router.dart";
import "package:miria/state_notifier/user_list_page/users_lists_notifier.dart";
import "package:miria/view/antenna_page/antennas_notifier.dart";
import "package:miria/view/common/account_scope.dart";
import "package:miria/view/common/error_detail.dart";
import "package:misskey_dart/misskey_dart.dart";

@RoutePage()
class AntennaSelectModalSheet extends ConsumerWidget implements AutoRouteWrapper {
const AntennaSelectModalSheet({
required this.account,
super.key,
});

final Account account;

@override
Widget wrappedRoute(BuildContext context) =>
AccountContextScope.as(account: account, child: this);

@override
Widget build(BuildContext context, WidgetRef ref) {
final antennas = ref.watch(antennasNotifierProvider);

return antennas.when(
data: (lists) {
return ListView.builder(
itemCount: lists.length + 1,
itemBuilder: (context, index) {
if (index < lists.length) {
final antenna = lists[index];
return ListTile(
title: Text(antenna.name),
onTap: () async {
Navigator.of(context, rootNavigator: true).pop();
await context.pushRoute(
AntennaNotesRoute(
accountContext: ref.read(accountContextProvider),
antenna: antenna,
),
);
},
);
}
},
);
},
error: (e, st) => Center(child: ErrorDetail(error: e, stackTrace: st)),
loading: () => const Center(child: CircularProgressIndicator.adaptive()),
);
}
}
Loading

0 comments on commit e587e28

Please sign in to comment.