ypay_inventory 1.0.3+1 copy "ypay_inventory: ^1.0.3+1" to clipboard
ypay_inventory: ^1.0.3+1 copied to clipboard

YPay inventory Flutter Plugin для библиотеки YPay Flutter позволяет интегрировать встроенные бейджи и виджеты YandexPaySDK в ваши проекты. Инвентарь — это набор визуальных элементов с брендированными [...]

example/lib/main.dart

import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:ypay_inventory/ypay_inventory.dart';
import 'package:ypay_inventory_example/views/bnpl_widget.dart';
import 'package:ypay_inventory_example/views/cashback_badge.dart';
import 'package:ypay_inventory_example/views/info_widget.dart';
import 'package:ypay_inventory_example/views/simple_widget.dart';
import 'package:ypay_inventory_example/views/split_badge.dart';

import 'controllers.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.from(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.lightBlue),
      ),
      home: const YPayMainScreen(),
    );
  }
}

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

  @override
  State<YPayMainScreen> createState() => _YPayMainScreenState();
}

class _YPayMainScreenState extends State<YPayMainScreen> {
  final _ypayPlugin = YPayInventory.instance;

  Future<bool> _init() async {
    try {
      await _ypayPlugin.init(
          configuration: const YPayInventoryConfiguration(
        merchantId: 'merchantId',
        merchantName: 'merchantName',
        merchantUrl: 'merchantUrl',
      ));

      return true;
    } catch (e, stackTrace) {
      log(e.toString(), stackTrace: stackTrace);

      return false;
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color.fromARGB(255, 233, 233, 233),
      appBar: AppBar(toolbarHeight: 0),
      body: FutureBuilder(
        future: _init(),
        builder: (context, snapshot) {
          if (snapshot.data == null) {
            return const SizedBox();
          } else {
            return const YPayWidgetsPage();
          }
        },
      ),
    );
  }
}

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

  @override
  State<YPayWidgetsPage> createState() => _YPayWidgetsPageState();
}

class _YPayWidgetsPageState extends State<YPayWidgetsPage> {
  final _controllers = Controllers();

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider.value(
      value: _controllers,
      child: SingleChildScrollView(
        child: Padding(
          padding: const EdgeInsets.all(16) + const EdgeInsets.only(bottom: 60),
          child: Column(
            children: [
              CashbackBadge(controllers: _controllers),
              const SizedBox(height: 32),
              SplitBadge(controllers: _controllers),
              const SizedBox(height: 32),
              SimpleWidget(controllers: _controllers),
              const SizedBox(height: 32),
              InfoWidget(controllers: _controllers),
              const SizedBox(height: 32),
              BnplWidget(controllers: _controllers),
            ],
          ),
        ),
      ),
    );
  }
}
2
likes
125
points
104
downloads

Publisher

verified publisherthehead.ru

Weekly Downloads

YPay inventory Flutter Plugin для библиотеки YPay Flutter позволяет интегрировать встроенные бейджи и виджеты YandexPaySDK в ваши проекты. Инвентарь — это набор визуальных элементов с брендированными продуктами Яндекса.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, ypay_inventory_android, ypay_inventory_ios, ypay_inventory_platform_interface

More

Packages that depend on ypay_inventory

Packages that implement ypay_inventory