Remove the two column in the explore

This commit is contained in:
2025-07-21 19:35:52 +08:00
parent 37cc0a5291
commit c06abf6e42
6 changed files with 36 additions and 69 deletions

View File

@@ -310,42 +310,36 @@ final routerProvider = Provider<GoRouter>((ref) {
}, },
routes: [ routes: [
// Explore tab // Explore tab
ShellRoute( GoRoute(
builder: name: 'explore',
(context, state, child) => ExploreShellScreen(child: child), path: '/',
routes: [ builder: (context, state) => const ExploreScreen(),
GoRoute( ),
name: 'explore', GoRoute(
path: '/', name: 'postSearch',
builder: (context, state) => const ExploreScreen(), path: '/posts/search',
), builder: (context, state) => const PostSearchScreen(),
GoRoute( ),
name: 'postSearch', GoRoute(
path: '/posts/search', name: 'postDetail',
builder: (context, state) => const PostSearchScreen(), path: '/posts/:id',
), builder: (context, state) {
GoRoute( final id = state.pathParameters['id']!;
name: 'postDetail', return PostDetailScreen(id: id);
path: '/posts/:id', },
builder: (context, state) { ),
final id = state.pathParameters['id']!; GoRoute(
return PostDetailScreen(id: id); name: 'publisherProfile',
}, path: '/publishers/:name',
), builder: (context, state) {
GoRoute( final name = state.pathParameters['name']!;
name: 'publisherProfile', return PublisherProfileScreen(name: name);
path: '/publishers/:name', },
builder: (context, state) { ),
final name = state.pathParameters['name']!; GoRoute(
return PublisherProfileScreen(name: name); name: 'discoveryRealms',
}, path: '/discovery/realms',
), builder: (context, state) => const DiscoveryRealmsScreen(),
GoRoute(
name: 'discoveryRealms',
path: '/discovery/realms',
builder: (context, state) => const DiscoveryRealmsScreen(),
),
],
), ),
// Chat tab // Chat tab

View File

@@ -17,6 +17,7 @@ class DiscoveryRealmsScreen extends HookConsumerWidget {
final currentQuery = useState<String?>(null); final currentQuery = useState<String?>(null);
return AppScaffold( return AppScaffold(
noBackground: false,
appBar: AppBar(title: Text('discoverRealms'.tr())), appBar: AppBar(title: Text('discoverRealms'.tr())),
body: Stack( body: Stack(
children: [ children: [

View File

@@ -27,42 +27,11 @@ import 'package:styled_widget/styled_widget.dart';
part 'explore.g.dart'; part 'explore.g.dart';
class ExploreShellScreen extends HookConsumerWidget {
final Widget child;
const ExploreShellScreen({super.key, required this.child});
@override
Widget build(BuildContext context, WidgetRef ref) {
final isWide = MediaQuery.of(context).size.width > 640;
if (isWide) {
return AppBackground(
isRoot: true,
child: Row(
children: [
Flexible(flex: 2, child: ExploreScreen(isAside: true)),
VerticalDivider(width: 1),
Flexible(flex: 3, child: child),
],
),
);
}
return AppBackground(isRoot: true, child: child);
}
}
class ExploreScreen extends HookConsumerWidget { class ExploreScreen extends HookConsumerWidget {
final bool isAside; const ExploreScreen({super.key});
const ExploreScreen({super.key, this.isAside = false});
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final isWide = isWideScreen(context);
if (isWide && !isAside) {
return const EmptyPageHolder();
}
final tabController = useTabController(initialLength: 3); final tabController = useTabController(initialLength: 3);
final currentFilter = useState<String?>(null); final currentFilter = useState<String?>(null);
@@ -90,7 +59,7 @@ class ExploreScreen extends HookConsumerWidget {
); );
return AppScaffold( return AppScaffold(
extendBody: false, // Prevent conflicts with tabs navigation noBackground: false,
appBar: AppBar( appBar: AppBar(
toolbarHeight: 0, toolbarHeight: 0,
bottom: PreferredSize( bottom: PreferredSize(

View File

@@ -57,6 +57,7 @@ class PostDetailScreen extends HookConsumerWidget {
final isWide = isWideScreen(context); final isWide = isWideScreen(context);
return AppScaffold( return AppScaffold(
noBackground: false,
appBar: AppBar(title: const Text('Post')), appBar: AppBar(title: const Text('Post')),
body: postState.when( body: postState.when(
data: (post) { data: (post) {

View File

@@ -109,6 +109,7 @@ class _PostSearchScreenState extends ConsumerState<PostSearchScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
noBackground: false,
appBar: AppBar( appBar: AppBar(
title: TextField( title: TextField(
controller: _searchController, controller: _searchController,

View File

@@ -124,6 +124,7 @@ class PublisherProfileScreen extends HookConsumerWidget {
return publisher.when( return publisher.when(
data: data:
(data) => AppScaffold( (data) => AppScaffold(
noBackground: false,
body: CustomScrollView( body: CustomScrollView(
slivers: [ slivers: [
SliverAppBar( SliverAppBar(