Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit bedf500

Browse files
committedJan 21, 2025·
Refactor: remove isPortrait condition.
1 parent 2fb8552 commit bedf500

File tree

5 files changed

+56
-179
lines changed

5 files changed

+56
-179
lines changed
 

‎escape_wild/lib/ui/game/action.dart

Lines changed: 32 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -20,73 +20,46 @@ class ActionPage extends StatefulWidget {
2020
class _ActionPageState extends State<ActionPage> {
2121
@override
2222
Widget build(BuildContext context) {
23-
return context.isPortrait ? buildPortrait() : buildLandscape();
24-
}
25-
26-
Widget buildPortrait() {
27-
final slivers = [
28-
SliverAppBar(
29-
pinned: true,
30-
snap: false,
31-
floating: false,
32-
flexibleSpace: FlexibleSpaceBar(
33-
title: "${player.location?.displayName()}".text(
34-
style: context.textTheme.headlineMedium,
35-
),
36-
centerTitle: true,
37-
),
38-
actions: buildAppBarActions(),
39-
),
40-
SliverList(
41-
delegate: SliverChildListDelegate([
42-
buildHud().padFromLTRB(5, 5, 5, 0),
43-
buildJourneyProgress(),
44-
])),
45-
];
4623
final actions = player.getAvailableActions();
47-
final Widget buttonArea;
48-
if (actions.length == 1) {
49-
final singleBtn = buildActionBtn(actions[0]).constrained(maxW: 240, maxH: 80).center();
50-
buttonArea = SliverToBoxAdapter(child: singleBtn);
51-
} else {
52-
buttonArea = SliverGrid.extent(
53-
maxCrossAxisExtent: 256,
54-
childAspectRatio: 3,
55-
children: buildActions(actions),
56-
);
57-
}
58-
slivers.add(SliverPadding(
59-
padding: const EdgeInsets.fromLTRB(5, 0, 5, 0),
60-
sliver: buttonArea,
61-
));
6224
return Scaffold(
6325
body: CustomScrollView(
6426
physics: const RangeMaintainingScrollPhysics(),
65-
slivers: slivers,
27+
slivers: [
28+
SliverAppBar(
29+
pinned: true,
30+
snap: false,
31+
floating: false,
32+
flexibleSpace: FlexibleSpaceBar(
33+
title: "${player.location?.displayName()}".text(
34+
style: context.textTheme.headlineMedium,
35+
),
36+
centerTitle: true,
37+
),
38+
actions: buildAppBarActions(),
39+
),
40+
SliverList(
41+
delegate: SliverChildListDelegate([
42+
buildHud().padFromLTRB(5, 5, 5, 0),
43+
buildJourneyProgress(),
44+
]),
45+
),
46+
SliverPadding(
47+
padding: const EdgeInsets.fromLTRB(5, 0, 5, 0),
48+
sliver: actions.length == 1
49+
? SliverToBoxAdapter(
50+
child: buildActionBtn(actions[0]).constrained(maxW: 240, maxH: 80).center(),
51+
)
52+
: SliverGrid.extent(
53+
maxCrossAxisExtent: 256,
54+
childAspectRatio: 3,
55+
children: buildActions(actions),
56+
),
57+
),
58+
],
6659
),
6760
);
6861
}
6962

70-
Widget buildLandscape() {
71-
return [
72-
Scaffold(
73-
appBar: AppBar(
74-
title: "${player.location?.displayName()}".text(
75-
style: context.textTheme.headlineMedium,
76-
),
77-
actions: buildAppBarActions(),
78-
centerTitle: true,
79-
backgroundColor: Colors.transparent,
80-
),
81-
body: [
82-
buildJourneyProgress(),
83-
buildHud(),
84-
].column(maa: MainAxisAlignment.start),
85-
).expanded(),
86-
buildActionArea().expanded(),
87-
].row(maa: MainAxisAlignment.spaceEvenly).safeArea().padAll(5);
88-
}
89-
9063
Widget buildActionArea() {
9164
final actions = player.getAvailableActions();
9265
if (actions.length == 1) {

‎escape_wild/lib/ui/game/backpack.dart

Lines changed: 11 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ part 'backpack.i18n.dart';
1414
String get backpackTitle => _I.title;
1515

1616
class BackpackPage extends StatefulWidget {
17-
1817
const BackpackPage({super.key});
1918

2019
@override
@@ -72,7 +71,7 @@ class _BackpackPageState extends State<BackpackPage> {
7271
onPointerScroll(pointerSignal);
7372
}
7473
},
75-
child: context.isPortrait ? buildPortrait() : buildLandscape(),
74+
child: buildBody(),
7675
);
7776
}
7877

@@ -82,57 +81,25 @@ class _BackpackPageState extends State<BackpackPage> {
8281
});
8382
}
8483

