MCPcopy Index your code
hub / github.com/anomalyco/opencode / load

Function load

packages/ui/src/theme/context.tsx:193–213  ·  view source on GitHub ↗
(id: string)

Source from the content-addressed store, hash-verified

191 const loads = new Map<string, Promise<DesktopTheme | undefined>>()
192
193 const load = (id: string) => {
194 const next = normalize(id)
195 if (!next) return Promise.resolve(undefined)
196 const hit = store.themes[next]
197 if (hit) return Promise.resolve(hit)
198 const pending = loads.get(next)
199 if (pending) return pending
200 const file = getFiles()[`./themes/${next}.json`]
201 if (!file) return Promise.resolve(undefined)
202 const task = file()
203 .then((mod) => {
204 const theme = mod.default
205 setStore("themes", next, theme)
206 return theme
207 })
208 .finally(() => {
209 loads.delete(next)
210 })
211 loads.set(next, task)
212 return task
213 }
214
215 const applyTheme = (theme: DesktopTheme, themeId: string, mode: "light" | "dark") => {
216 applyThemeCss(theme, themeId, mode)

Callers 3

onStorageFunction · 0.70
context.tsxFile · 0.70
setThemeFunction · 0.70

Calls 7

setStoreFunction · 0.85
normalizeFunction · 0.70
getFilesFunction · 0.70
getMethod · 0.65
fileFunction · 0.50
deleteMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected