|
|
@@ -1,10 +1,10 @@
|
|
|
import { createStore, produce } from "solid-js/store"
|
|
|
import { batch, createMemo, onMount } from "solid-js"
|
|
|
import { createSimpleContext } from "@opencode-ai/ui/context"
|
|
|
-import { makePersisted } from "@solid-primitives/storage"
|
|
|
import { useGlobalSync } from "./global-sync"
|
|
|
import { useGlobalSDK } from "./global-sdk"
|
|
|
import { Project } from "@opencode-ai/sdk/v2"
|
|
|
+import { persisted } from "@/utils/persist"
|
|
|
|
|
|
const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] as const
|
|
|
export type AvatarColorKey = (typeof AVATAR_COLOR_KEYS)[number]
|
|
|
@@ -32,7 +32,8 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
|
|
|
init: () => {
|
|
|
const globalSdk = useGlobalSDK()
|
|
|
const globalSync = useGlobalSync()
|
|
|
- const [store, setStore] = makePersisted(
|
|
|
+ const [store, setStore, _, ready] = persisted(
|
|
|
+ "layout.v3",
|
|
|
createStore({
|
|
|
projects: [] as { worktree: string; expanded: boolean }[],
|
|
|
sidebar: {
|
|
|
@@ -48,9 +49,6 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
|
|
|
},
|
|
|
sessionTabs: {} as Record<string, SessionTabs>,
|
|
|
}),
|
|
|
- {
|
|
|
- name: "layout.v3",
|
|
|
- },
|
|
|
)
|
|
|
|
|
|
const usedColors = new Set<AvatarColorKey>()
|
|
|
@@ -93,6 +91,7 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
|
|
|
})
|
|
|
|
|
|
return {
|
|
|
+ ready,
|
|
|
projects: {
|
|
|
list,
|
|
|
open(directory: string) {
|