relatica/lib/screens/home.dart
2022-11-29 15:33:16 +00:00

70 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:logging/logging.dart';
import '../controls/app_bottom_nav_bar.dart';
import '../controls/timeline/timeline_panel.dart';
import '../models/TimelineIdentifiers.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
final _logger = Logger('$HomeScreen');
final postText = TextEditingController();
var currentType = TimelineType.home;
final types = [
TimelineType.home,
TimelineType.global,
TimelineType.local,
];
@override
Widget build(BuildContext context) {
_logger.finest('Build');
return Scaffold(
appBar: AppBar(
title: Text('Home'),
actions: [
IconButton(
onPressed: () {
context.push('/post/new');
},
icon: Icon(Icons.add),
),
],
),
body: Column(
children: [
DropdownButton<TimelineType>(
value: currentType,
items: types
.map((e) => DropdownMenuItem<TimelineType>(
value: e,
child: Text(e.name),
))
.toList(),
onChanged: (value) {
setState(() {
currentType = value!;
});
}),
Expanded(
child: TimelinePanel(
timeline: TimelineIdentifiers(
timeline: currentType,
),
)),
],
),
bottomNavigationBar: const AppBottomNavBar(
currentButton: NavBarButtons.home,
),
);
}
}