edmaxlabs 0.3.2 copy "edmaxlabs: ^0.3.2" to clipboard
edmaxlabs: ^0.3.2 copied to clipboard

discontinued
Platformweb

A comprehensive Flutter package for advanced application development.

example/lib/main.dart

import 'dart:developer';

import 'package:edmaxlabs/edmaxlabs.dart';
import 'package:example/presentation/database/database.dart';
import 'package:example/presentation/storage/filemanager.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:heroicons/heroicons.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await EdmaxLabs.init(
      projectId: 'XXXX',
      defaultUser: "XXXX",
      onConnectionFailed: (String reason) {
        log(reason);
      });
  runApp(const MyApp());
}

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'EdmaxLabs Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: Main(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class Main extends StatefulWidget {
  const Main({super.key});

  @override
  State<Main> createState() => _MainState();
}

class _MainState extends State<Main> {
  final service = EdmaxLabs.instance;
  List<Widget> pages = [Database(), Filemanager()];
  int currentPage = 0;

  @override
  void initState() {
    super.initState();
  }

  Future<void> authAlert() async {
    await showDialog<String>(
      barrierDismissible: false,
      context: context,
      builder: (context) {
        return StatefulBuilder(builder: (context, setDialogState) {
          return AlertDialog(
            backgroundColor: Colors.black,
            title: Text(
              "Authenticating ...",
              style: GoogleFonts.poppins(color: Colors.white),
            ),
            content: Text(
              "Please finish authentication on another screen. Once done it wil automatically log you in and dismiss this popup\n\nKeep in mind auth session is valid for 3 minutes only",
              style: GoogleFonts.poppins(color: Colors.white),
            ),
          );
        });
      },
    );
  }

  void auth() {
    authAlert();
    service!.auth().authCallback(
          type: AuthType.basic,
          onResult: (uid) {
            print(uid);
            Navigator.of(context).pop();
          },
          onError: (error) {
            print(error);
            Navigator.of(context).pop();
          },
        );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        actions: [
          GestureDetector(
            onTap: auth,
            child: Padding(
              padding: const EdgeInsets.all(8.0),
              child: HeroIcon(
                HeroIcons.shieldCheck,
                color: Colors.red,
                style: HeroIconStyle.solid,
              ),
            ),
          )
        ],
      ),
      body: pages[currentPage],
    );
  }
}
1
likes
100
points
233
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter package for advanced application development.

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

connectivity_plus, dio, file_picker, flutter, http, intl, shared_preferences, socket_io_client, url_launcher, uuid, web

More

Packages that depend on edmaxlabs