Skip to content

Commit 4ed6405

Browse files
authored
feat: Support header on scaffold (#554)
1 parent 10083ca commit 4ed6405

File tree

16 files changed

+1191
-399
lines changed

16 files changed

+1191
-399
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import 'package:flutter/cupertino.dart';
2+
import 'package:mix/mix.dart';
3+
import 'package:remix/remix.dart';
4+
import 'package:remix/themes/fortaleza.dart';
5+
import 'package:widgetbook/widgetbook.dart';
6+
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;
7+
8+
@widgetbook.UseCase(
9+
name: 'Header Component',
10+
type: Header,
11+
)
12+
Widget buildCard(BuildContext context) {
13+
final leading = Box(
14+
style: Style(
15+
$box.chain
16+
..padding(10)
17+
..color.white10()
18+
..borderRadius(8)
19+
..wrap.padding.right(16),
20+
$on.light(
21+
$box.color.black12(),
22+
$icon.color.black(),
23+
),
24+
),
25+
child: const StyledIcon(
26+
CupertinoIcons.person,
27+
),
28+
);
29+
30+
final actions = Row(
31+
children: [
32+
IconButton(
33+
CupertinoIcons.trash,
34+
variants: const [FortalezaIconButtonStyle.ghost],
35+
onPressed: () {},
36+
),
37+
const SizedBox(
38+
height: 16,
39+
),
40+
Button(label: 'Button', onPressed: () {}),
41+
],
42+
);
43+
44+
return Scaffold(
45+
header: Header(
46+
title: context.knobs.string(label: 'Title', initialValue: 'Title'),
47+
subtitle: context.knobs.stringOrNull(label: 'description'),
48+
leading: context.knobs.boolean(
49+
label: 'leading Icons',
50+
initialValue: false,
51+
)
52+
? leading
53+
: null,
54+
trailing: context.knobs.boolean(
55+
label: 'Trailing Icons',
56+
initialValue: false,
57+
)
58+
? actions
59+
: null,
60+
),
61+
body: Box(
62+
style: Style(
63+
$box.color.white.withOpacity($on.dark.when(context) ? 0.03 : 1),
64+
// $box.color.$neutral(1),
65+
),
66+
),
67+
);
68+
}

packages/remix/demo/lib/main.directories.g.dart

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,18 @@ import 'package:demo/components/chip_use_case.dart' as _i9;
2020
import 'package:demo/components/dialog_use_case.dart' as _i10;
2121
import 'package:demo/components/divider_use_case.dart' as _i11;
2222
import 'package:demo/components/dropdown_menu.dart' as _i12;
23-
import 'package:demo/components/icon_button_use_case.dart' as _i13;
24-
import 'package:demo/components/menu_item_use_case.dart' as _i14;
25-
import 'package:demo/components/progress_use_case.dart' as _i15;
26-
import 'package:demo/components/radio_use_case.dart' as _i16;
27-
import 'package:demo/components/segmented_control_use_case.dart' as _i17;
28-
import 'package:demo/components/select.dart' as _i18;
29-
import 'package:demo/components/slider.dart' as _i19;
30-
import 'package:demo/components/spinner_use_case.dart' as _i20;
31-
import 'package:demo/components/switch_use_case.dart' as _i21;
32-
import 'package:demo/components/textfield_use_case.dart' as _i22;
33-
import 'package:demo/components/toast_use_case.dart' as _i23;
23+
import 'package:demo/components/header_use_case.dart' as _i13;
24+
import 'package:demo/components/icon_button_use_case.dart' as _i14;
25+
import 'package:demo/components/menu_item_use_case.dart' as _i15;
26+
import 'package:demo/components/progress_use_case.dart' as _i16;
27+
import 'package:demo/components/radio_use_case.dart' as _i17;
28+
import 'package:demo/components/segmented_control_use_case.dart' as _i18;
29+
import 'package:demo/components/select.dart' as _i19;
30+
import 'package:demo/components/slider.dart' as _i20;
31+
import 'package:demo/components/spinner_use_case.dart' as _i21;
32+
import 'package:demo/components/switch_use_case.dart' as _i22;
33+
import 'package:demo/components/textfield_use_case.dart' as _i23;
34+
import 'package:demo/components/toast_use_case.dart' as _i24;
3435
import 'package:widgetbook/widgetbook.dart' as _i1;
3536

3637
final directories = <_i1.WidgetbookNode>[
@@ -114,81 +115,88 @@ final directories = <_i1.WidgetbookNode>[
114115
builder: _i12.buildDropdownMenu,
115116
),
116117
),
118+
_i1.WidgetbookLeafComponent(
119+
name: 'Header',
120+
useCase: _i1.WidgetbookUseCase(
121+
name: 'Header Component',
122+
builder: _i13.buildCard,
123+
),
124+
),
117125
_i1.WidgetbookLeafComponent(
118126
name: 'IconButton',
119127
useCase: _i1.WidgetbookUseCase(
120128
name: 'Button Component',
121-
builder: _i13.buildButtonUseCase,
129+
builder: _i14.buildButtonUseCase,
122130
),
123131
),
124132
_i1.WidgetbookLeafComponent(
125133
name: 'MenuItem',
126134
useCase: _i1.WidgetbookUseCase(
127135
name: 'Menu Item Component',
128-
builder: _i14.buildButtonUseCase,
136+
builder: _i15.buildButtonUseCase,
129137
),
130138
),
131139
_i1.WidgetbookLeafComponent(
132140
name: 'Progress',
133141
useCase: _i1.WidgetbookUseCase(
134142
name: 'Progress Component',
135-
builder: _i15.buildProgressUseCase,
143+
builder: _i16.buildProgressUseCase,
136144
),
137145
),
138146
_i1.WidgetbookLeafComponent(
139147
name: 'Radio',
140148
useCase: _i1.WidgetbookUseCase(
141149
name: 'Radio Component',
142-
builder: _i16.buildRadioUseCase,
150+
builder: _i17.buildRadioUseCase,
143151
),
144152
),
145153
_i1.WidgetbookLeafComponent(
146154
name: 'SegmentedControl',
147155
useCase: _i1.WidgetbookUseCase(
148156
name: 'SegmentedControl Component',
149-
builder: _i17.buildAccordionUseCase,
157+
builder: _i18.buildAccordionUseCase,
150158
),
151159
),
152160
_i1.WidgetbookLeafComponent(
153161
name: 'Select',
154162
useCase: _i1.WidgetbookUseCase(
155163
name: 'Select Component',
156-
builder: _i18.buildSelect,
164+
builder: _i19.buildSelect,
157165
),
158166
),
159167
_i1.WidgetbookLeafComponent(
160168
name: 'Slider',
161169
useCase: _i1.WidgetbookUseCase(
162170
name: 'Slider Component',
163-
builder: _i19.buildButtonUseCase,
171+
builder: _i20.buildButtonUseCase,
164172
),
165173
),
166174
_i1.WidgetbookLeafComponent(
167175
name: 'Spinner',
168176
useCase: _i1.WidgetbookUseCase(
169177
name: 'Spinner Component',
170-
builder: _i20.buildSpinnerUseCase,
178+
builder: _i21.buildSpinnerUseCase,
171179
),
172180
),
173181
_i1.WidgetbookLeafComponent(
174182
name: 'Switch',
175183
useCase: _i1.WidgetbookUseCase(
176184
name: 'Switch Component',
177-
builder: _i21.buildSwitchUseCase,
185+
builder: _i22.buildSwitchUseCase,
178186
),
179187
),
180188
_i1.WidgetbookLeafComponent(
181189
name: 'TextField',
182190
useCase: _i1.WidgetbookUseCase(
183191
name: 'TextField Component',
184-
builder: _i22.buildButtonUseCase,
192+
builder: _i23.buildButtonUseCase,
185193
),
186194
),
187195
_i1.WidgetbookLeafComponent(
188196
name: 'Toast',
189197
useCase: _i1.WidgetbookUseCase(
190198
name: 'Toast Component',
191-
builder: _i23.buildButtonUseCase,
199+
builder: _i24.buildButtonUseCase,
192200
),
193201
),
194202
],
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// This is a generated file; do not edit or check into version control.
22
FLUTTER_ROOT=/Users/lucasoliveira/fvm/versions/stable
3-
FLUTTER_APPLICATION_PATH=/Users/lucasoliveira/Developer/Mix/PoCs/remix_toast/packages/mix/packages/remix/demo
3+
FLUTTER_APPLICATION_PATH=/Users/lucasoliveira/Developer/Mix/PoCs/remix_app_poc/packages/mix/packages/remix/demo
44
COCOAPODS_PARALLEL_CODE_SIGN=true
5-
FLUTTER_TARGET=/Users/lucasoliveira/Developer/Mix/PoCs/remix_toast/packages/mix/packages/remix/demo/lib/main.dart
5+
FLUTTER_TARGET=/Users/lucasoliveira/Developer/Mix/PoCs/remix_app_poc/packages/mix/packages/remix/demo/lib/main.dart
66
FLUTTER_BUILD_DIR=build
77
FLUTTER_BUILD_NAME=1.0.0
88
FLUTTER_BUILD_NUMBER=1
99
DART_OBFUSCATION=false
1010
TRACK_WIDGET_CREATION=true
1111
TREE_SHAKE_ICONS=false
12-
PACKAGE_CONFIG=/Users/lucasoliveira/Developer/Mix/PoCs/remix_toast/packages/mix/packages/remix/demo/.dart_tool/package_config.json
12+
PACKAGE_CONFIG=/Users/lucasoliveira/Developer/Mix/PoCs/remix_app_poc/packages/mix/packages/remix/demo/.dart_tool/package_config.json

0 commit comments

Comments
 (0)