Skip to content
Merged

Dev #397

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion apps/bplan-client/src/ReloadPrompt.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ export const ReloadPrompt = (props: ReloadPromptProps) => {
console.info(`Service worker at: ${swUrl}`)
},
})
const handleUpdateServiceWorker = () => {
console.info('handleUpdateServiceWorker')

return updateServiceWorker(true)
}

const handleClose = () => {
setOfflineReady(false)
setNeedRefresh(false)
Expand All @@ -39,7 +45,7 @@ export const ReloadPrompt = (props: ReloadPromptProps) => {
<div class="flex gap-2">
<button
class="b-0 cusor-pointer rd-1 px-5 py-1"
onClick={() => updateServiceWorker(true)}
onClick={handleUpdateServiceWorker}
>
Reload
</button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
splitProps,
ValidComponent,
} from 'solid-js'
import {Dynamic} from 'solid-js/web'
// import {Dynamic} from 'solid-js/web'
import {SClose} from 'src/components/midi-player/SClose'
import {preventGlobalTouchAttrs} from 'src/components/real-button/use-global-touch'
import {SPlayer, SPlayerProps} from './SPlayer'
Expand Down Expand Up @@ -90,8 +90,9 @@ export const SHiddenPlayer = (props: SHiddenPlayerProps) => {
setIsRender(isShow())
}

// Dynamic error with ssr prefetching hydration
return (
<Dynamic component={innerProps.component} class={props.class ?? 'relative'}>
<aside class={props.class ?? 'relative'}>
<SClose
class="mb-1"
onClose={handleClose}
Expand Down Expand Up @@ -123,6 +124,6 @@ export const SHiddenPlayer = (props: SHiddenPlayerProps) => {
/>
</Show>
</section>
</Dynamic>
</aside>
)
}
9 changes: 3 additions & 6 deletions apps/bplan-client/src/routes/(main-layout)/(home)/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,26 @@ export interface HomePageProps {
presetTitle?: string
}
const pianoSize = 7520

export default function HomePage(props: HomePageProps) {
const [pianoElement, setPianoElement] = createSignal<HTMLElement | null>(null)
const minPianoSize = useDetectMinScale(pianoElement, pianoSize)
const [splendidGrandPiano, splendidGrandPianoController] = createSplendidGrandPiano({
onEmitInstrument: emitAllIds,
})

const [settingData, setSettingData] = useCookie('coong__piano-setting', {
keepPlayList: true,
pianoSize: 100,
})

const [musics, setMusics, updateActive] = useStorage<MusicInfo[]>(
'local',
// eslint-disable-next-line solid/reactivity

`coong:piano-musics-${props.presetTitle ?? 'default'}`,
// eslint-disable-next-line solid/reactivity

props.initMusics ?? [],
)

const isLoadDone = createMemo(() => splendidGrandPiano().loaded)
const pageName = 'Piano'

const handleSettingDataChange = (data: SettingData) => {
setSettingData((prev) => ({...prev, ...data}))
}
Expand Down
13 changes: 8 additions & 5 deletions apps/bplan-client/src/routes/(main-layout)/preset/[id].tsx
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
import {query, useParams} from '@solidjs/router'
import {createResource} from 'solid-js'
import {default as HomePage} from 'src/routes/(main-layout)/(home)'
import {createAsync, query, useParams} from '@solidjs/router'

const getSelfUrl = () => {
return import.meta.env.VITE_API_URL ?? 'http://localhost:3000'
}

const getPreset = query(async (id?: string) => {
'use server'

if (!id) {
return
}
const preset = await fetch(`${getSelfUrl()}/api/preset/${id}`).then((res) => {

return fetch(`${getSelfUrl()}/api/preset/${id}`).then((res) => {
if (res.ok) {
return res.json()
}

return {musics: [], title: 'Unknown'}
})
return preset
}, 'preset')

export default function PresetPage() {
const params = useParams()
const preset = createAsync(() => getPreset(params.id))
const [preset] = createResource(() => getPreset(params.id))

return <HomePage presetTitle={preset()?.title} initMusics={preset()?.musics} />
}
2 changes: 1 addition & 1 deletion apps/bplan-client/vite.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import unoCss from 'unocss/vite'
export default defineConfig({
vite: {
build: {
ssrManifest: true,
minify: false,
},
plugins: [
unoCss('../../uno.config.ts'),
Expand Down
4 changes: 2 additions & 2 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.