Skip to content

Commit

Permalink
feat: Support header on scaffold (#554)
Browse files Browse the repository at this point in the history
  • Loading branch information
tilucasoli authored Feb 7, 2025
1 parent 10083ca commit 4ed6405
Show file tree
Hide file tree
Showing 16 changed files with 1,191 additions and 399 deletions.
68 changes: 68 additions & 0 deletions packages/remix/demo/lib/components/header_use_case.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import 'package:flutter/cupertino.dart';
import 'package:mix/mix.dart';
import 'package:remix/remix.dart';
import 'package:remix/themes/fortaleza.dart';
import 'package:widgetbook/widgetbook.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;

@widgetbook.UseCase(
name: 'Header Component',
type: Header,
)
Widget buildCard(BuildContext context) {
final leading = Box(
style: Style(
$box.chain
..padding(10)
..color.white10()
..borderRadius(8)
..wrap.padding.right(16),
$on.light(
$box.color.black12(),
$icon.color.black(),
),
),
child: const StyledIcon(
CupertinoIcons.person,
),
);

final actions = Row(
children: [
IconButton(
CupertinoIcons.trash,
variants: const [FortalezaIconButtonStyle.ghost],
onPressed: () {},
),
const SizedBox(
height: 16,
),
Button(label: 'Button', onPressed: () {}),
],
);

return Scaffold(
header: Header(
title: context.knobs.string(label: 'Title', initialValue: 'Title'),
subtitle: context.knobs.stringOrNull(label: 'description'),
leading: context.knobs.boolean(
label: 'leading Icons',
initialValue: false,
)
? leading
: null,
trailing: context.knobs.boolean(
label: 'Trailing Icons',
initialValue: false,
)
? actions
: null,
),
body: Box(
style: Style(
$box.color.white.withOpacity($on.dark.when(context) ? 0.03 : 1),
// $box.color.$neutral(1),
),
),
);
}
52 changes: 30 additions & 22 deletions packages/remix/demo/lib/main.directories.g.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,18 @@ import 'package:demo/components/chip_use_case.dart' as _i9;
import 'package:demo/components/dialog_use_case.dart' as _i10;
import 'package:demo/components/divider_use_case.dart' as _i11;
import 'package:demo/components/dropdown_menu.dart' as _i12;
import 'package:demo/components/icon_button_use_case.dart' as _i13;
import 'package:demo/components/menu_item_use_case.dart' as _i14;
import 'package:demo/components/progress_use_case.dart' as _i15;
import 'package:demo/components/radio_use_case.dart' as _i16;
import 'package:demo/components/segmented_control_use_case.dart' as _i17;
import 'package:demo/components/select.dart' as _i18;
import 'package:demo/components/slider.dart' as _i19;
import 'package:demo/components/spinner_use_case.dart' as _i20;
import 'package:demo/components/switch_use_case.dart' as _i21;
import 'package:demo/components/textfield_use_case.dart' as _i22;
import 'package:demo/components/toast_use_case.dart' as _i23;
import 'package:demo/components/header_use_case.dart' as _i13;
import 'package:demo/components/icon_button_use_case.dart' as _i14;
import 'package:demo/components/menu_item_use_case.dart' as _i15;
import 'package:demo/components/progress_use_case.dart' as _i16;
import 'package:demo/components/radio_use_case.dart' as _i17;
import 'package:demo/components/segmented_control_use_case.dart' as _i18;
import 'package:demo/components/select.dart' as _i19;
import 'package:demo/components/slider.dart' as _i20;
import 'package:demo/components/spinner_use_case.dart' as _i21;
import 'package:demo/components/switch_use_case.dart' as _i22;
import 'package:demo/components/textfield_use_case.dart' as _i23;
import 'package:demo/components/toast_use_case.dart' as _i24;
import 'package:widgetbook/widgetbook.dart' as _i1;

final directories = <_i1.WidgetbookNode>[
Expand Down Expand Up @@ -114,81 +115,88 @@ final directories = <_i1.WidgetbookNode>[
builder: _i12.buildDropdownMenu,
),
),
_i1.WidgetbookLeafComponent(
name: 'Header',
useCase: _i1.WidgetbookUseCase(
name: 'Header Component',
builder: _i13.buildCard,
),
),
_i1.WidgetbookLeafComponent(
name: 'IconButton',
useCase: _i1.WidgetbookUseCase(
name: 'Button Component',
builder: _i13.buildButtonUseCase,
builder: _i14.buildButtonUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'MenuItem',
useCase: _i1.WidgetbookUseCase(
name: 'Menu Item Component',
builder: _i14.buildButtonUseCase,
builder: _i15.buildButtonUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'Progress',
useCase: _i1.WidgetbookUseCase(
name: 'Progress Component',
builder: _i15.buildProgressUseCase,
builder: _i16.buildProgressUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'Radio',
useCase: _i1.WidgetbookUseCase(
name: 'Radio Component',
builder: _i16.buildRadioUseCase,
builder: _i17.buildRadioUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'SegmentedControl',
useCase: _i1.WidgetbookUseCase(
name: 'SegmentedControl Component',
builder: _i17.buildAccordionUseCase,
builder: _i18.buildAccordionUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'Select',
useCase: _i1.WidgetbookUseCase(
name: 'Select Component',
builder: _i18.buildSelect,
builder: _i19.buildSelect,
),
),
_i1.WidgetbookLeafComponent(
name: 'Slider',
useCase: _i1.WidgetbookUseCase(
name: 'Slider Component',
builder: _i19.buildButtonUseCase,
builder: _i20.buildButtonUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'Spinner',
useCase: _i1.WidgetbookUseCase(
name: 'Spinner Component',
builder: _i20.buildSpinnerUseCase,
builder: _i21.buildSpinnerUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'Switch',
useCase: _i1.WidgetbookUseCase(
name: 'Switch Component',
builder: _i21.buildSwitchUseCase,
builder: _i22.buildSwitchUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'TextField',
useCase: _i1.WidgetbookUseCase(
name: 'TextField Component',
builder: _i22.buildButtonUseCase,
builder: _i23.buildButtonUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'Toast',
useCase: _i1.WidgetbookUseCase(
name: 'Toast Component',
builder: _i23.buildButtonUseCase,
builder: _i24.buildButtonUseCase,
),
),
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/lucasoliveira/fvm/versions/stable
FLUTTER_APPLICATION_PATH=/Users/lucasoliveira/Developer/Mix/PoCs/remix_toast/packages/mix/packages/remix/demo
FLUTTER_APPLICATION_PATH=/Users/lucasoliveira/Developer/Mix/PoCs/remix_app_poc/packages/mix/packages/remix/demo
COCOAPODS_PARALLEL_CODE_SIGN=true
FLUTTER_TARGET=/Users/lucasoliveira/Developer/Mix/PoCs/remix_toast/packages/mix/packages/remix/demo/lib/main.dart
FLUTTER_TARGET=/Users/lucasoliveira/Developer/Mix/PoCs/remix_app_poc/packages/mix/packages/remix/demo/lib/main.dart
FLUTTER_BUILD_DIR=build
FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1
DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=true
TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=/Users/lucasoliveira/Developer/Mix/PoCs/remix_toast/packages/mix/packages/remix/demo/.dart_tool/package_config.json
PACKAGE_CONFIG=/Users/lucasoliveira/Developer/Mix/PoCs/remix_app_poc/packages/mix/packages/remix/demo/.dart_tool/package_config.json
Loading

0 comments on commit 4ed6405

Please sign in to comment.