shoshi_ui 0.0.3
shoshi_ui: ^0.0.3 copied to clipboard
ShoshiUI - a modern, lightweight, and easy-to-use UI kit for Flutter, designed to speed up building beautiful interfaces in your projects. Perfect for personal projects as well as team development.
example/lib/main.dart
import 'dart:async';
import 'package:example/demo/pages/button_demo.dart';
import 'package:example/demo/pages/toggle_demo.dart';
import 'package:example/demo/utils/context.dart';
import 'package:flutter/material.dart';
import 'package:shoshi_ui/shoshi_ui.dart';
void main() {
runZonedGuarded(() {
runApp(const MyApp());
}, (error, stack) => print(error));
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return STheme(
data: SThemeData(),
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)),
home: HomePage(),
),
);
}
}
final Map<String, Widget> pages = {'Button': ButtonDemo(), 'Toggle': ToggleDemo()};
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Home')),
body: Padding(
padding: EdgeInsetsGeometry.all(16),
child: Column(
children: pages.entries
.map(
(final e) => GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () => context.push(e.value),
child: Container(
padding: const EdgeInsets.symmetric(vertical: SSpacings.s12),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [SButton.text(e.key), Icon(Icons.chevron_right_rounded)],
),
),
),
)
.toList(),
),
),
);
}
}