85-
Widget buildPortrait() {
84+
Widget buildBody() {
8685
return Scaffold(
8786
appBar: AppBar(
8887
title: _I.massLoad(player.backpack.totalMass(), player.maxMassLoad).text(),
8988
centerTitle: true,
9089
automaticallyImplyLeading: false,
9190
),
92-
body: buildPortraitBody().safeArea().padAll(5),
91+
body: (player.backpack.isEmpty
92+
? buildEmptyBackpack()
93+
: [
94+
ItemDetails(stack: selected).flexible(flex: 2),
95+
buildItems(player.backpack).flexible(flex: 5),
96+
buildButtonArea(selected).flexible(flex: 1),
97+
].column(maa: MainAxisAlignment.spaceBetween))
98+
.safeArea()
99+
.padAll(5),
93100
);
94101
}
95102

96-
Widget buildLandscape() {
97-
final backpack = player.backpack;
98-
if (backpack.isEmpty) {
99-
return buildEmptyBackpack();
100-
}
101-
return [
102-
Scaffold(
103-
appBar: AppBar(
104-
title: _I.massLoad(player.backpack.totalMass(), player.maxMassLoad).text(),
105-
centerTitle: true,
106-
automaticallyImplyLeading: false,
107-
toolbarHeight: 40,
108-
backgroundColor: Colors.transparent,
109-
),
110-
body: buildLandscapeBody().safeArea().padAll(5),
111-
).expanded(),
112-
buildItems(player.backpack).expanded(),
113-
].row();
114-
}
115-
116-
Widget buildPortraitBody() {
117-
final backpack = player.backpack;
118-
if (backpack.isEmpty) {
119-
return buildEmptyBackpack();
120-
} else {
121-
return [
122-
ItemDetails(stack: selected).flexible(flex: 2),
123-
buildItems(player.backpack).flexible(flex: 5),
124-
buildButtonArea(selected).flexible(flex: 1),
125-
].column(maa: MainAxisAlignment.spaceBetween);
126-
}
127-
}
128-
129-
Widget buildLandscapeBody() {
130-
return [
131-
ItemDetails(stack: selected).flexible(flex: 4),
132-
buildButtonArea(selected).flexible(flex: 2),
133-
].column(maa: MainAxisAlignment.spaceBetween);
134-
}
135-
136103
Widget buildItems(Backpack backpack) {
137104
return GridView.builder(
138105
itemCount: backpack.itemCount,

‎escape_wild/lib/ui/game/campfire.dart

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -66,29 +66,14 @@ class _FireStartingPageState extends State<FireStartingPage> {
6666

6767
@override
6868
Widget build(BuildContext context) {
69-
final body = context.isPortrait ? buildPortrait() : buildLandscape();
70-
return body.padAll(5);
71-
}
72-
73-
Widget buildPortrait() {
7469
return [
7570
const StaticCampfireImage(),
7671
SizedBox(height: 30),
7772
FireStarterArea(
7873
place: place,
7974
actionLabel: _I.startFire,
8075
),
81-
].column(maa: MainAxisAlignment.spaceEvenly).scrolled().center();
82-
}
83-
84-
Widget buildLandscape() {
85-
return [
86-
const StaticCampfireImage().expanded(),
87-
FireStarterArea(
88-
place: place,
89-
actionLabel: _I.startFire,
90-
).expanded(),
91-
].row();
76+
].column(maa: MainAxisAlignment.spaceEvenly).scrolled().center().padAll(5);
9277
}
9378
}
9479

@@ -298,10 +283,6 @@ class _CookPageState extends State<CookPage> {
298283

299284
@override
300285
Widget build(BuildContext context) {
301-
return context.isPortrait ? buildBodyPortrait() : buildBodyLandscape();
302-
}
303-
304-
Widget buildBodyPortrait() {
305286
return [
306287
buildFoodGrid().flexible(flex: 2),
307288
[
@@ -312,17 +293,6 @@ class _CookPageState extends State<CookPage> {
312293
].column(maa: MainAxisAlignment.spaceBetween).padAll(5);
313294
}
314295

315-
Widget buildBodyLandscape() {
316-
return [
317-
buildFoodGrid().expanded(),
318-
[
319-
buildCampfireImage().flexible(flex: 3),
320-
buildFuelState(place.fireState),
321-
buildButtons().flexible(flex: 1),
322-
].column(mas: MainAxisSize.min, maa: MainAxisAlignment.center).expanded(),
323-
].row(mas: MainAxisSize.min);
324-
}
325-
326296
Widget buildCampfireImage() {
327297
return DynamicCampfireImage(
328298
color: Color.lerp(context.themeColor, R.flameColor, (fireState.fuel / FireState.maxVisualFuel).clamp(0, 1))!,

‎escape_wild/lib/ui/game/craft.dart

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import 'backpack.dart';
1010
import 'shared.dart';
1111

1212
class CraftPage extends StatefulWidget {
13-
1413
const CraftPage({super.key});
1514

1615
@override
@@ -40,19 +39,16 @@ class _CraftPageState extends State<CraftPage> {
4039

4140
@override
4241
Widget build(BuildContext context) {
43-
final isPortrait = context.isPortrait;
4442
return Scaffold(
45-
appBar: !isPortrait
46-
? null
47-
: AppBar(
48-
title: "Craft".text(),
49-
automaticallyImplyLeading: false,
50-
centerTitle: true,
51-
),
43+
appBar: AppBar(
44+
title: "Craft".text(),
45+
automaticallyImplyLeading: false,
46+
centerTitle: true,
47+
),
5248
body: [
53-
buildCatView(context).flexible(flex: isPortrait ? 4 : 3),
49+
buildCatView(context).flexible(flex: 4),
5450
const VerticalDivider(thickness: 1),
55-
buildRecipes(cat2Recipes[selectedCatIndex].value).flexible(flex: isPortrait ? 10 : 12),
51+
buildRecipes(cat2Recipes[selectedCatIndex].value).flexible(flex: 10),
5652
].row().padAll(5),
5753
);
5854
}
@@ -232,26 +228,14 @@ class _CraftingSheetState extends State<CraftingSheet> {
232228
],
233229
backgroundColor: Colors.transparent,
234230
),
235-
body: context.isPortrait ? buildPortrait() : buildLandscape(),
231+
body: [
232+
buildTableView().flexible(flex: 3),
233+
const Divider(thickness: 2, height: 1),
234+
buildBackpackView().flexible(flex: 6),
235+
].column().padAll(5),
236236
);
237237
}
238238

239-
Widget buildPortrait() {
240-
return [
241-
buildTableView().flexible(flex: 3),
242-
const Divider(thickness: 2, height: 1),
243-
buildBackpackView().flexible(flex: 6),
244-
].column().padAll(5);
245-
}
246-
247-
Widget buildLandscape() {
248-
return [
249-
buildTableView().expanded(),
250-
const VerticalDivider(thickness: 2),
251-
buildBackpackView().expanded(),
252-
].row().padAll(5);
253-
}
254-
255239
void onCraft() {
256240
final material = itemStackReqSlots.map((slot) => slot.stack).toList(growable: false);
257241
final result = recipe.onCraft(material);

‎escape_wild/lib/ui/game/shared.dart

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -438,10 +438,6 @@ class _MergeableItemStackUsePreviewState extends State<MergeableItemStackUsePrev
438438

439439
@override
440440
Widget build(BuildContext context) {
441-
return context.isPortrait ? buildPortrait() : buildLandscape();
442-
}
443-
444-
Widget buildPortrait() {
445441
return [
446442
buildHud(mock.attrs).inCard(),
447443
const SizedBox(height: 40),
@@ -455,19 +451,6 @@ class _MergeableItemStackUsePreviewState extends State<MergeableItemStackUsePrev
455451
].column(mas: MainAxisSize.min);
456452
}
457453

458-
Widget buildLandscape() {
459-
return [
460-
buildHud(mock.attrs).expanded(),
461-
ItemStackMassSelector(
462-
template: template,
463-
$selectedMass: $selectedMass,
464-
onSelectedMassChange: (newMass) {
465-
onSelectedMassChange(newMass);
466-
},
467-
).expanded(),
468-
].row(mas: MainAxisSize.max).constrained(minW: 500);
469-
}
470-
471454
Widget buildHud(AttrModel attrs) {
472455
return Hud(attrs: attrs).mini();
473456
}

0 commit comments

Comments
 (0)
Please sign in to comment.