* refactored EventBusService to work outside FastAPI
* extended event models
* refactored webhooks to run through event bus
* added basic webhook test route
* changed get_all to page_all
* fixed incorrectly implemented Vue variables
* fixed broken webhook test
* changed factory from staticmethod to classmethod
* made query boundary definitions easier to read
* docs: fix typos
* typos: fix typos found by `codespell` across the codebase
* docs: fix `macOS` spelling
* docs: fix `authentification` terminology
"Authentification" is not a thing.
* docs: fix `localhost` typo in example link
* typos: fix in-code typos
These are potentially higher risk, but no other mentions of these typos
show up in the codebase.
* Add pytesseract
* Add simple ocr endpoint
replace extension argument
* feat/ocr-editor gui
* fix frontend linting issues
* Add service unit tests
* Add split text modes & single ingredient/instruction editing
* make split mode really reactive
* Remove default step and ingredient
* make the linter haappy
* Accept only image uploads
* Add automatic recipe title suggestion
* Correct regex
* fix incorrect array.map method usage
* make the linter happy again
* Swap route to use asset name
* Rearange buttons
* fix test data
* feat: Allow making image the recipe image
* Add translation
* Make the linter happy
* Restrict function setPropertyValueByPath generic
* Restrict template literal type
* Add a more friendly icon to creation page
* update poetry lock file
* Correct sloppy ocr classes
* Make MyPy happy
* Rewrite safer tests
* Add tesseract to backend test CI container dependencies
* Make canvas element a component global
* Remove unwanted spaces in selected text
* Add way to know if recipe was created with ocr
* Access to ocr-editor for ocr recipes
* Update Alembic revision
* Make the frontend build
* Fix scrolling offset bug
* Allow creation of recipes with custom settings
* Fix rebasing mistakes
* Add format_tsv_output test
* Exclude the tests data directory only
* Enforce camelCase for frontend functions
* Remove import of unused component
* Fix type and class initialization
* Add multi-language support
* Highlight words in mount
* Fix image ratio bug
* Better ocr creation page
* Revert awkward feature to scroll in Selection mode
* Rebasing alembic migrations sux
* Remove obsolete getShared function
* Add function docstring
* Move down ocr creation option
* Make toolbar icons more generic
* Show help at the bottom of the page
* move ocr types to own file
* Use template ref for the canvas
* Use i18n.tc to get strings directly
* Correct naming mistake
* Move Ocr editor to own directory
* Create Ocr Editor parts
* Safeguard recipe properties access
* Add loading frontend animation due to longer request time
* minor cleanup chores
Co-authored-by: Miroito <alban.vachette@gmail.com>
* initial public explorer API endpoint
* public API endpoint
* cleanup recipe page
* wip: init explorer page
* use public URLs for shared recipes
* refactor private share tokens to use shared page
Refactor recipe page to use break up the component and make it more usable across different pages. I've left the old route in as well in case there is some functional breaks, I plan to remove it before the official release once we've tested the new editor some more in production. For now there will just have to be some duplicate components and pages around.
* grouped "instructions" header with first section
* fixed sort by last updated date
* somewhat-hacky bugfix for large screens
* modified page size to be divisible by 4
* fixed missing export for new data forms
* fix typing on auth context
* extract user password strength meter
* fix broken useToggle method
* extend form to accept arguments for validators
* enforce password length on update
* fix user password change form
* added create dialogs to food and unit pages
* minor css tweaks
* properly reset create form
* added placeholder name attribute for type checking
* removed unnecessary value assignment
* type fixes
* corrected comment
* add autofocus and use ref<VForm> for form refs
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* added new sort icons
* added dynamic sort icons
* implemented local storage for sorting
and mobile card view
* fixed bug with local storage booleans
* added type hints
* bum vue use to use merge defaults
* use reactive localstorage
* add $vuetify type
* sort returns
* fix type error
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* fixed typo
* merged "all recipes" pagination into recipe card
created custom sort card for all recipes
refactored backend calls for all recipes to sort/paginate
* frontend lint fixes
* restored recipes reference
* replaced "this" with reference
* fix linting errors
* re-order context menu
* add todo
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
rewrite get_all routes to use a pagination pattern to allow for better implementations of search, filter, and sorting on the frontend or by any client without fetching all the data. Additionally we added a CI check for running the Nuxt built to confirm that no TS errors were present. Finally, I had to remove the header support for the Shopping lists as the browser caching based off last_updated header was not allowing it to read recent updates due to how we're handling the updated_at property in the database with nested fields. This will have to be looked at in the future to reimplement. I'm unsure how many other routes have a similar issue.
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* fix type errors on event bus
* webhooks fields required for new implementation
* db migration
* wip: webhook query + tests and stub function
* ignore type checker error
* type and method cleanup
* datetime and time utc validator
* update testing code for utc scheduled time
* fix file cmp function call
* update version_number
* add support for translating "time" objects when restoring backup
* bump recipe-scrapers
* use specific import syntax
* generate frontend types
* utilize names exports
* use utc times
* add task to scheduler
* implement new scheduler functionality
* stub for type annotation
* implement meal-plan data getter
* add experimental banner
* grouped ingredients and instructions into sections
* added missing import
* divided ingredient sections and instruction sections into their own containers
* tweaked css to prevent sections from getting split between pages
* replaced horizontal rule with a text underline
* removed leftover CSS
* implement computer properties as reducers
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* Added custom scaling option
* Allow custom scaling with no yield set
* Made edit-scale translated
* fixed merge conflict
* Refactored scale editor to use menu
* replaced vslot with #
* linter issues
* fixed linter issues
* fixed one more linter issue
* format files + minor UI changes
* remove console.log
* move buttons into component and setup v-model
* drop servings text
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
* add drag and drop support for recipe steps
* fix recipe assets dialog state
* add attr support for markdown editor
* add persistent hint for recipe text editor