Commit Graph

407 Commits

Author SHA1 Message Date
Hayden
c8be922111 New Crowdin updates (#2016)
* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Finnish)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Finnish)

* New translations en-US.json (Czech)

* New translations en-US.json (Czech)

* New translations en-US.json (Czech)

* New translations en-US.json (Czech)

* New translations en-US.json (Czech)

* New translations en-US.json (Italian)

* New translations en-US.json (Italian)

* New translations en-US.json (Finnish)

* New translations en-US.json (Finnish)

* New translations en-US.json (Italian)

* New translations en-US.json (Italian)

* New translations en-US.json (Finnish)

* New translations en-US.json (Italian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Hungarian)
2023-01-14 09:33:14 -09:00
Sören
0cd892059b Fix/issue#2003 - Unable to remove all instructions/ingredients from a recipe (#2008)
* Fix issue where recipes could not have all their ingredients/instructions removed

* Add test for removing all instructions and ingredients from a recipe
2023-01-08 10:46:51 -09:00
Michael Genson
856a009dd8 fix: for several Shopping List bugs (#1912)
* prevent list refresh while re-ordering items

* update position of new items to stay at the bottom

* prevent refresh while loading

* copy item while editing so it isn't refreshed

* added loading count to handle overlapping actions

* fixed recipe reference throttling

* prevent merging checked and unchecked items
2023-01-08 08:23:24 -09:00
Hayden
fc92c39b7c feat: additional events dispatch (#1999)
* formatting

* add new user type

* add registration event

* publish events on new mealplan

* update UI for supported types + type updates
2023-01-07 10:18:08 -09:00
Hayden
929c67b1a7 New Crowdin updates (#1984)
* New translations en-US.json (Dutch)

* New translations en-US.json (Dutch)

* New translations en-US.json (Dutch)

* New translations en-US.json (Bulgarian)
2023-01-04 11:33:40 -09:00
Hayden
3fadb82c75 New Crowdin updates (#1977)
* New translations en-US.json (Bulgarian)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Polish)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (German)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Bulgarian)
2023-01-03 13:11:55 -09:00
Hayden
4d5550ad85 chore: mypy, ruff, extract, openapi, and recipes-scraper updates (#1968)
* bump ruff and mypy

* mypy fixes

* bump and fix openapi

* drop debug statement

* bump extruct

* bump recipes-scrapers
2023-01-01 13:47:27 -09:00
tomamplius
25ebe2d6fb bugfix : fix user_entry validation control (#1871)
* fix user_entry control

* code optimsation

* poetry syntaxe requirement

* poetry is really strict with python

* resolve linting error

* Update security.py

* fix user_entry = [()]

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2023-01-01 11:52:49 -09:00
Hayden
be2399e993 New Crowdin updates (#1956)
* New translations en-US.json (Italian)

* New translations en-US.json (Italian)

* New translations en-US.json (Italian)
2022-12-31 09:02:45 -09:00
Hayden
e281f53488 chore: refactor-docker-structure (#1948)
* move dockerfiles to dedicated folder

* consolidate docker related files to docker dir

* update CI references

* experimental omni style container

* update makefile commands

* update references

* fix whitespace

* single container docs

* update build paths

* adds omni style build

* set context
2022-12-31 09:01:15 -09:00
Michael Genson
c4eebaccca Fix for shopping list recipe delete route (#1954)
* fixed broken types

* changed remove recipe route from delete to post
2022-12-30 22:09:22 -09:00
Michael Genson
46cc3898ab feat: Improved Recipe Scaling Support and Shopping List Recipe Refactor (#1847)
* propogate scale changes to print view

* fixed incorrect variable reference

* refactored shopping list recipe routes
cleaned up existing logic
added support for recipe scaling

* updated current revision

* adding to shopping list respects UI recipe scale

* added field annotations

* added tests for recipe scaling

* made column nullable and set to 1 during migration
2022-12-30 13:47:35 -09:00
Hayden
e08cccb1f6 fix #1940 (#1942) 2022-12-30 11:27:44 -09:00
renovate[bot]
36b6f1eecd chore(deps): update dependency ruff to ^0.0.200 (#1924)
* chore(deps): update dependency ruff to ^0.0.200

* resolve ruff errors

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2022-12-29 14:48:32 -09:00
Michael Genson
19ae89a195 fix: Fixed API Token "Created On" date (#1909)
* exposed created_at on token schema

* fixed token createdAt reference

* made created_at optional for compatibility
2022-12-29 12:49:19 -09:00
Hayden
a58701a297 New Crowdin updates (#1907)
* New translations en-US.json (Polish)

* New translations en-US.json (Polish)

* New translations en-US.json (Polish)

* New translations en-US.json (Dutch)

* New translations en-US.json (Dutch)

* New translations en-US.json (French)

* New translations en-US.json (Turkish)
2022-12-29 12:48:25 -09:00
Hayden
35e73eb530 New Crowdin updates (#1886)
* New translations en-US.json (Danish)

* New translations en-US.json (Danish)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Italian)

* New translations en-US.json (Czech)

* New translations en-US.json (Turkish)

* New translations en-US.json (Norwegian)

* New translations en-US.json (German)

* New translations en-US.json (Romanian)

* New translations en-US.json (French)

* New translations en-US.json (Spanish)

* New translations en-US.json (Afrikaans)

* New translations en-US.json (Arabic)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Catalan)

* New translations en-US.json (Danish)

* New translations en-US.json (Greek)

* New translations en-US.json (Finnish)

* New translations en-US.json (Hebrew)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Italian)

* New translations en-US.json (Japanese)

* New translations en-US.json (Korean)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Dutch)

* New translations en-US.json (Polish)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Russian)

* New translations en-US.json (Slovak)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Serbian (Cyrillic))

* New translations en-US.json (Swedish)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Chinese Simplified)

* New translations en-US.json (Chinese Traditional)

* New translations en-US.json (Vietnamese)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (English, United Kingdom)

* New translations en-US.json (French, Canada)

* New translations en-US.json (German)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Dutch)

* New translations en-US.json (German)

* New translations en-US.json (Dutch)

* New translations en-US.json (Turkish)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Danish)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Portuguese)
2022-12-18 09:44:21 -09:00
Hayden
58e91dc62a New Crowdin updates (#1875)
* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (German)
2022-12-04 10:30:12 -09:00
Hayden
6111f9c88c New Crowdin updates (#1872)
* New translations en-US.json (Czech)

* New translations en-US.json (French)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Chinese Simplified)

* New translations en-US.json (Chinese Traditional)

* New translations en-US.json (Vietnamese)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (English, United Kingdom)

* New translations en-US.json (French, Canada)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Romanian)

* New translations en-US.json (Spanish)

* New translations en-US.json (Serbian (Cyrillic))

* New translations en-US.json (Afrikaans)

* New translations en-US.json (Arabic)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Catalan)

* New translations en-US.json (Czech)

* New translations en-US.json (Danish)

* New translations en-US.json (German)

* New translations en-US.json (Greek)

* New translations en-US.json (Finnish)

* New translations en-US.json (Hebrew)

* New translations en-US.json (Swedish)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Turkish)

