chore: uptick

This commit is contained in:
Brooklyn Nicholson
2026-05-03 12:40:03 -05:00
parent fd97a7cba4
commit fa92720d2c
22 changed files with 1203 additions and 348 deletions
+58
View File
@@ -7,7 +7,16 @@ export interface PreviewTarget {
url: string
}
export interface PreviewServerRestart {
message?: string
status: 'complete' | 'error' | 'running'
taskId: string
url: string
}
export const $previewTarget = atom<PreviewTarget | null>(null)
export const $previewReloadRequest = atom(0)
export const $previewServerRestart = atom<PreviewServerRestart | null>(null)
function isSamePreviewTarget(a: PreviewTarget | null, b: PreviewTarget | null): boolean {
if (a === b) {
@@ -28,3 +37,52 @@ export function setPreviewTarget(target: PreviewTarget | null) {
$previewTarget.set(target)
}
export function requestPreviewReload() {
$previewReloadRequest.set($previewReloadRequest.get() + 1)
}
export function beginPreviewServerRestart(taskId: string, url: string) {
$previewServerRestart.set({ status: 'running', taskId, url })
}
export function completePreviewServerRestart(taskId: string, text: string) {
const current = $previewServerRestart.get()
if (current?.taskId !== taskId) {
return
}
$previewServerRestart.set({
...current,
message: text,
status: text.trim().toLowerCase().startsWith('error:') ? 'error' : 'complete'
})
}
export function progressPreviewServerRestart(taskId: string, text: string) {
const current = $previewServerRestart.get()
if (current?.taskId !== taskId || current.status !== 'running') {
return
}
$previewServerRestart.set({
...current,
message: text
})
}
export function failPreviewServerRestart(taskId: string, message: string) {
const current = $previewServerRestart.get()
if (current?.taskId !== taskId || current.status !== 'running') {
return
}
$previewServerRestart.set({
...current,
message,
status: 'error'
})
}