From 909bc85205c21110734b8295a86fc7ac3af819db Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Sat, 30 Oct 2021 15:46:44 -0800 Subject: [PATCH] Chore/general UI cleanup (#764) * unify look and feel + button validators * Fixes #741 * add github script to mealei-next * feat(frontend): :lipstick: improve user-flow for creating ingredients and units in editor Creating a unit/food in the recipe editor will not automatically assign that to the auto-complete element on the ingredient. It also no longer needs a dialog and will show at the bottom of the menu at all times. * fix whitespace issue with slot * add security check to properties * fix event refresh on delete * remove depreciated page * improve API token flow * hide recipe data if not advanced user * misc adds Co-authored-by: Hayden --- dev/scripts/github_get_release_issues.py | 32 ++++++++++ docs/docs/changelog/v1.0.0.md | 13 +++- frontend/api/admin/admin-about.ts | 1 + .../Recipe/RecipeCategoryTagSelector.vue | 1 + .../Domain/Recipe/RecipeIngredientEditor.vue | 59 ++++++++++++++----- .../Recipe/RecipeIngredientFoodDialog.vue | 38 ------------ .../Recipe/RecipeIngredientUnitDialog.vue | 40 ------------- frontend/components/Layout/AppSidebar.vue | 12 +--- .../global/BaseCardSectionTitle.vue | 2 +- frontend/layouts/admin.vue | 5 -- frontend/pages/admin/dashboard.vue | 2 +- frontend/pages/admin/site-settings.vue | 54 +++++++++++++---- frontend/pages/admin/toolbox/organize.vue | 24 -------- frontend/pages/recipe/create.vue | 33 +++++++++-- frontend/pages/user/profile/api-tokens.vue | 28 ++++----- frontend/pages/user/profile/index.vue | 2 +- mealie/routes/about/events.py | 3 +- 17 files changed, 177 insertions(+), 172 deletions(-) create mode 100644 dev/scripts/github_get_release_issues.py delete mode 100644 frontend/components/Domain/Recipe/RecipeIngredientFoodDialog.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeIngredientUnitDialog.vue delete mode 100644 frontend/pages/admin/toolbox/organize.vue diff --git a/dev/scripts/github_get_release_issues.py b/dev/scripts/github_get_release_issues.py new file mode 100644 index 00000000..5cc5fca7 --- /dev/null +++ b/dev/scripts/github_get_release_issues.py @@ -0,0 +1,32 @@ +import json + +import requests +from pydantic import BaseModel + + +class GithubIssue(BaseModel): + url: str + number: int + title: str + + +def get_issues_by_label(label="fixed-pending-release") -> list[GithubIssue]: + + issues_url = f"https://api.github.com/repos/hay-kot/mealie/issues?labels={label}" + + response = requests.get(issues_url) + issues = json.loads(response.text) + return [GithubIssue(**issue) for issue in issues] + + +def format_markdown_list(issues: list[GithubIssue]) -> str: + return "\n".join(f"- [{issue.number}]({issue.url}) - {issue.title}" for issue in issues) + + +def main() -> None: + issues = get_issues_by_label() + print(format_markdown_list(issues)) + + +if __name__ == "__main__": + main() diff --git a/docs/docs/changelog/v1.0.0.md b/docs/docs/changelog/v1.0.0.md index 4310de28..a3a226ec 100644 --- a/docs/docs/changelog/v1.0.0.md +++ b/docs/docs/changelog/v1.0.0.md @@ -15,7 +15,11 @@ - Mealie has gone through a big redesign and has tried to standardize it's look a feel a bit more across the board. - User/Group settings are now completely separated from the Administration page. - All settings and configurations pages now have some sort of self-documenting help text. Additional text or descriptions are welcome from PRs -- Site settings now has status on whether or not some ENV variables have been configured correctly. +- Site settings now has status on whether or not some ENV variables have been configured correctly. + - Server Side Bare URL will let you know if the BASE_URL env variable has been set + - Secure Site let's you know if you're serving via HTTPS or accessing by localhost. accessing without a secure site will render some of the features unusable. + - Email Configuration Status will let you know if all the email settings have been provided and offer a way to send test emails. + ### ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Users and Groups - Recipes are now only viewable by group members @@ -33,10 +37,17 @@ - Add Recipes or Notes to a specific day ### ๐Ÿฅ™ Recipes +- You can now import multiple URLs at a time pre-tagged using the bulk importer. This task runs in the background so no need to wait for it to finish. - Foods/Units for Ingredients are now supported (toggle inside your recipe settings) +- You can no use Natural Language Processing (NLP) to process ingredients and attempt to parse them into amounts, units, and foods. There additional is a "Brute Force" processor that can be used to use a pattern matching parser to try and determine ingredients. **Note** if you are processing a Non-English language you will have terrible results with the NLP and will likely need to use the Bruce Force processor. - Common Food and Units come pre-packaged with Mealie - Recipes can now scale when Food/Units are properly defined - Landscape and Portrait views is now available +- Users with the advanced flag turned on will not be able to manage recipe data in bulk and perform the following actions: + - Set Categories + - Set Tags + - Delete Recipes + - Export Recipes ### โš ๏ธ Other things to know... - Themes have been depreciated for specific users. You can still set specific themes for your site through ENV variables. This approach should yield much better results for performance and some weirdness users have experienced. diff --git a/frontend/api/admin/admin-about.ts b/frontend/api/admin/admin-about.ts index 8d54032b..01517f7e 100644 --- a/frontend/api/admin/admin-about.ts +++ b/frontend/api/admin/admin-about.ts @@ -30,6 +30,7 @@ export interface AdminStatistics { export interface CheckAppConfig { emailReady: boolean; baseUrlSet: boolean; + isSiteSecure: boolean; } export class AdminAboutAPI extends BaseAPI { diff --git a/frontend/components/Domain/Recipe/RecipeCategoryTagSelector.vue b/frontend/components/Domain/Recipe/RecipeCategoryTagSelector.vue index c7874b4a..96d2314c 100644 --- a/frontend/components/Domain/Recipe/RecipeCategoryTagSelector.vue +++ b/frontend/components/Domain/Recipe/RecipeCategoryTagSelector.vue @@ -15,6 +15,7 @@ :hint="hint" :solo="solo" :return-object="returnObject" + :prepend-inner-icon="$globals.icons.tags" :flat="flat" v-bind="$attrs" @input="emitChange" diff --git a/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue b/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue index 2b7a1519..c6fd9924 100644 --- a/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue +++ b/frontend/components/Domain/Recipe/RecipeIngredientEditor.vue @@ -5,7 +5,7 @@ v-model="value.title" dense hide-details - class="mx-1 mb-4" + class="mx-1 mt-3 mb-4" placeholder="Section Title" style="max-width: 500px" > @@ -29,6 +29,7 @@ -