Discover books, shows, and movies at your level. Track your progress by filling your Shelf with what you find, and share with other language learners. *No dusting required. shlf.space

Commits on master

fix(ui/shelf): length check on null array
Signed-off-by: brookjeynes <me@brookjeynes.dev>
master
brookjeynes committed
feat(ui/index): design landing page showcase
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
refactor: minimize tailwind dependency
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(ui): first-pass design for login screen
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(static): add actor typeahead
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(ui): add colours
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat: add logger
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
refactor: move ui code to ui/
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
refactor: remove dead cache code
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat: install templ tool locally via go tools
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
docs: add ai policy
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat: add sqlite3 db for data persistence
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
refactor: update yes24 id to be generic
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
docs: add copyright
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat: add draggable shelf items
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
refactor(internal): rename my-books to shelf
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(views): add 'my books' page
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(router): add user router
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(components/header): add 'my books' tab + language selector
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
docs: add docs on redis dependency
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
chore: update shelf.app -> shlf.space
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(oauth): hook up oauth to login process
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(oauth): add resolver
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat: add oauth redis store
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
*:fmt
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(server/login): add login router
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
feat(views/login): add login templates
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
refactor: organise html/templ files to be less flat-structure like
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
docs(tailwind): add tailwind build instructions
Signed-off-by: Digital2512 <valerieannabella123@gmail.com>
Digital2512 committed
feat(static): serve static files and set up tailwind css
Signed-off-by: Digital2512 <valerieannabella123@gmail.com>
Digital2512 committed
docs: update license to GNU AGPLv3
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed
*: initialise repo
Signed-off-by: brookjeynes <me@brookjeynes.dev>
brookjeynes committed