flutter_app_kit 1.1.0
flutter_app_kit: ^1.1.0 copied to clipboard
App bootstrap, flavors, secure session storage, Material Notices, responsive dialogs/bottom sheets, and a sign-in prompt for Lemsa apps.
flutter_app_kit #
App bootstrap, flavors, secure session storage, Material snackbars, dialogs, bottom sheets, and a sign-in prompt for Lemsa apps.
Platforms: Android, iOS, Linux, macOS, Web, Windows
Requires: Flutter >=3.44.0
Install #
dependencies:
flutter_app_kit: ^1.1.0
flutter_page_kit: ^1.0.0
lemsa_core_kit: ^1.1.0
import 'package:flutter_app_kit/flutter_app_kit.dart';
Owns #
bootstrap(AppConfig)— dotenv, optional vendor init callbacks, prefs / secure storage, error zoneAppFlavor—dev/staging/prodvia--dart-define=FLAVOR=SecureSessionStore— tokens/credentials onlydeleteUserData()— secure wipe + prefs allowlist + optional local DB hookMaterialNotices— MaterialScaffoldMessengerimplementation ofNotices- Dialogs —
showAppDialog(responsive width, optional close button),showAppFullScreenDialog,showAppBottomSheet(safe area, drag handle, capped width/height),showConfirmDialog→bool requireSignIn— "log in to continue" gate for actions; returnstruewhen the user is (or becomes) signed inAppDialogs(navigatorKey:)— the same helpers without aBuildContext, for controllers (passrouter.navigatorKey)
if (!await requireSignIn(
context,
isSignedIn: () => session.isSignedIn,
openSignIn: () => context.router.push(const LoginRoute()),
texts: SignInPromptTexts(
title: t.auth.title,
message: t.auth.loginToContinue,
signInLabel: t.auth.signIn,
cancelLabel: t.common.cancel,
),
)) return;
Firebase/Supabase SDKs are not package dependencies — pass initFirebase / initSupabase callbacks from the app.
Agent skill #
npx skills add fodilfliti/flutter_app_kit
# or: npx skills add fodilfliti/lemsa-skills