mon_sms_pro 0.2.1 copy "mon_sms_pro: ^0.2.1" to clipboard
mon_sms_pro: ^0.2.1 copied to clipboard

Send SMS using the monsms.pro API

example/lib/main.dart

import 'package:example/screens/auth_screen.dart';
import 'package:example/screens/contact_screen.dart';
import 'package:example/screens/group_screen.dart';
import 'package:example/screens/sender_screen.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:hive_ce/hive.dart';
import 'package:mon_sms_pro/mon_sms_pro.dart';

void main() async {
  await dotenv.load(fileName: ".env");

  WidgetsFlutterBinding.ensureInitialized();

  // Initialize Hive adapters
  await initMonSMSProHiveAdapters();

  // Open the main box
  await Hive.openBox('SMS_EXAMPLE');

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Mon SMS Pro Library Demo'),
      routes: {
        "/auth": (context) => const AuthScreen(),
        "/senders": (context) => const SenderScreen(),
        "/contacts": (context) => const ContactScreen(),
        "/groups": (context) => const GroupScreen(),
      },
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final routes = const [
    {
      "title": "Auth Screen",
      "route": "/auth",
    },
    {
      "title": "Sender Screen",
      "route": "/senders",
    },
    {
      "title": "Contact Screen",
      "route": "/contacts",
    },
    {
      "title": "Group Screen",
      "route": "/groups",
    },
  ];

  // @override
  // void initState() {
  //   super.initState();
  //   localDB.clear();
  // }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: ListView(
        children: [
          ...routes.map((route) => ListTile(
                title: Text(route["title"]!),
                onTap: () {
                  Navigator.pushNamed(context, route["route"]!);
                },
              )),
        ],
      ),
    );
  }
}
1
likes
145
points
37
downloads

Publisher

verified publisherfreddydro.dev

Weekly Downloads

Send SMS using the monsms.pro API

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dio, flutter, hive_ce, hive_ce_flutter

More

Packages that depend on mon_sms_pro