* New translations en-US.json (Greek)

* New translations en-US.json (Norwegian)

* New translations en-US.json (German)

* New translations en-US.json (Romanian)

* New translations en-US.json (French)

* New translations en-US.json (Spanish)

* New translations en-US.json (Afrikaans)

* New translations en-US.json (Arabic)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Catalan)

* New translations en-US.json (Danish)

* New translations en-US.json (Finnish)

* New translations en-US.json (Slovak)

* New translations en-US.json (Hebrew)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Italian)

* New translations en-US.json (Japanese)

* New translations en-US.json (Korean)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Dutch)

* New translations en-US.json (Polish)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Russian)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Italian)

* New translations en-US.json (Swedish)

* New translations en-US.json (English, United Kingdom)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (Vietnamese)

* New translations en-US.json (Chinese Traditional)

* New translations en-US.json (Chinese Simplified)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Turkish)

* New translations en-US.json (Serbian (Cyrillic))

* New translations en-US.json (Japanese)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Slovak)

* New translations en-US.json (Russian)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Polish)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Dutch)

* New translations en-US.json (Korean)

* New translations en-US.json (French, Canada)

* New translations en-US.json (Turkish)

* New translations en-US.json (German)

* New translations en-US.json (French)

* New translations en-US.json (Dutch)

* New translations en-US.json (French)

* New translations en-US.json (German)

* New translations en-US.json (Dutch)

