Skip to content

Commit f3d6320

Browse files
Auto Optimizer: improve progress spacing and Settings navigation
1 parent ece1275 commit f3d6320

7 files changed

Lines changed: 37 additions & 5 deletions

File tree

app/components-react/shared/auto-optimizer/AutoOptimizer.m.less

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@
132132
margin: -4px 0 18px;
133133
}
134134

135+
.progress-bar + .secondary-button {
136+
margin-top: 12px;
137+
}
138+
135139
.results-screen {
136140
gap: 18px;
137141
text-align: left;

app/components-react/shared/auto-optimizer/AutoOptimizer.tsx

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import { $t } from 'services/i18n';
23
import { AutoOptimizerError } from './AutoOptimizerError';
34
import { AutoOptimizerHeader } from './AutoOptimizerHeader';
45
import { AutoOptimizerIntro } from './AutoOptimizerIntro';
@@ -10,16 +11,28 @@ import styles from './AutoOptimizer.m.less';
1011
export function AutoOptimizer(p: IAutoOptimizerProps) {
1112
const host = p.host || 'go-live';
1213
const applying = p.stage === 'applying';
14+
const backToSettings = host === 'settings' && (
15+
<button
16+
type="button"
17+
className={styles.textButton}
18+
disabled={applying || p.stage === 'cancelling'}
19+
onClick={p.onClose}
20+
>
21+
{$t('Back to settings')}
22+
</button>
23+
);
1324

1425
return (
1526
<main className={styles.flow} data-testid="auto-optimizer-flow">
1627
<AutoOptimizerHeader
1728
onClose={p.onClose}
1829
closeDisabled={applying}
19-
showClose={host !== 'go-live'}
30+
showClose={host === 'onboarding'}
2031
/>
2132
{p.stage === 'intro' && (
22-
<AutoOptimizerIntro host={host} onStart={p.onStart} onSkip={p.onSkip} />
33+
<AutoOptimizerIntro host={host} onStart={p.onStart} onSkip={p.onSkip}>
34+
{backToSettings}
35+
</AutoOptimizerIntro>
2336
)}
2437
{['preparing', 'running', 'cancelling'].includes(p.stage) && (
2538
<AutoOptimizerProgress
@@ -29,7 +42,9 @@ export function AutoOptimizer(p: IAutoOptimizerProps) {
2942
canSkip={host === 'go-live'}
3043
onCancel={p.onCancel}
3144
onSkip={p.onSkip}
32-
/>
45+
>
46+
{backToSettings}
47+
</AutoOptimizerProgress>
3348
)}
3449
{['review', 'applying'].includes(p.stage) && (
3550
<AutoOptimizerResults
@@ -40,7 +55,9 @@ export function AutoOptimizer(p: IAutoOptimizerProps) {
4055
onApply={p.onApply}
4156
onSkip={p.onSkip}
4257
onAdvice={p.onAdvice}
43-
/>
58+
>
59+
{backToSettings}
60+
</AutoOptimizerResults>
4461
)}
4562
{p.stage === 'error' && (
4663
<AutoOptimizerError
@@ -49,7 +66,9 @@ export function AutoOptimizer(p: IAutoOptimizerProps) {
4966
canContinue={host === 'go-live'}
5067
onRetry={p.onRetry}
5168
onContinue={p.onContinueWithoutOptimization}
52-
/>
69+
>
70+
{backToSettings}
71+
</AutoOptimizerError>
5372
)}
5473
</main>
5574
);

app/components-react/shared/auto-optimizer/AutoOptimizerError.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { $t } from 'services/i18n';
44
import styles from './AutoOptimizer.m.less';
55

66
export function AutoOptimizerError(p: {
7+
children?: React.ReactNode;
78
message?: string;
89
canRetry: boolean;
910
canContinue: boolean;
@@ -26,6 +27,7 @@ export function AutoOptimizerError(p: {
2627
{$t('Continue without optimization')}
2728
</Button>
2829
)}
30+
{p.children}
2931
</div>
3032
</section>
3133
);

app/components-react/shared/auto-optimizer/AutoOptimizerIntro.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { $i } from 'services/utils';
55
import styles from './AutoOptimizer.m.less';
66

77
export function AutoOptimizerIntro(p: {
8+
children?: React.ReactNode;
89
host: 'go-live' | 'settings' | 'onboarding';
910
onStart(): void;
1011
onSkip(): void;
@@ -31,6 +32,7 @@ export function AutoOptimizerIntro(p: {
3132
{$t('Skip')}
3233
</button>
3334
)}
35+
{p.children}
3436
</section>
3537
);
3638
}

app/components-react/shared/auto-optimizer/AutoOptimizerProgress.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { $i } from 'services/utils';
55
import styles from './AutoOptimizer.m.less';
66

77
export function AutoOptimizerProgress(p: {
8+
children?: React.ReactNode;
89
phaseLabel?: string;
910
progress?: number;
1011
cancelling: boolean;
@@ -48,6 +49,7 @@ export function AutoOptimizerProgress(p: {
4849
{$t('Skip')}
4950
</button>
5051
)}
52+
{p.children}
5153
</section>
5254
);
5355
}

app/components-react/shared/auto-optimizer/AutoOptimizerResults.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ function AdviceCard(p: { advice: IAutoOptimizerPresentationAdvice; onAction?():
173173
}
174174

175175
export function AutoOptimizerResults(p: {
176+
children?: React.ReactNode;
176177
outputs: IAutoOptimizerPresentationOutput[];
177178
advice?: IAutoOptimizerPresentationAdvice | null;
178179
applying: boolean;
@@ -250,6 +251,7 @@ export function AutoOptimizerResults(p: {
250251
{$t('Skip')}
251252
</button>
252253
)}
254+
{p.children}
253255
</div>
254256
</section>
255257
);

app/i18n/en-US/streaming.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@
292292
"Estimated for": "Estimated for",
293293
"Save Settings & Go Live": "Save Settings & Go Live",
294294
"Save Settings": "Save Settings",
295+
"Back to settings": "Back to settings",
295296
"Saving Settings...": "Saving Settings...",
296297
"We couldn't finish optimizing your settings": "We couldn't finish optimizing your settings",
297298
"Your current stream settings have not been changed.": "Your current stream settings have not been changed.",

0 commit comments

Comments
 (0)