pukaad_ui_lib 1.1.10
pukaad_ui_lib: ^1.1.10 copied to clipboard
pukaad_ui is a Flutter package providing reusable UI components, custom input fields, and Thai font support.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:pukaad_ui_lib/theme/theme_scheme.dart';
import 'package:pukaad_ui_lib/utility/responsive/responsive_wrapper.dart';
import 'package:pukaad_ui_example/router.dart';
import 'package:shadcn_ui/shadcn_ui.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// Lock orientation to portrait mode only
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
try {
await dotenv.load(fileName: ".env");
} catch (e) {
debugPrint("Warning: .env file not found, skipping load.");
}
runApp(const ProviderScope(child: MyApp()));
}
class MyApp extends ConsumerWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final router = ref.watch(goRouterProvider);
return ScreenUtilInit(
designSize: const Size(375, 812),
minTextAdapt: true,
splitScreenMode: true,
builder: (_, child) {
return ShadApp.router(
debugShowCheckedModeBanner: false,
title: "Pukaad UI Docs",
theme: lightThemeData,
darkTheme: darkThemeData,
themeMode: ThemeMode.light,
routerConfig: router,
locale: const Locale('th', 'TH'),
builder: (context, child) {
return ResponsiveWrapper(child: child ?? const SizedBox());
},
);
},
);
}
}