⏪ Remove the two column in the explore
This commit is contained in:
@@ -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
|
||||||
|
@@ -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: [
|
||||||
|
@@ -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(
|
||||||
|
@@ -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) {
|
||||||
|
@@ -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,
|
||||||
|
@@ -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(
|
||||||
|
Reference in New Issue
Block a user