/** * CreateSessionDialog — modal for naming a new session */ import { Component, createSignal, onMount } from "solid-js"; import { createSession } from "../stores/journalStream"; interface CreateSessionDialogProps { onClose: () => void; } export const CreateSessionDialog: Component = ( props, ) => { const [name, setName] = createSignal(""); let inputRef!: HTMLInputElement; const handleCreate = () => { const trimmed = name().trim(); if (!trimmed) return; createSession(trimmed); setName(""); props.onClose(); }; onMount(() => inputRef?.focus()); return (
e.stopPropagation()} >

新建会话

输入新会话的名称。

setName(e.currentTarget.value)} onKeyDown={(e) => { if (e.key === "Enter") handleCreate(); if (e.key === "Escape") props.onClose(); }} placeholder="会话名称" class="w-full border border-gray-300 rounded px-2 py-1.5 text-sm" autofocus />
); };