From 93552152be180766fda08b1bd7ccefc4d26065ff Mon Sep 17 00:00:00 2001 From: Lieuwe Rooijakkers Date: Sun, 19 Jan 2025 22:21:32 +0100 Subject: client advancements --- .../src/routes/app/components/content/content.jsx | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 client/src/routes/app/components/content/content.jsx (limited to 'client/src/routes/app/components/content/content.jsx') diff --git a/client/src/routes/app/components/content/content.jsx b/client/src/routes/app/components/content/content.jsx new file mode 100644 index 0000000..42ecb8a --- /dev/null +++ b/client/src/routes/app/components/content/content.jsx @@ -0,0 +1,32 @@ +import {useLayoutEffect, useRef, useState} from 'react'; + +import './content.css'; + +import Entry from '../../../../components/entry'; + +export default function Content({ title, setTitle, items, setItems }) { + const [focused, setFocused] = useState(null); + + const children = items.map((item, i) => { + return setFocused(i + delta)} + onRemove={refocus => setItems(a => { + if (refocus) { + setFocused(i-1); + } + return [...a.slice(0, i), ...a.slice(i + 1)] + })} + onEnter={type => setItems(a => { + setFocused(i+1); + return a.toSpliced(i+1, 0, { type, text: '' }); + })} + />; + }); + + return
+

{title}

+ {children} +
; +} -- cgit v1.2.3-70-g09d2