fl_add_to_calender 1.0.2
fl_add_to_calender: ^1.0.2 copied to clipboard
Fidenz flutter add to calender plugin
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:fl_add_to_calender/fl_add_to_calender.dart';
import 'package:permission_handler/permission_handler.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Home()
);
}
}
class Home extends StatefulWidget {
const Home({super.key});
@override
State<Home> createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
void initState() {
super.initState();
}
Future<Event> buildEvent() async {
var timezone = "Asia/kolkata";
return Event(
title: 'Calendar event',
startTime: '2024-12-28T10:30:00',
endTime: '2024-12-28T11:30:00',
eventTimeZone: timezone
);
}
void add() async {
var status = await Permission.calendarFullAccess.status.isGranted;
if(status) {
addEventToCalendar();
} else {
if(await Permission.calendarFullAccess.request().isGranted) {
addEventToCalendar();
} else {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Error adding event to calendar: Permission denied'),
backgroundColor: Colors.red,
)
);
}
}
}
void addEventToCalendar() async {
await FlAddToCalender.addEvent(
context,
event: await buildEvent(),
onSubmitted: () {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Event added to calendar successfully !'),
backgroundColor: Colors.green,
)
);
},
onError: (e) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Error $e'),
backgroundColor: Colors.red,
)
);
}
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Fl Add To Calender'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
InkWell(
onTap: () async {
add();
},
child: Container(
width: 200,
height: 50,
color: Colors.amber,
child: const Center(
child: Text(
"Add Event"
)
),
),
)
],
),
),
);
}
}