M0-M11 狩夜人笔记初始实现:11里程碑+86测试

This commit is contained in:
hunter-dev
2026-08-24 20:35:22 +08:00
commit 3ebd33536b
106 changed files with 10490 additions and 0 deletions
@@ -0,0 +1,22 @@
import { create } from 'zustand';
type Mode = 'input' | 'confirm';
interface DialogState {
open: boolean;
mode: Mode;
title: string;
message: string;
placeholder: string;
resolve: ((value: string | null) => void) | null;
showInput: (title: string, placeholder?: string) => Promise<string | null>;
showConfirm: (title: string, message: string) => Promise<boolean>;
close: (value: string | null) => void;
}
export const useDialog = create<DialogState>((set, get) => ({
open: false, mode: 'input', title: '', message: '', placeholder: '', resolve: null,
showInput: (title, placeholder = '') => new Promise<string | null>((resolve) => { set({ open: true, mode: 'input', title, placeholder, resolve }); }),
showConfirm: (title, message) => new Promise<string | null>((resolve) => { set({ open: true, mode: 'confirm', title, message, resolve }); }),
close: (value) => { const r = get().resolve; set({ open: false, resolve: null }); r?.(value); },
}));