mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-09-29 15:31:36 -04:00
* fix links * actually fix #238 * Feature/mkdocs version bump (#240) * fix links (#239) Co-authored-by: hay-kot <hay-kot@pm.me> * fix #238 * bump mkdocs version * light/dark toggle * light/dark mode css * API_DOCS defaults to True * disable build on push for master Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/recipe viewer (#244) * fix dialog placement * markdown support in ingredients * fix line render issue * fix tag rendering bug * change ingredients to text area * no slug error * add tag pages * remove console.logs Co-authored-by: hay-kot <hay-kot@pm.me> * changelog v0.4.1 * bug/backup-download (#245) * fix blocked download * + download blocked Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/meal planner (#246) * fixes duplicate recipes in meal-plan #221 * add quick week option * scope css * add mealplanner info Co-authored-by: hay-kot <hay-kot@pm.me> * Nextcloud Import Bugs - #248 (#250) * parses datetime properly + clean category - #248 * add default credentials to docs Co-authored-by: hay-kot <hay-kot@pm.me> * Add bulk import examples to docs. (#252) * Add bulk import examples to docs. * Update api-usage.md * Add Python example for bulk import. * Change IP address in API example. * Refactor/app settings (#251) * fix env setup bugs * remove unused import * fix layout issues * changelog Co-authored-by: hay-kot <hay-kot@pm.me> * env setup fixes * Feature/about api (#253) * fix settings * app info cleanup Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/image minify (#256) * fix settings * app info cleanup * bottom-bar experiment * remove dup key * type hints * add dependency * updated image with query parameters * read image options * add image minification * add image minification step * alt image routes * add image minification * set mobile bar to top Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/additional endpoints (#257) * new recipe summary route * add categories to cards * add pillow * show tags instead of categories * additional debug info * add todays meal image url * about page * fix reactive tag * changelog + docs * bump version Co-authored-by: hay-kot <hay-kot@pm.me> * add pillow dependencies (#258) Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/search page (#259) * add pillow dependencies * advanced search page * advanced search apge * remove extra dependencies * add pre-run script Co-authored-by: hay-kot <hay-kot@pm.me> * no image assignment * advanced search * fix docker dev build * Do not force theme settings on login form (#260) * Fix docker dev db persistence (#264) * Fix docker dev db persistence * Make run.sh the only startup script for prod + dev Credits to @hay-kot for run.sh script logic * Restore dev backend initialization in non-docker setup * Make run.sh POSIX-friendly * Allow dev backend to auto-reload in Docker * Frontend Refactor + Bug Fixes * merge category and tag selector * unifiy category selector * add hint * spacing * fix nextcloud migration * simplify email validator #261 * formatting * cleanup * auto-gen * format * update run script * unified category/tag selector * rename component * Add advanced search link * remove old code * convert keywords to tags * add proper behavior on rename * proper image name association on rename * fix test cleanup * changelog * set docker comppand * minify on migration Co-authored-by: hay-kot <hay-kot@pm.me> * bug-fixes/category-tag-creator (#266) * fix category labels * set loader for migration * v0.4.1 Co-authored-by: hay-kot <hay-kot@pm.me> * Hot Fix (#269) * fix category labels * set loader for migration * v0.4.1 * reorganize API docs Co-authored-by: hay-kot <hay-kot@pm.me> * Fix some pytests (#265) * Fix encoding issue in cleaner unit test * Add VS Code task to run pytests * Fix FileExistsError when running Windows * Add Portuguese Translation (#232) * Add Portuguese Translation * add portuguese translation option * formatting * add missing } * specify absolute path * Feature/migration-rewrite (#278) * start * migration rewrite * update name * convert chowdown to new methods * refactor/remove duplicate code * refactor to unify logger + log to file * remove toolbox * Display report on UI Co-authored-by: hay-kot <hay-kot@pm.me> * refactor/image-minification (#285) * refactor image minification calls * remove nusiance logs Co-authored-by: hay-kot <hay-kot@pm.me> * feature/debug-info (#286) * rename 'ENV' to 'PRODUCTION' and default to true * set env PRODUCTION * refactor file download process * add last_recipe.json and log downloads * changelog + version bump * set env on workflows * bump version Co-authored-by: hay-kot <hay-kot@pm.me> * Basic nutrition editor (#288) * Basic nutrition editor * fix no image on scrape * nutrition display * add recipe images * update by url * new upload options Co-authored-by: hay-kot <hay-kot@pm.me> * Sanitize recipe backup filenames (#287) Fixes #275 * fix page creation fixes #290 * Display categories in sidebar if no pages set (#292) Fixes #291 * Enrich page title with context (#296) - Static pages have their own titles - The name of the recipe is displayed when viewing it * fix: translates phrase for locale de (#298) Co-authored-by: Jonas Schubert <jonas.schubert.1990@web.de> * Fix ingredient checkbox click (#305) Fixes #304 v-list-item already flips the checkbox * Localize custom pages and search page (#299) * Localize custom pages and search page * Fix FR translation for step * fixes #306 * fixes #297 * Update changelog * generate docs * fix broken upload button on migrations * docs update * bump version * fix discord link * add TOKEN_TIME and DEFAULT_EMAIL * docs * fixes #312 * fixes #314 * fixes #315 * fix language hydration * v0.4.3 docs * Crowdin integration (#319) * Fix portuguese localization files * Use 4-letter code for locales ID * Update Crowdin configuration file * Make vuetify locales match with new VueI18n standard * Fix old locale ID default setting * Hide project hierarchy from Crowdin * add dateTimeFormats to Crowdin * New Crowdin updates (#322) - Initial Merge * New translations en-US.json (French) * New translations en-US.json (French) * New translations en-US.json (Danish) * New translations en-US.json (Danish) * New translations en-US.json (German) * New translations en-US.json (German) * New translations en-US.json (Polish) * New translations en-US.json (Polish) * New translations en-US.json (Portuguese) * New translations en-US.json (Portuguese) * New translations en-US.json (Swedish) * New translations en-US.json (Swedish) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Traditional) * New translations en-US.json (Chinese Traditional) * New Crowdin updates (#323) * New translations en-US.json (French) * New translations en-US.json (French) * New translations en-US.json (Danish) * New translations en-US.json (Danish) * New translations en-US.json (German) * New translations en-US.json (German) * New translations en-US.json (Polish) * New translations en-US.json (Polish) * New translations en-US.json (Portuguese) * New translations en-US.json (Portuguese) * New translations en-US.json (Swedish) * New translations en-US.json (Swedish) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Simplified) * New translations en-US.json (Chinese Traditional) * New translations en-US.json (Chinese Traditional) * New translations en-US.json (Romanian) * New translations en-US.json (Korean) * New translations en-US.json (Vietnamese) * New translations en-US.json (English) * New translations en-US.json (Ukrainian) * New translations en-US.json (Turkish) * New translations en-US.json (Serbian (Cyrillic)) * New translations en-US.json (Russian) * New translations en-US.json (Norwegian) * New translations en-US.json (Dutch) * New translations en-US.json (Japanese) * New translations en-US.json (Italian) * New translations en-US.json (Hungarian) * New translations en-US.json (Hebrew) * New translations en-US.json (Finnish) * New translations en-US.json (Greek) * New translations en-US.json (German) * New translations en-US.json (Czech) * New translations en-US.json (Catalan) * New translations en-US.json (Arabic) * New translations en-US.json (Afrikaans) * New translations en-US.json (Spanish) * New translations en-US.json (Portuguese, Brazilian) * New translations en-US.json (French) (#324) Co-authored-by: hay-kot <hay-kot@pm.me> Co-authored-by: Nat <nathanynath@yahoo.fr> Co-authored-by: sephrat <34862846+sephrat@users.noreply.github.com> Co-authored-by: Pedro Mata Rodrigues <pmmatarodrigues@gmail.com> Co-authored-by: JonasSchubert <jonas.schubert.projects@web.de> Co-authored-by: Jonas Schubert <jonas.schubert.1990@web.de>
78 lines
1.9 KiB
Vue
78 lines
1.9 KiB
Vue
<template>
|
|
<div class="text-center">
|
|
<v-menu offset-y top nudge-top="6" :close-on-content-click="false">
|
|
<template v-slot:activator="{ on, attrs }">
|
|
<v-btn color="accent" dark v-bind="attrs" v-on="on">
|
|
Image
|
|
</v-btn>
|
|
</template>
|
|
<v-card width="400">
|
|
<v-card-title class="headline flex mb-0">
|
|
<div>
|
|
Recipe Image
|
|
</div>
|
|
<UploadBtn
|
|
class="ml-auto"
|
|
url="none"
|
|
file-name="image"
|
|
:text-btn="false"
|
|
@uploaded="uploadImage"
|
|
:post="false"
|
|
/>
|
|
</v-card-title>
|
|
<v-card-text class="mt-n5">
|
|
<div>
|
|
<v-text-field label="URL" class="pt-5" clearable v-model="url">
|
|
<template v-slot:append-outer>
|
|
<v-btn
|
|
class="ml-2"
|
|
color="primary"
|
|
@click="getImageFromURL"
|
|
:loading="loading"
|
|
>
|
|
Get
|
|
</v-btn>
|
|
</template>
|
|
</v-text-field>
|
|
</div>
|
|
</v-card-text>
|
|
</v-card>
|
|
</v-menu>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
const REFRESH_EVENT = "refresh";
|
|
const UPLOAD_EVENT = "upload";
|
|
import UploadBtn from "@/components/UI/UploadBtn";
|
|
import { api } from "@/api";
|
|
// import axios from "axios";
|
|
export default {
|
|
components: {
|
|
UploadBtn,
|
|
},
|
|
props: {
|
|
slug: String,
|
|
},
|
|
data: () => ({
|
|
items: [{ title: "Upload Image" }, { title: "From URL" }],
|
|
url: "",
|
|
loading: false,
|
|
}),
|
|
methods: {
|
|
uploadImage(fileObject) {
|
|
this.$emit(UPLOAD_EVENT, fileObject);
|
|
},
|
|
async getImageFromURL() {
|
|
this.loading = true;
|
|
const response = await api.recipes.updateImagebyURL(this.slug, this.url);
|
|
if (response) this.$emit(REFRESH_EVENT);
|
|
this.loading = false;
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
</style>
|