calendar_event_linker 1.0.0 copy "calendar_event_linker: ^1.0.0" to clipboard
calendar_event_linker: ^1.0.0 copied to clipboard

A Flutter plugin for adding and deleting events from native device calendars on iOS and Android.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:calendar_event_linker/calendar_event_linker.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _calendarEventLinker = CalendarEventLinker();
  String? _lastEventId;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Calendar Event Linker Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                onPressed: _addEvent,
                child: const Text('Add Event to Calendar'),
              ),
              const SizedBox(height: 20),
              ElevatedButton(
                onPressed: _lastEventId != null ? _deleteEvent : null,
                child: const Text('Delete Last Event'),
              ),
              const SizedBox(height: 20),
              if (_lastEventId != null) Text('Last Event ID: $_lastEventId'),
            ],
          ),
        ),
      ),
    );
  }

  Future<void> _addEvent() async {
    final now = DateTime.now();
    final startTime = now.add(const Duration(hours: 1));
    final endTime = startTime.add(const Duration(hours: 2));

    final eventId = await _calendarEventLinker.addEventToCalendar(
      title: 'Test Event',
      description: 'This is a test event created by Calendar Event Linker',
      startTime: startTime,
      endTime: endTime,
    );

    if (eventId != null) {
      setState(() {
        _lastEventId = eventId;
      });
      _showMessage('Event added successfully! ID: $eventId');
    } else {
      _showMessage('Failed to add event');
    }
  }

  Future<void> _deleteEvent() async {
    if (_lastEventId != null) {
      final success =
          await _calendarEventLinker.deleteEventFromCalendar(_lastEventId!);
      if (success) {
        setState(() {
          _lastEventId = null;
        });
        _showMessage('Event deleted successfully!');
      } else {
        _showMessage('Failed to delete event');
      }
    }
  }

  void _showMessage(String message) {
    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(content: Text(message)),
    );
  }
}
1
likes
150
points
20
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for adding and deleting events from native device calendars on iOS and Android.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on calendar_event_linker

Packages that implement calendar_event_linker