@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
import { useTypedTranslation } from '../types' ;
4
4
import { useMessaging } from '../providers/MessagingProvider' ;
5
5
import { useErrorData } from '../providers/SpecialErrorProvider' ;
6
- import { usePlatformName } from '../providers/SettingsProvider' ;
6
+ import { usePlatformName , useIsMobile } from '../providers/SettingsProvider' ;
7
7
import { useWarningHeading , useWarningContent } from '../hooks/ErrorStrings' ;
8
8
import { Text } from '../../../../shared/components/Text/Text' ;
9
9
import { Button } from '../../../../shared/components/Button/Button' ;
@@ -16,15 +16,12 @@ import styles from './Warning.module.css';
16
16
*/
17
17
export function AdvancedInfoButton ( { onClick } ) {
18
18
const { t } = useTypedTranslation ( ) ;
19
- const platformName = usePlatformName ( ) ;
19
+ const isMobile = useIsMobile ( ) ;
20
+ const buttonVariant = isMobile ? 'ghost' : 'standard' ;
20
21
21
22
return (
22
- < Button
23
- variant = { platformName === 'macos' ? 'standard' : 'ghost' }
24
- className = { classNames ( styles . button , styles . advanced ) }
25
- onClick = { onClick }
26
- >
27
- { platformName === 'ios' ? t ( 'advancedButton' ) : t ( 'advancedEllipsisButton' ) }
23
+ < Button variant = { buttonVariant } className = { classNames ( styles . button , styles . advanced ) } onClick = { onClick } >
24
+ { isMobile ? t ( 'advancedButton' ) : t ( 'advancedEllipsisButton' ) }
28
25
</ Button >
29
26
) ;
30
27
}
@@ -34,12 +31,22 @@ export function LeaveSiteButton() {
34
31
const { messaging } = useMessaging ( ) ;
35
32
const platformName = usePlatformName ( ) ;
36
33
34
+ /** @type {import('../../../../shared/components/Button/Button').ButtonProps['variant'] } */
35
+ let buttonVariant ;
36
+ switch ( platformName ) {
37
+ case 'ios' :
38
+ case 'android' :
39
+ buttonVariant = 'primary' ;
40
+ break ;
41
+ case 'windows' :
42
+ buttonVariant = 'accentBrand' ;
43
+ break ;
44
+ default :
45
+ buttonVariant = 'accent' ;
46
+ }
47
+
37
48
return (
38
- < Button
39
- variant = { platformName === 'macos' ? 'accent' : 'primary' }
40
- className = { classNames ( styles . button , styles . leaveSite ) }
41
- onClick = { ( ) => messaging ?. leaveSite ( ) }
42
- >
49
+ < Button variant = { buttonVariant } className = { classNames ( styles . button , styles . leaveSite ) } onClick = { ( ) => messaging ?. leaveSite ( ) } >
43
50
{ t ( 'leaveSiteButton' ) }
44
51
</ Button >
45
52
) ;
@@ -49,11 +56,26 @@ export function WarningHeading() {
49
56
const { kind } = useErrorData ( ) ;
50
57
const heading = useWarningHeading ( ) ;
51
58
const platformName = usePlatformName ( ) ;
59
+ const isMobile = useIsMobile ( ) ;
60
+
61
+ /** @type {'title-2'|'title-2-emphasis'|'custom-title-1' } */
62
+ let textVariant ;
63
+ switch ( platformName ) {
64
+ case 'ios' :
65
+ case 'android' :
66
+ textVariant = 'title-2' ;
67
+ break ;
68
+ case 'windows' :
69
+ textVariant = 'custom-title-1' ;
70
+ break ;
71
+ default :
72
+ textVariant = 'title-2-emphasis' ;
73
+ }
52
74
53
75
return (
54
76
< header className = { classNames ( styles . heading , styles [ kind ] ) } >
55
77
< i className = { styles . icon } aria-hidden = "true" />
56
- < Text as = "h1" variant = { platformName === 'macos' ? 'title-2-emphasis' : 'title-2' } strictSpacing = { platformName !== 'macos' } >
78
+ < Text as = "h1" variant = { textVariant } strictSpacing = { isMobile } >
57
79
{ heading }
58
80
</ Text >
59
81
</ header >
0 commit comments