mirror of
https://github.com/Iconica-Development/flutter_timeline.git
synced 2025-05-19 10:33:44 +02:00
feat: timeline screens
This commit is contained in:
parent
2c861015cc
commit
c3e251e318
6 changed files with 71 additions and 4 deletions
|
@ -1,5 +1,8 @@
|
||||||
// SPDX-FileCopyrightText: 2023 Iconica
|
// SPDX-FileCopyrightText: 2023 Iconica
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: BSD-3-Clause
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
///
|
||||||
library flutter_timeline_interface;
|
library flutter_timeline_interface;
|
||||||
|
|
||||||
|
export 'src/model/timeline_post.dart';
|
||||||
|
export 'src/model/timeline_reaction.dart';
|
||||||
|
|
|
@ -20,8 +20,9 @@ class MyApp extends StatelessWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class MyHomePage extends StatelessWidget {
|
class MyHomePage extends StatelessWidget {
|
||||||
const MyHomePage({super.key,});
|
const MyHomePage({
|
||||||
|
super.key,
|
||||||
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 Iconica
|
// SPDX-FileCopyrightText: 2023 Iconica
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: BSD-3-Clause
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
///
|
||||||
library flutter_timeline_view;
|
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';
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class TimelinePostCreationScreen extends StatelessWidget {
|
||||||
|
const TimelinePostCreationScreen({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) => const Placeholder();
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
Loading…
Reference in a new issue