flutter_agenda/example/lib/main.dart
2022-12-13 13:40:56 +01:00

135 lines
3.3 KiB
Dart

// SPDX-FileCopyrightText: 2022 Iconica
//
// SPDX-License-Identifier: BSD-3-Clause
import 'package:agenda/agenda.dart';
import 'package:flutter/material.dart';
void main() {
runApp(
const MaterialApp(
home: AgendaDemo(),
),
);
}
class AgendaDemo extends StatelessWidget {
const AgendaDemo({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: AgendaWidget(
header: Text(
'Agenda',
style: Theme.of(context).textTheme.headline6,
),
blockWidth: 50,
highlightToday: false,
blocks: [
AgendaEvent(
start: DateTime.now().subtract(
const Duration(hours: 3),
),
end: DateTime.now().add(
const Duration(hours: 2),
),
),
AgendaEvent(
start: DateTime.now().subtract(
const Duration(hours: 2),
),
end: DateTime.now().add(
const Duration(hours: 1),
),
),
AgendaEvent(
start: DateTime.now().subtract(
const Duration(hours: 1),
),
end: DateTime.now().add(
const Duration(hours: 1),
),
),
AgendaEvent(
start: DateTime.now().add(
const Duration(hours: 3),
),
end: DateTime.now().add(
const Duration(hours: 4),
),
id: 4,
content: const Text('event 4'),
),
AgendaEvent(
start: DateTime.now().add(
const Duration(hours: 3),
),
end: DateTime.now().add(
const Duration(hours: 4),
),
id: 4,
content: const Text('event 5'),
),
AgendaEvent(
start: DateTime.now().add(
const Duration(hours: 3),
),
end: DateTime.now().add(
const Duration(hours: 4),
),
id: 4,
content: const Text('event 6'),
),
AgendaEvent(
start: DateTime.now().add(
const Duration(days: 1),
),
end: DateTime.now()
.add(
const Duration(days: 1),
)
.add(
const Duration(hours: 2),
),
),
AgendaEvent(
start: DateTime.now().subtract(
const Duration(hours: 2),
),
end: DateTime.now().add(
const Duration(hours: 1),
),
),
AgendaEvent(
start: DateTime.now().add(
const Duration(days: 2),
),
end: DateTime.now().add(
const Duration(days: 3),
),
),
],
disabledDates: [
// yesterday
DateTime.now().subtract(
const Duration(days: 1),
),
],
highlightedDates: [
// tomorrow
DateTime.now().add(
const Duration(days: 1),
),
],
theme: const AgendaTheme(
tableTheme: TableTheme(
blockPaddingBetween: 10,
),
),
),
);
}
}