smart_design_system 0.0.6 copy "smart_design_system: ^0.0.6" to clipboard
smart_design_system: ^0.0.6 copied to clipboard

Design system for SmartDash.

example/lib/main.dart

import 'dart:developer';

import 'package:dartz/dartz.dart';
import 'package:flutter/material.dart';
import 'package:smart_design_system/generic_features/submit/domain/repositories/submit_repository.dart';
import 'package:smart_design_system/generic_features/submit/submit_feature_builder.dart';

void main() {
  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: 'Flutter Demo',
      home: ExamplePage(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return TextButton(
      onPressed: () => _onPressed(context),
      child: const Text('Press Me'),
    );
  }

  void _onPressed(BuildContext context) {
    SubmitFeatureBuilder.submitWithDialog<int, String>(
      repository: MockSubmitRepository(),
      context: context,
      onSuccess: (result) => log(result),
      data: 1,
    );
  }
}

class MockSubmitRepository implements SubmitRepository<int, String> {
  @override
  Future<Either<SubmitFailure, String>> submit(int data) async {
    await Future.delayed(const Duration(seconds: 2));
    return const Right('Data submitted');
  }
}