todo-next

yet another task list webapp, made with Next.js
Log | Files | Refs | README

commit 76bb94b9ac6065c750f57c2a214d21d604fd2b5f
parent 7d60567044b92e1ba13f2d27b5f6e786aba36a55
Author: massi <git@massi.world>
Date:   Tue, 15 Apr 2025 18:30:39 -0700

favicon, metadata, manifest.json

a few styling tweaks made it in, too.

Diffstat:
Msrc/app/[[...title]]/page.tsx | 4++--
Msrc/app/favicon.ico | 0
Msrc/app/layout.tsx | 19+++++++++++++++++--
Asrc/app/manifest.json | 14++++++++++++++
4 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/app/[[...title]]/page.tsx b/src/app/[[...title]]/page.tsx @@ -218,7 +218,7 @@ function Title(props: TitleProps) { export default function TodoList() { const router = useRouter(); const { title: _title } = useParams<{ title: string }>(); - const title = _title ? decodeURIComponent(_title) : "tasks"; + const title = _title ? decodeURIComponent(_title) : "Tasks"; const [items, setItems] = useLocalStorage<TodoItem[]>(title, [mkTodo()]); const todoDescriptionRefs = useRef<(HTMLInputElement | null)[]>([]); const renameTitle = (newTitle: string) => { @@ -313,7 +313,7 @@ export default function TodoList() { <Title title={title} rename={renameTitle} /> </header> <main className="flex flex-col gap-[32px] row-start-2 items-center sm:items-start w-full"> - <div className="w-[100%]"> + <div className="w-[100%] pb-[30dvh]"> {items.map((todo, idx) => { const inputPosition = () => todoDescriptionRefs.current[idx]?.selectionStart; diff --git a/src/app/favicon.ico b/src/app/favicon.ico Binary files differ. diff --git a/src/app/layout.tsx b/src/app/layout.tsx @@ -13,8 +13,8 @@ const geistMono = Geist_Mono({ }); export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + title: "Tasks - massi world", + description: "a list of tasks to do", }; export default function RootLayout({ @@ -28,6 +28,21 @@ export default function RootLayout({ className={`${geistSans.variable} ${geistMono.variable} antialiased`} > {children} + <footer className=" p-3 center text-sm font-mono text-center"> + <span className="opacity-60">made by</span> + <a + className="text-blue-400 hover:underline" + href="https://massi.world" + target="_blank" + referrerPolicy="no-referrer" + > + <img + className="inline-block w-[16px] h-[16px] mx-1" + src="/favicon.ico" + /> + massi + </a> + </footer> </body> </html> ); diff --git a/src/app/manifest.json b/src/app/manifest.json @@ -0,0 +1,14 @@ +{ + "name": "Tasks - massi world", + "short_name": "Tasks", + "description": "lists of tasks to do", + "icons": [ + { + "src": "/favicon.ico", + "type": "image/x-icon", + "sizes": "any" + } + ], + "display": "standalone", + "start_url": "/" +}