mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-01-30 14:52:58 -08:00
fcc5d99d40
* add vitest * initialize lib w/ tests * move to dev dep * run tests in CI * update file names * move api folder to lib * move api and api types to same folder * update generator outpath * rm husky * i guess i _did_ need those types * reorg types * extract validators into testable components * (WIP) start composable testing * fix import type * fix linter complaint * simplify icon type def * fix linter errors (maybe?) * rename client file for sorting
52 lines
1.2 KiB
Vue
52 lines
1.2 KiB
Vue
<template>
|
|
<div>
|
|
<v-switch
|
|
v-for="(_, key) in value"
|
|
:key="key"
|
|
v-model="value[key]"
|
|
xs
|
|
dense
|
|
:disabled="key == 'locked' && !isOwner"
|
|
class="my-1"
|
|
:label="labels[key]"
|
|
hide-details
|
|
></v-switch>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { defineComponent, useContext } from "@nuxtjs/composition-api";
|
|
import { RecipeSettings } from "~/lib/api/types/recipe";
|
|
|
|
export default defineComponent({
|
|
props: {
|
|
value: {
|
|
type: Object as () => RecipeSettings,
|
|
required: true,
|
|
},
|
|
isOwner: {
|
|
type: Boolean,
|
|
required: false,
|
|
},
|
|
},
|
|
setup() {
|
|
const { i18n } = useContext();
|
|
const labels: Record<keyof RecipeSettings, string> = {
|
|
public: i18n.tc("recipe.public-recipe"),
|
|
showNutrition: i18n.tc("recipe.show-nutrition-values"),
|
|
showAssets: i18n.tc("asset.show-assets"),
|
|
landscapeView: i18n.tc("recipe.landscape-view-coming-soon"),
|
|
disableComments: i18n.tc("recipe.disable-comments"),
|
|
disableAmount: i18n.tc("recipe.disable-amount"),
|
|
locked: i18n.tc("recipe.locked"),
|
|
};
|
|
|
|
return {
|
|
labels,
|
|
};
|
|
},
|
|
});
|
|
</script>
|
|
|
|
<style lang="scss" scoped></style>
|