feat: setup drizzle (#594)

* chore: migration to SvelteKit 2

* stage 1: migrate to svelte 5 and fix rerendering issues

* stage 2: fix more $: reactivity across dashboard

* fix merge conflicts

* chore: migrate code in main to svelte 5

* chore: update preventDefault

* chore: simplify tsconfig and remove unused mobileMenuRef in MobileMenu.svelte

* chore: enforce .ts across dashboard

* rename from classroomio-com to website

* stage-3: Replace carbon icon svelte with lucide icon

* update lock file

* chore: finish icon replacement

* fix: settings and setup page multiple rerender

* stage 3: More icon and rerendering fixes

* feat: setup drizzle and better auth

* fix: onboarding validation error showing translation key #586 (#593)

* fix: onboarding validation error showing translation key #586

* fix: remove debug log for profile update errors

* chore: add a clean command

* fix: remove message from email verification response
This commit is contained in:
Rotimi Best
2025-11-01 15:49:29 +01:00
committed by GitHub
parent 97fb446df5
commit b96d91cd7c
801 changed files with 22279 additions and 10834 deletions
@@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.534 10.3476C17.6489 10.2326 17.7202 10.0738 17.72 9.89838V8.10162C17.72 7.75035 17.4356 7.46598 17.0848 7.46643L10.5329 7.46643L10.5329 0.914537C10.5329 0.563268 10.2486 0.278901 9.89773 0.27935L8.10097 0.27935C7.7497 0.27935 7.46533 0.563717 7.46578 0.914537L7.46578 7.46643H0.913887C0.563067 7.46598 0.278251 7.7508 0.2787 8.10162V9.89838C0.2787 10.2497 0.563067 10.534 0.913887 10.5336H7.46578L7.46578 17.0855C7.46533 17.4363 7.75015 17.7211 8.10097 17.7206L9.89773 17.7206C10.249 17.7206 10.5334 17.4363 10.5329 17.0855L10.5329 10.5336L17.0848 10.5336C17.2604 10.5336 17.4191 10.4625 17.534 10.3476Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 736 B

@@ -0,0 +1,3 @@
<svg width="11" height="11" viewBox="0 0 11 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.5 0.0820312C4.46165 0.0820312 3.44662 0.389938 2.58326 0.966816C1.7199 1.54369 1.04699 2.36363 0.649635 3.32294C0.252275 4.28226 0.148307 5.33785 0.35088 6.35626C0.553452 7.37466 1.05347 8.31012 1.78769 9.04434C2.52192 9.77857 3.45738 10.2786 4.47578 10.4812C5.49418 10.6837 6.54978 10.5798 7.50909 10.1824C8.4684 9.78504 9.28834 9.11213 9.86522 8.24877C10.4421 7.38542 10.75 6.37038 10.75 5.33203C10.75 3.93964 10.1969 2.60429 9.21231 1.61972C8.22775 0.635155 6.89239 0.0820313 5.5 0.0820312ZM4.75 7.42858L2.875 5.55358L3.47148 4.95703L4.75 6.23548L7.52875 3.45703L8.12714 4.05174L4.75 7.42858Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 727 B

@@ -0,0 +1,3 @@
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.4738 6C10.4742 6.15354 10.4348 6.30456 10.3596 6.43838C10.2843 6.57219 10.1757 6.68425 10.0442 6.76366L1.90008 11.7458C1.76278 11.8299 1.60551 11.8758 1.44453 11.8788C1.28356 11.8817 1.1247 11.8417 0.984376 11.7627C0.845386 11.685 0.729603 11.5717 0.648934 11.4344C0.568266 11.2971 0.525623 11.1408 0.525391 10.9816V1.01843C0.525623 0.859191 0.568266 0.702887 0.648934 0.565591C0.729603 0.428296 0.845386 0.314965 0.984376 0.237253C1.1247 0.158314 1.28356 0.118268 1.44453 0.121249C1.60551 0.12423 1.76278 0.170131 1.90008 0.25421L10.0442 5.23634C10.1757 5.31575 10.2843 5.42781 10.3596 5.56162C10.4348 5.69544 10.4742 5.84646 10.4738 6Z" fill="#0D4CFF"/>
</svg>

After

Width:  |  Height:  |  Size: 772 B

@@ -0,0 +1,12 @@
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_7053_33834)">
<path d="M12 8.16797C12.8284 8.16797 13.5 7.4964 13.5 6.66797C13.5 5.83954 12.8284 5.16797 12 5.16797C11.1716 5.16797 10.5 5.83954 10.5 6.66797C10.5 7.4964 11.1716 8.16797 12 8.16797Z" fill="black"/>
<path d="M12 14.168C12.8284 14.168 13.5 13.4964 13.5 12.668C13.5 11.8395 12.8284 11.168 12 11.168C11.1716 11.168 10.5 11.8395 10.5 12.668C10.5 13.4964 11.1716 14.168 12 14.168Z" fill="black"/>
<path d="M12 20.168C12.8284 20.168 13.5 19.4964 13.5 18.668C13.5 17.8395 12.8284 17.168 12 17.168C11.1716 17.168 10.5 17.8395 10.5 18.668C10.5 19.4964 11.1716 20.168 12 20.168Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_7053_33834">
<rect width="24" height="24" fill="white" transform="translate(0 0.667969)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 871 B

