createDecoratedErrorPage method

  1. @override
CreateWidget createDecoratedErrorPage(
  1. AppModel app,
  2. BuildContext context,
  3. Key? originalPageKey,
  4. CreateWidget createOriginalPage,
)
override

Implementation

@override
deco.CreateWidget createDecoratedErrorPage(AppModel app, BuildContext context,
    Key? originalPageKey, deco.CreateWidget createOriginalPage) {
  if (!AccessBloc.isOwner(context, app)) return createOriginalPage;

  return (() {
    // Button for the decorator itself
    return MyDecoratedWidget(
      action: SingleAction(() {
        _isCreationMode.value = !_isCreationMode.value;
      }),
//        label: 'creator',
      ensureHeight: false,
      initialPosition: InitialPosition.rightAlmostBottom,
      isCreationMode: ValueNotifier<bool>(true),
      originalWidgetKey: originalPageKey,
      createOriginalWidget: () {
        // Button for the wizard
        return MyDecoratedWidget(
          isCreationMode: _isCreationMode,
          originalWidgetKey: originalPageKey,
          createOriginalWidget: () {
            // Button for the app
            return MyDecoratedWidget(
              isCreationMode: _isCreationMode,
              originalWidgetKey: originalPageKey,
              createOriginalWidget: () {
                return MyDecoratedWidget(
                  isCreationMode: _isCreationMode,
                  originalWidgetKey: originalPageKey,
                  createOriginalWidget: createOriginalPage,
                  icon: Icon(
                    Icons.palette_outlined,
                    color: Constants.iconColor,
                    size: CreatorButton.buttonClient * .7,
                  ),
                  action: SingleAction(() {
                    openComplexDialog(
                        app, context, '${app.documentID}/_style',
                        widthFraction: .5,
                        includeHeading: false,
                        child: StyleSelectionWidget.getIt(
                            context, app, true, false, false),
                        title: 'Style');
                  }),
                  ensureHeight: false,
                  initialPosition: InitialPosition.rightBottom,
                );
              },
              action: SingleAction(() {
                openFlexibleDialog(
                  app,
                  context,
                  '${app.documentID}/_appcreate',
                  includeHeading: false,
                  widthFraction: fraction,
                  child: AppCreateWidget.getIt(
                    context,
                    app,
                    false,
                    fullScreenWidth(context) * fraction,
                    fullScreenHeight(context) - 100,
                  ),
                );
              }),
              ensureHeight: false,
              initialPosition: InitialPosition.leftBottom,
              label: 'app',
            );
          },
          action: SingleAction(() {
            var member = AccessBloc.member(context);
            if (member != null) {
              newWizard(
                context,
                member,
                app,
                fraction: .9,
              );
            }
          }),
          ensureHeight: false,
          initialPosition: InitialPosition.leftAlmostBottom,
          label: 'wizard',
        );
      },
    );
  });
}