Superpowered to do lists. No signup required.

🚸 add mobile responsive meta tags

+12 -19
+1 -2
package.json
··· 26 26 "type": "module", 27 27 "dependencies": { 28 28 "@vercel/analytics": "^1.1.1", 29 - "@vercel/speed-insights": "^1.0.3", 30 - "@xata.io/client": "^0.28.3" 29 + "@vercel/speed-insights": "^1.0.3" 31 30 } 32 31 }
+1 -11
pnpm-lock.yaml
··· 11 11 '@vercel/speed-insights': 12 12 specifier: ^1.0.3 13 13 version: 1.0.3 14 - '@xata.io/client': 15 - specifier: ^0.28.3 16 - version: 0.28.3(typescript@5.3.3) 17 14 18 15 devDependencies: 19 16 '@sveltejs/adapter-auto': ··· 546 543 /@vercel/speed-insights@1.0.3: 547 544 resolution: {integrity: sha512-bKIt0HDdF6hP2bJZyS+za3k6sKeAXNRLSIUbwVwvyvKdsHBWS6ILBvmD1wXHZZyTqjU1TP7dTE/F6lHM6rBdKA==} 548 545 requiresBuild: true 549 - dev: false 550 - 551 - /@xata.io/client@0.28.3(typescript@5.3.3): 552 - resolution: {integrity: sha512-aaXct/xWiYqHyFx2srMCnFDGrKvDA5fa6NEkFGzTHXQdYTai5hTQXcraPHxVHGlPUV3dapQWsguR4YJQugDpqQ==} 553 - peerDependencies: 554 - typescript: '>=4.5' 555 - dependencies: 556 - typescript: 5.3.3 557 546 dev: false 558 547 559 548 /acorn-typescript@1.4.13(acorn@8.11.3): ··· 1704 1693 resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} 1705 1694 engines: {node: '>=14.17'} 1706 1695 hasBin: true 1696 + dev: true 1707 1697 1708 1698 /update-browserslist-db@1.0.13(browserslist@4.22.2): 1709 1699 resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+4
src/app.html
··· 4 4 <meta charset="utf-8" /> 5 5 <link rel="icon" href="%sveltekit.assets%/check-square-2.svg" /> 6 6 <meta name="viewport" content="width=device-width, initial-scale=1" /> 7 + <meta name="mobile-web-app-capable" content="yes"> 8 + <meta name="apple-mobile-web-app-title" content="easytodo.link"> 9 + <meta name="apple-mobile-web-app-capable" content="yes"> 10 + <meta name="apple-mobile-web-app-status-bar-style" content="default"> 7 11 %sveltekit.head% 8 12 </head> 9 13 <body data-sveltekit-preload-data="hover">
+1 -1
src/routes/+layout.svelte
··· 48 48 </script> 49 49 50 50 <svelte:head> 51 - <title>easytodo.link - by @zeu_dev</title> 51 + <title>easytodo.link - free online to do list</title> 52 52 </svelte:head> 53 53 54 54 <main class="relative flex flex-col gap-8 w-full h-full min-w-screen min-h-screen p-8 items-center justify-center">
+5 -5
src/routes/+page.svelte
··· 31 31 <input 32 32 type="checkbox" 33 33 bind:checked={task.is_completed} 34 - class="checkbox checkbox-lg" 34 + class="checkbox lg:checkbox-lg" 35 35 /> 36 36 <input 37 37 type="text" 38 38 bind:value={task.description} 39 - class={`text-xl input input-lg w-full max-w-lg ${task.is_completed && "line-through"}`} 39 + class={`text-lg lg:text-xl input lg:input-lg w-full max-w-lg ${task.is_completed && "line-through"}`} 40 40 /> 41 41 <button 42 42 onclick={() => todo_list.removeTask(task.id)} ··· 45 45 <img 46 46 src="/block-2.svg" 47 47 alt="Flex Solid 'Block 2' by StreamlineHQ" 48 - class="w-6" 48 + class="w-4 lg:w-6" 49 49 /> 50 50 </button> 51 51 </li> ··· 57 57 <input 58 58 type="text" 59 59 bind:value={description} 60 - class="text-xl input input-bordered input-lg w-full max-w-lg" 60 + class="text-lg lg:text-xl input input-bordered lg:input-lg w-full max-w-lg" 61 61 /> 62 - <button class="btn btn-lg btn-primary">Add</button> 62 + <button class="btn lg:btn-lg btn-primary">Add</button> 63 63 </form> 64 64