pukaad_ui 1.0.7 copy "pukaad_ui: ^1.0.7" to clipboard
pukaad_ui: ^1.0.7 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_riverpod/flutter_riverpod.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_riverpod/legacy.dart';
import 'package:pukaad_ui/theme/theme_scheme.dart';
import 'package:pukaad_ui_example/router.dart';
import 'package:shadcn_ui/shadcn_ui.dart';

// ตัวอย่าง TranslationProvider
class TranslationProvider extends ChangeNotifier {
  // กำหนดภาษาปัจจุบันเป็น default
  String _currentLanguage = 'en_US';

  String get currentLanguage => _currentLanguage;

  void changeLanguage(String languageCode, String countryCode) {
    _currentLanguage = '${languageCode}_$countryCode';
    notifyListeners();
  }
}

// ✅ Provider แบบ Riverpod 2.x
final translationProvider = ChangeNotifierProvider<TranslationProvider>((ref) {
  return TranslationProvider();
});

// ตัวอย่าง GoRouter provider (ถ้าคุณมีของจริงอยู่แล้วก็ใช้ของคุณได้)

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await dotenv.load(fileName: ".env");
  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);
    final translation = ref.watch(translationProvider);

    // แยก languageCode กับ countryCode
    final localeParts = translation.currentLanguage.split('_');
    final languageCode = localeParts[0];
    final countryCode = localeParts.length > 1 ? localeParts[1] : '';

    return ShadApp.router(
      debugShowCheckedModeBanner: false,
      title: "Pikachu",
      theme: lightThemeData,
      darkTheme: darkThemeData,
      themeMode: ThemeMode.light,
      routerConfig: router,
      locale: Locale(languageCode, countryCode),
    );
  }
}
0
likes
130
points
114
downloads

Publisher

unverified uploader

Weekly Downloads

pukaad_ui is a Flutter package providing reusable UI components, custom input fields, and Thai font support.

Repository (GitLab)

Topics

#pukaad

Documentation

API reference

License

unknown (license)

Dependencies

flutter, flutter_countdown_timer, flutter_dotenv, flutter_inappwebview, flutter_quill, flutter_riverpod, flutter_timer_countdown, go_router, iconify_flutter, logger, provider, shadcn_ui, slide_countdown, web, webview_flutter

More

Packages that depend on pukaad_ui