@@ -0,0 +1,3 @@
<svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.625 3.70703C5.32663 3.70703 5.04048 3.82556 4.82951 4.03654C4.61853 4.24751 4.5 4.53366 4.5 4.83203V13.832C4.5 14.1304 4.61853 14.4165 4.82951 14.6275C5.04048 14.8385 5.32663 14.957 5.625 14.957H6.75C7.04837 14.957 7.33452 14.8385 7.5455 14.6275C7.75647 14.4165 7.875 14.1304 7.875 13.832V4.83203C7.875 4.53366 7.75647 4.24751 7.5455 4.03654C7.33452 3.82556 7.04837 3.70703 6.75 3.70703H5.625ZM11.25 3.70703C10.9516 3.70703 10.6655 3.82556 10.4545 4.03654C10.2435 4.24751 10.125 4.53366 10.125 4.83203V13.832C10.125 14.1304 10.2435 14.4165 10.4545 14.6275C10.6655 14.8385 10.9516 14.957 11.25 14.957H12.375C12.6734 14.957 12.9595 14.8385 13.1705 14.6275C13.3815 14.4165 13.5 14.1304 13.5 13.832V4.83203C13.5 4.53366 13.3815 4.24751 13.1705 4.03654C12.9595 3.82556 12.6734 3.70703 12.375 3.70703H11.25Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 973 B

@@ -0,0 +1,11 @@
<svg width="27" height="27" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="26" height="22" transform="translate(0.166992 2.66797)" fill="white"/>
<g clip-path="url(#clip0_7053_31561)">
<path d="M21.3333 7.83724C22 7.17057 22 6.17057 21.3333 5.50391L18.3333 2.50391C17.6667 1.83724 16.6667 1.83724 16 2.50391L3.5 15.0039V20.3372H8.83333L21.3333 7.83724ZM17.1667 3.67057L20.1667 6.67057L17.6667 9.17057L14.6667 6.17057L17.1667 3.67057ZM5.16667 18.6706V15.6706L13.5 7.33724L16.5 10.3372L8.16667 18.6706H5.16667Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_7053_31561">
<rect width="26.6667" height="26.6667" fill="white" transform="translate(0.166992 0.335938)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 726 B

