Compare commits
4 Commits
proj-styli
...
output-wra
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2af83341d | ||
|
|
e6d229d5f9 | ||
|
|
1a6ae3aef7 | ||
|
|
6c060c6ea0 |
@@ -191,7 +191,7 @@ export default function OutputCell({
|
||||
|
||||
return (
|
||||
<CellWrapper>
|
||||
<Text>{contentToDisplay}</Text>
|
||||
<Text whiteSpace="pre-wrap">{contentToDisplay}</Text>
|
||||
</CellWrapper>
|
||||
);
|
||||
}
|
||||
|
||||
13
app/src/state/persist.ts
Normal file
13
app/src/state/persist.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { PersistOptions } from "zustand/middleware/persist";
|
||||
import { State } from "./store";
|
||||
|
||||
export const stateToPersist = {
|
||||
selectedProjectId: null as string | null,
|
||||
};
|
||||
|
||||
export const persistOptions: PersistOptions<State, typeof stateToPersist> = {
|
||||
name: "persisted-app-store",
|
||||
partialize: (state) => ({
|
||||
selectedProjectId: state.selectedProjectId,
|
||||
}),
|
||||
};
|
||||
@@ -1,11 +1,13 @@
|
||||
import { type StateCreator, create } from "zustand";
|
||||
import { immer } from "zustand/middleware/immer";
|
||||
import { persist } from "zustand/middleware";
|
||||
import { createSelectors } from "./createSelectors";
|
||||
import {
|
||||
type SharedVariantEditorSlice,
|
||||
createVariantEditorSlice,
|
||||
} from "./sharedVariantEditor.slice";
|
||||
import { type APIClient } from "~/utils/api";
|
||||
import { persistOptions, stateToPersist } from "./persist";
|
||||
|
||||
export type State = {
|
||||
drawerOpen: boolean;
|
||||
@@ -23,7 +25,11 @@ export type SliceCreator<T> = StateCreator<State, [["zustand/immer", never]], []
|
||||
export type SetFn = Parameters<SliceCreator<unknown>>[0];
|
||||
export type GetFn = Parameters<SliceCreator<unknown>>[1];
|
||||
|
||||
const useBaseStore = create<State, [["zustand/immer", never]]>(
|
||||
const useBaseStore = create<
|
||||
State,
|
||||
[["zustand/persist", typeof stateToPersist], ["zustand/immer", never]]
|
||||
>(
|
||||
persist(
|
||||
immer((set, get, ...rest) => ({
|
||||
api: null,
|
||||
setApi: (api) =>
|
||||
@@ -47,6 +53,8 @@ const useBaseStore = create<State, [["zustand/immer", never]]>(
|
||||
state.selectedProjectId = id;
|
||||
}),
|
||||
})),
|
||||
persistOptions,
|
||||
),
|
||||
);
|
||||
|
||||
export const useAppStore = createSelectors(useBaseStore);
|
||||
|
||||
Reference in New Issue
Block a user