kopia lustrzana https://gitlab.com/mysocialportal/relatica
				
				
				
			
		
			
				
	
	
		
			71 wiersze
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Dart
		
	
	
			
		
		
	
	
			71 wiersze
		
	
	
		
			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,
 | |
|       ),
 | |
|     );
 | |
|   }
 | |
| }
 |