freshter-logs/components/AddMsg.tsx

59 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-04-28 19:48:34 -04:00
//TODO: maybe in a seperate path (e.g. /i/[id]) so that static is still there
//TODO: ^ going with this
//TODO: basically a fg, bg, font picker (text-entry? link to typical builtin fonts?)
//TODO: also making/editing presets
//TODO: might be easiest to refresh on submit
import { useState } from "preact/hooks";
import { Preset, Message, Database, Conversation } from "types";
import InputMsg from "components/InputMsg.tsx";
//TODO: oh also creating convos
//TODO: oh also updating convos' metadata
//TODO: a sort of commit like thing? reactive config, then you have to actually submit
//TODO: much harder than just refreshing but much nicer
//TODO: probably in the main index (much minimalism waow)
export default function AddMsg({
// preset_list,
preset,
onsubmit,
conv,
db,
}: {
// preset_list: string[];
// ehhh the order should stay consistent enough
preset: string;
onsubmit: (_: Message) => void;
conv: Conversation;
db: Database;
}) {
const [content, setContent] = useState("");
console.log(content);
const msg = {
content,
preset,
};
return (
<InputMsg
msg={msg}
db={db}
onSubmit={() => {
onsubmit(msg);
setContent("");
}}
conversation={conv}
onInput={e => setContent(e.target.value)}
/>
);
}
// type Message = {
// content: string;
// preset?: string | undefined;
// fg?: string | undefined;
// bg?: string | undefined;
// font?: string | undefined;
// sender?: string | undefined;
// }