|
1 | 1 | import ky from 'ky'
|
2 | 2 | import useSWRMutation from 'swr/mutation'
|
3 | 3 | import { useEmulator } from './use-emulator.ts'
|
4 |
| -import { useGameOverlay } from './use-game-overlay.ts' |
5 | 4 |
|
6 | 5 | export function useGameStates() {
|
7 | 6 | const { core, emulator, rom } = useEmulator()
|
8 |
| - const { toggle } = useGameOverlay() |
9 | 7 |
|
10 | 8 | const {
|
11 | 9 | data: states,
|
12 | 10 | isMutating: isStatesLoading,
|
13 | 11 | trigger: reloadStates,
|
14 | 12 | } = useSWRMutation('/api/v1/states', (url) => ky(url, { searchParams: { rom_id: rom.id } }).json())
|
15 | 13 |
|
16 |
| - const { isMutating: isSavingState, trigger: saveState } = useSWRMutation( |
17 |
| - '/api/v1/state/new', |
18 |
| - async (url) => { |
19 |
| - if (!emulator || !core) { |
20 |
| - throw new Error('invalid emulator or core') |
21 |
| - } |
22 |
| - const { state, thumbnail } = await emulator.saveState() |
23 |
| - const formData = new FormData() |
24 |
| - formData.append('state', state) |
25 |
| - if (thumbnail) { |
26 |
| - formData.append('thumbnail', thumbnail) |
27 |
| - } |
28 |
| - formData.append('rom_id', rom.id) |
29 |
| - formData.append('core', core) |
30 |
| - formData.append('type', 'manual') |
31 |
| - await ky.post(url, { body: formData }) |
32 |
| - await reloadStates() |
33 |
| - }, |
34 |
| - { |
35 |
| - onSuccess() { |
36 |
| - toggle() |
37 |
| - }, |
38 |
| - }, |
39 |
| - ) |
| 14 | + const { isMutating: isSavingState, trigger: saveState } = useSWRMutation('/api/v1/state/new', async (url) => { |
| 15 | + if (!emulator || !core) { |
| 16 | + throw new Error('invalid emulator or core') |
| 17 | + } |
| 18 | + const { state, thumbnail } = await emulator.saveState() |
| 19 | + const formData = new FormData() |
| 20 | + formData.append('state', state) |
| 21 | + if (thumbnail) { |
| 22 | + formData.append('thumbnail', thumbnail) |
| 23 | + } |
| 24 | + formData.append('rom_id', rom.id) |
| 25 | + formData.append('core', core) |
| 26 | + formData.append('type', 'manual') |
| 27 | + await ky.post(url, { body: formData }) |
| 28 | + await reloadStates() |
| 29 | + }) |
40 | 30 |
|
41 | 31 | return { isSavingState, isStatesLoading, reloadStates, saveState, states }
|
42 | 32 | }
|
0 commit comments