masterfabric_core 0.0.4
masterfabric_core: ^0.0.4 copied to clipboard
Core utilities, base classes, and shared logic for the MasterFabric Flutter project.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.4 - 2025-12-24 #
Changed #
Example App
- Refactored all helper demonstration views to follow consistent feature pattern
- Reorganized helper views into structured folders with cubit/state architecture:
device_info/- Device Info Helper demo with cubit/statestorage/- Local Storage Helper demo with cubit/statedatetime/- DateTime Helper demo with cubit/stateurl_launcher/- URL Launcher Helper demo with cubit/statepermissions/- Permissions Helper demo with cubit/state (renamed toHelperPermissionsCubit/Stateto avoid conflicts)share/- Share Helper demo with cubit/statedownload/- File Download Helper demo with cubit/stateconfig/- App Config Helper demo with cubit/statepackage_info/- Package Info Helper demo with cubit/state
- All helper views now use
MasterViewCubitpattern matchingHomeViewstructure - Updated routes configuration to use new helper view structure
- Updated GetIt dependency injection to register all helper cubits
- Improved code organization and maintainability
Fixed #
- Resolved naming conflicts with
PermissionsStateandPermissionsCubitfrom masterfabric_core - Fixed linting errors in helper views
Changed #
- Version bump to 0.0.4
0.0.3 - 2025-12-23 #
Added #
Example App
- Complete example application demonstrating
masterfabric_coreusage - Example app structure with features (home, products, profile)
- Example screens demonstrating
MasterViewCubitpattern:HomeView- Home screen with device info and storage examplesProductsView- Products list with loading, error, and success statesProfileView- Profile screen with user information
- Example cubits and states showing state management patterns
- Example routes configuration with GoRouter
- Example
main.dartshowingMasterAppinitialization - Example
README.mdwith usage patterns and documentation - Example app configuration (
app_config.json) - GetIt dependency injection setup examples
- AppBar customization examples with back button and actions
Changed #
- Version bump to 0.0.3
0.0.1 - 2025-12-23 #
Added #
Base Module
BaseViewBloc- Abstract BLoC-based view classBaseViewCubit- Abstract Cubit-based view classBaseViewHydratedCubit- Persisted Cubit view class with state persistenceBaseViewModel- Base view model classBaseViewModelCubit- Cubit-based view modelBaseViewModelHydratedCubit- Hydrated view model with persistenceBaseViewState- Base state management class with common states (sealed class)MasterView- Unified view management interface with enums and mixinsMasterApp- Main application wrapper with initialization and configurationMasterViewCubit- Cubit-based master view with enums and mixinsMasterViewHydratedCubit- Hydrated master view with persistence, enums, mixins, and initializationMasterScaffoldWidget- Common scaffold widget with osmea_components integrationHydratedBlocInit- Hydrated bloc storage initialization helper
Helper Module
LocalStorageHelper- SharedPreferences wrapper for local storage (static API)AuthStorageHelper- Authentication data persistence helperSpacerHelper- UI spacing utilities with CoreSpacerType enumUrlLauncherHelper- External URL and app launchingWebViewerHelper- HTML/WebView rendering utilitiesApplicationShareHelper- Content sharing functionalityDateTimeHelper- Date and time operations and formattingDoubleExtensionHelper- Number formatting extensionsPriceInfoCurrencyHelper- Currency formatting utilitiesFirstLetterCapitalizeHelper- String capitalization helpersGridHelper- Grid layout calculation utilitiesDeviceInfoHelper- Device information retrieval (singleton pattern)PermissionHandlerHelper- Runtime permissions management with abstract base and modelsLocalNotificationHelper- Local push notificationsFileDownloadHelper- File downloads with progress trackingAssetConfigHelper- JSON config management from assets with fallback support (camelCase keys)PackageInfoHelper- Package information retrieval (app name, version, build number)OnboardingStorageHelper- Onboarding flow storage (uses LocalStorageHelper)CommonLoggerHelper- Logging utilities
Views Module
SplashView- App launch screen with loading logic and multiple style supportSplashStartupWidget- Basic splash style with logo and loading indicatorSplashSpaceWidget- Ultra-minimalist text-based splash styleSplashEnterpriseWidget- Professional corporate card-based splash style
OnboardingView- User onboarding flow with cubit and state managementAuthView- Authentication screen with Sign In/Sign Up tabs and cubit/stateAccountView- User account management screen with cubit and statePermissionsView- Permission request screens with cubit and stateErrorHandlingView- Error display and recovery with cubit and stateLoadingView- Loading state views with cubit and stateEmptyView- Empty state views with cubit and stateInfoBottomSheetView- Information bottom sheets with cubit and stateImageDetailView- Image detail viewer with cubit and stateSearchView- Search functionality interface with cubit and stateAppRoutes- Route definitions with GoRouter integration
Models Module
LoadingModel- Loading state configurationsLoadingConfig- Loading configuration with type, message, dismissible, and timeoutLoadingTypeenum - Loading indicator types (circular, linear, custom)ErrorModel- Error handling data modelsOnboardingPageModel- Individual onboarding page configurationOnboardingConfig- Onboarding flow configuration with pages and button textSplashConfigModel- Splash screen configurations with style supportSplashStyleenum - Splash style options (startup, space, enterprise)SplashFlowStateenum - Splash flow statesSplashActionenum - Splash actionsEmptyViewModel- Empty state configurationsInfoModel- Info sheet configurations
Layout Module
Grid- Grid layout system with responsive calculations and dev mode overlay (DevGridOverlay)Spacer- Spacing utilities for consistent UI (CoreSpacer,NavbarArea,FooterArea)CoreSpacerTypeenum - Spacer types (navbar, footer, content, section, horizontal, vertical)
Dependency Injection
- Injectable configuration setup with code generation
- GetIt integration structure
- Injection configuration files (
injection.dart,injection.config.dart)
Localization
- Slang configuration for i18n (
slang.yaml) - English translation file (
assets/i18n/en.i18n.json) - Generated resources (
resources.g.dart,resources_en.g.dart) - Translation keys organized by view (common, auth, account, onboarding, permissions, search, error, splash, etc.)
Configuration
pubspec.yamlwith all required dependenciesslang.yamlfor localization configurationapp_config.jsonfor app configuration with fallback support (camelCase format)appSettings- App name, version, environment, debug mode, maintenance modeuiConfiguration- Theme mode, font scale, dev mode settingssplashConfiguration- Splash screen style, duration, colors, logo settingsfeatureFlags- Feature toggles (onboarding, analytics, etc.)navigationConfiguration- Default routes, deep linkingapiConfiguration- API base URL, timeout, retry settingspermissionsConfiguration- Required and optional permissionslocalizationConfiguration- Default locale, supported localesstorageConfiguration- Encryption, cache settings
Dependencies #
- State Management:
flutter_bloc(^9.1.0),hydrated_bloc(^10.1.1),equatable(^2.0.7) - Navigation:
go_router(^15.1.1) - Dependency Injection:
injectable(^2.7.1),get_it(^8.3.0) - Localization:
slang(^4.11.1),slang_flutter(^4.11.0) - Utilities:
logger(^2.5.0),dio(^5.7.0),shared_preferences(^2.5.3),sqflite(^2.4.2),url_launcher(^6.3.1),intl(^0.20.0) - System:
device_info_plus(^11.4.0),package_info_plus(^8.3.0),permission_handler(^11.2.0),path_provider(^2.1.5) - UI:
flutter_html(^3.0.0),flutter_inappwebview(^6.1.5),webview_flutter(^4.10.0) - Notifications:
flutter_local_notifications(^19.4.2),timezone(^0.10.1) - Sharing:
share_plus(^10.1.4)
Dev Dependencies #
flutter_test- Flutter testing frameworkflutter_lints(^5.0.0) - Linting rulesbuild_runner(^2.4.7) - Code generationinjectable_generator(^2.11.1) - Injectable code generationslang_build_runner(^4.8.0) - Slang code generation
Documentation #
- Comprehensive README.md with usage examples
- Package structure documentation
- Architecture overview
- Quick start guide
0.0.2 - 2025-12-23 #
Changed #
- Migrated from
osmea_componentsto Material Design widgets - All UI components now use Flutter's built-in Material widgets
- Updated
MasterScaffoldWidgetto use Material Design instead of osmea_components - Updated splash widgets (
SplashStartupWidget,SplashSpaceWidget,SplashEnterpriseWidget) to use Material widgets - Replaced
OsmeaColorswith MaterialColors - Replaced
OsmeaComponents.*helpers with standard Material widgets (Container,Column,Row,Text, etc.) - Updated
SpacerHelperto use Material colors instead of osmea colors - Removed
osmea_componentsdependency frompubspec.yaml
Removed #
osmea_componentsGit dependency (replaced with Material widgets)- All
OsmeaComponents.*helper methods - All
OsmeaColors.*color references osmea_componentsexport from main library
Documentation #
- Updated README.md with pub.flutter-io.cn installation instructions
- Added package publishing information
- Updated repository URLs to
https://github.com/gurkanfikretgunak/masterfabric_core
Publishing #
- Package published to pub.flutter-io.cn
- Package ready for public use via
flutter pub add masterfabric_core - Version bumped to 0.0.2