* New translations en-US.json (Turkish)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (Portuguese, Brazilian)
2022-12-01 16:25:27 -09:00
Michael Genson
1b9ff454fb feat: additional recipe sort behavior (#1858)
* changed default sort direction for certain attrs

* added workaround for filtering out null datetimes

* filtered out null-valued results for certain sorts

* removed unecessary parse

* used minyear instead of 1900
2022-11-30 20:59:30 -09:00
Philipp
33dffccaa5 feat: duplicate recipes (#1750)
* feature/frontend: Add duplicate button to recipe

* feature/backend: Add recipe duplication endpoint

* feature/frontend: add duplication API call

* Regenerate API docs

* Fix linter errors

* Fix backend linter error

* Move recipe duplication logic to recipe service

* Add test for recipe duplication

* Improve recipe ingredients copy test

* generate types

* import type

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2022-11-30 20:57:26 -09:00
Hayden
82dc586bac chores: updates-and-linters (#1868)
* switch to ruff

* add ruff

* run ruff --fix

* update ruff

* resolve ruff errors

* drop isort from CI

* fix decorator order
2022-11-30 20:20:28 -09:00
Hayden
fd0e02a5c6 New Crowdin updates (#1866)
* New translations en-US.json (German)

* New translations en-US.json (Dutch)

* New translations en-US.json (Dutch)

* New translations en-US.json (German)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Lithuanian)
2022-11-30 20:18:06 -09:00
Hayden
3ad3d92e5f feat: allow password change via container CLI (#1863)
* add password change script

* rename file

* add note in FAQ
2022-11-27 10:35:21 -09:00
Hayden
46f9ef19c8 New Crowdin updates (#1822)
* New translations en-US.json (Turkish)

* New translations en-US.json (Turkish)
2022-11-14 12:43:08 -09:00
Michael Genson
a2dcdc1adf feat: "I Made This" Dialog (#1801)
* added chef hat

* removed unnecessary log

* modified recipe and recipe timeline event schema
changed timeline event "message" -> "event_message"
added "last made" timestamp to recipe

* added "I made this" dialog to recipe action menu

* added missing field and re-ran code-gen

* moved dialog out of context menu and refactored
removed references in action menu and context menu
refactored dialog to be triggered by a button instead
added route to update recipe last made timestamp
added visual for last made timestamp to recipe header and title

* added sorting by last made

* switched event type to comment

* replaced alter column with pydantic alias

* added tests for event message alias
2022-11-13 14:12:53 -09:00
Hayden
f0e6496001 New Crowdin updates (#1817)
* New translations en-US.json (Czech)

* New translations en-US.json (Czech)

* New translations en-US.json (Czech)

* New translations en-US.json (Czech)
2022-11-13 14:11:36 -09:00
1848
f0ed2ad115 feat: allow to overwrite data dir (#1703)
New env variable "DATA_DIR" to overwrite data dir.

Co-authored-by: e <e@e.e>
2022-11-10 15:18:40 -09:00
Hayden
89d0cae51d refactor: rewrite cleaner functions for parsing recipe dicts (#1743)
* rewrite cleaner functions

* unify verbage

* try importing dep during check

* fix syntax

* allow override defaults

* satisfy mypy
2022-11-10 15:16:51 -09:00
Hayden
77316d639b New Crowdin updates (#1795)
* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Dutch)
2022-11-10 14:53:24 -09:00
Michael Genson
6ee64535df feat: recipe timeline backend api (#1685)
* added recipe_timeline_events table to db

* added schema and routes for recipe timeline events

* added missing mixin and fixed update schema

* added tests

* adjusted migration revision tree

* updated alembic revision test

* added initial timeline event for new recipes

* added additional tests

* added event bus support

* renamed event_dt to timestamp

* add timeline_events to ignore list

* run code-gen

* use new test routes implementation

* use doc string syntax

* moved event type enum from db to schema

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2022-11-01 00:12:26 -08:00
Hayden
714a080ecb New Crowdin updates (#1783)
* New translations en-US.json (Dutch)

* New translations en-US.json (Dutch)

* New translations en-US.json (Dutch)

* New translations en-US.json (German)

* New translations en-US.json (Polish)
2022-11-01 00:11:40 -08:00
Michael Genson
0dfb3a84cb fix: properly format SMTP from address/name (#1782) 2022-10-27 10:46:53 -08:00
Hayden
3f5aab6fae chore: bump version + change-log notice (#1766) 2022-10-24 18:13:27 -08:00
Hayden
84c23765cd fix: strict optional errors (#1759)
* fix strict optional errors

* fix typing in repository

* fix backup db files location

* update workspace settings
2022-10-23 13:04:04 -08:00
Hayden
83a076bd8b feat: improve idle memory usage (#1758)
* health check as python script

* install crfpp model via python

* drop curl from finale container

* use uvicorn by default w/ gunicorn as opt in

* recommend setting mem limit for container
2022-10-22 20:00:13 -08:00
Hayden
9f6bcc83d5 fix: apply API_PORT in containers (#1754) 2022-10-22 11:43:03 -08:00
Hayden
0bb1b6500f refactor: implement email with stdlib and drop email dependency (#1746)
* implement email with stdlib and drop dependency

* potentially provide in logs
2022-10-21 19:12:27 -08:00
Hayden
c9929745f8 fix: properly check recipe settings using database value (#1744)
* fix #1742

* bump depts to bust cache

* revert regression

* ensure permission checked on delete
2022-10-21 16:48:31 -08:00
Miroito
a59d1ae2f9 fix: min-original not saved (#1716) 2022-10-21 16:04:51 -08:00
Hayden
9ecef4c25f chore: file generation cleanup (#1736)
This PR does too many things :( 

1. Major refactoring of the dev/scripts and dev/code-generation folders. 

Primarily this was removing duplicate code and cleaning up some poorly written code snippets as well as making them more idempotent so then can be re-run over and over again but still maintain the same results. This is working on my machine, but I've been having problems in CI and comparing diffs so running generators in CI will have to wait. 

2. Re-Implement using the generated api routes for testing

This was a _huge_ refactor that touched damn near every test file but now we have auto-generated typed routes with inline hints and it's used for nearly every test excluding a few that use classes for better parameterization. This should greatly reduce errors when writing new tests. 

3. Minor Perf improvements for the All Recipes endpoint

  A. Removed redundant loops
  B. Uses orjson to do the encoding directly and returns a byte response instead of relying on the default 
       jsonable_encoder.

4. Fix some TS type errors that cropped up for seemingly no reason half way through the PR.

See this issue https://github.com/phillipdupuis/pydantic-to-typescript/issues/28

Basically, the generated TS type is not-correct since Pydantic will automatically fill in null fields. The resulting TS type is generated with a ? to indicate it can be null even though we _know_ that i can't be.
2022-10-18 14:49:41 -08:00
Hayden
a8f0fb14a7 chore: upgrade pre-commit hooks (#1735)
* change pep585 hook to pyupgrade

* run pyupgrade + cleanup lint errors
2022-10-17 14:37:06 -08:00
Hayden
e516a2e801 fix: unclosed sessions (#1734)
* resolve session leak

* cleanup session management functions
2022-10-17 14:11:40 -08:00
Michael Genson
e088719ddc fix: default null recipe quantities to zero when adding to shopping list (#1677)
* default null recipe quantities to zero

* simplify validation

* remove unused import

Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
2022-10-03 08:23:01 -08:00
Hayden
ef481a6a9c New Crowdin updates (#1672)
* New translations en-US.json (Turkish)

* New translations en-US.json (Serbian (Cyrillic))

* New translations en-US.json (Lithuanian)

* New translations en-US.json (Polish)

* New translations en-US.json (Portuguese)

* New translations en-US.json (Russian)

* New translations en-US.json (Slovak)

* New translations en-US.json (Slovenian)

* New translations en-US.json (Swedish)

* New translations en-US.json (Japanese)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Chinese Simplified)

* New translations en-US.json (Chinese Traditional)

* New translations en-US.json (Vietnamese)

* New translations en-US.json (Portuguese, Brazilian)

* New translations en-US.json (English, United Kingdom)

* New translations en-US.json (Korean)

* New translations en-US.json (Italian)

* New translations en-US.json (French)

* New translations en-US.json (Bulgarian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Dutch)

* New translations en-US.json (Romanian)

* New translations en-US.json (Spanish)

* New translations en-US.json (Afrikaans)

* New translations en-US.json (Arabic)

* New translations en-US.json (Catalan)

* New translations en-US.json (Hungarian)

* New translations en-US.json (Czech)

* New translations en-US.json (Danish)

* New translations en-US.json (German)

* New translations en-US.json (Greek)

* New translations en-US.json (Finnish)

* New translations en-US.json (Hebrew)

* New translations en-US.json (French, Canada)

* New translations en-US.json (German)

* New translations en-US.json (German)

* New translations en-US.json (Turkish)

* New translations en-US.json (French, Canada)

* New translations en-US.json (French, Canada)

* New translations en-US.json (Danish)

* New translations en-US.json (Danish)

* New translations en-US.json (Ukrainian)

* New translations en-US.json (Spanish)

* New translations en-US.json (Spanish)
2022-09-27 18:55:35 -08:00
Michael Genson
796e55b7d5 refactor: webhook events (#1661)
* 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
2022-09-27 18:55:20 -08:00
Michael Genson
8271c3001e feat: add support for API extras on shopping lists, shopping list items, and food data (#1619)
* added api extras to other tables
genericized api extras model from recipes
added extras column to ingredient foods
added extras column to shopping lists
added extras column to shopping list items

* updated alembic version test

* made mypy happy

* added TODO on test that does nothing

* added extras tests for lists, items, and foods

* added docs for new extras

* modified alembic versions to eliminate branching
2022-09-27 18:53:22 -08:00
Hayden
124ec3743a New Crowdin updates (#1667)
* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Norwegian)

* New translations en-US.json (Dutch)
2022-09-25 15:17:56 -08:00
Ben Boeckel
2e6b877ba9 docs: fix typos (#1665)
* 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.
2022-09-25 15:17:27 -08:00
Hayden
39adea4ee3 feat (WIP): bring png OCR scanning support (#1670)
* 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>
2022-09-25 15:00:45 -08:00