@@ -0,0 +1,3 @@
<svg width="43" height="44" viewBox="0 0 43 44" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.42891 6.98399C9.60172 4.91159 12.2157 3.319 15.1044 2.3425C19.8714 0.73103 25.0616 0.907233 29.7084 2.83829C34.3552 4.76934 38.1419 8.3236 40.3635 12.8392C42.5851 17.3548 43.0902 22.524 41.7849 27.3843C40.4795 32.2446 37.4525 36.4649 33.2675 39.2593C29.0825 42.0537 24.0247 43.2317 19.0359 42.5739C14.0471 41.9161 9.4674 39.4674 6.14947 35.6838C2.83154 31.9001 1.00153 27.0395 1.0001 22.0069L1 21.6659C0.999872 21.2138 1.17934 20.7802 1.49893 20.4604C1.81851 20.1406 2.25204 19.9609 2.70413 19.9608L3.38597 19.9606C4.3274 19.9603 5.0908 20.7233 5.09107 21.6647L5.09116 22.0057C5.09231 26.0463 6.56159 29.9487 9.22534 32.9863C11.8891 36.0239 15.5658 37.9898 19.5707 38.5178C23.5757 39.0459 27.636 38.1002 30.9958 35.8568C34.3556 33.6135 36.7858 30.2253 37.8338 26.3231C38.8819 22.4209 38.4763 18.2707 36.6927 14.6453C34.909 11.0199 31.8689 8.16651 28.1385 6.61626C24.408 5.06601 20.2414 4.92456 16.4145 6.21824C13.796 7.10339 11.4587 8.61914 9.59481 10.608H15.0753C16.0167 10.608 16.7799 11.3712 16.7799 12.3126V12.9946C16.7799 13.936 16.0167 14.6992 15.0753 14.6992H6.24976C6.20993 14.713 6.16946 14.7255 6.12843 14.7364C5.77351 14.8309 5.3999 14.8077 5.06247 14.6742C4.085 14.5202 3.33785 13.6739 3.33785 12.6536V2.95994C3.33785 2.01851 4.10103 1.25533 5.04246 1.25533H5.7243C6.66573 1.25533 7.42891 2.01851 7.42891 2.95994V6.98399Z" fill="white" stroke="white" stroke-linecap="square" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,3 @@
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M41.9882 20.3343C41.9667 19.5391 41.8893 18.7525 41.769 17.9831L37.6125 17.304L36.2027 13.4269L38.9708 10.2978C38.1326 8.92231 37.1311 7.65431 36.0006 6.51096L32.231 8.37642L28.7795 6.06393L29.1534 1.92036C27.7221 1.32289 26.2048 0.87587 24.6316 0.609375L22.6759 4.29733L18.4979 4.39189L16.3531 0.807097C14.7455 1.16816 13.211 1.70544 11.7711 2.40177L12.3857 6.51525L9.06313 9.01687L5.19465 7.37062C4.13297 8.56985 3.20453 9.88943 2.44373 11.3122L5.38807 14.278L4.20174 18.2239L0.0882535 19.1351C0.0151822 19.9518 -0.0192044 20.7856 0.0108838 21.6324C0.040972 22.4061 0.109745 23.1669 0.217203 23.9148L4.37367 24.6068L5.77062 28.4882L2.98102 31.6174C3.82349 32.9972 4.82069 34.278 5.95115 35.4214L9.72937 33.5688L13.1766 35.8942L12.7855 40.0378C14.2641 40.6524 15.8244 41.1167 17.4448 41.3918L19.392 37.6995L23.5699 37.5877L25.7234 41.1682C27.3267 40.7986 28.8612 40.257 30.3011 39.5564L29.6735 35.4472L32.9832 32.9284L36.856 34.566C37.9177 33.3582 38.8418 32.0386 39.5983 30.6159L36.6368 27.6587L37.8102 23.6999L41.928 22.7801C41.9882 21.9677 42.0183 21.1553 41.9882 20.3343ZM27.2063 27.9552C23.3077 31.3294 17.3589 30.9726 13.9202 27.1085C10.4988 23.2486 10.877 17.3986 14.7885 14.0244C18.6827 10.633 24.6316 11.0113 28.0617 14.8583C31.5132 18.7139 31.1178 24.5811 27.2063 27.9552Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,4 @@
<svg width="43" height="42" viewBox="0 0 43 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39.8701 5.25H37.2451V36.75H39.8701V5.25Z" fill="white"/>
<path d="M7.05762 36.7497C6.70952 36.7497 6.37568 36.6114 6.12954 36.3653C5.8834 36.1191 5.74512 35.7853 5.74512 35.4372V6.56218C5.74517 6.33168 5.80593 6.10527 5.92127 5.90571C6.03661 5.70615 6.20247 5.54049 6.40216 5.42538C6.60186 5.31028 6.82834 5.24979 7.05884 5.25C7.28933 5.25021 7.5157 5.31112 7.71518 5.4266L32.6527 19.8641C32.8516 19.9795 33.0167 20.1451 33.1314 20.3443C33.2462 20.5436 33.3066 20.7695 33.3066 20.9994C33.3066 21.2293 33.2462 21.4552 33.1314 21.6545C33.0167 21.8537 32.8516 22.0194 32.6527 22.1347L7.71518 36.5722C7.51549 36.6883 7.28862 36.7496 7.05762 36.7497Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 775 B