HackerTrans
TopNewTrendsCommentsPastAskShowJobs

smnm

no profile record

Submissions

LiveDrop Wirelessly Moves Data Using Dynamic QR Codes and Cameras

petapixel.com
1 points·by smnm·anno scorso·0 comments

comments

smnm
·anno scorso·discuss
I built an app to help in improving English vocabulary:

https://www.woor.app/

https://apps.apple.com/us/app/woor-vocabulary/id6740453162

Initially started as small webapp to help me learn Dutch words. Made it out of the frustration that in Duolingo I cannot specify the words I want to learn and Quizlet exercising and progression felt limited. I also wanted to target the specific meanings of the words.

Then I decided to try out CapacitorJS and wrapped it into the mobile app. For now only English is available as the target language as it was easier to validate the content, but more languages are coming.

Along with it also started the podcast with language tutors about the teaching & tech. Please find the links here: https://www.woor.app/tutorandtech
smnm
·2 anni fa·discuss
Celebrates with 1 million people protesting against the budget cuts for education system. Not quite the achievement.
smnm
·3 anni fa·discuss
Don't know about Tailwind, but in DOM API it is definitely a single class.
smnm
·3 anni fa·discuss
In 'Live preview' I casually inspected the the first button, and it has 63 classes, wow

  <button class="relative isolate inline-flex items-center justify-center gap-x-2 rounded-lg border text-base/6 font-semibold px-[calc(theme(spacing[3.5])-1px)] py-[calc(theme(spacing[2.5])-1px)] sm:px-[calc(theme(spacing.3)-1px)] sm:py-[calc(theme(spacing[1.5])-1px)] sm:text-sm/6 focus:outline-none data-[focus]:outline data-[focus]:outline-2 data-[focus]:outline-offset-2 data-[focus]:outline-blue-500 data-[disabled]:opacity-50 [&amp;>[data-slot=icon]]:-mx-0.5 [&amp;>[data-slot=icon]]:my-0.5 [&amp;>[data-slot=icon]]:size-5 [&amp;>[data-slot=icon]]:shrink-0 [&amp;>[data-slot=icon]]:text-[--btn-icon] [&amp;>[data-slot=icon]]:sm:my-1 [&amp;>[data-slot=icon]]:sm:size-4 forced-colors:[--btn-icon:ButtonText] forced-colors:data-[hover]:[--btn-icon:ButtonText] border-transparent bg-[--btn-border] dark:bg-[--btn-bg] before:absolute before:inset-0 before:-z-10 before:rounded-[calc(theme(borderRadius.lg)-1px)] before:bg-[--btn-bg] before:shadow dark:before:hidden dark:border-white/5 after:absolute after:inset-0 after:-z-10 after:rounded-[calc(theme(borderRadius.lg)-1px)] after:shadow-[shadow:inset_0_1px_theme(colors.white/15%)] after:data-[active]:bg-[--btn-hover-overlay] after:data-[hover]:bg-[--btn-hover-overlay] dark:after:-inset-px dark:after:rounded-lg before:data-[disabled]:shadow-none after:data-[disabled]:shadow-none text-white [--btn-bg:theme(colors.zinc.900)] [--btn-border:theme(colors.zinc.950/90%)] [--btn-hover-overlay:theme(colors.white/10%)] dark:text-white dark:[--btn-bg:theme(colors.zinc.600)] dark:[--btn-hover-overlay:theme(colors.white/5%)] [--btn-icon:theme(colors.zinc.400)] data-[active]:[--btn-icon:theme(colors.zinc.300)] data-[hover]:[--btn-icon:theme(colors.zinc.300)] cursor-default" type="button" data-headlessui-state="">Button<span class="absolute left-1/2 top-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 [@media(pointer:fine)]:hidden" aria-hidden="true"></span></button>