improve forms by adding select and float inputs

performance fix
This commit is contained in:
2023-06-01 01:24:42 +02:00
parent ebb2408a68
commit fcd3afa3f2
21 changed files with 872 additions and 345 deletions

View File

@@ -15,7 +15,9 @@ interface EntitiesStore {
index: number,
entity: Partial<z.input<typeof AnimatedEntity>>
) => void;
createEntity: (
entity: z.input<typeof AnimatedEntity>
) => z.input<typeof AnimatedEntity>;
deleteEntity: (index: number) => void;
updateEntityById: (
id: string,
@@ -23,13 +25,20 @@ interface EntitiesStore {
) => void;
}
const useEntitiesStore = create<EntitiesStore>((set) => ({
const useEntitiesStore = create<EntitiesStore>((set, get) => ({
entities: EXAMPLE_ANIMATED_ENTITIES,
selectedKeyframe: undefined,
selectEntity: (index) => set(() => ({ selectedEntity: index })),
deselectEntity: () => set(() => ({ selectedEntity: undefined })),
selectedEntity: undefined,
setEntities: (entities) => set({ entities }),
setEntities: (entities) => {
console.log("set entities");
set({ entities });
},
createEntity: (entity) => {
set({ entities: [...get().entities, entity] });
return entity;
},
updateEntityById: (id, entity) =>
set(({ entities }) => {
const nextEntities = produce(entities, (draft) => {

View File

@@ -2,11 +2,15 @@ import { create } from "zustand";
interface FontsStore {
fonts: Array<string>;
didInit: boolean;
setDidInit: (didInit: boolean) => void;
setFonts: (fonts: Array<string>) => void;
}
const useFontsStore = create<FontsStore>((set) => ({
fonts: [],
didInit: false,
setDidInit: (didInit) => set({ didInit }),
setFonts: (fonts) => set({ fonts }),
}));