Skip to content

Commit 9d56eb3

Browse files
committed
feat: switch CTA buttons on preset stage and skip confirm screen
1 parent 0da658e commit 9d56eb3

3 files changed

Lines changed: 41 additions & 9 deletions

File tree

Assets/Scripts/Configurator/ConfiguratorUIPresenter.cs

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,18 +118,20 @@ private void OnEnable()
118118

119119
_backButton.Clicked += OnBackClicked;
120120
_confirmButton.Clicked += OnNextClicked;
121-
_skipButton.Clicked += () => OpenConfirm(true);
121+
_skipButton.Clicked += OnSkipClicked;
122122

123123
_loader = root.Q("Loader");
124124
_loaderIcon = _loader.Q("Icon");
125125

126126
var presetsContainer = root.Q("Presets");
127127
_presetsView = new PresetsView(presetsContainer,
128128
"Choose {0}'s starting look",
129-
"START CUSTOMIZING",
129+
"CUSTOMIZE LATER",
130130
221,
131-
"START",
132-
true);
131+
"LATER",
132+
true,
133+
"START CUSTOMIZATION",
134+
"START");
133135
_presetsView.PresetSelected += preset => PresetSelected!(preset);
134136

135137
// Dropdowns
@@ -269,12 +271,36 @@ private void OnBackClicked()
269271

270272
private void OnNextClicked()
271273
{
274+
// The next button on the first stage (presets) functions as "skip"
275+
if (_currentStageIndex == 0)
276+
{
277+
JumpIn!();
278+
return;
279+
}
280+
272281
if (_currentStageIndex == _stages.Length - 1)
273282
{
274-
OpenConfirm(true);
283+
JumpIn!();
275284
return;
276285
}
277286

287+
AdvanceStage();
288+
}
289+
290+
private void OnSkipClicked()
291+
{
292+
// The skip button on the first stage (presets) functions as "next"
293+
if (_currentStageIndex == 0)
294+
{
295+
AdvanceStage();
296+
return;
297+
}
298+
299+
JumpIn!();
300+
}
301+
302+
private void AdvanceStage()
303+
{
278304
_stages[_currentStageIndex].HideLeft();
279305
_stages[++_currentStageIndex].Show();
280306

@@ -317,7 +343,7 @@ private void RefreshCurrentStage()
317343

318344
_skipButton.EnableInClassList("dcl-button--hidden-down",
319345
!stage.CanSkip || _usingMobile && _currentStageIndex != 0);
320-
_skipButton.Text = _usingMobile ? "SKIP" : "SKIP CUSTOMIZATION";
346+
_skipButton.Text = _usingMobile ? stage.SkipButtonTextMobile : stage.SkipButtonText;
321347
_backButton.EnableInClassList("dcl-button--hidden-down", _currentStageIndex == 0);
322348

323349
// TODO: Change?

Assets/Scripts/Configurator/Views/PresetsView.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public override void SetData(object data)
3333
}
3434

3535
public PresetsView(VisualElement root, string title, string confirmButtonText, int confirmButtonWidth,
36-
string confirmButtonTextMobile, bool canSkip) : base(root, title, confirmButtonText, confirmButtonWidth,
37-
confirmButtonTextMobile, canSkip)
36+
string confirmButtonTextMobile, bool canSkip, string skipButtonText, string skipButtonTextMobile) : base(root, title, confirmButtonText,
37+
confirmButtonWidth, confirmButtonTextMobile, canSkip, skipButtonText, skipButtonTextMobile)
3838
{
3939
_presetsContainer = root.Q<ScrollView>("Body");
4040
_previewButtons = _presetsContainer.Query<PreviewButtonElement>().ToList();

Assets/Scripts/Configurator/Views/StageView.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,27 @@ public abstract class StageView: IRefreshableView
99
public readonly string Title;
1010
public readonly string ConfirmButtonText;
1111
public readonly string ConfirmButtonTextMobile;
12+
public readonly string SkipButtonText;
13+
public readonly string SkipButtonTextMobile;
1214
public readonly int ConfirmButtonWidth; // This is ugly but the only way to get it to animate nicely
15+
public readonly int SkipButtonWidth; // This is ugly but the only way to get it to animate nicely
1316
public readonly bool CanSkip;
1417

1518
public abstract string SelectedCategory { get; }
1619

1720
protected bool UsingMobile;
1821

19-
protected StageView(VisualElement root, string title, string confirmButtonText, int confirmButtonWidth, string confirmButtonTextMobile, bool canSkip)
22+
protected StageView(VisualElement root, string title, string confirmButtonText, int confirmButtonWidth, string confirmButtonTextMobile,
23+
bool canSkip, string skipButtonText = "SKIP CUSTOMIZATION", string skipButtonTextMobile = "SKIP")
2024
{
2125
_root = root;
2226
Title = title;
2327
ConfirmButtonText = confirmButtonText;
2428
ConfirmButtonTextMobile = confirmButtonTextMobile;
2529
CanSkip = canSkip;
2630
ConfirmButtonWidth = confirmButtonWidth;
31+
SkipButtonText = skipButtonText;
32+
SkipButtonTextMobile = skipButtonTextMobile;
2733
}
2834

2935
public void HideLeft()

0 commit comments

Comments
 (0)