presented_bloc 1.0.0-beta.1 copy "presented_bloc: ^1.0.0-beta.1" to clipboard
presented_bloc: ^1.0.0-beta.1 copied to clipboard

A seamless blend of Bloc state management, MVVM architecture, and a presenter‑driven navigation system.

example/lib/main.dart

import 'package:example/barrel.dart';
import 'package:flutter/cupertino.dart';
import 'package:presented_bloc/presented_bloc.dart'
    hide AppCubit, AppState, AppView, AppViewModel;

void main() {
  OperatingSystem.run(
    ios: runCupertinoClient,
    android: runMaterialClient,
    macos: runCupertinoClient,
    fallback: runCupertinoClient,
    onError: (error, stackTrace) =>
        print('Error: $error\nStackTrace: $stackTrace'),
  );
}

void runMaterialClient() {
  final cubit = AppCubit(
    AppState(
      operatingSystem: OperatingSystem.current,
      designLanguage: DesignLanguage.material,
      appName: 'Example',
    ),
  );
  cubit.presenter.run(
    newView: ({required newViewModel}) {
      return AppView.material(
        newViewModel: newViewModel,
        launchWidget: const Launch(),
      );
    },
    newViewModel: AppViewModel.new,
  );
}

void runCupertinoClient() {
  final cubit = AppCubit(
    AppState(
      operatingSystem: OperatingSystem.current,
      designLanguage: DesignLanguage.cupertino,
      appName: 'Example',
    ),
  );
  cubit.presenter.run(
    newView: ({required newViewModel}) {
      return AppView.cupertino(
        newViewModel: newViewModel,
        theme: const CupertinoThemeData(
          brightness: Brightness.light,
        ),
        launchWidget: const Launch(),
      );
    },
    newViewModel: AppViewModel.new,
  );
}
0
likes
40
points
1
downloads

Publisher

unverified uploader

Weekly Downloads

A seamless blend of Bloc state management, MVVM architecture, and a presenter‑driven navigation system.

Repository
View/report issues

Topics

#bloc #state-management #mvvm

Documentation

Documentation

License

MIT (license)

Dependencies

dio, equatable, flutter, flutter_bloc, focus_detector_v2, provider, uuid

More

Packages that depend on presented_bloc