pukaad_ui_app 0.0.5 copy "pukaad_ui_app: ^0.0.5" to clipboard
pukaad_ui_app: ^0.0.5 copied to clipboard

A comprehensive and reusable UI Kit for Pukaad applications, featuring custom inputs, cards, and theme components.

example/lib/main.dart

import 'package:example/core/router/app_router.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:pukaad_ui_app/pukaad_ui_app.dart';

import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_quill/flutter_quill.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();


  LocaleSettings.useDeviceLocale();

  // Sync PukaadUIConfig with current locale
  _updatePukaadUIConfig();

  // Listen to locale changes
  LocaleSettings.getLocaleStream().listen((_) {
    _updatePukaadUIConfig();
  });

  // Restore session
  final container = ProviderContainer();
  // Auth check is handled automatically by the provider's build method

  runApp(
    TranslationProvider(
      child: UncontrolledProviderScope(
        container: container,
        child: const MyApp(),
      ),
    ),
  );
}

void _updatePukaadUIConfig() {
  PukaadUIConfig.strings = PukaadUIStrings(
    forgotPassword: t_ui.auth.forgot_password,
    passwordLengthRequirement: t_ui.auth.password_requirements.length,
    passwordUpperCaseRequirement: t_ui.auth.password_requirements.uppercase,
    passwordDigitRequirement: t_ui.auth.password_requirements.digit,
    passwordNoSpaceRequirement: t_ui.auth.password_requirements.no_space,
    recaptchaSiteKey: '6LeL5VksAAAAAFOZdKTrS-tZO0t8nhcdtesI8Z-x', // Public site key
  );
  PukaadUIConfig.websocketUrl = 'wss://api.example.com/ws';
}

class MyApp extends ConsumerWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final router = ref.watch(goRouterProvider);

    return MaterialApp.router(
      title: 'Pukaad Personal App',
      debugShowCheckedModeBanner: false,
      theme: AppTheme.lightTheme,
      routerConfig: router,
      locale: TranslationProvider.of(context).flutterLocale, // use provider
      supportedLocales: AppLocaleUtils.supportedLocales,
      localizationsDelegates: [
        ...GlobalMaterialLocalizations.delegates,
        FlutterQuillLocalizations.delegate,
      ],
    );
  }
}
0
likes
0
points
19
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive and reusable UI Kit for Pukaad applications, featuring custom inputs, cards, and theme components.

Repository (GitLab)
View/report issues

License

unknown (license)

Dependencies

device_info_plus, flutter, flutter_riverpod, flutter_widget_from_html, go_router, google_fonts, hexcolor, iconify_flutter, intl, pinput, slang, slang_flutter, url_launcher, vsc_quill_delta_to_html, web_socket_channel, webview_flutter

More

Packages that depend on pukaad_ui_app