function AddRecordModal(props: Props) {
const [title, setTitle] = createSignal<string>("");
const [amount, setAmount] = createSignal<number>();
createEffect(() => {
console.log(title(), amount());
});
return (
<div>
<RecordEditor class={styles.content} title={[title, setTitle]} amount={[amount, setAmount]} />
<button onClick={() => console.log(title(), amount())}>Submit record</button>
</div>
);
}
function RecordEditor(props: {
class?: string;
title: [Accessor<string>, Setter<string>];
amount: [Accessor<string | number | undefined>, Setter<number | undefined>];
}) {
const [title, setTitle] = props.title || createSignal<string>();
const [amount, setAmount] = props.amount || createSignal<number>();
return (
<div class={clsx(styles.container, props.class)}>
<input type="text" placeholder="Title" value={title()} onInput={(e) => setTitle(e.currentTarget.value)} />
<input
type="number"
placeholder="Amount"
value={amount()}
onInput={(e) => setAmount(parseFloat(e.currentTarget.value))}
/>
</div>
);
}
function AddRecordModal(props: Props) {
const [title, setTitle] = createSignal<string>("");
const [amount, setAmount] = createSignal<number>();
createEffect(() => {
console.log(title(), amount());
});
return (
<div>
<RecordEditor class={styles.content} title={[title, setTitle]} amount={[amount, setAmount]} />
<button onClick={() => console.log(title(), amount())}>Submit record</button>
</div>
);
}
function RecordEditor(props: {
class?: string;
title: [Accessor<string>, Setter<string>];
amount: [Accessor<string | number | undefined>, Setter<number | undefined>];
}) {
const [title, setTitle] = props.title || createSignal<string>();
const [amount, setAmount] = props.amount || createSignal<number>();
return (
<div class={clsx(styles.container, props.class)}>
<input type="text" placeholder="Title" value={title()} onInput={(e) => setTitle(e.currentTarget.value)} />
<input
type="number"
placeholder="Amount"
value={amount()}
onInput={(e) => setAmount(parseFloat(e.currentTarget.value))}
/>
</div>
);
}