feat: timeline screens

This commit is contained in:
Freek van de Ven 2023-11-02 10:32:46 +01:00
parent 2c861015cc
commit c3e251e318
6 changed files with 71 additions and 4 deletions

View file

@ -1,5 +1,8 @@
// SPDX-FileCopyrightText: 2023 Iconica
//
// SPDX-License-Identifier: BSD-3-Clause
///
library flutter_timeline_interface;
export 'src/model/timeline_post.dart';
export 'src/model/timeline_reaction.dart';

View file

@ -20,8 +20,9 @@ class MyApp extends StatelessWidget {
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key,});
const MyHomePage({
super.key,
});
@override
Widget build(BuildContext context) {

View file

@ -1,5 +1,9 @@
// SPDX-FileCopyrightText: 2023 Iconica
//
// SPDX-License-Identifier: BSD-3-Clause
///
library flutter_timeline_view;
export 'src/screens/timeline_post_creation_screen.dart';
export 'src/screens/timeline_post_screen.dart';
export 'src/screens/timeline_screen.dart';

View file

@ -0,0 +1,8 @@
import 'package:flutter/material.dart';
class TimelinePostCreationScreen extends StatelessWidget {
const TimelinePostCreationScreen({super.key});
@override
Widget build(BuildContext context) => const Placeholder();
}

View file

@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
import 'package:flutter_timeline_interface/flutter_timeline_interface.dart';
class TimelinePostScreen extends StatelessWidget {
const TimelinePostScreen({
required this.post,
super.key,
});
final TimelinePost post;
@override
Widget build(BuildContext context) => const Placeholder();
}

View file

@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:flutter_timeline_interface/flutter_timeline_interface.dart';
class TimelineScreen extends StatefulWidget {
const TimelineScreen({
required this.posts,
this.controller,
this.timelineCategoryFilter,
this.timelinePostHeight = 100.0,
super.key,
});
final ScrollController? controller;
final String? timelineCategoryFilter;
final double timelinePostHeight;
final List<TimelinePost> posts;
@override
State<TimelineScreen> createState() => _TimelineScreenState();
}
class _TimelineScreenState extends State<TimelineScreen> {
late ScrollController controller;
@override
void initState() {
super.initState();
controller = widget.controller ?? ScrollController();
}
@override
Widget build(BuildContext context) => const Placeholder();
}