smart_design_system 0.0.6
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');
}
}