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

outdated

StorifyMe Snaps Editor

example/lib/main.dart

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:storifyme_snaps/params.dart';
import 'package:storifyme_snaps/storifyme_snaps_event_listener.dart';
import 'package:storifyme_snaps/storifyme_snaps_plugin.dart';

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

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

  @override
  State<SnapsExampleApp> createState() => _SnapsExampleAppState();
}

class _SnapsExampleAppState extends State<SnapsExampleApp>
    with StorifyMeSnapsEventListener {
  final _storifyMeSnapsPlugin = StorifyMeSnapsPlugin();

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

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    try {
      await _storifyMeSnapsPlugin.initPlugin({
        Params.API_KEY_ID: 'API_KEY',
        Params.ACCOUNT_ID_KEY: 'ACCOUNT_ID',
        Params.ENVIRONMENT_KEY: 'EU'
      });

      _storifyMeSnapsPlugin.setSnapsEventListener(this);
    } on PlatformException {
      debugPrint('Failed to get platform version.');
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Snaps Editor Demo Example',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Snaps Editor Demo Example'),
        ),
        body: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Center(
                child: TextButton(
                    child: const Text('OPEN SNAPS'),
                    onPressed: () => {
                          _storifyMeSnapsPlugin.openSnaps(
                              userId: "123",
                              snapName: "Some snap name example",
                              tags: ["tag1", "tag2"])
                        }),
              )
            ]),
      ),
    );
  }

  @override
  void onEditorClosed() {
    debugPrint('SnapsEditor: onEditorClosed');
  }

  @override
  void onEditorLoadFailed() {
    debugPrint('SnapsEditor: onEditorLoadFailed');
  }

  @override
  void onEditorLoaded() {
    debugPrint('SnapsEditor: onEditorLoaded');
  }

  @override
  void onSnapSaved(int snapId) {
    debugPrint('SnapsEditor: onSnapSaved - $snapId');
  }
}