@@ -33,19 +33,15 @@ import {
33
33
import ContextProvider from 'frontend/state/ContextProvider'
34
34
import Tools from '../../components/Tools'
35
35
import SettingsContext from '../../SettingsContext'
36
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
37
- import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'
38
36
import useSetting from 'frontend/hooks/useSetting'
39
37
import { defaultWineVersion } from '../..'
40
- import Collapsible from 'frontend/components/UI/Collapsible/Collapsible'
41
38
import SyncSaves from '../SyncSaves'
42
39
import EnableDXVKFpsLimit from '../../components/EnableDXVKFpsLimit'
40
+ import { Tabs , getTabsClassNames } from '@hyperplay/ui'
41
+ import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'
42
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
43
43
44
- type Props = {
45
- useDetails ?: boolean
46
- }
47
-
48
- export default function GamesSettings ( { useDetails = true } : Props ) {
44
+ export default function GamesSettings ( ) {
49
45
const { t } = useTranslation ( )
50
46
const { platform } = useContext ( ContextProvider )
51
47
const { isDefault, gameInfo } = useContext ( SettingsContext )
@@ -87,100 +83,85 @@ export default function GamesSettings({ useDetails = true }: Props) {
87
83
) }
88
84
</ p >
89
85
) }
90
-
91
- { showCrossPlatformOptions && (
92
- < >
93
- < Collapsible
94
- isOpen
95
- isCollapsible = { useDetails }
96
- summary = { isLinux ? 'Wine' : 'Wine/Crossover' }
97
- >
86
+ < Tabs
87
+ defaultValue = { showCrossPlatformOptions ? 'wine' : 'other' }
88
+ classNames = { getTabsClassNames (
89
+ { list : 'settingsTabList' } ,
90
+ { list : 'outline' }
91
+ ) }
92
+ >
93
+ < Tabs . List className = "tabsList" >
94
+ { showCrossPlatformOptions && (
95
+ < Tabs . Tab value = "wine" >
96
+ { isLinux ? 'Wine' : 'Wine/Crossover' }
97
+ </ Tabs . Tab >
98
+ ) }
99
+ < Tabs . Tab value = "other" >
100
+ { showCrossPlatformOptions
101
+ ? t ( 'settings.navbar.other' , 'Other' )
102
+ : t ( 'settings.navbar.advanced' , 'Advanced' ) }
103
+ </ Tabs . Tab >
104
+ { hasCloudSaves && (
105
+ < Tabs . Tab value = "sync" >
106
+ { t ( 'settings.navbar.sync' , 'Cloud Saves Sync' ) }
107
+ </ Tabs . Tab >
108
+ ) }
109
+ </ Tabs . List >
110
+ { showCrossPlatformOptions && (
111
+ < Tabs . Panel value = "wine" >
98
112
< WineVersionSelector />
99
113
< WinePrefix />
100
114
< CrossoverBottle />
101
-
102
115
{ ! isCrossover && (
103
116
< >
104
117
< AutoDXVK />
105
118
{ isLinux && (
106
119
< >
107
120
< AutoDXVKNVAPI />
108
-
109
121
< AutoVKD3D />
110
-
111
122
< EacRuntime />
112
-
113
123
< BattlEyeRuntime />
114
124
</ >
115
125
) }
116
126
< Tools />
117
127
</ >
118
128
) }
119
- </ Collapsible >
120
- </ >
121
- ) }
122
-
123
- < Collapsible
124
- isOpen = { nativeGame }
125
- isCollapsible = { useDetails }
126
- summary = {
127
- showCrossPlatformOptions
128
- ? t ( 'settings.navbar.other' , 'Other' )
129
- : t ( 'settings.navbar.advanced' , 'Advanced' )
130
- }
131
- >
132
- < AlternativeExe />
133
-
134
- < ShowFPS />
135
-
136
- { showCrossPlatformOptions && < EnableDXVKFpsLimit /> }
137
-
138
- { showCrossPlatformOptions && (
139
- < >
140
- < EnableEsync />
141
- < EnableMsync />
142
- { isLinux && (
143
- < >
144
- < EnableFsync />
145
-
146
- < PreferSystemLibs />
147
-
148
- < EnableFSR />
149
-
150
- < GameMode />
151
- </ >
152
- ) }
153
- </ >
129
+ </ Tabs . Panel >
154
130
) }
155
-
156
- < UseDGPU />
157
-
158
- { isLinux && < Mangohud /> }
159
-
160
- < SteamRuntime />
161
-
162
- < IgnoreGameUpdates />
163
-
164
- < OfflineMode />
165
-
166
- < EnvVariablesTable />
167
-
168
- < WrappersTable />
169
-
170
- < LauncherArgs />
171
-
172
- < PreferedLanguage />
173
- </ Collapsible >
174
-
175
- { hasCloudSaves && (
176
- < Collapsible
177
- isOpen = { false }
178
- isCollapsible = { useDetails }
179
- summary = { t ( 'settings.navbar.sync' , 'Cloud Saves Sync' ) }
180
- >
181
- < SyncSaves />
182
- </ Collapsible >
183
- ) }
131
+ < Tabs . Panel value = "other" >
132
+ < AlternativeExe />
133
+ < ShowFPS />
134
+ { showCrossPlatformOptions && < EnableDXVKFpsLimit /> }
135
+ { showCrossPlatformOptions && (
136
+ < >
137
+ < EnableEsync />
138
+ < EnableMsync />
139
+ { isLinux && (
140
+ < >
141
+ < EnableFsync />
142
+ < PreferSystemLibs />
143
+ < EnableFSR />
144
+ < GameMode />
145
+ </ >
146
+ ) }
147
+ </ >
148
+ ) }
149
+ < UseDGPU />
150
+ { isLinux && < Mangohud /> }
151
+ < SteamRuntime />
152
+ < IgnoreGameUpdates />
153
+ < OfflineMode />
154
+ < EnvVariablesTable />
155
+ < WrappersTable />
156
+ < LauncherArgs />
157
+ < PreferedLanguage />
158
+ </ Tabs . Panel >
159
+ { hasCloudSaves && (
160
+ < Tabs . Panel value = "sync" >
161
+ < SyncSaves />
162
+ </ Tabs . Panel >
163
+ ) }
164
+ </ Tabs >
184
165
</ >
185
166
)
186
167
}
0 commit comments