diff love/epi/src/atoms/composerAtom.ts @ 38:cf9caa4abc3e

[Love] FE and BE. Can chat and render images. Also created MCP for powerpoint generations.
author MrJuneJune <me@mrjunejune.com>
date Mon, 01 Dec 2025 20:35:56 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/love/epi/src/atoms/composerAtom.ts	Mon Dec 01 20:35:56 2025 -0800
@@ -0,0 +1,27 @@
+import { atom } from 'jotai';
+
+export type ComposerState = 'idle' | 'sending';
+
+export interface ComposerValue {
+  text: string;
+  state: ComposerState;
+}
+
+export const composerAtom = atom<ComposerValue>({
+  text: '',
+  state: 'idle',
+});
+
+export const composerTextAtom = atom(
+  (get) => get(composerAtom).text,
+  (get, set, newText: string) => {
+    set(composerAtom, { ...get(composerAtom), text: newText });
+  },
+);
+
+export const composerStatusAtom = atom(
+  (get) => get(composerAtom).state,
+  (get, set, newState: ComposerState) => {
+    set(composerAtom, { ...get(composerAtom), state: newState });
+  },
+);