* extract user registration form into a composable
* added base wizard component
* added partial setup implementation
* removed unused attrs
* added setup bypass
* made setup page more readable
* add checkbox hints to autoform
* added common settings pages and initial submit logic
* bypass setup in demo
* add full name to user registration
* added fullname and pw handling to setup
* fixed wizard indentation
* added post-setup suggestions
* added tests for backend changes
* renamed Wizard to BaseWizard
* lint fixes
* pass hardcoded default password instead of backend nonsense
* removed old test
* fix e2e
* added setup skip to e2e testing for all admin users
---------
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* add default group slug to app info if public
* redirect public user to default group
* added tests
---------
Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
* add groupSlug to most routes
* fixed more routing issues
* fixed jank and incorrect routes
* remove public explore links
* remove unused groupSlug and explore routes
* nuked explore pages
* fixed public toolstore bug
* fixed various routes missing group slug
* restored public app header menu
* fix janky login redirect
* 404 recipe API call returns to login
* removed unused explore layout
* force redirect when using the wrong group slug
* fixed dead admin links
* removed unused middleware from earlier attempt
* 🧹
* improve cookbooks sidebar
fixed sidebar link not working
fixed sidebar link target
hide cookbooks header when there are none
* added group slug to user
* fix $auth typehints
* vastly simplified groupSlug logic
* allow logged-in users to view other groups
* fixed some edgecases that bypassed isOwnGroup
* fixed static home ref
* 🧹
* fixed redirect logic
* lint warning
* removed group slug from group and user pages
refactored all components to use route groupSlug or user group slug
moved some group pages to recipe pages
* fixed some bad types
* 🧹
* moved groupSlug routes under /g/groupSlug
* move /recipe/ to /r/
* fix backend url generation and metadata injection
* moved shopping lists to root/other route fixes
* changed shared from /recipes/ to /r/
* fixed 404 redirect not awaiting
* removed unused import
* fix doc links
* fix public recipe setting not affecting public API
* fixed backend tests
* fix nuxt-generate command
---------
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* fixed incorrect var ref
* added public recipe pagination route
* refactored frontend public/explore API
* fixed broken public cards
* hid context menu from cards when public
* fixed public app header
* fixed random recipe
* added public food, category, tag, and tool routes
* not sure why I thought that would work
* added public organizer/foods stores
* disabled clicking on tags/categories
* added public link to profile page
* linting
* force a 404 if the group slug is missing or invalid
* oops
* refactored to fit sidebar into explore
* fixed invalid logic for app header
* removed most sidebar options from public
* added backend routes for public cookbooks
* added explore cookbook pages/apis
* codegen
* added backend tests
* lint
* fixes v-for keys
* I do not understand but sure why not
---------
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* Add hook for random sorting
* Add random sorting to front page
* Add multiple tests for random sorting.
* Be extra sure that all recipes are returned.
* Too stable random. seed doesn't reach backend.
* add timestamp to useRecipeSearch
* Update randomization tests for timestamp seeding
* ruff cleanup
* pass timestamp separately in getAll
* remove debugging log items
* remove timestamp from address bar
* remove defaults from backend timestamps
* timestamp should be optional
* fix edge case: query without timestamp
* similar edge case: no timestamp in pagination
* ruff :/
* better edge case handling
* stabilize random search test w/more recipes
* better pagination seeding
* update pagination seed test
* remove redundant random/seed check
* Test for api routes to random sorting.
* please the typing gods
* hack to make query parameters throw correct exc
* ruff
* fix validator message typo
* black reformatting
---------
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* update naming
* refactor tests to use shared structure
* shorten names
* add tools test case
* refactor to support multi-tenant
* set group_id on creation
* initial refactor for multitenant tags/cats
* spelling
* additional test case for same valued resources
* fix recipe update tests
* apply indexes to foreign keys
* fix performance regressions
* handle unknown exception
* utility decorator for function debugging
* migrate recipe_id to UUID
* GUID for recipes
* remove unused import
* move image functions into package
* move utilities to packages dir
* update import
* linter
* image image and asset routes
* update assets and images to use UUIDs
* fix migration base
* image asset test coverage
* use ids for categories and tag crud functions
* refactor recipe organizer test suite to reduce duplication
* add uuid serlization utility
* organizer base router
* slug routes testing and fixes
* fix postgres error
* adopt UUIDs
* move tags, categories, and tools under "organizers" umbrella
* update composite label
* generate ts types
* fix import error
* update frontend types
* fix type errors
* fix postgres errors
* fix#978
* add null check for title validation
* add note in docs on multi-tenancy
* move api clients and rename
* organize recipes composables
* rewrite useRecipeContext
* refactor(frontend): ♻️ abstract common ingredient functionality.
* feat(frontend): ✨ add scale, and back to recipe button + hide ingredients if none
* update regex to mach 11. instead of just 1.
* minor UX improvements
Co-authored-by: Hayden K <hay-kot@pm.me>