import { atom } from "jotai"; import type { App, AppOutput, Version } from "@/ipc/ipc_types"; import type { UserSettings } from "@/lib/schemas"; export const currentAppAtom = atom(null); export const selectedAppIdAtom = atom(null); export const appsListAtom = atom([]); export const appBasePathAtom = atom(""); export const versionsListAtom = atom([]); export const previewModeAtom = atom< "preview" | "code" | "problems" | "configure" | "publish" | "security" >("preview"); export const selectedVersionIdAtom = atom(null); export const appOutputAtom = atom([]); export const appUrlAtom = atom< | { appUrl: string; appId: number; originalUrl: string } | { appUrl: null; appId: null; originalUrl: null } >({ appUrl: null, appId: null, originalUrl: null }); export const userSettingsAtom = atom(null); // Atom for storing allow-listed environment variables export const envVarsAtom = atom>({}); export const previewPanelKeyAtom = atom(0); export const previewErrorMessageAtom = atom< { message: string; source: "preview-app" | "dyad-app" } | undefined >(undefined);