merge v2
This commit is contained in:
parent
1abe1b4076
commit
0c91e9d814
57 changed files with 1106 additions and 475 deletions
14
app/app.scss
14
app/app.scss
|
@ -241,7 +241,7 @@ button {
|
|||
ActivityIndicator {
|
||||
width: 24;
|
||||
height: 24;
|
||||
margin: 12;
|
||||
margin: 14;
|
||||
color: $orange;
|
||||
}
|
||||
|
||||
|
@ -395,6 +395,9 @@ ActivityIndicator {
|
|||
padding: 14 16;
|
||||
line-height: 4;
|
||||
}
|
||||
.t {
|
||||
padding: 14 0;
|
||||
}
|
||||
}
|
||||
.done {
|
||||
opacity: 0.5;
|
||||
|
@ -406,6 +409,9 @@ ActivityIndicator {
|
|||
padding: 16 24;
|
||||
line-height: 4;
|
||||
}
|
||||
.t5 {
|
||||
font-size: $t5;
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// AppBar
|
||||
|
@ -449,6 +455,12 @@ ActivityIndicator {
|
|||
width: 100%;
|
||||
padding: 0 16 16;
|
||||
}
|
||||
.ingActions {
|
||||
orientation: horizontal;
|
||||
button {
|
||||
margin-right: 16;
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// MealPlanner
|
||||
|
|
|
@ -38,8 +38,8 @@
|
|||
:hidden="showUndo"
|
||||
columns="auto, *, auto"
|
||||
>
|
||||
<Button class="ico rtl end" :text="icon.back" @tap="navigateBack" />
|
||||
<Button class="ico fab end" :text="icon.plus" @tap="addTimer" col="2" />
|
||||
<Button class="ico rtl" :text="icon.back" @tap="navigateBack" />
|
||||
<Button class="ico fab" :text="icon.plus" @tap="addTimer" col="2" />
|
||||
</RGridLayout>
|
||||
<SnackBar
|
||||
:hidden="!showUndo || toast"
|
||||
|
|
|
@ -34,7 +34,9 @@
|
|||
<TextField
|
||||
:hint="'recTitle' | L"
|
||||
v-model="recipe.title"
|
||||
@loaded="setInputTypeText($event, 'words')"
|
||||
autocapitalizationType="words"
|
||||
autocorrect="true"
|
||||
@returnPress="showCuisine(1)"
|
||||
/>
|
||||
</StackLayout>
|
||||
<RGridLayout :rtl="RTL" class="" columns="*, 8, *">
|
||||
|
@ -44,7 +46,6 @@
|
|||
@loaded="setGravity"
|
||||
:text="recipe.cuisine | L"
|
||||
editable="false"
|
||||
@focus="!modalOpen && showCuisine(1)"
|
||||
@tap="showCuisine(0)"
|
||||
/>
|
||||
</StackLayout>
|
||||
|
@ -52,10 +53,8 @@
|
|||
<Label class="fLabel" :text="'cat' | L" />
|
||||
<TextField
|
||||
@loaded="setGravity"
|
||||
ref="category"
|
||||
:text="recipe.category | L"
|
||||
editable="false"
|
||||
@focus="!modalOpen && showCategories(1)"
|
||||
@tap="showCategories(0)"
|
||||
/>
|
||||
</StackLayout>
|
||||
|
@ -63,13 +62,14 @@
|
|||
<StackLayout class="inputC">
|
||||
<Label class="fLabel" :text="'ts' | L" />
|
||||
<TextField
|
||||
@loaded="setGravity"
|
||||
:hint="'tsInfo' | L"
|
||||
autocapitalizationType="words"
|
||||
ref="tags"
|
||||
autocapitalizationType="words"
|
||||
autocorrect="true"
|
||||
:hint="'tsInfo' | L"
|
||||
v-model="tags"
|
||||
@textChange="splitTags"
|
||||
returnKeyType="next"
|
||||
@loaded="setGravity"
|
||||
@returnPress="setTimeRequired(1, 'prepTime')"
|
||||
/>
|
||||
</StackLayout>
|
||||
<RGridLayout :rtl="RTL" columns="*, 8, *">
|
||||
|
@ -79,7 +79,6 @@
|
|||
@loaded="setGravity"
|
||||
:text="timeRequired('prepTime')"
|
||||
editable="false"
|
||||
@focus="!modalOpen && setTimeRequired(1, 'prepTime')"
|
||||
@tap="setTimeRequired(0, 'prepTime')"
|
||||
/>
|
||||
</StackLayout>
|
||||
|
@ -87,10 +86,8 @@
|
|||
<Label class="fLabel" :text="'cookT' | L" />
|
||||
<TextField
|
||||
@loaded="setGravity"
|
||||
ref="cookTime"
|
||||
:text="timeRequired('cookTime')"
|
||||
editable="false"
|
||||
@focus="!modalOpen && setTimeRequired(1, 'cookTime')"
|
||||
@tap="setTimeRequired(0, 'cookTime')"
|
||||
/>
|
||||
</StackLayout>
|
||||
|
@ -100,11 +97,12 @@
|
|||
<Label class="fLabel" :text="'yieldQ' | L" />
|
||||
<TextField
|
||||
@loaded="setGravity"
|
||||
ref="yieldQuantity"
|
||||
ref="yieldQ"
|
||||
v-model="recipe.yieldQuantity"
|
||||
hint="1"
|
||||
keyboardType="number"
|
||||
returnKeyType="next"
|
||||
@returnPress="showYieldUnits(1)"
|
||||
/>
|
||||
</StackLayout>
|
||||
<StackLayout class="inputC" col="2">
|
||||
|
@ -113,7 +111,6 @@
|
|||
@loaded="setGravity"
|
||||
:text="`${recipe.yieldUnit}` | L"
|
||||
editable="false"
|
||||
@focus="!modalOpen && showYieldUnits(1)"
|
||||
@tap="showYieldUnits(0)"
|
||||
/>
|
||||
</StackLayout>
|
||||
|
@ -123,10 +120,8 @@
|
|||
<Label class="fLabel" :text="'Difficulty level' | L" />
|
||||
<TextField
|
||||
@loaded="setGravity"
|
||||
ref="difficultyLevel"
|
||||
:text="`${recipe.difficulty}` | L"
|
||||
editable="false"
|
||||
@focus="!modalOpen && showDifficultyLevel(1)"
|
||||
@tap="showDifficultyLevel(0)"
|
||||
/>
|
||||
</StackLayout>
|
||||
|
@ -140,50 +135,58 @@
|
|||
<RGridLayout
|
||||
:rtl="RTL"
|
||||
columns="auto,8,auto,8,*,auto"
|
||||
v-for="(ingredient, index) in recipe.ingredients"
|
||||
:key="'ing' + index"
|
||||
v-for="(item, i) in recipe.ingredients"
|
||||
:key="item.key"
|
||||
>
|
||||
<TextField
|
||||
v-if="item.type"
|
||||
:ref="'ing' + i"
|
||||
width="52"
|
||||
@loaded="!recipe.ingredients[index].item && focusField($event)"
|
||||
v-model="recipe.ingredients[index].quantity"
|
||||
hint="1.00"
|
||||
@focus="setFocus(i)"
|
||||
@blur="setFocus(-1)"
|
||||
keyboardType="number"
|
||||
returnKeyType="next"
|
||||
hint="1.00"
|
||||
v-model="recipe.ingredients[i].quantity"
|
||||
/>
|
||||
|
||||
<TextField
|
||||
v-if="item.type"
|
||||
width="68"
|
||||
col="2"
|
||||
:text="`${recipe.ingredients[index].unit}` | L"
|
||||
:text="`${recipe.ingredients[i].unit}` | L"
|
||||
editable="false"
|
||||
@focus="!modalOpen && showUnits($event, 1, index)"
|
||||
@tap="showUnits($event, 0, index)"
|
||||
@focus="showUnits(1, i)"
|
||||
@tap="showUnits(0, i)"
|
||||
/>
|
||||
|
||||
<TextField
|
||||
ref="ingredient"
|
||||
@loaded="setInputTypeText($event, 'sentence')"
|
||||
col="4"
|
||||
v-model="recipe.ingredients[index].item"
|
||||
:hint="`${$options.filters.L('it')} ${index + 1}`"
|
||||
@returnPress="
|
||||
index + 1 == recipe.ingredients.length && addIngredient()
|
||||
"
|
||||
:ref="'ing' + i"
|
||||
@focus="setFocus(i)"
|
||||
@blur="setFocus(-1)"
|
||||
autocapitalizationType="sentence"
|
||||
autocorrect="true"
|
||||
returnKeyType="done"
|
||||
:col="item.type ? 4 : 0"
|
||||
:colSpan="item.type ? 1 : 5"
|
||||
v-model="recipe.ingredients[i].value"
|
||||
:hint="getIngPos(i)"
|
||||
@returnPress="addIng(1)"
|
||||
/>
|
||||
<Button col="5" class="ico si" :text="icon.x" @tap="rmIng(i)" />
|
||||
</RGridLayout>
|
||||
<RStackLayout :rtl="RTL" class="ingActions">
|
||||
<Button
|
||||
class="text tb big hal fb"
|
||||
:class="{ r: RTL }"
|
||||
:text="'aIngBtn' | L"
|
||||
@tap="addIng(1)"
|
||||
/>
|
||||
<Button
|
||||
col="5"
|
||||
class="ico si"
|
||||
:text="icon.x"
|
||||
@tap="removeIngredient(index)"
|
||||
class="text tb big hal fb"
|
||||
:class="{ r: RTL }"
|
||||
:text="'addSectBtn' | L"
|
||||
@tap="addIng(0)"
|
||||
/>
|
||||
</RGridLayout>
|
||||
<Button
|
||||
class="text tb big hal fb"
|
||||
:class="{ r: RTL }"
|
||||
:text="'aIngBtn' | L"
|
||||
@tap="addIngredient()"
|
||||
/>
|
||||
</RStackLayout>
|
||||
<!-- INSTRUCTIONS -->
|
||||
<Label
|
||||
:text="getTitleCount('inss', 'instructions')"
|
||||
|
@ -193,27 +196,48 @@
|
|||
<RGridLayout
|
||||
:rtl="RTL"
|
||||
columns="*,auto"
|
||||
v-for="(instruction, index) in recipe.instructions"
|
||||
:key="'ins' + index"
|
||||
v-for="(item, i) in recipe.instructions"
|
||||
:key="item.key"
|
||||
>
|
||||
<TextField
|
||||
:ref="'ins' + i"
|
||||
v-if="!item.type"
|
||||
@focus="setFocus(i)"
|
||||
@blur="setFocus(-1)"
|
||||
autocapitalizationType="sentence"
|
||||
autocorrect="true"
|
||||
:hint="getInsPos(i)"
|
||||
v-model="recipe.instructions[i].value"
|
||||
@returnPress="addIns(1)"
|
||||
returnKeyType="done"
|
||||
/>
|
||||
<TextView
|
||||
@loaded="focusField($event, 'multiLine')"
|
||||
:hint="`${$options.filters.L('stp')} ${index + 1}`"
|
||||
v-model="recipe.instructions[index]"
|
||||
:ref="'ins' + i"
|
||||
v-else
|
||||
@focus="setFocus(i)"
|
||||
@blur="setFocus(-1)"
|
||||
autocapitalizationType="multiLine"
|
||||
autocorrect="true"
|
||||
:hint="getInsPos(i)"
|
||||
v-model="recipe.instructions[i].value"
|
||||
/>
|
||||
<Button col="1" class="ico si" :text="icon.x" @tap="rmIns(i)" />
|
||||
</RGridLayout>
|
||||
<RStackLayout :rtl="RTL" class="ingActions">
|
||||
<Button
|
||||
class="text tb big hal fb"
|
||||
:class="{ r: RTL }"
|
||||
:text="'aStpBtn' | L"
|
||||
@tap="addIns(1)"
|
||||
/>
|
||||
<Button
|
||||
col="1"
|
||||
class="ico si"
|
||||
:text="icon.x"
|
||||
@tap="removeInstruction(index)"
|
||||
class="text tb big hal fb"
|
||||
:class="{ r: RTL }"
|
||||
:text="'addSectBtn' | L"
|
||||
@tap="addIns(0)"
|
||||
/>
|
||||
</RGridLayout>
|
||||
<Button
|
||||
class="text tb big hal fb"
|
||||
:class="{ r: RTL }"
|
||||
:text="'aStpBtn' | L"
|
||||
@tap="addInstruction"
|
||||
/>
|
||||
</RStackLayout>
|
||||
|
||||
<!-- COMBINATIONS -->
|
||||
<Label
|
||||
:text="getTitleCount('cmbs', 'combinations')"
|
||||
|
@ -254,19 +278,23 @@
|
|||
<RGridLayout
|
||||
:rtl="RTL"
|
||||
columns="*, auto"
|
||||
v-for="(note, index) in recipe.notes"
|
||||
:key="'nos' + index"
|
||||
v-for="(item, i) in recipe.notes"
|
||||
:key="item.key"
|
||||
>
|
||||
<TextView
|
||||
@loaded="focusField($event, 'multiLine')"
|
||||
:hint="`${$options.filters.L('no')} ${index + 1}`"
|
||||
v-model="recipe.notes[index]"
|
||||
:ref="'note' + i"
|
||||
@focus="setFocus(i)"
|
||||
@blur="setFocus(-1)"
|
||||
autocapitalizationType="multiLine"
|
||||
autocorrect="true"
|
||||
:hint="`${$options.filters.L('no')} ${i + 1}`"
|
||||
v-model="recipe.notes[i].value"
|
||||
/>
|
||||
<Button
|
||||
col="1"
|
||||
class="ico si"
|
||||
:text="icon.x"
|
||||
@tap="removeNote(index)"
|
||||
@tap="removeNote(i)"
|
||||
/>
|
||||
</RGridLayout>
|
||||
<Button
|
||||
|
@ -288,19 +316,19 @@
|
|||
columns="auto, *, auto"
|
||||
>
|
||||
<Button
|
||||
class="ico end"
|
||||
class="ico"
|
||||
:class="{ f: RTL }"
|
||||
:text="icon.back"
|
||||
@tap="navigateBack(0)"
|
||||
/>
|
||||
<Button
|
||||
v-if="hasChanges && !saving"
|
||||
class="ico fab end"
|
||||
class="ico fab"
|
||||
:text="icon.save"
|
||||
col="2"
|
||||
@tap="saveOperation"
|
||||
/>
|
||||
<ActivityIndicator class="end" col="2" v-if="saving" :busy="saving" />
|
||||
<ActivityIndicator col="2" v-if="saving" :busy="saving" />
|
||||
</RGridLayout>
|
||||
<SnackBar
|
||||
:hidden="!showUndo"
|
||||
|
@ -400,6 +428,7 @@ export default {
|
|||
snackMsg: null,
|
||||
showUndo: 0,
|
||||
undo: 0,
|
||||
fi: 0,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
@ -458,16 +487,13 @@ export default {
|
|||
|
||||
// PHOTO HANDLERS
|
||||
imageHandler() {
|
||||
this.clearEmptyFields(1);
|
||||
if (this.recipe.image) {
|
||||
this.modalOpen = 1;
|
||||
this.$showModal(Action, {
|
||||
props: {
|
||||
title: "recPic",
|
||||
list: ["aap", "rp"],
|
||||
},
|
||||
}).then((action) => {
|
||||
this.modalOpen = 0;
|
||||
switch (action) {
|
||||
case "aap":
|
||||
this.imagePicker();
|
||||
|
@ -537,7 +563,6 @@ export default {
|
|||
|
||||
// DATA LIST
|
||||
showCuisine(focus) {
|
||||
this.modalOpen = 1;
|
||||
this.$showModal(Action, {
|
||||
props: {
|
||||
title: "cui",
|
||||
|
@ -553,21 +578,19 @@ export default {
|
|||
action: "aBtn",
|
||||
},
|
||||
}).then((item) => {
|
||||
this.modalOpen = 0;
|
||||
if (item.length) {
|
||||
this.recipe.cuisine = item;
|
||||
this.addLI({
|
||||
item,
|
||||
listName: "cuisines",
|
||||
});
|
||||
if (focus) this.autoFocusField("category", 0);
|
||||
if (focus) this.showCategories(1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.modalOpen = 0;
|
||||
if (action) {
|
||||
this.recipe.cuisine = action;
|
||||
if (focus) this.autoFocusField("category", 0);
|
||||
if (focus) this.showCategories(1);
|
||||
} else
|
||||
this.cuisines.includes(this.recipe.cuisine)
|
||||
? null
|
||||
|
@ -576,7 +599,6 @@ export default {
|
|||
});
|
||||
},
|
||||
showCategories(focus) {
|
||||
this.modalOpen = 1;
|
||||
this.$showModal(Action, {
|
||||
props: {
|
||||
title: "cat",
|
||||
|
@ -592,21 +614,19 @@ export default {
|
|||
action: "aBtn",
|
||||
},
|
||||
}).then((item) => {
|
||||
this.modalOpen = 0;
|
||||
if (item.length) {
|
||||
this.recipe.category = item;
|
||||
this.addLI({
|
||||
item,
|
||||
listName: "categories",
|
||||
});
|
||||
if (focus) this.autoFocusField("tags", 1);
|
||||
if (focus) this.focusRef("tags");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.modalOpen = 0;
|
||||
if (action) {
|
||||
this.recipe.category = action;
|
||||
if (focus) this.autoFocusField("tags", 1);
|
||||
if (focus) this.focusRef("tags");
|
||||
} else
|
||||
this.categories.includes(this.recipe.category)
|
||||
? null
|
||||
|
@ -614,8 +634,33 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
setTimeRequired(focus, time) {
|
||||
let t = this.recipe[time].split(":");
|
||||
let hr = t[0];
|
||||
let min = t[1];
|
||||
this.$showModal(TimePickerHM, {
|
||||
props: {
|
||||
title: `${time == "prepTime" ? "prepT" : "cookT"}`,
|
||||
selectedHr: hr,
|
||||
selectedMin: min,
|
||||
},
|
||||
}).then((result) => {
|
||||
if (result) {
|
||||
this.recipe[time] = result;
|
||||
if (focus) {
|
||||
switch (time) {
|
||||
case "prepTime":
|
||||
this.setTimeRequired(1, "cookTime");
|
||||
break;
|
||||
case "cookTime":
|
||||
this.focusRef("yieldQ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
showYieldUnits(focus) {
|
||||
this.modalOpen = 1;
|
||||
this.$showModal(Action, {
|
||||
props: {
|
||||
title: "yieldU",
|
||||
|
@ -631,21 +676,19 @@ export default {
|
|||
action: "aBtn",
|
||||
},
|
||||
}).then((item) => {
|
||||
this.modalOpen = 0;
|
||||
if (item.length) {
|
||||
this.recipe.yieldUnit = item;
|
||||
this.addLI({
|
||||
item,
|
||||
listName: "yieldUnits",
|
||||
});
|
||||
if (focus) this.autoFocusField("difficultyLevel", 0);
|
||||
if (focus) this.showDifficultyLevel(1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.modalOpen = 0;
|
||||
if (action) {
|
||||
this.recipe.yieldUnit = action;
|
||||
if (focus) this.autoFocusField("difficultyLevel", 0);
|
||||
if (focus) this.showDifficultyLevel(1);
|
||||
} else
|
||||
this.yieldUnits.includes(this.recipe.yieldUnit)
|
||||
? null
|
||||
|
@ -654,7 +697,6 @@ export default {
|
|||
});
|
||||
},
|
||||
showDifficultyLevel(focus) {
|
||||
this.modalOpen = 1;
|
||||
this.$showModal(Action, {
|
||||
props: {
|
||||
title: "Difficulty level",
|
||||
|
@ -662,24 +704,22 @@ export default {
|
|||
selected: this.recipe.difficulty,
|
||||
},
|
||||
}).then((action) => {
|
||||
this.modalOpen = 0;
|
||||
if (action) {
|
||||
this.recipe.difficulty = action;
|
||||
if (focus) this.addIngredient();
|
||||
if (focus) this.addIng(1);
|
||||
} else
|
||||
this.difficultyLevels.includes(this.recipe.difficulty)
|
||||
? null
|
||||
: (this.recipe.difficulty = "Easy");
|
||||
});
|
||||
},
|
||||
showUnits(e, focus, index) {
|
||||
this.modalOpen = 1;
|
||||
showUnits(focus, i) {
|
||||
this.$showModal(Action, {
|
||||
props: {
|
||||
title: "Unit",
|
||||
list: this.units,
|
||||
action: "aNBtn",
|
||||
selected: this.recipe.ingredients[index].unit,
|
||||
selected: this.recipe.ingredients[i].unit,
|
||||
},
|
||||
}).then((action) => {
|
||||
if (action == "aNBtn") {
|
||||
|
@ -689,30 +729,25 @@ export default {
|
|||
action: "aBtn",
|
||||
},
|
||||
}).then((item) => {
|
||||
this.modalOpen = 0;
|
||||
if (item.length) {
|
||||
this.recipe.ingredients[index].unit = item;
|
||||
this.recipe.ingredients[i].unit = item;
|
||||
this.addLI({
|
||||
item,
|
||||
listName: "units",
|
||||
});
|
||||
if (focus && this.recipe.ingredients.length - 1 === index)
|
||||
this.autoFocusRefField("ingredient", index);
|
||||
if (focus) this.focusRefs("ing" + i, 1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.modalOpen = 0;
|
||||
if (action) {
|
||||
this.recipe.ingredients[index].unit = action;
|
||||
if (focus && this.recipe.ingredients.length - 1 === index)
|
||||
this.autoFocusRefField("ingredient", index);
|
||||
this.recipe.ingredients[i].unit = action;
|
||||
if (focus) this.focusRefs("ing" + i, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
showCombinations() {
|
||||
Utils.ad.dismissSoftInput();
|
||||
this.modalOpen = 1;
|
||||
let existingCombinations = [...this.recipe.combinations, this.recipe.id];
|
||||
let filteredRecipes = this.recipes.filter(
|
||||
(e) => !existingCombinations.includes(e.id)
|
||||
|
@ -723,56 +758,80 @@ export default {
|
|||
recipes: filteredRecipes,
|
||||
},
|
||||
}).then((res) => {
|
||||
this.modalOpen = 0;
|
||||
if (res) this.recipe.combinations.push(res);
|
||||
});
|
||||
},
|
||||
|
||||
// INPUT FIELD HANDLERS
|
||||
addIngredient() {
|
||||
let ingredients = this.recipe.ingredients;
|
||||
let unit = ingredients.length
|
||||
? ingredients[ingredients.length - 1].unit
|
||||
: "unit";
|
||||
this.recipe.ingredients.push({
|
||||
item: "",
|
||||
quantity: null,
|
||||
unit,
|
||||
});
|
||||
setFocus(i) {
|
||||
this.fi = i;
|
||||
},
|
||||
removeIngredient(index) {
|
||||
this.modalOpen = 1;
|
||||
if (this.recipe.ingredients[index].item.length) {
|
||||
let item = this.recipe.ingredients[index];
|
||||
this.recipe.ingredients.splice(index, 1);
|
||||
this.showUndoBar("rmIng").then(
|
||||
(res) => res && this.recipe.ingredients.splice(index, 0, item)
|
||||
addIng(type) {
|
||||
let ing = {
|
||||
key: utils.getRandomID(1),
|
||||
type,
|
||||
quantity: null,
|
||||
unit: 0,
|
||||
value: "",
|
||||
};
|
||||
let ings = this.recipe.ingredients;
|
||||
if (type) {
|
||||
ing.unit = ings.length
|
||||
? ings[this.fi >= 0 ? this.fi : ings.length - 1].unit
|
||||
? ings[this.fi >= 0 ? this.fi : ings.length - 1].unit
|
||||
: "unit"
|
||||
: "unit";
|
||||
}
|
||||
let i = this.fi >= 0 ? this.fi + 1 : ings.length;
|
||||
this.recipe.ingredients.splice(i, 0, ing);
|
||||
if (!ing.value || !type) this.delayFocus("ing", ings.length);
|
||||
},
|
||||
rmIng(i) {
|
||||
if (this.recipe.ingredients[i].value.length) {
|
||||
let item = this.recipe.ingredients[i];
|
||||
this.recipe.ingredients.splice(i, 1);
|
||||
this.showUndoBar(item.type ? "rmIng" : "sectRm").then(
|
||||
(res) => res && this.recipe.ingredients.splice(i, 0, item)
|
||||
);
|
||||
} else {
|
||||
this.recipe.ingredients.splice(index, 1);
|
||||
this.recipe.ingredients.splice(i, 1);
|
||||
}
|
||||
setTimeout(() => (this.modalOpen = 0), 200);
|
||||
},
|
||||
addInstruction() {
|
||||
this.recipe.instructions.push("");
|
||||
addIns(type) {
|
||||
let obj = {
|
||||
key: utils.getRandomID(1),
|
||||
type,
|
||||
value: "",
|
||||
};
|
||||
let inss = this.recipe.instructions;
|
||||
let i = this.fi >= 0 ? this.fi + 1 : inss.length;
|
||||
this.recipe.instructions.splice(i, 0, obj);
|
||||
this.delayFocus("ins", inss.length);
|
||||
},
|
||||
removeInstruction(index) {
|
||||
if (this.recipe.instructions[index].length) {
|
||||
let item = this.recipe.instructions[index];
|
||||
this.recipe.instructions.splice(index, 1);
|
||||
this.showUndoBar("rmIns").then(
|
||||
(res) => res && this.recipe.instructions.splice(index, 0, item)
|
||||
rmIns(i) {
|
||||
if (this.recipe.instructions[i].value.length) {
|
||||
let item = this.recipe.instructions[i];
|
||||
this.recipe.instructions.splice(i, 1);
|
||||
this.showUndoBar(item.type ? "rmIns" : "sectRm").then(
|
||||
(res) => res && this.recipe.instructions.splice(i, 0, item)
|
||||
);
|
||||
} else this.recipe.instructions.splice(index, 1);
|
||||
} else this.recipe.instructions.splice(i, 1);
|
||||
},
|
||||
addNote() {
|
||||
this.recipe.notes.push("");
|
||||
let obj = {
|
||||
key: utils.getRandomID(1),
|
||||
value: "",
|
||||
};
|
||||
let nos = this.recipe.notes;
|
||||
let i = this.fi >= 0 ? this.fi + 1 : nos.length;
|
||||
this.recipe.notes.splice(i, 0, obj);
|
||||
this.delayFocus("note", nos.length);
|
||||
},
|
||||
removeNote(index) {
|
||||
if (this.recipe.notes[index].length) {
|
||||
if (this.recipe.notes[index].value.length) {
|
||||
let item = this.recipe.notes[index];
|
||||
this.recipe.notes.splice(index, 1);
|
||||
this.showUndoBar("rmN").then((res) =>
|
||||
this.showUndoBar("rmN").then(() =>
|
||||
this.recipe.notes.splice(index, 0, item)
|
||||
);
|
||||
} else this.recipe.notes.splice(index, 1);
|
||||
|
@ -788,22 +847,46 @@ export default {
|
|||
this.recipe.combinations.splice(index, 0, id)
|
||||
);
|
||||
},
|
||||
getIngPos(n) {
|
||||
let a = 1;
|
||||
let b = 1;
|
||||
let ings = this.recipe.ingredients;
|
||||
let group = ings.reduce((acc, e) => {
|
||||
if (!e.type) {
|
||||
a = 1;
|
||||
acc.push(b++);
|
||||
} else acc.push(e.type ? a++ : a - 1);
|
||||
return acc;
|
||||
}, []);
|
||||
return localize(ings[n].type ? "it" : "sect", group[n]);
|
||||
},
|
||||
getInsPos(n) {
|
||||
let a = 1;
|
||||
let b = 1;
|
||||
let ins = this.recipe.instructions;
|
||||
let group = ins.reduce((acc, e) => {
|
||||
if (!e.type) {
|
||||
a = 1;
|
||||
acc.push(b++);
|
||||
} else acc.push(a++);
|
||||
return acc;
|
||||
}, []);
|
||||
return localize(ins[n].type ? "stp" : "sect", group[n]);
|
||||
},
|
||||
|
||||
// SAVE OPERATION
|
||||
clearEmptyFields(bool) {
|
||||
if (!this.recipe.title && !bool) this.recipe.title = localize("untRec");
|
||||
clearEmptyFields() {
|
||||
if (!this.recipe.title) this.recipe.title = localize("untRec");
|
||||
if (!this.recipe.yieldQuantity) this.recipe.yieldQuantity = 1;
|
||||
this.recipe.ingredients = this.recipe.ingredients.filter((e) => e.item);
|
||||
let vm = this;
|
||||
|
||||
function clearEmpty(arr) {
|
||||
vm.recipe[arr] = vm.recipe[arr].filter((e) => e);
|
||||
}
|
||||
const clearEmpty = (arr) => {
|
||||
this.recipe[arr] = this.recipe[arr].filter((e) => e.value);
|
||||
};
|
||||
clearEmpty("ingredients");
|
||||
clearEmpty("instructions");
|
||||
clearEmpty("notes");
|
||||
},
|
||||
saveOperation() {
|
||||
this.saving = this.modalOpen = 1;
|
||||
this.saving = 1;
|
||||
this.clearEmptyFields();
|
||||
this.recipe.lastModified = new Date().getTime();
|
||||
setString("previousCuisine", this.recipe.cuisine);
|
||||
|
@ -884,20 +967,28 @@ export default {
|
|||
},
|
||||
|
||||
// HELPERS
|
||||
autoFocusField(ref, showSoftInput) {
|
||||
this.$refs[ref].nativeView.focus();
|
||||
if (showSoftInput) {
|
||||
setTimeout(() => {
|
||||
Utils.ad.showSoftInput(this.$refs[ref].nativeView.android);
|
||||
}, 100);
|
||||
}
|
||||
},
|
||||
autoFocusRefField(ref, index) {
|
||||
this.$refs[ref][index].nativeView.focus();
|
||||
focusRef(r) {
|
||||
this.$refs[r].nativeView.focus();
|
||||
setTimeout(() => {
|
||||
Utils.ad.showSoftInput(this.$refs[ref][index].nativeView.android);
|
||||
Utils.ad.showSoftInput(this.$refs[r].nativeView.android);
|
||||
}, 100);
|
||||
},
|
||||
focusRefs(r, i) {
|
||||
i = i != null ? i : 0;
|
||||
this.$refs[r][i].nativeView.focus();
|
||||
setTimeout(() => {
|
||||
Utils.ad.showSoftInput(this.$refs[r][i].nativeView.android);
|
||||
}, 100);
|
||||
},
|
||||
delayFocus(type, length) {
|
||||
setTimeout(
|
||||
() =>
|
||||
this.focusRefs(
|
||||
type + (length == 1 ? 0 : this.fi >= 0 ? this.fi + 1 : length - 1)
|
||||
),
|
||||
100
|
||||
);
|
||||
},
|
||||
splitTags() {
|
||||
let tags = [];
|
||||
let string;
|
||||
|
@ -925,70 +1016,17 @@ export default {
|
|||
let min = localize("min");
|
||||
return h ? (m ? `${h} ${hr} ${m} ${min}` : `${h} ${hr}`) : `${m} ${min}`;
|
||||
},
|
||||
focusField(args, type) {
|
||||
if (type) this.setInputTypeText(args, type);
|
||||
else this.setGravity(args);
|
||||
if (!args.object.text) {
|
||||
args.object.focus();
|
||||
setTimeout(() => Utils.ad.showSoftInput(args.object.android), 100);
|
||||
}
|
||||
},
|
||||
setInputTypeText({ object }, type) {
|
||||
this.setGravity(object);
|
||||
let common =
|
||||
android.text.InputType.TYPE_CLASS_TEXT |
|
||||
android.text.InputType.TYPE_TEXT_FLAG_AUTO_CORRECT;
|
||||
switch (type) {
|
||||
case "words":
|
||||
object.android.setInputType(
|
||||
android.text.InputType.TYPE_TEXT_FLAG_CAP_WORDS | common
|
||||
);
|
||||
break;
|
||||
case "sentence":
|
||||
object.android.setInputType(
|
||||
android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | common
|
||||
);
|
||||
break;
|
||||
case "multiLine":
|
||||
object.android.setInputType(
|
||||
android.text.InputType.TYPE_TEXT_FLAG_MULTI_LINE |
|
||||
android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES |
|
||||
common
|
||||
);
|
||||
break;
|
||||
}
|
||||
},
|
||||
setTimeRequired(focus, time) {
|
||||
this.modalOpen = 1;
|
||||
let t = this.recipe[time].split(":");
|
||||
let hr = t[0];
|
||||
let min = t[1];
|
||||
this.$showModal(TimePickerHM, {
|
||||
props: {
|
||||
title: `${time == "prepTime" ? "prepT" : "cookT"}`,
|
||||
selectedHr: hr,
|
||||
selectedMin: min,
|
||||
},
|
||||
}).then((result) => {
|
||||
this.modalOpen = 0;
|
||||
if (result) {
|
||||
this.recipe[time] = result;
|
||||
if (focus) {
|
||||
switch (time) {
|
||||
case "prepTime":
|
||||
this.autoFocusField("cookTime", 0);
|
||||
break;
|
||||
case "cookTime":
|
||||
this.autoFocusField("yieldQuantity", 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getTitleCount(title, type) {
|
||||
let count = this.recipe[type].length;
|
||||
let text = count ? ` (${count})` : "";
|
||||
let c;
|
||||
switch (title) {
|
||||
case "ings" || "inss":
|
||||
c = this.recipe[type].filter((e) => e.type).length;
|
||||
break;
|
||||
default:
|
||||
c = this.recipe[type].length;
|
||||
break;
|
||||
}
|
||||
let text = c ? ` (${c})` : "";
|
||||
return localize(title) + text;
|
||||
},
|
||||
|
||||
|
|
|
@ -320,7 +320,7 @@
|
|||
@touch="() => null"
|
||||
>
|
||||
<Button
|
||||
class="ico rtl end"
|
||||
class="ico rtl"
|
||||
@tap="
|
||||
showSearch
|
||||
? closeSearch()
|
||||
|
@ -377,14 +377,14 @@
|
|||
</StackLayout>
|
||||
<Button
|
||||
:hidden="showSearch || selectMode"
|
||||
class="ico fab end"
|
||||
class="ico fab"
|
||||
:text="icon.plus"
|
||||
col="5"
|
||||
@tap="addR"
|
||||
/>
|
||||
<Button
|
||||
:hidden="!selectMode"
|
||||
class="ico end"
|
||||
class="ico"
|
||||
:text="icon.del"
|
||||
col="5"
|
||||
@tap="deleteSelection"
|
||||
|
@ -483,7 +483,7 @@ export default {
|
|||
let vm = this;
|
||||
function getIngredients(e) {
|
||||
return e.ingredients
|
||||
.map((f) => f.item.toLowerCase())
|
||||
.map((f) => f.value.toLowerCase())
|
||||
.join()
|
||||
.includes(vm.searchQuery);
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<GridLayout rows="*, auto, auto" columns="*">
|
||||
<ScrollView
|
||||
@loaded="svLoad"
|
||||
@scroll="!edit && svScroll($event)"
|
||||
@scroll="svScroll($event)"
|
||||
rowSpan="3"
|
||||
scrollBarIndicatorVisible="false"
|
||||
>
|
||||
|
@ -171,12 +171,7 @@
|
|||
@tap="hasRecipes ? toggleEditMode() : randomMealPlan()"
|
||||
col="3"
|
||||
/> -->
|
||||
<Button
|
||||
class="ico fab end"
|
||||
:text="icon.plus"
|
||||
@tap="addMealPlan"
|
||||
col="4"
|
||||
/>
|
||||
<Button class="ico fab" :text="icon.plus" @tap="addMealPlan" col="4" />
|
||||
</RGridLayout>
|
||||
<SnackBar
|
||||
row="2"
|
||||
|
@ -204,14 +199,7 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import {
|
||||
Application,
|
||||
Device,
|
||||
Frame,
|
||||
Observable,
|
||||
Screen,
|
||||
Utils,
|
||||
} from "@nativescript/core";
|
||||
import { Device, Frame, Observable, Screen, Utils } from "@nativescript/core";
|
||||
import { mapState, mapActions } from "vuex";
|
||||
import ViewRecipe from "./ViewRecipe.vue";
|
||||
import EditRecipe from "./EditRecipe.vue";
|
||||
|
@ -278,7 +266,6 @@ export default {
|
|||
let sbHeight = idSbH > 0 ? resources.getDimensionPixelSize(idSbH) : 0;
|
||||
const metrics = new android.util.DisplayMetrics();
|
||||
wm.getDefaultDisplay().getMetrics(metrics);
|
||||
console.log(metrics.heightPixels - sbHeight);
|
||||
return Math.floor(
|
||||
Utils.layout.toDeviceIndependentPixels(
|
||||
metrics.heightPixels - sbHeight
|
||||
|
@ -291,7 +278,6 @@ export default {
|
|||
.getInsetsIgnoringVisibility(
|
||||
android.view.WindowInsets.Type.systemBars()
|
||||
);
|
||||
console.log(metrics.getBounds().height() - top - bottom, top, bottom);
|
||||
return metrics.getBounds().height() - top - bottom;
|
||||
}
|
||||
},
|
||||
|
@ -453,11 +439,13 @@ export default {
|
|||
let scrollUp;
|
||||
let y = scrollY;
|
||||
if (y) {
|
||||
scrollUp = y < this.scrollPos;
|
||||
this.scrollPos = Math.abs(y);
|
||||
let ab = this.appbar.translateY;
|
||||
if (!scrollUp && ab == 0) this.animateBar(this.appbar, 0);
|
||||
else if (scrollUp && ab == 64) this.animateBar(this.appbar, 1);
|
||||
if (!this.edit) {
|
||||
scrollUp = y < this.scrollPos;
|
||||
this.scrollPos = Math.abs(y);
|
||||
let ab = this.appbar.translateY;
|
||||
if (!scrollUp && ab == 0) this.animateBar(this.appbar, 0);
|
||||
else if (scrollUp && ab == 64) this.animateBar(this.appbar, 1);
|
||||
}
|
||||
this.listView.isScrollEnabled = y >= object.scrollableHeight;
|
||||
}
|
||||
},
|
||||
|
|
|
@ -107,13 +107,21 @@
|
|||
<RStackLayout
|
||||
:rtl="RTL"
|
||||
orientation="horizontal"
|
||||
v-for="(item, index) in recipe.ingredients"
|
||||
:key="index + 'ing'"
|
||||
v-for="(item, i) in recipe.ingredients"
|
||||
:key="item.key"
|
||||
class="check"
|
||||
@touch="touchIngredient($event, index)"
|
||||
@touch="item.type && touchIngredient($event, i)"
|
||||
>
|
||||
<Button class="ico si" :text="icon.uncheck" />
|
||||
<RLabel class="v tw" :text="getIngredientItem(item)" />
|
||||
<Button
|
||||
:hidden="!item.type"
|
||||
class="ico si"
|
||||
:text="icon.uncheck"
|
||||
/>
|
||||
<RLabel
|
||||
class="v tw"
|
||||
:class="{ 'tb t t3': !item.type }"
|
||||
:text="getIngredientItem(item)"
|
||||
/>
|
||||
</RStackLayout>
|
||||
</StackLayout>
|
||||
<StackLayout @loaded="onInsLoad">
|
||||
|
@ -125,13 +133,21 @@
|
|||
<RStackLayout
|
||||
:rtl="RTL"
|
||||
orientation="horizontal"
|
||||
@touch="touchInstruction"
|
||||
v-for="(instruction, index) in recipe.instructions"
|
||||
:key="index + 'ins'"
|
||||
@touch="item.type && touchInstruction($event)"
|
||||
v-for="(item, i) in recipe.instructions"
|
||||
:key="item.key"
|
||||
class="check"
|
||||
>
|
||||
<Button class="tb t3 ico si" :text="localeN(index + 1)" />
|
||||
<RLabel class="v tw" :text="instruction" />
|
||||
<Button
|
||||
:hidden="!item.type"
|
||||
class="tb t3 ico si"
|
||||
:text="getInsPos(i)"
|
||||
/>
|
||||
<RLabel
|
||||
class="v tw"
|
||||
:class="{ 'tb t t3': !item.type }"
|
||||
:text="item.value"
|
||||
/>
|
||||
</RStackLayout>
|
||||
</StackLayout>
|
||||
<RLabel
|
||||
|
@ -206,7 +222,7 @@
|
|||
columns="auto, *, auto, auto, auto, auto"
|
||||
@touch="() => null"
|
||||
>
|
||||
<Button class="ico rtl end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico rtl" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button
|
||||
col="2"
|
||||
v-if="!filterTrylater"
|
||||
|
@ -237,7 +253,7 @@
|
|||
<ActivityIndicator col="4" :hidden="!busyEdit" :busy="busyEdit" />
|
||||
<Button
|
||||
col="5"
|
||||
class="ico end"
|
||||
class="ico"
|
||||
:text="showTools ? icon.less : icon.more"
|
||||
@tap="toggleTools"
|
||||
/>
|
||||
|
@ -475,31 +491,49 @@ export default {
|
|||
this.showTools && this.toggleTools();
|
||||
this.animateBar(this.appbar, 0);
|
||||
},
|
||||
getInsPos(n) {
|
||||
let a = 1;
|
||||
let b = 1;
|
||||
let ins = this.recipe.instructions;
|
||||
let group = ins.reduce((acc, e) => {
|
||||
if (!e.type) {
|
||||
a = 1;
|
||||
acc.push(b++);
|
||||
} else acc.push(a++);
|
||||
return acc;
|
||||
}, []);
|
||||
return this.localeN(group[n]);
|
||||
},
|
||||
|
||||
// Helpers
|
||||
getTitleCount(title, type) {
|
||||
let c = this.recipe[type].length;
|
||||
getTitleCount(title, type, unsel) {
|
||||
let c;
|
||||
let s = null;
|
||||
switch (title) {
|
||||
case "ings":
|
||||
s = this.checked;
|
||||
c = this.recipe[type].filter((e) => e.type).length;
|
||||
break;
|
||||
case "inss":
|
||||
s = this.stepsDid;
|
||||
c = this.recipe[type].filter((e) => e.type).length;
|
||||
break;
|
||||
default:
|
||||
c = this.recipe[type].length;
|
||||
break;
|
||||
}
|
||||
c = this.localeN(c);
|
||||
s = s && this.localeN(s);
|
||||
let text = s ? ` (${s}/${c})` : ` (${c})`;
|
||||
let text = s && !unsel ? ` (${s}/${c})` : ` (${c})`;
|
||||
return localize(title) + text;
|
||||
},
|
||||
getIngredientItem(item) {
|
||||
getIngredientItem(o) {
|
||||
return `${
|
||||
this.roundedQuantity(item.quantity)
|
||||
? this.roundedQuantity(item.quantity) + " "
|
||||
this.roundedQuantity(o.quantity)
|
||||
? this.roundedQuantity(o.quantity) + " "
|
||||
: ""
|
||||
}${this.roundedQuantity(item.quantity) ? localize(item.unit) + " " : ""}${
|
||||
item.item
|
||||
}${this.roundedQuantity(o.quantity) ? localize(o.unit) + " " : ""}${
|
||||
o.value
|
||||
}`;
|
||||
},
|
||||
changeYield() {
|
||||
|
@ -669,6 +703,7 @@ export default {
|
|||
});
|
||||
},
|
||||
viewCombination(combination) {
|
||||
this.hideBar();
|
||||
this.scrollview.scrollToVerticalOffset(0, true);
|
||||
this.recipe = this.recipes.filter((e) => e.id === combination)[0];
|
||||
this.showTitleArr = new Array(4).fill(0);
|
||||
|
@ -765,14 +800,14 @@ export default {
|
|||
this.$options.filters.L(e.unit) +
|
||||
" "
|
||||
: ""
|
||||
}${e.item}\n`;
|
||||
}${e.value}\n`;
|
||||
});
|
||||
shareContent += ingredients;
|
||||
}
|
||||
if (this.recipe.instructions.length) {
|
||||
let instructions = `\n\n${localize("inss")}:\n\n`;
|
||||
this.recipe.instructions.forEach((e, i) => {
|
||||
instructions += `${i + 1}. ${e}\n\n`;
|
||||
instructions += `${i + 1}. ${e.value}\n\n`;
|
||||
});
|
||||
shareContent += instructions;
|
||||
}
|
||||
|
@ -786,7 +821,7 @@ export default {
|
|||
if (this.recipe.notes.length) {
|
||||
let notes = `\n${localize("nos")}:\n\n`;
|
||||
this.recipe.notes.forEach((e, i) => {
|
||||
notes += `${i + 1}. ${e}\n\n`;
|
||||
notes += `${i + 1}. ${e.value}\n\n`;
|
||||
});
|
||||
shareContent += notes;
|
||||
}
|
||||
|
@ -849,7 +884,7 @@ export default {
|
|||
const stack = this.notescon;
|
||||
stack.removeChildren();
|
||||
this.recipe.notes.forEach((note) =>
|
||||
stack.addChild(this.createNote(note))
|
||||
stack.addChild(this.createNote(note.value))
|
||||
);
|
||||
},
|
||||
getTags(tags) {
|
||||
|
@ -891,7 +926,6 @@ export default {
|
|||
height: sw,
|
||||
translate: { x: this.RTL ? -16 : 112 - sw, y: (sh - sw) / 3 },
|
||||
duration: 200,
|
||||
curve: CoreTypes.AnimationCurve.easeOut,
|
||||
})
|
||||
)
|
||||
.then(() =>
|
||||
|
@ -899,7 +933,6 @@ export default {
|
|||
height: sh,
|
||||
translate: { x: this.RTL ? -16 : 112 - sw, y: -((sh - sw) / 6) },
|
||||
duration: 200,
|
||||
curve: CoreTypes.AnimationCurve.easeOut,
|
||||
})
|
||||
);
|
||||
},
|
||||
|
@ -912,7 +945,6 @@ export default {
|
|||
height: sw,
|
||||
translate: { x: this.RTL ? -16 : 112 - sw, y: (sh - sw) / 3 },
|
||||
duration: 200,
|
||||
curve: CoreTypes.AnimationCurve.easeIn,
|
||||
})
|
||||
.then(() =>
|
||||
pv.animate({
|
||||
|
@ -920,7 +952,6 @@ export default {
|
|||
height: 96,
|
||||
translate: { x: 0, y: 0 },
|
||||
duration: 200,
|
||||
curve: CoreTypes.AnimationCurve.easeIn,
|
||||
})
|
||||
)
|
||||
.then(() =>
|
||||
|
@ -964,7 +995,7 @@ export default {
|
|||
// Print
|
||||
prepareHTML() {
|
||||
let r = this.recipe;
|
||||
const head = `<head><meta charset=UTF-8><meta content="IE=edge"http-equiv=X-UA-Compatible><meta content="width=device-width,initial-scale=1"name=viewport><title>EnRecipes - Recipe for Print</title><style>a,body,div,html,img,ol,p,span,ul{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:baseline}@font-face{font-family:Inter-Medium;src:url(../app/fonts/Inter-Medium.otf)}@font-face{font-family:Inter-Bold;src:url(../app/fonts/Inter-Bold.otf)}body{font-family:Inter-Medium,sans-serif;line-height:1.5;max-width:45rem;padding:1.5rem}body>p{padding:.5rem 0}.attr>div>p:last-child,h1,h2{font-family:Inter-Bold,sans-serif}#header{display:grid;grid-column-gap:2rem;grid-template-columns:1fr auto;margin-bottom:2.5rem;width:100%}img{border-radius:1rem;height:8rem;object-fit:cover;width:8rem}h1{font-size:2.25rem;line-height:1.25;margin:0;padding-bottom:1rem}svg{width:2rem;height:2rem;padding:0 .5rem 0 0}h2{margin:2rem 0 1rem}.attr{display:grid;grid-column-gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.attr>div>p:first-child{font-size:.9rem;opacity:.5}ol,ul{padding:0 1.5rem}li{padding:.5rem}a{color:inherit}.sub{font-size:.9rem;margin-top:2rem;opacity:.5}</style></head>`;
|
||||
const head = `<head><meta charset=UTF-8><meta content="IE=edge"http-equiv=X-UA-Compatible><meta content="width=device-width,initial-scale=1"name=viewport><title>EnRecipes - Recipe for Print</title><style>a,body,div,html,img,ol,p,span,ul{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:baseline}@font-face{font-family:Inter-Medium;src:url(../app/fonts/Inter-Medium.otf)}@font-face{font-family:Inter-Bold;src:url(../app/fonts/Inter-Bold.otf)}body{font-family:Inter-Medium,sans-serif;line-height:1.5;max-width:45rem;padding:1.5rem}body>p{padding:.5rem 0}.attr>div>p:last-child,h1,h2,h3{font-family:Inter-Bold,sans-serif}#header{display:grid;grid-column-gap:2rem;grid-template-columns:1fr auto;margin-bottom:2.5rem;width:100%}img{border-radius:1rem;height:8rem;object-fit:cover;width:8rem}h1{font-size:2.25rem;line-height:1.25;margin:0;padding-bottom:1rem}svg{width:2rem;height:2rem;padding:0 .5rem 0 0}h2{margin:2rem 0 1rem}.attr{display:grid;grid-column-gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.attr>div>p:first-child{font-size:.9rem;opacity:.5}ol,ul{padding:0 1.5rem}li{padding:.5rem}a{color:inherit}.sub{font-size:.9rem;margin-top:2rem;opacity:.5}</style></head>`;
|
||||
const getStarRating = () => {
|
||||
let rate = `<svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M10.756 2.826 8.419 7.98l-5.624.63c-.533.06-.982.425-1.147.935-.166.51-.018 1.07.378 1.431l4.179 3.816-1.138 5.543c-.108.525.101 1.065.535 1.38.434.315 1.012.348 1.478.083L12 19.002l4.92 2.796c.466.265 1.044.232 1.478-.083.434-.315.643-.855.535-1.38l-1.138-5.543 4.179-3.816c.396-.361.544-.921.378-1.431-.165-.51-.614-.875-1.147-.935l-5.624-.63-2.337-5.154c-.221-.489-.708-.802-1.244-.802s-1.023.313-1.244.802z"/></svg>`;
|
||||
let unrate = `<svg width="100%" height="100%" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M10.756 2.826 8.419 7.98l-5.624.63c-.533.06-.982.425-1.147.935-.166.51-.018 1.07.378 1.431l4.179 3.816-1.138 5.543c-.108.525.101 1.065.535 1.38.434.315 1.012.348 1.478.083L12 19.002l4.92 2.796c.466.265 1.044.232 1.478-.083.434-.315.643-.855.535-1.38l-1.138-5.543 4.179-3.816c.396-.361.544-.921.378-1.431-.165-.51-.614-.875-1.147-.935l-5.624-.63-2.337-5.154c-.221-.489-.708-.802-1.244-.802s-1.023.313-1.244.802zM12 4.925l1.994 4.398c.146.321.45.542.8.581l4.799.538-3.567 3.256c-.26.237-.376.594-.305.94l.972 4.73-4.199-2.386c-.306-.174-.682-.174-.988.0l-4.199 2.386.972-4.73c.071-.346-.045-.703-.305-.94l-3.567-3.256 4.799-.538c.35-.039.654-.26.8-.581L12 4.925z"/></svg>`;
|
||||
|
@ -972,18 +1003,34 @@ export default {
|
|||
};
|
||||
const img = r.image ? `<img src="${r.image}" alt="${r.title}" />` : "";
|
||||
const getIngs = () => {
|
||||
let ing = [];
|
||||
r.ingredients.forEach((e) => {
|
||||
ing.push(`<li>${this.getIngredientItem(e)}</li>`);
|
||||
});
|
||||
return ing.join("");
|
||||
let ings = r.ingredients;
|
||||
return ings
|
||||
.map((e, i) => {
|
||||
if (!e.type)
|
||||
return `${i > 0 ? "</ul>" : ""}<h3>${e.value}</h3>${
|
||||
i < ings.length - 1 ? "<ul>" : ""
|
||||
}`;
|
||||
else
|
||||
return `${i < 1 ? "<ul>" : ""}<li>${this.getIngredientItem(
|
||||
e
|
||||
)}</li>${i == ings.length - 1 ? "</ul>" : ""}`;
|
||||
})
|
||||
.join("");
|
||||
};
|
||||
const getIns = () => {
|
||||
let ins = [];
|
||||
r.instructions.forEach((e) => {
|
||||
ins.push(`<li>${e}</li>`);
|
||||
});
|
||||
return ins.join("");
|
||||
let inss = r.instructions;
|
||||
return r.instructions
|
||||
.map((e, i) => {
|
||||
if (!e.type)
|
||||
return `${i > 0 ? "</ol>" : ""}<h3>${e.value}</h3>${
|
||||
i < inss.length - 1 ? "<ol>" : ""
|
||||
}`;
|
||||
else
|
||||
return `${i < 1 ? "<ol>" : ""}<li>${e.value}</li>${
|
||||
i == inss.length - 1 ? "</ol>" : ""
|
||||
}`;
|
||||
})
|
||||
.join("");
|
||||
};
|
||||
const getCmbs = () => {
|
||||
let cmb = [];
|
||||
|
@ -1001,7 +1048,7 @@ export default {
|
|||
: val;
|
||||
};
|
||||
r.notes.forEach((e) => {
|
||||
let arr = e.split(regex);
|
||||
let arr = e.value.split(regex);
|
||||
let single = [];
|
||||
arr.forEach((f) => {
|
||||
single.push(createSpan(f, regex.test(f)));
|
||||
|
@ -1046,18 +1093,20 @@ export default {
|
|||
"Difficulty level"
|
||||
)}<p>${r.difficulty}</div></div>${
|
||||
r.ingredients.length
|
||||
? `<h2>${this.getTitleCount("ings", "ingredients")}</h2>`
|
||||
? `<h2>${this.getTitleCount("ings", "ingredients", 1)}</h2>`
|
||||
: ""
|
||||
}<ul>${getIngs()}</ul>${
|
||||
}${getIngs()}${
|
||||
r.instructions.length
|
||||
? `<h2>${this.getTitleCount("inss", "instructions")}</h2>`
|
||||
? `<h2>${this.getTitleCount("inss", "instructions", 1)}</h2>`
|
||||
: ""
|
||||
}<ol>${getIns()}</ol>${
|
||||
}${getIns()}${
|
||||
r.combinations.length
|
||||
? `<h2>${this.getTitleCount("cmbs", "combinations")}</h2>`
|
||||
? `<h2>${this.getTitleCount("cmbs", "combinations", 1)}</h2>`
|
||||
: ""
|
||||
} ${getCmbs()} ${
|
||||
r.notes.length ? `<h2>${this.getTitleCount("nos", "notes")}</h2>` : ""
|
||||
r.notes.length
|
||||
? `<h2>${this.getTitleCount("nos", "notes", 1)}</h2>`
|
||||
: ""
|
||||
} ${getNotes()}<div class=sub><p>${this.getDates().u}<p>${
|
||||
this.getDates().c
|
||||
}</div>
|
||||
|
|
|
@ -69,7 +69,7 @@ export default {
|
|||
cuisine: e.cuisine,
|
||||
category: e.category,
|
||||
tags: e.tags.map((e) => e.toLowerCase()).join(),
|
||||
ingredients: e.ingredients.map((e) => e.item.toLowerCase()).join(),
|
||||
ingredients: e.ingredients.map((e) => e.value.toLowerCase()).join(),
|
||||
};
|
||||
})
|
||||
.filter((e) => this.recipeFilter(e));
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
</v-template>
|
||||
</ListView>
|
||||
<GridLayout row="1" class="appbar rtl" rows="*" columns="auto, *">
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
<Label
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<RGridLayout :rtl="RTL" rows="*, auto" columns="auto, *">
|
||||
<OptionsList title="Settings" :items="items" :action="navigateTo" />
|
||||
<GridLayout row="1" class="appbar rtl" rows="*" columns="auto, *">
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
<Label
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<RGridLayout :rtl="RTL" rows="*, auto" columns="auto, *">
|
||||
<OptionsList title="Settings" :items="items" />
|
||||
<GridLayout row="1" class="appbar rtl" rows="*" columns="auto, *">
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
<Label
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
rows="*"
|
||||
columns="auto, *"
|
||||
>
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Toast :onload="tbLoad" :toast="toast" :action="hideBar" />
|
||||
<RGridLayout
|
||||
|
@ -22,7 +22,7 @@
|
|||
columns="auto, *"
|
||||
>
|
||||
<ActivityIndicator :busy="!!progress" />
|
||||
<RLabel margin="0 12" col="1" class="tb tw vc lh4" :text="progress" />
|
||||
<RLabel margin="0 2" col="1" class="tb tw vc lh4" :text="progress" />
|
||||
</RGridLayout>
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
<Label
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<RGridLayout :rtl="RTL" rows="*, auto" columns="auto, *">
|
||||
<OptionsList title="intf" :items="items" />
|
||||
<GridLayout row="1" class="appbar rtl" rows="*" columns="auto, *">
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
<Label
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<RGridLayout :rtl="RTL" rows="*, auto" columns="auto, *">
|
||||
<OptionsList title="Settings" :items="items" />
|
||||
<GridLayout row="1" class="appbar rtl" rows="*" columns="auto, *">
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
<Label
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
rows="*"
|
||||
columns="auto, *"
|
||||
>
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Toast :onload="tbLoad" :toast="toast" :action="hideBar" />
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
@loaded="abLoad"
|
||||
columns="auto, *"
|
||||
>
|
||||
<Button class="ico end" :text="icon.back" @tap="$navigateBack()" />
|
||||
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
|
||||
</GridLayout>
|
||||
<Toast :onload="tbLoad" :toast="toast" :action="hideToast" />
|
||||
<Label rowSpan="2" class="edge hal rtl" @swipe="swipeBack" />
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
<Button @tap="action" :text="count" class="ico t3 accent tb" />
|
||||
<RLabel
|
||||
@tap="action"
|
||||
margin="0 4"
|
||||
class="tb tw vc lh4"
|
||||
margin="0 2"
|
||||
class="tw vc lh4"
|
||||
col="1"
|
||||
:text="msg | L"
|
||||
/>
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "Benutzeroberfläche",
|
||||
"invFile": "Ungültige Datei",
|
||||
"Irish": "Irisch",
|
||||
"it": "Element",
|
||||
"it": "Element %s",
|
||||
"Italian": "Italienisch",
|
||||
"Jamaican": "Jamaikanisch",
|
||||
"Japanese": "Japanisch",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "Rezept teilen mit …",
|
||||
"stars": "Bewertung in Sternen",
|
||||
"stick": "Stange",
|
||||
"stp": "Schritt",
|
||||
"stp": "Schritt %s",
|
||||
"strAdd": "Beginne deine Rezepte hinzuzufügen!",
|
||||
"sVw": "Schütteln, um ein zufälliges Rezept anzuzeigen",
|
||||
"sVwInfo": "Hilft dir, wenn du dich nicht entscheiden kannst, was gekocht werden soll",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"ksavr": "Bildschirm während der Rezeptanzeige eingeschaltet halten",
|
||||
"esgbInfo": "Deaktiviere diese Option, wenn du Probleme mit der Navigation hast",
|
||||
"esgb": "Randwischen zum Zurückgehen",
|
||||
"ksavrInfo": "Verhindert, dass sich der Bildschirm während der Anzeige eines Rezepts ausschaltet"
|
||||
"ksavrInfo": "Verhindert, dass sich der Bildschirm während der Anzeige eines Rezepts ausschaltet",
|
||||
"sectRm": "Abschnitt entfernt",
|
||||
"addSectBtn": "ABSCHNITT HINZUFÜGEN",
|
||||
"sect": "Abschnitt %s"
|
||||
}
|
||||
|
|
|
@ -326,5 +326,6 @@
|
|||
"esgb": "Edge swipe to go back",
|
||||
"esgbInfo": "Disable this option if you have any navigation issues",
|
||||
"sect": "Section %s",
|
||||
"addSectBtn": "ADD SECTION"
|
||||
"addSectBtn": "ADD SECTION",
|
||||
"sectRm": "Section removed"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "Interface",
|
||||
"invFile": "Invalid file",
|
||||
"Irish": "Irish",
|
||||
"it": "Item",
|
||||
"it": "Item %s",
|
||||
"Italian": "Italian",
|
||||
"Jamaican": "Jamaican",
|
||||
"Japanese": "Japanese",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "Share recipe using...",
|
||||
"stars": "Star rating",
|
||||
"stick": "stick",
|
||||
"stp": "Step",
|
||||
"stp": "Step %s",
|
||||
"strAdd": "Start adding your recipes!",
|
||||
"sVw": "Shake to view random recipe",
|
||||
"sVwInfo": "Helps you choose what to cook when you can't decide",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"esgbInfo": "Disable this option if you have any navigation issues",
|
||||
"esgb": "Edge swipe to go back",
|
||||
"ksavrInfo": "Prevents the screen from turning off while viewing a recipe",
|
||||
"ksavr": "Keep screen awake while viewing recipe"
|
||||
"ksavr": "Keep screen awake while viewing recipe",
|
||||
"sectRm": "Section removed",
|
||||
"addSectBtn": "ADD SECTION",
|
||||
"sect": "Section %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "Interface",
|
||||
"invFile": "Invalid file",
|
||||
"Irish": "Irish",
|
||||
"it": "Item",
|
||||
"it": "Item %s",
|
||||
"Italian": "Italian",
|
||||
"Jamaican": "Jamaican",
|
||||
"Japanese": "Japanese",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "Share recipe using...",
|
||||
"stars": "Star rating",
|
||||
"stick": "stick",
|
||||
"stp": "Step",
|
||||
"stp": "Step %s",
|
||||
"strAdd": "Start adding your recipes!",
|
||||
"sVw": "Shake to view random recipe",
|
||||
"sVwInfo": "Helps you choose what to cook when you can't decide",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"esgbInfo": "Disable this option if you have any navigation issues",
|
||||
"esgb": "Edge swipe to go back",
|
||||
"ksavrInfo": "Prevents the screen from turning off while viewing a recipe",
|
||||
"ksavr": "Keep screen awake while viewing recipe"
|
||||
"ksavr": "Keep screen awake while viewing recipe",
|
||||
"sectRm": "Section removed",
|
||||
"addSectBtn": "ADD SECTION",
|
||||
"sect": "Section %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "Interface",
|
||||
"invFile": "Fichier invalide",
|
||||
"Irish": "irlandaise",
|
||||
"it": "Élément",
|
||||
"it": "Élément %s",
|
||||
"Italian": "italienne",
|
||||
"Jamaican": "jamaïcaine",
|
||||
"Japanese": "japonaise",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "Partager la recette en utilisant…",
|
||||
"stars": "Évaluation étoilée",
|
||||
"stick": "barre",
|
||||
"stp": "Étape",
|
||||
"stp": "Étape %s",
|
||||
"strAdd": "Commencez à ajouter vos recettes !",
|
||||
"sVw": "Secouez pour voir une recette au hasard",
|
||||
"sVwInfo": "Vous aide à choisir quoi cuisiner quand vous ne pouvez pas vous décider",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"ksavr": "Garder l’écran allumé durant l’affichage d’une recette",
|
||||
"esgbInfo": "Désactivez cette option si vous avez des problèmes de navigation",
|
||||
"esgb": "Balayer le bord pour revenir en arrière",
|
||||
"ksavrInfo": "Empêche l’écran de s’éteindre durant la visualisation d’une recette"
|
||||
"ksavrInfo": "Empêche l’écran de s’éteindre durant la visualisation d’une recette",
|
||||
"sectRm": "Section retiré",
|
||||
"addSectBtn": "AJOUTER UNE SECTION",
|
||||
"sect": "Section %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "इंटरफेस",
|
||||
"invFile": "अवैध फाइल",
|
||||
"Irish": "आयरिश",
|
||||
"it": "मद",
|
||||
"it": "मद %s",
|
||||
"Italian": "इतालवी",
|
||||
"Jamaican": "जमैका",
|
||||
"Japanese": "जापानी",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "शेयर रेसिपी...",
|
||||
"stars": "स्टार रेटिंग",
|
||||
"stick": "लाठी",
|
||||
"stp": "कदम",
|
||||
"stp": "कदम %s",
|
||||
"strAdd": "अपने व्यंजनों को जोड़ना शुरू करें!",
|
||||
"sVw": "यादृच्छिक नुस्खा देखने के लिए हिलाएं",
|
||||
"sVwInfo": "जब आप तय नहीं कर सकते तो आपको क्या खाना बनाना है, यह चुनने में मदद करता है",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"selMT": "भोजन का प्रकार चुनें",
|
||||
"d": "दिन",
|
||||
"wk": "सप्ताह",
|
||||
"mnth": "महीना"
|
||||
"mnth": "महीना",
|
||||
"sectRm": "धारा हटा दिया गया",
|
||||
"addSectBtn": "धारा जोड़ें",
|
||||
"sect": "भाग %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "ഇന്റർഫേസ്",
|
||||
"invFile": "അസാധുവായ ഫയൽ",
|
||||
"Irish": "ഐറിഷ്",
|
||||
"it": "ഇനം",
|
||||
"it": "ഇനം %s",
|
||||
"Italian": "ഇറ്റാലിയൻ",
|
||||
"Jamaican": "ജമൈക്കൻ",
|
||||
"Japanese": "ജാപ്പനീസ്",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "പാചകക്കുറിപ്പ് പങ്കിടുക...",
|
||||
"stars": "നക്ഷത്ര റേറ്റിംഗ്",
|
||||
"stick": "വടി",
|
||||
"stp": "ഘട്ടം",
|
||||
"stp": "ഘട്ടം %s",
|
||||
"strAdd": "നിങ്ങളുടെ പാചകക്കുറിപ്പുകൾ ചേർക്കാൻ ആരംഭിക്കുക!",
|
||||
"sVw": "ക്രമരഹിതമായ പാചകക്കുറിപ്പ് കാണാൻ കുലുക്കുക",
|
||||
"sVwInfo": "നിങ്ങൾക്ക് തീരുമാനിക്കാൻ കഴിയാത്തപ്പോൾ എന്താണ് പാചകം ചെയ്യേണ്ടതെന്ന് തിരഞ്ഞെടുക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"strtBtn": "ആരംഭിക്കുക",
|
||||
"ntmr": "പുതിയ ടൈമർ",
|
||||
"timer": "പാചക ടൈമർ",
|
||||
"sec": "സെക്കൻഡ്"
|
||||
"sec": "സെക്കൻഡ്",
|
||||
"addSectBtn": "വിഭാഗം ചേർക്കുക",
|
||||
"sectRm": "വിഭാഗം നീക്കംചെയ്തു",
|
||||
"sect": "ഭാഗം %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "Uiterlijk",
|
||||
"invFile": "Ongeldig bestand",
|
||||
"Irish": "Iers",
|
||||
"it": "Item",
|
||||
"it": "Item %s",
|
||||
"Italian": "Italiaans",
|
||||
"Jamaican": "Jamaicaans",
|
||||
"Japanese": "Japans",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "Recept delen via…",
|
||||
"stars": "Waardering",
|
||||
"stick": "stokje",
|
||||
"stp": "Stap",
|
||||
"stp": "Stap %s",
|
||||
"strAdd": "Voeg je recepten toe!",
|
||||
"sVw": "Schudden om willekeurig recept te tonen",
|
||||
"sVwInfo": "Handig voor als je even niet weet wat je wilt maken",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"esgbInfo": "Schakel deze optie uit als je problemen ervaart tijdens het navigeren",
|
||||
"esgb": "Vegen vanaf schermrand om terug te gaan",
|
||||
"ksavrInfo": "Voorkomt dat het scherm wordt uitgeschakeld tijdens het bekijken van een recept",
|
||||
"ksavr": "Scherm niet uitschakelen tijdens bekijken van recept"
|
||||
"ksavr": "Scherm niet uitschakelen tijdens bekijken van recept",
|
||||
"addSectBtn": "SECTIE TOEVOEGEN",
|
||||
"sect": "Sectie %s",
|
||||
"sectRm": "De sectie is verwijderd"
|
||||
}
|
||||
|
|
|
@ -320,5 +320,6 @@
|
|||
"nvr": "Nunca",
|
||||
"gtD": "Ir à data",
|
||||
"rstBtn": "REINICIAR",
|
||||
"add": "Adicionar"
|
||||
"add": "Adicionar",
|
||||
"ksavr": "Manter tela ligada ao ver receitas"
|
||||
}
|
||||
|
|
|
@ -198,7 +198,7 @@
|
|||
"rec": "Receita",
|
||||
"sysDefB": "Padrão do sistema + preto",
|
||||
"trySer": "PROCURAR EM TODAS AS RECEITAS?",
|
||||
"stp": "Etapa",
|
||||
"stp": "Etapa %s",
|
||||
"stars": "Classificação por estrelas",
|
||||
"sru": "Partilhar receita usando...",
|
||||
"srt": "Ordenar",
|
||||
|
@ -238,7 +238,7 @@
|
|||
"lang": "Idioma",
|
||||
"kEdit": "CONTINUAR A EDITAR",
|
||||
"joinTG": "Junte-se ao grupo no Telegram",
|
||||
"it": "Item",
|
||||
"it": "Item %s",
|
||||
"invFile": "Ficheiro inválido",
|
||||
"intf": "Interface",
|
||||
"inss": "Instruções",
|
||||
|
@ -320,5 +320,11 @@
|
|||
"calVM": "Modo de vista tipo calendário",
|
||||
"oAP": "%1$s a decorrer, %2$s em pausa",
|
||||
"rstBtn": "REINICIAR",
|
||||
"add": "Adicionar"
|
||||
"add": "Adicionar",
|
||||
"esgb": "Deslizar para a borda para voltar",
|
||||
"esgbInfo": "Desative esta opção se tiver problemas ao navegar",
|
||||
"ksavrInfo": "Impede que o ecrã desligue ao ver uma receita",
|
||||
"ksavr": "Manter ecrã ligado ao ver receitas",
|
||||
"addSectBtn": "ADICIONAR SECÇÃO",
|
||||
"sect": "Secção %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "இடைமுகம்",
|
||||
"invFile": "தவறான கோப்பு",
|
||||
"Irish": "ஐரிஷ்",
|
||||
"it": "பொருள்",
|
||||
"it": "பொருள் %s",
|
||||
"Italian": "இத்தாலிய",
|
||||
"Jamaican": "ஜமைக்கா",
|
||||
"Japanese": "ஜப்பானிய",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "சமையல் குறிப்பை பகிரவும்...",
|
||||
"stars": "நட்சத்திர மதிப்பீடு",
|
||||
"stick": "குச்சி",
|
||||
"stp": "செய்முறை",
|
||||
"stp": "செய்முறை %s",
|
||||
"strAdd": "உங்கள் சமையல் குறிப்புகளைச் சேர்க்கத் தொடங்குங்கள்!",
|
||||
"sVw": "சாதனத்தை அசைத்து சீரற்ற சமையல் குறிப்பை காண்க",
|
||||
"sVwInfo": "நீங்கள் தீர்மானிக்க முடியாதபோது என்ன சமைக்கலாம் என்பதைத் தேர்வுசெய்ய உதவும்",
|
||||
|
@ -272,7 +272,7 @@
|
|||
"buto": "%s இல் காப்புப் பிரதி எடுக்கப்பட்டது",
|
||||
"sysDefB": "அமைப்பு இயல்புநிலை + கருப்பு",
|
||||
"notifSetg": "அறிவிப்பு அமைப்புகள்",
|
||||
"tmrRm": "டைமர் அகற்றப்பட்டது",
|
||||
"tmrRm": "டைமர் நீக்கப்பட்டது",
|
||||
"seconds": "வினாடிகள்",
|
||||
"hours": "மணி",
|
||||
"hour": "மணி",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"ksavrInfo": "சமையல் குறிப்பு பார்க்கும் போது திரையை உறக்கநிலைக்குச் செல்லாது தடுக்கும்",
|
||||
"ksavr": "சமையல் குறிப்பு பார்க்கும் போது திரையை விழித்திரு",
|
||||
"rstBtn": "மீட்டமை",
|
||||
"add": "சேர்"
|
||||
"add": "சேர்",
|
||||
"sectRm": "பிரிவு நீக்கப்பட்டது",
|
||||
"addSectBtn": "பிரிவைச் சேர்",
|
||||
"sect": "பிரிவு %s"
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"intf": "ఇంటర్ఫేస్",
|
||||
"invFile": "చెల్లుబాటులోలేని ఫైలు",
|
||||
"Irish": "ఐరిష్",
|
||||
"it": "అంశం",
|
||||
"it": "అంశం %s",
|
||||
"Italian": "ఇటాలియన్",
|
||||
"Jamaican": "జమైకా",
|
||||
"Japanese": "జపనీస్",
|
||||
|
@ -233,7 +233,7 @@
|
|||
"sru": "రెసిపీని భాగస్వామ్యం చేయండి ...",
|
||||
"stars": "స్టార్ రేటింగ్",
|
||||
"stick": "కర్ర",
|
||||
"stp": "దశ",
|
||||
"stp": "దశ %s",
|
||||
"strAdd": "మీ వంటకాలను జోడించడం ప్రారంభించండి!",
|
||||
"sVw": "యాదృచ్ఛిక రెసిపీని చూడటానికి షేక్ చేయండి",
|
||||
"sVwInfo": "మీరు నిర్ణయించలేనప్పుడు ఏమి ఉడికించాలో ఎంచుకోవడానికి మీకు సహాయపడుతుంది",
|
||||
|
@ -324,5 +324,8 @@
|
|||
"selMT": "భోజన రకాన్ని ఎంచుకోండి",
|
||||
"d": "రోజు",
|
||||
"wk": "వారం",
|
||||
"mnth": "నెల"
|
||||
"mnth": "నెల",
|
||||
"sectRm": "విభాగం తొలగించబడింది",
|
||||
"addSectBtn": "విభాగం జోడించండి",
|
||||
"sect": "విభాగం %s"
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
android {
|
||||
defaultConfig {
|
||||
versionCode 1
|
||||
versionName '2.0.0'
|
||||
versionCode 2
|
||||
versionName '2.1.0'
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 30
|
||||
compileSdkVersion 30
|
||||
|
|
|
@ -292,6 +292,9 @@
|
|||
<string name="aBtn">"أضف"</string>
|
||||
<string name="About">"حول"</string>
|
||||
<string name="aap">"ألحق صورة"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -296,6 +296,9 @@
|
|||
<string name="American">"American"</string>
|
||||
<string name="aD">"Fuldendt!"</string>
|
||||
<string name="About">"Om"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"Abschnitt %1$s"</string>
|
||||
<string name="addSectBtn">"ABSCHNITT HINZUFÜGEN"</string>
|
||||
<string name="sectRm">"Abschnitt entfernt"</string>
|
||||
<string name="ksavrInfo">"Verhindert, dass sich der Bildschirm während der Anzeige eines Rezepts ausschaltet"</string>
|
||||
<string name="esgb">"Randwischen zum Zurückgehen"</string>
|
||||
<string name="esgbInfo">"Deaktiviere diese Option, wenn du Probleme mit der Navigation hast"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"Hilft dir, wenn du dich nicht entscheiden kannst, was gekocht werden soll"</string>
|
||||
<string name="sVw">"Schütteln, um ein zufälliges Rezept anzuzeigen"</string>
|
||||
<string name="strAdd">"Beginne deine Rezepte hinzuzufügen!"</string>
|
||||
<string name="stp">"Schritt"</string>
|
||||
<string name="stp">"Schritt %1$s"</string>
|
||||
<string name="stick">"Stange"</string>
|
||||
<string name="stars">"Bewertung in Sternen"</string>
|
||||
<string name="sru">"Rezept teilen mit …"</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"Japanisch"</string>
|
||||
<string name="Jamaican">"Jamaikanisch"</string>
|
||||
<string name="Italian">"Italienisch"</string>
|
||||
<string name="it">"Element"</string>
|
||||
<string name="it">"Element %1$s"</string>
|
||||
<string name="Irish">"Irisch"</string>
|
||||
<string name="invFile">"Ungültige Datei"</string>
|
||||
<string name="intf">"Benutzeroberfläche"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="ksavr">"Keep screen awake while viewing recipe"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
|
||||
<string name="sVw">"Shake to view random recipe"</string>
|
||||
<string name="strAdd">"Start adding your recipes!"</string>
|
||||
<string name="stp">"Step"</string>
|
||||
<string name="stp">"Step %1$s"</string>
|
||||
<string name="stick">"stick"</string>
|
||||
<string name="stars">"Star rating"</string>
|
||||
<string name="sru">"Share recipe using..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"Japanese"</string>
|
||||
<string name="Jamaican">"Jamaican"</string>
|
||||
<string name="Italian">"Italian"</string>
|
||||
<string name="it">"Item"</string>
|
||||
<string name="it">"Item %1$s"</string>
|
||||
<string name="Irish">"Irish"</string>
|
||||
<string name="invFile">"Invalid file"</string>
|
||||
<string name="intf">"Interface"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="ksavr">"Keep screen awake while viewing recipe"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
|
||||
<string name="sVw">"Shake to view random recipe"</string>
|
||||
<string name="strAdd">"Start adding your recipes!"</string>
|
||||
<string name="stp">"Step"</string>
|
||||
<string name="stp">"Step %1$s"</string>
|
||||
<string name="stick">"stick"</string>
|
||||
<string name="stars">"Star rating"</string>
|
||||
<string name="sru">"Share recipe using..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"Japanese"</string>
|
||||
<string name="Jamaican">"Jamaican"</string>
|
||||
<string name="Italian">"Italian"</string>
|
||||
<string name="it">"Item"</string>
|
||||
<string name="it">"Item %1$s"</string>
|
||||
<string name="Irish">"Irish"</string>
|
||||
<string name="invFile">"Invalid file"</string>
|
||||
<string name="intf">"Interface"</string>
|
||||
|
|
334
app/resources/Android/src/main/res/values-es-rAR/strings.xml
Normal file
334
app/resources/Android/src/main/res/values-es-rAR/strings.xml
Normal file
|
@ -0,0 +1,334 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="aap">"Adjuntá una foto"</string>
|
||||
<string name="About">"Acerca de"</string>
|
||||
<string name="aBtn">"AGREGAR"</string>
|
||||
<string name="aD">"¡Todo listo!"</string>
|
||||
<string name="addCmbBtn">"AGREGAR COMBINACIÓN"</string>
|
||||
<string name="aFBu">"Agregá recetas para hacer un backup"</string>
|
||||
<string name="aIngBtn">"AGREGAR INGREDIENTE"</string>
|
||||
<string name="allCats">"Todas las categorías"</string>
|
||||
<string name="American">"Americana"</string>
|
||||
<string name="aNBtn">"AGREGAR NUEVA"</string>
|
||||
<string name="aNoBtn">"AGREGAR NOTA"</string>
|
||||
<string name="appCrd">"Compartido vía EnRecipes. Conseguilo en F-Droid, IzzyOnDroid o en la Play Store."</string>
|
||||
<string name="Appetizers">"Aperitivos"</string>
|
||||
<string name="appInfo">"EnRecipes es un libro de cocina digital, privado y de código abierto, que te permite crear, administrar y compartir tus recetas"</string>
|
||||
<string name="apply">"APLICAR"</string>
|
||||
<string name="appRst">"Se requiere reiniciar la app"</string>
|
||||
<string name="aStpBtn">"AGREGAR PASO"</string>
|
||||
<string name="sec">"s"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
<string name="ksavr">"Keep screen awake while viewing recipe"</string>
|
||||
<string name="rstBtn">"RESET"</string>
|
||||
<string name="add">"Add"</string>
|
||||
<string name="nvr">"Never"</string>
|
||||
<string name="otaw">"Older than a week"</string>
|
||||
<string name="otam">"Older than a month"</string>
|
||||
<string name="otay">"Older than a year"</string>
|
||||
<string name="admp">"Auto-delete meal plans"</string>
|
||||
<string name="plsCrt">"Use the + button to create one"</string>
|
||||
<string name="ehwmp">"Eat healthy with meal plans!"</string>
|
||||
<string name="selMT">"Select meal type"</string>
|
||||
<string name="ystr">"Yesterday"</string>
|
||||
<string name="tmrw">"Tomorrow"</string>
|
||||
<string name="tdy">"Today"</string>
|
||||
<string name="cpy">"copy"</string>
|
||||
<string name="d">"Day"</string>
|
||||
<string name="wk">"Week"</string>
|
||||
<string name="mnth">"Month"</string>
|
||||
<string name="calVM">"Calendar view mode"</string>
|
||||
<string name="oAP">"%1$s ongoing, %2$s paused"</string>
|
||||
<string name="ttv">"Tap to view"</string>
|
||||
<string name="dismissAll">"Dismiss all timers"</string>
|
||||
<string name="dismiss">"Dismiss"</string>
|
||||
<string name="texp">"%1$s timers expired"</string>
|
||||
<string name="wDBy">"%1$s was delayed by %2$s"</string>
|
||||
<string name="prstTU">"Preset time updated"</string>
|
||||
<string name="ccwt">"Cook confidently with timers!"</string>
|
||||
<string name="gtD">"Go to date"</string>
|
||||
<string name="random">"Random"</string>
|
||||
<string name="notifSetg">"Notification settings"</string>
|
||||
<string name="tmrRm">"Timer removed"</string>
|
||||
<string name="seconds">"seconds"</string>
|
||||
<string name="hours">"hours"</string>
|
||||
<string name="hour">"hour"</string>
|
||||
<string name="minutes">"minutes"</string>
|
||||
<string name="minute">"minute"</string>
|
||||
<string name="dlyDur">"Delay duration"</string>
|
||||
<string name="tmrvbrt">"Timer vibrate"</string>
|
||||
<string name="tmrSnd">"Timer sound"</string>
|
||||
<string name="aTPrst">"Added to presets"</string>
|
||||
<string name="fwr">"for which recipe?"</string>
|
||||
<string name="delPrst">"You are about to delete %1$s from the presets"</string>
|
||||
<string name="prsts">"Presets"</string>
|
||||
<string name="prstBtn">"PRESETS"</string>
|
||||
<string name="tmr">"Timer %1$s"</string>
|
||||
<string name="delay">"Delay"</string>
|
||||
<string name="stop">"Stop"</string>
|
||||
<string name="strtBtn">"START"</string>
|
||||
<string name="ntmr">"New timer"</string>
|
||||
<string name="timer">"Cooking Timer"</string>
|
||||
<string name="sysDefB">"System default + Black"</string>
|
||||
<string name="buto">"Backed up to %1$s"</string>
|
||||
<string name="yld">"Yield"</string>
|
||||
<string name="yieldU">"Yield unit"</string>
|
||||
<string name="yieldQ">"Yield quantity"</string>
|
||||
<string name="yesterday">"yesterday"</string>
|
||||
<string name="wAgo">"%1$s weeks ago"</string>
|
||||
<string name="Vietnamese">"Vietnamese"</string>
|
||||
<string name="Vegetarian">"Vegetarian"</string>
|
||||
<string name="Vegan">"Vegan"</string>
|
||||
<string name="untRec">"Untitled Recipe"</string>
|
||||
<string name="unsaved">"Unsaved changes"</string>
|
||||
<string name="Unit">"Unit"</string>
|
||||
<string name="unit">"unit"</string>
|
||||
<string name="Undefined">"Undefined"</string>
|
||||
<string name="Turkish">"Turkish"</string>
|
||||
<string name="tsp">"tsp"</string>
|
||||
<string name="tsInfo">"separate with spaces"</string>
|
||||
<string name="ts">"Tags"</string>
|
||||
<string name="trySer">"SEARCH IN ALL THE RECIPES?"</string>
|
||||
<string name="trylater">"Try Later"</string>
|
||||
<string name="trnsl">"Translate"</string>
|
||||
<string name="triedInfo">"You tried this recipe %1$s"</string>
|
||||
<string name="today">"today"</string>
|
||||
<string name="tLInfo">"Recipes you want to try later are listed here"</string>
|
||||
<string name="title">"Title"</string>
|
||||
<string name="Theme">"Theme"</string>
|
||||
<string name="Thai">"Thai"</string>
|
||||
<string name="Teaspoon">"Teaspoon"</string>
|
||||
<string name="tbsp">"tbsp"</string>
|
||||
<string name="Tablespoon">"Tablespoon"</string>
|
||||
<string name="sysDef">"System default"</string>
|
||||
<string name="swm">"Start week on Monday"</string>
|
||||
<string name="Swedish">"Swedish"</string>
|
||||
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
|
||||
<string name="sVw">"Shake to view random recipe"</string>
|
||||
<string name="strAdd">"Start adding your recipes!"</string>
|
||||
<string name="stp">"Step %1$s"</string>
|
||||
<string name="stick">"stick"</string>
|
||||
<string name="stars">"Star rating"</string>
|
||||
<string name="sru">"Share recipe using..."</string>
|
||||
<string name="srt">"Sort"</string>
|
||||
<string name="srpu">"Share recipe photo using..."</string>
|
||||
<string name="_Sri_Lankan_Z7GfBa">"Sri Lankan"</string>
|
||||
<string name="Spanish">"Spanish"</string>
|
||||
<string name="Soups">"Soups"</string>
|
||||
<string name="snacks">"Snacks"</string>
|
||||
<string name="small">"small"</string>
|
||||
<string name="sltd">"selected"</string>
|
||||
<string name="_Slowest_first_hHjY6">"Slowest first"</string>
|
||||
<string name="simple">"Simple"</string>
|
||||
<string name="_Side_dishes_Z1Et4Vg">"Side dishes"</string>
|
||||
<string name="shr">"Share"</string>
|
||||
<string name="Settings">"Settings"</string>
|
||||
<string name="SET">"SET"</string>
|
||||
<string name="Serving">"Serving"</string>
|
||||
<string name="ser">"Search"</string>
|
||||
<string name="selRec">"Select recipe"</string>
|
||||
<string name="Seafood">"Seafood"</string>
|
||||
<string name="Scottish">"Scottish"</string>
|
||||
<string name="Sauces">"Sauces"</string>
|
||||
<string name="Salads">"Salads"</string>
|
||||
<string name="Russian">"Russian"</string>
|
||||
<string name="rst">"RESTART"</string>
|
||||
<string name="rp">"Remove photo"</string>
|
||||
<string name="Roll">"Roll"</string>
|
||||
<string name="rmYUInfo">"You are about to remove %1$s from the yield unit list"</string>
|
||||
<string name="rmUInfo">"You are about to remove %1$s from the unit list"</string>
|
||||
<string name="rmN">"Note removed"</string>
|
||||
<string name="rmIns">"Instruction removed"</string>
|
||||
<string name="rmIng">"Ingredient removed"</string>
|
||||
<string name="rmCuiInfo">"You are about to remove %1$s from the cuisine list"</string>
|
||||
<string name="rmCmb">"Combination removed"</string>
|
||||
<string name="rmCatInfo">"You are about to remove %1$s from the category list"</string>
|
||||
<string name="Rice">"Rice"</string>
|
||||
<string name="restYUL">"Reset yield unit list"</string>
|
||||
<string name="restUL">"Reset unit list"</string>
|
||||
<string name="restInfo">"Resetting a list will delete user-created entries and restore default entries. Existing recipes will not be affected."</string>
|
||||
<string name="restDone">"Reset done"</string>
|
||||
<string name="restCuiL">"Reset cuisine list"</string>
|
||||
<string name="restCatL">"Reset category list"</string>
|
||||
<string name="rest">"Reset"</string>
|
||||
<string name="resNF">"Recipe not found"</string>
|
||||
<string name="req">"Required %1$s"</string>
|
||||
<string name="recU">"Updated:"</string>
|
||||
<string name="recTitle">"My Healthy Recipe"</string>
|
||||
<string name="recs">"recipes"</string>
|
||||
<string name="recRm">"Recipe removed"</string>
|
||||
<string name="recPic">"Recipe photo"</string>
|
||||
<string name="recListEmp">"Nothing here! Add some recipes and try again"</string>
|
||||
<string name="recI">"Imported:"</string>
|
||||
<string name="recF">"recipes found"</string>
|
||||
<string name="recE">"Already exist:"</string>
|
||||
<string name="rec">"Recipe"</string>
|
||||
<string name="rBtn">"REMOVE"</string>
|
||||
<string name="Rating">"Rating"</string>
|
||||
<string name="_Quickest_first_Z1CpP7N">"Quickest first"</string>
|
||||
<string name="qt">"qt"</string>
|
||||
<string name="pt">"pt"</string>
|
||||
<string name="priv">"Privacy policy"</string>
|
||||
<string name="prepT">"Preparation time"</string>
|
||||
<string name="Pound">"Pound"</string>
|
||||
<string name="Poultry">"Poultry"</string>
|
||||
<string name="Portuguese">"Portuguese"</string>
|
||||
<string name="plsAdd">"Use the + button to add one"</string>
|
||||
<string name="planner">"Meal Planner"</string>
|
||||
<string name="pinch">"pinch"</string>
|
||||
<string name="Piece">"Piece"</string>
|
||||
<string name="piece">"piece"</string>
|
||||
<string name="pht">"Recipe photo"</string>
|
||||
<string name="photogrid">"Photo Grid"</string>
|
||||
<string name="Patty">"Patty"</string>
|
||||
<string name="Pasta">"Pasta"</string>
|
||||
<string name="oz">"oz"</string>
|
||||
<string name="Ounce">"Ounce"</string>
|
||||
<string name="opts">"Options"</string>
|
||||
<string name="_Oldest_first_Z6cq4h">"Oldest first"</string>
|
||||
<string name="OK">"OK"</string>
|
||||
<string name="nwYiU">"New yield unit"</string>
|
||||
<string name="nwCat">"New category"</string>
|
||||
<string name="nos">"Notes"</string>
|
||||
<string name="noRecsInL">"None of the recipes here matches your search"</string>
|
||||
<string name="noRecs">"No recipes match your search"</string>
|
||||
<string name="Noodles">"Noodles"</string>
|
||||
<string name="noFavs">"No favourites yet"</string>
|
||||
<string name="noAccSensor">"Accelerometer sensor is either disabled or is not working"</string>
|
||||
<string name="no">"Note"</string>
|
||||
<string name="nNBtn">"NOT NOW"</string>
|
||||
<string name="nLangInfo">"Restart EnRecipes to use the new language"</string>
|
||||
<string name="Nigerian">"Nigerian"</string>
|
||||
<string name="newUnit">"New unit"</string>
|
||||
<string name="newRec">"New recipe"</string>
|
||||
<string name="_Newest_first_2Sb3c">"Newest first"</string>
|
||||
<string name="newCui">"New cuisine"</string>
|
||||
<string name="Moderate">"Moderate"</string>
|
||||
<string name="ml">"ml"</string>
|
||||
<string name="minimal">"Minimal"</string>
|
||||
<string name="min">"min"</string>
|
||||
<string name="Millilitre">"Millilitre"</string>
|
||||
<string name="mg">"mg"</string>
|
||||
<string name="Mexican">"Mexican"</string>
|
||||
<string name="medium">"medium"</string>
|
||||
<string name="Meat">"Meat"</string>
|
||||
<string name="_Main_dishes_u6RGQ">"Main dishes"</string>
|
||||
<string name="mAgo">"%1$s months ago"</string>
|
||||
<string name="lunch">"Lunch"</string>
|
||||
<string name="ltAgo">"a long time ago"</string>
|
||||
<string name="Loaf">"Loaf"</string>
|
||||
<string name="Litre">"Litre"</string>
|
||||
<string name="listVM">"List view mode"</string>
|
||||
<string name="Light">"Light"</string>
|
||||
<string name="leaf">"leaf"</string>
|
||||
<string name="lb">"lb"</string>
|
||||
<string name="_Last_updated_Z2gEbLD">"Last updated"</string>
|
||||
<string name="large">"large"</string>
|
||||
<string name="lang">"Language"</string>
|
||||
<string name="l">"l"</string>
|
||||
<string name="Korean">"Korean"</string>
|
||||
<string name="Kilogram">"Kilogram"</string>
|
||||
<string name="kg">"kg"</string>
|
||||
<string name="Kenyan">"Kenyan"</string>
|
||||
<string name="kEdit">"KEEP EDITING"</string>
|
||||
<string name="joinTG">"Join the Telegram group"</string>
|
||||
<string name="Jewish">"Jewish"</string>
|
||||
<string name="Japanese">"Japanese"</string>
|
||||
<string name="Jamaican">"Jamaican"</string>
|
||||
<string name="Italian">"Italian"</string>
|
||||
<string name="it">"Item %1$s"</string>
|
||||
<string name="Irish">"Irish"</string>
|
||||
<string name="invFile">"Invalid file"</string>
|
||||
<string name="intf">"Interface"</string>
|
||||
<string name="inss">"Instructions"</string>
|
||||
<string name="ings">"Ingredients"</string>
|
||||
<string name="Indian">"Indian"</string>
|
||||
<string name="in">"in"</string>
|
||||
<string name="impSuc">"Import success"</string>
|
||||
<string name="impip">"Import in progress"</string>
|
||||
<string name="impInfo">"Supports full backups exported by this app"</string>
|
||||
<string name="impFail">"Import failed"</string>
|
||||
<string name="impBu">"Import data"</string>
|
||||
<string name="hr">"hr"</string>
|
||||
<string name="Healthy">"Healthy"</string>
|
||||
<string name="guide">"User guide"</string>
|
||||
<string name="grocery">"Grocery List"</string>
|
||||
<string name="grid">"Grid"</string>
|
||||
<string name="Greek">"Greek"</string>
|
||||
<string name="Gram">"Gram"</string>
|
||||
<string name="gh">"View on GitHub"</string>
|
||||
<string name="German">"German"</string>
|
||||
<string name="Gallon">"Gallon"</string>
|
||||
<string name="gal">"gal"</string>
|
||||
<string name="g">"g"</string>
|
||||
<string name="fsList">"Your favourite recipes are listed here"</string>
|
||||
<string name="French">"French"</string>
|
||||
<string name="_Fluid_Ounce_bd10L">"Fluid Ounce"</string>
|
||||
<string name="fltr">"Filter"</string>
|
||||
<string name="_fl_oz_72kqu">"fl oz"</string>
|
||||
<string name="_Filtered_recipes_Z1alhhu">"Filtered recipes"</string>
|
||||
<string name="Filipino">"Filipino"</string>
|
||||
<string name="favourites">"Favourites"</string>
|
||||
<string name="expSuc">"Export success"</string>
|
||||
<string name="expip">"Export in progress"</string>
|
||||
<string name="expBu">"Export full backup"</string>
|
||||
<string name="EnRecipes">"EnRecipes"</string>
|
||||
<string name="English">"English"</string>
|
||||
<string name="Egyptian">"Egyptian"</string>
|
||||
<string name="editRec">"Edit recipe"</string>
|
||||
<string name="Easy">"Easy"</string>
|
||||
<string name="dsp">"dstspn"</string>
|
||||
<string name="drop">"drop"</string>
|
||||
<string name="dozen">"dozen"</string>
|
||||
<string name="donate">"Donate"</string>
|
||||
<string name="disc">"This recipe has unsaved changes. What would you like to do?"</string>
|
||||
<string name="disBtn">"DISCARD"</string>
|
||||
<string name="dinner">"Dinner"</string>
|
||||
<string name="_Difficulty_level_cSL5d">"Difficulty level"</string>
|
||||
<string name="detailed">"Detailed"</string>
|
||||
<string name="Desserts">"Desserts"</string>
|
||||
<string name="delRecsInfo">"You are about to permanently delete %1$s"</string>
|
||||
<string name="delRecInfo">"You are about to permanently delete the recipe %1$s"</string>
|
||||
<string name="dBtn">"DELETE"</string>
|
||||
<string name="db">"Database"</string>
|
||||
<string name="Dark">"Dark"</string>
|
||||
<string name="Danish">"Danish"</string>
|
||||
<string name="dAgo">"%1$s days ago"</string>
|
||||
<string name="Cup">"Cup"</string>
|
||||
<string name="cup">"cup"</string>
|
||||
<string name="cui">"Cuisine"</string>
|
||||
<string name="Created">"Created"</string>
|
||||
<string name="cPic">"Crop photo"</string>
|
||||
<string name="cookT">"Cooking time"</string>
|
||||
<string name="conf">"Confirm"</string>
|
||||
<string name="conBtn">"CONTINUE"</string>
|
||||
<string name="cmbs">"Combinations"</string>
|
||||
<string name="cm">"cm"</string>
|
||||
<string name="clove">"clove"</string>
|
||||
<string name="Chinese">"Chinese"</string>
|
||||
<string name="Challenging">"Challenging"</string>
|
||||
<string name="cBtn">"CANCEL"</string>
|
||||
<string name="cat">"Category"</string>
|
||||
<string name="buMod">"The backup file was modified elsewhere"</string>
|
||||
<string name="buInfo">"Generates a ZIP file containing all your data that can be imported back"</string>
|
||||
<string name="buInc">"Malformed or corrupt backup file"</string>
|
||||
<string name="buFol">"Backup folder"</string>
|
||||
<string name="buEmp">"The backup file is empty"</string>
|
||||
<string name="British">"British"</string>
|
||||
<string name="breakfast">"Breakfast"</string>
|
||||
<string name="Breads">"Breads"</string>
|
||||
<string name="Brazilian">"Brazilian"</string>
|
||||
<string name="Black">"Black"</string>
|
||||
<string name="Beverages">"Beverages"</string>
|
||||
<string name="Barbecue">"Barbecue"</string>
|
||||
<string name="_app_name_1k3Sbz">"EnRecipes"</string>
|
||||
<string name="app_name">"EnRecipes"</string>
|
||||
<string name="title_activity_kimera">"EnRecipes"</string>
|
||||
<string name="allTs">"All Tags"</string>
|
||||
<string name="allCuis">"All Cuisines"</string>
|
||||
</resources>
|
|
@ -322,6 +322,9 @@
|
|||
<string name="aBtn">"AÑADIR"</string>
|
||||
<string name="About">"Acerca de"</string>
|
||||
<string name="aap">"Adjuntar una foto"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -328,4 +328,7 @@
|
|||
<string name="aBtn">"AJOUTER"</string>
|
||||
<string name="About">"À propos"</string>
|
||||
<string name="aap">"Joindre une photo"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
</resources>
|
||||
|
|
|
@ -328,4 +328,7 @@
|
|||
<string name="aBtn">"AJOUTER"</string>
|
||||
<string name="About">"À propos"</string>
|
||||
<string name="aap">"Joindre une photo"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
</resources>
|
||||
|
|
|
@ -328,4 +328,7 @@
|
|||
<string name="aBtn">"AJOUTER"</string>
|
||||
<string name="About">"À propos"</string>
|
||||
<string name="aap">"Joindre une photo"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
</resources>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="addSectBtn">"AJOUTER UNE SECTION"</string>
|
||||
<string name="sectRm">"Section retiré"</string>
|
||||
<string name="ksavrInfo">"Empêche l’écran de s’éteindre durant la visualisation d’une recette"</string>
|
||||
<string name="esgb">"Balayer le bord pour revenir en arrière"</string>
|
||||
<string name="esgbInfo">"Désactivez cette option si vous avez des problèmes de navigation"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"Vous aide à choisir quoi cuisiner quand vous ne pouvez pas vous décider"</string>
|
||||
<string name="sVw">"Secouez pour voir une recette au hasard"</string>
|
||||
<string name="strAdd">"Commencez à ajouter vos recettes !"</string>
|
||||
<string name="stp">"Étape"</string>
|
||||
<string name="stp">"Étape %1$s"</string>
|
||||
<string name="stick">"barre"</string>
|
||||
<string name="stars">"Évaluation étoilée"</string>
|
||||
<string name="sru">"Partager la recette en utilisant…"</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"japonaise"</string>
|
||||
<string name="Jamaican">"jamaïcaine"</string>
|
||||
<string name="Italian">"italienne"</string>
|
||||
<string name="it">"Élément"</string>
|
||||
<string name="it">"Élément %1$s"</string>
|
||||
<string name="Irish">"irlandaise"</string>
|
||||
<string name="invFile">"Fichier invalide"</string>
|
||||
<string name="intf">"Interface"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"भाग %1$s"</string>
|
||||
<string name="addSectBtn">"धारा जोड़ें"</string>
|
||||
<string name="sectRm">"धारा हटा दिया गया"</string>
|
||||
<string name="mnth">"महीना"</string>
|
||||
<string name="wk">"सप्ताह"</string>
|
||||
<string name="d">"दिन"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"जब आप तय नहीं कर सकते तो आपको क्या खाना बनाना है, यह चुनने में मदद करता है"</string>
|
||||
<string name="sVw">"यादृच्छिक नुस्खा देखने के लिए हिलाएं"</string>
|
||||
<string name="strAdd">"अपने व्यंजनों को जोड़ना शुरू करें!"</string>
|
||||
<string name="stp">"कदम"</string>
|
||||
<string name="stp">"कदम %1$s"</string>
|
||||
<string name="stick">"लाठी"</string>
|
||||
<string name="stars">"स्टार रेटिंग"</string>
|
||||
<string name="sru">"शेयर रेसिपी..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"जापानी"</string>
|
||||
<string name="Jamaican">"जमैका"</string>
|
||||
<string name="Italian">"इतालवी"</string>
|
||||
<string name="it">"मद"</string>
|
||||
<string name="it">"मद %1$s"</string>
|
||||
<string name="Irish">"आयरिश"</string>
|
||||
<string name="invFile">"अवैध फाइल"</string>
|
||||
<string name="intf">"इंटरफेस"</string>
|
||||
|
|
|
@ -296,6 +296,9 @@
|
|||
<string name="aBtn">"Tambah"</string>
|
||||
<string name="About">"Tentang"</string>
|
||||
<string name="aap">"Lampirkan foto"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -328,4 +328,7 @@
|
|||
<string name="aBtn">"AGGIUNGI"</string>
|
||||
<string name="About">"Informazioni"</string>
|
||||
<string name="aap">"Allega una foto"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
</resources>
|
||||
|
|
|
@ -275,6 +275,9 @@
|
|||
<string name="aBtn">"追加"</string>
|
||||
<string name="About">"アプリについて"</string>
|
||||
<string name="aap">"写真を添付"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"ഭാഗം %1$s"</string>
|
||||
<string name="sectRm">"വിഭാഗം നീക്കംചെയ്തു"</string>
|
||||
<string name="addSectBtn">"വിഭാഗം ചേർക്കുക"</string>
|
||||
<string name="sec">"സെക്കൻഡ്"</string>
|
||||
<string name="timer">"പാചക ടൈമർ"</string>
|
||||
<string name="ntmr">"പുതിയ ടൈമർ"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"നിങ്ങൾക്ക് തീരുമാനിക്കാൻ കഴിയാത്തപ്പോൾ എന്താണ് പാചകം ചെയ്യേണ്ടതെന്ന് തിരഞ്ഞെടുക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു"</string>
|
||||
<string name="sVw">"ക്രമരഹിതമായ പാചകക്കുറിപ്പ് കാണാൻ കുലുക്കുക"</string>
|
||||
<string name="strAdd">"നിങ്ങളുടെ പാചകക്കുറിപ്പുകൾ ചേർക്കാൻ ആരംഭിക്കുക!"</string>
|
||||
<string name="stp">"ഘട്ടം"</string>
|
||||
<string name="stp">"ഘട്ടം %1$s"</string>
|
||||
<string name="stick">"വടി"</string>
|
||||
<string name="stars">"നക്ഷത്ര റേറ്റിംഗ്"</string>
|
||||
<string name="sru">"പാചകക്കുറിപ്പ് പങ്കിടുക..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"ജാപ്പനീസ്"</string>
|
||||
<string name="Jamaican">"ജമൈക്കൻ"</string>
|
||||
<string name="Italian">"ഇറ്റാലിയൻ"</string>
|
||||
<string name="it">"ഇനം"</string>
|
||||
<string name="it">"ഇനം %1$s"</string>
|
||||
<string name="Irish">"ഐറിഷ്"</string>
|
||||
<string name="invFile">"അസാധുവായ ഫയൽ"</string>
|
||||
<string name="intf">"ഇന്റർഫേസ്"</string>
|
||||
|
|
|
@ -288,6 +288,9 @@
|
|||
<string name="aBtn">"Legg til"</string>
|
||||
<string name="About">"Om"</string>
|
||||
<string name="aap">"Legg ved et bilde"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sectRm">"De sectie is verwijderd"</string>
|
||||
<string name="sect">"Sectie %1$s"</string>
|
||||
<string name="addSectBtn">"SECTIE TOEVOEGEN"</string>
|
||||
<string name="ksavr">"Scherm niet uitschakelen tijdens bekijken van recept"</string>
|
||||
<string name="ksavrInfo">"Voorkomt dat het scherm wordt uitgeschakeld tijdens het bekijken van een recept"</string>
|
||||
<string name="esgb">"Vegen vanaf schermrand om terug te gaan"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"Handig voor als je even niet weet wat je wilt maken"</string>
|
||||
<string name="sVw">"Schudden om willekeurig recept te tonen"</string>
|
||||
<string name="strAdd">"Voeg je recepten toe!"</string>
|
||||
<string name="stp">"Stap"</string>
|
||||
<string name="stp">"Stap %1$s"</string>
|
||||
<string name="stick">"stokje"</string>
|
||||
<string name="stars">"Waardering"</string>
|
||||
<string name="sru">"Recept delen via…"</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"Japans"</string>
|
||||
<string name="Jamaican">"Jamaicaans"</string>
|
||||
<string name="Italian">"Italiaans"</string>
|
||||
<string name="it">"Item"</string>
|
||||
<string name="it">"Item %1$s"</string>
|
||||
<string name="Irish">"Iers"</string>
|
||||
<string name="invFile">"Ongeldig bestand"</string>
|
||||
<string name="intf">"Uiterlijk"</string>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="ksavr">"Manter tela ligada ao ver receitas"</string>
|
||||
<string name="add">"Adicionar"</string>
|
||||
<string name="rstBtn">"REINICIAR"</string>
|
||||
<string name="gtD">"Ir à data"</string>
|
||||
|
@ -324,8 +325,10 @@
|
|||
<string name="aD">"Tudo feito!"</string>
|
||||
<string name="aBtn">"ADICIONAR"</string>
|
||||
<string name="About">"Sobre"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
<string name="ksavr">"Keep screen awake while viewing recipe"</string>
|
||||
</resources>
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"Secção %1$s"</string>
|
||||
<string name="addSectBtn">"ADICIONAR SECÇÃO"</string>
|
||||
<string name="ksavr">"Manter ecrã ligado ao ver receitas"</string>
|
||||
<string name="ksavrInfo">"Impede que o ecrã desligue ao ver uma receita"</string>
|
||||
<string name="esgbInfo">"Desative esta opção se tiver problemas ao navegar"</string>
|
||||
<string name="esgb">"Deslizar para a borda para voltar"</string>
|
||||
<string name="add">"Adicionar"</string>
|
||||
<string name="rstBtn">"REINICIAR"</string>
|
||||
<string name="oAP">"%1$s a decorrer, %2$s em pausa"</string>
|
||||
|
@ -82,7 +88,7 @@
|
|||
<string name="inss">"Instruções"</string>
|
||||
<string name="intf">"Interface"</string>
|
||||
<string name="invFile">"Ficheiro inválido"</string>
|
||||
<string name="it">"Item"</string>
|
||||
<string name="it">"Item %1$s"</string>
|
||||
<string name="joinTG">"Junte-se ao grupo no Telegram"</string>
|
||||
<string name="kEdit">"CONTINUAR A EDITAR"</string>
|
||||
<string name="lang">"Idioma"</string>
|
||||
|
@ -122,7 +128,7 @@
|
|||
<string name="srt">"Ordenar"</string>
|
||||
<string name="sru">"Partilhar receita usando..."</string>
|
||||
<string name="stars">"Classificação por estrelas"</string>
|
||||
<string name="stp">"Etapa"</string>
|
||||
<string name="stp">"Etapa %1$s"</string>
|
||||
<string name="trySer">"PROCURAR EM TODAS AS RECEITAS?"</string>
|
||||
<string name="sysDefB">"Padrão do sistema + preto"</string>
|
||||
<string name="rec">"Receita"</string>
|
||||
|
@ -324,8 +330,5 @@
|
|||
<string name="American">"Americana"</string>
|
||||
<string name="About">"Sobre"</string>
|
||||
<string name="aap">"Anexar uma fotografia"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
<string name="ksavr">"Keep screen awake while viewing recipe"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
</resources>
|
||||
|
|
|
@ -296,6 +296,9 @@
|
|||
<string name="aBtn">"ДОБАВИТЬ"</string>
|
||||
<string name="About">"О приложении"</string>
|
||||
<string name="aap">"Прикрепить фото"</string>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"பிரிவு %1$s"</string>
|
||||
<string name="addSectBtn">"பிரிவைச் சேர்"</string>
|
||||
<string name="sectRm">"பிரிவு நீக்கப்பட்டது"</string>
|
||||
<string name="add">"சேர்"</string>
|
||||
<string name="rstBtn">"மீட்டமை"</string>
|
||||
<string name="ksavr">"சமையல் குறிப்பு பார்க்கும் போது திரையை விழித்திரு"</string>
|
||||
|
@ -52,7 +55,7 @@
|
|||
<string name="hour">"மணி"</string>
|
||||
<string name="hours">"மணி"</string>
|
||||
<string name="seconds">"வினாடிகள்"</string>
|
||||
<string name="tmrRm">"டைமர் அகற்றப்பட்டது"</string>
|
||||
<string name="tmrRm">"டைமர் நீக்கப்பட்டது"</string>
|
||||
<string name="notifSetg">"அறிவிப்பு அமைப்புகள்"</string>
|
||||
<string name="sysDefB">"அமைப்பு இயல்புநிலை + கருப்பு"</string>
|
||||
<string name="buto">"%1$s இல் காப்புப் பிரதி எடுக்கப்பட்டது"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"நீங்கள் தீர்மானிக்க முடியாதபோது என்ன சமைக்கலாம் என்பதைத் தேர்வுசெய்ய உதவும்"</string>
|
||||
<string name="sVw">"சாதனத்தை அசைத்து சீரற்ற சமையல் குறிப்பை காண்க"</string>
|
||||
<string name="strAdd">"உங்கள் சமையல் குறிப்புகளைச் சேர்க்கத் தொடங்குங்கள்!"</string>
|
||||
<string name="stp">"செய்முறை"</string>
|
||||
<string name="stp">"செய்முறை %1$s"</string>
|
||||
<string name="stick">"குச்சி"</string>
|
||||
<string name="stars">"நட்சத்திர மதிப்பீடு"</string>
|
||||
<string name="sru">"சமையல் குறிப்பை பகிரவும்..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"ஜப்பானிய"</string>
|
||||
<string name="Jamaican">"ஜமைக்கா"</string>
|
||||
<string name="Italian">"இத்தாலிய"</string>
|
||||
<string name="it">"பொருள்"</string>
|
||||
<string name="it">"பொருள் %1$s"</string>
|
||||
<string name="Irish">"ஐரிஷ்"</string>
|
||||
<string name="invFile">"தவறான கோப்பு"</string>
|
||||
<string name="intf">"இடைமுகம்"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sect">"విభాగం %1$s"</string>
|
||||
<string name="addSectBtn">"విభాగం జోడించండి"</string>
|
||||
<string name="sectRm">"విభాగం తొలగించబడింది"</string>
|
||||
<string name="mnth">"నెల"</string>
|
||||
<string name="wk">"వారం"</string>
|
||||
<string name="d">"రోజు"</string>
|
||||
|
@ -91,7 +94,7 @@
|
|||
<string name="sVwInfo">"మీరు నిర్ణయించలేనప్పుడు ఏమి ఉడికించాలో ఎంచుకోవడానికి మీకు సహాయపడుతుంది"</string>
|
||||
<string name="sVw">"యాదృచ్ఛిక రెసిపీని చూడటానికి షేక్ చేయండి"</string>
|
||||
<string name="strAdd">"మీ వంటకాలను జోడించడం ప్రారంభించండి!"</string>
|
||||
<string name="stp">"దశ"</string>
|
||||
<string name="stp">"దశ %1$s"</string>
|
||||
<string name="stick">"కర్ర"</string>
|
||||
<string name="stars">"స్టార్ రేటింగ్"</string>
|
||||
<string name="sru">"రెసిపీని భాగస్వామ్యం చేయండి ..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"జపనీస్"</string>
|
||||
<string name="Jamaican">"జమైకా"</string>
|
||||
<string name="Italian">"ఇటాలియన్"</string>
|
||||
<string name="it">"అంశం"</string>
|
||||
<string name="it">"అంశం %1$s"</string>
|
||||
<string name="Irish">"ఐరిష్"</string>
|
||||
<string name="invFile">"చెల్లుబాటులోలేని ఫైలు"</string>
|
||||
<string name="intf">"ఇంటర్ఫేస్"</string>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="sectRm">"Section removed"</string>
|
||||
<string name="addSectBtn">"ADD SECTION"</string>
|
||||
<string name="sect">"Section %1$s"</string>
|
||||
<string name="esgbInfo">"Disable this option if you have any navigation issues"</string>
|
||||
<string name="esgb">"Edge swipe to go back"</string>
|
||||
<string name="ksavrInfo">"Prevents the screen from turning off while viewing a recipe"</string>
|
||||
|
@ -90,7 +93,7 @@
|
|||
<string name="sVwInfo">"Helps you choose what to cook when you can\'t decide"</string>
|
||||
<string name="sVw">"Shake to view random recipe"</string>
|
||||
<string name="strAdd">"Start adding your recipes!"</string>
|
||||
<string name="stp">"Step"</string>
|
||||
<string name="stp">"Step %1$s"</string>
|
||||
<string name="stick">"stick"</string>
|
||||
<string name="stars">"Star rating"</string>
|
||||
<string name="sru">"Share recipe using..."</string>
|
||||
|
@ -221,7 +224,7 @@
|
|||
<string name="Japanese">"Japanese"</string>
|
||||
<string name="Jamaican">"Jamaican"</string>
|
||||
<string name="Italian">"Italian"</string>
|
||||
<string name="it">"Item"</string>
|
||||
<string name="it">"Item %1$s"</string>
|
||||
<string name="Irish">"Irish"</string>
|
||||
<string name="invFile">"Invalid file"</string>
|
||||
<string name="intf">"Interface"</string>
|
||||
|
|
|
@ -79,8 +79,6 @@ export function getRecipePhoto() {
|
|||
export function copyPhotoToCache(src: string, dest: string) {
|
||||
const ContentResolver = Application.android.nativeApp.getContentResolver()
|
||||
const isURI = src.includes('content://')
|
||||
console.log(src, dest, isURI)
|
||||
|
||||
return new Promise((resolve) => {
|
||||
if (isURI) {
|
||||
const uri = new android.net.Uri.parse(src)
|
||||
|
|
110
app/store.ts
110
app/store.ts
|
@ -575,6 +575,40 @@ export default new Vuex.Store({
|
|||
f.match(/tags|ingredients|instructions|combinations|notes/) &&
|
||||
(e[f] = JSON.parse(e[f]))
|
||||
)
|
||||
if (
|
||||
e.ingredients.length &&
|
||||
!e.ingredients[0].hasOwnProperty('type')
|
||||
) {
|
||||
e.ingredients = e.ingredients.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
type: 1,
|
||||
quantity: e.quantity,
|
||||
unit: e.unit,
|
||||
value: e.item,
|
||||
}
|
||||
})
|
||||
}
|
||||
if (
|
||||
e.instructions.length &&
|
||||
!e.instructions[0].hasOwnProperty('type')
|
||||
) {
|
||||
e.instructions = e.instructions.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
type: 1,
|
||||
value: e,
|
||||
}
|
||||
})
|
||||
}
|
||||
if (e.notes.length && !e.notes[0].hasOwnProperty('value')) {
|
||||
e.notes = e.notes.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
value: e,
|
||||
}
|
||||
})
|
||||
}
|
||||
state.recipes.push(e)
|
||||
})
|
||||
})
|
||||
|
@ -610,6 +644,40 @@ export default new Vuex.Store({
|
|||
function getTime(d) {
|
||||
return new Date(d).getTime()
|
||||
}
|
||||
if (
|
||||
r.ingredients.length &&
|
||||
!r.ingredients[0].hasOwnProperty('type')
|
||||
) {
|
||||
r.ingredients = r.ingredients.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
type: 1,
|
||||
quantity: e.quantity,
|
||||
unit: e.unit,
|
||||
value: e.item,
|
||||
}
|
||||
})
|
||||
}
|
||||
if (
|
||||
r.instructions.length &&
|
||||
!r.instructions[0].hasOwnProperty('type')
|
||||
) {
|
||||
r.instructions = r.instructions.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
type: 1,
|
||||
value: e,
|
||||
}
|
||||
})
|
||||
}
|
||||
if (r.notes.length && !r.notes[0].hasOwnProperty('type')) {
|
||||
r.notes = r.notes.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
value: e,
|
||||
}
|
||||
})
|
||||
}
|
||||
r.lastTried = getTime(r.lastTried)
|
||||
r.lastModified = getTime(r.lastModified)
|
||||
r.created = getTime(r.created)
|
||||
|
@ -718,7 +786,48 @@ export default new Vuex.Store({
|
|||
let localRecipesIDs: string[], partition: any[]
|
||||
let imported = 0
|
||||
let updated = 0
|
||||
function getUpdatedData(data: any[]) {
|
||||
return data.map((recipe) => {
|
||||
let r = Object.assign({}, recipe)
|
||||
if (
|
||||
r.ingredients.length &&
|
||||
!r.ingredients[0].hasOwnProperty('type')
|
||||
) {
|
||||
r.ingredients = r.ingredients.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
type: 1,
|
||||
quantity: e.quantity,
|
||||
unit: e.unit,
|
||||
value: e.item,
|
||||
}
|
||||
})
|
||||
}
|
||||
if (
|
||||
r.instructions.length &&
|
||||
!r.instructions[0].hasOwnProperty('type')
|
||||
) {
|
||||
r.instructions = r.instructions.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
type: 1,
|
||||
value: e,
|
||||
}
|
||||
})
|
||||
}
|
||||
if (r.notes.length && !r.notes[0].hasOwnProperty('value')) {
|
||||
r.notes = r.notes.map((e) => {
|
||||
return {
|
||||
id: utils.getRandomID(1),
|
||||
value: e,
|
||||
}
|
||||
})
|
||||
}
|
||||
return r
|
||||
})
|
||||
}
|
||||
function createDocuments(data: any[]) {
|
||||
data = getUpdatedData(data)
|
||||
data.forEach((r) => {
|
||||
const cols = Object.keys(r).join(', ')
|
||||
const placeholder = Object.keys(r)
|
||||
|
@ -738,6 +847,7 @@ export default new Vuex.Store({
|
|||
})
|
||||
}
|
||||
function updateDocuments(data: any[]) {
|
||||
data = getUpdatedData(data)
|
||||
data.forEach((r) => {
|
||||
let recipeIndex = state.recipes
|
||||
.map((e, i) => {
|
||||
|
|
210
package-lock.json
generated
210
package-lock.json
generated
|
@ -55,9 +55,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/compat-data": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz",
|
||||
"integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
|
||||
"integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
|
@ -182,9 +182,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/helper-member-expression-to-functions": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz",
|
||||
"integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
|
||||
"integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.14.5"
|
||||
|
@ -384,9 +384,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.14.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz",
|
||||
"integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
|
||||
"integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
|
@ -410,9 +410,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/traverse": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz",
|
||||
"integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz",
|
||||
"integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.14.5",
|
||||
|
@ -420,7 +420,7 @@
|
|||
"@babel/helper-function-name": "^7.14.5",
|
||||
"@babel/helper-hoist-variables": "^7.14.5",
|
||||
"@babel/helper-split-export-declaration": "^7.14.5",
|
||||
"@babel/parser": "^7.14.5",
|
||||
"@babel/parser": "^7.14.7",
|
||||
"@babel/types": "^7.14.5",
|
||||
"debug": "^4.1.0",
|
||||
"globals": "^11.1.0"
|
||||
|
@ -697,9 +697,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "15.12.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
|
||||
"integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==",
|
||||
"version": "15.12.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz",
|
||||
"integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/parse-json": {
|
||||
|
@ -1023,9 +1023,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.0.tgz",
|
||||
"integrity": "sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==",
|
||||
"version": "8.4.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
|
||||
"integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
|
@ -1411,9 +1411,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001239",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz",
|
||||
"integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==",
|
||||
"version": "1.0.30001240",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001240.tgz",
|
||||
"integrity": "sha512-nb8mDzfMdxBDN7ZKx8chWafAdBp5DAAlpWvNyUGe5tcDWd838zpzDN3Rah9cjCqhfOKkrvx40G2SDtP0qiWX/w==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
@ -1590,9 +1590,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/copy-webpack-plugin": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz",
|
||||
"integrity": "sha512-k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug==",
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz",
|
||||
"integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-glob": "^3.2.5",
|
||||
|
@ -1601,7 +1601,7 @@
|
|||
"normalize-path": "^3.0.0",
|
||||
"p-limit": "^3.1.0",
|
||||
"schema-utils": "^3.0.0",
|
||||
"serialize-javascript": "^5.0.1"
|
||||
"serialize-javascript": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
|
@ -1904,9 +1904,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.3.752",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz",
|
||||
"integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==",
|
||||
"version": "1.3.759",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.759.tgz",
|
||||
"integrity": "sha512-nM76xH0t2FBH5iMEZDVc3S/qbdKjGH7TThezxC8k1Q7w7WHvIAyJh8lAe2UamGfdRqBTjHfPDn82LJ0ksCiB9g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
|
@ -1977,9 +1977,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/es-module-lexer": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
|
||||
"integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.6.0.tgz",
|
||||
"integrity": "sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/escalade": {
|
||||
|
@ -2082,17 +2082,16 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/fast-glob": {
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
|
||||
"integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
|
||||
"version": "3.2.6",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz",
|
||||
"integrity": "sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
"@nodelib/fs.walk": "^1.2.3",
|
||||
"glob-parent": "^5.1.0",
|
||||
"glob-parent": "^5.1.2",
|
||||
"merge2": "^1.3.0",
|
||||
"micromatch": "^4.0.2",
|
||||
"picomatch": "^2.2.1"
|
||||
"micromatch": "^4.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
|
@ -3832,9 +3831,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/serialize-javascript": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
|
||||
"integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
|
||||
"integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"randombytes": "^2.1.0"
|
||||
|
@ -4064,15 +4063,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz",
|
||||
"integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==",
|
||||
"version": "5.1.4",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz",
|
||||
"integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"jest-worker": "^27.0.2",
|
||||
"p-limit": "^3.1.0",
|
||||
"schema-utils": "^3.0.0",
|
||||
"serialize-javascript": "^5.0.1",
|
||||
"serialize-javascript": "^6.0.0",
|
||||
"source-map": "^0.6.1",
|
||||
"terser": "^5.7.0"
|
||||
},
|
||||
|
@ -4432,9 +4431,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack": {
|
||||
"version": "5.39.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.39.1.tgz",
|
||||
"integrity": "sha512-ulOvoNCh2PvTUa+zbpRuEb1VPeQnhxpnHleMPVVCq3QqnaFogjsLyps+o42OviQFoaGtTQYrUqDXu1QNkvUPzw==",
|
||||
"version": "5.40.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.40.0.tgz",
|
||||
"integrity": "sha512-c7f5e/WWrxXWUzQqTBg54vBs5RgcAgpvKE4F4VegVgfo4x660ZxYUF2/hpMkZUnLjgytVTitjeXaN4IPlXCGIw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.0",
|
||||
|
@ -4446,7 +4445,7 @@
|
|||
"browserslist": "^4.14.5",
|
||||
"chrome-trace-event": "^1.0.2",
|
||||
"enhanced-resolve": "^5.8.0",
|
||||
"es-module-lexer": "^0.4.0",
|
||||
"es-module-lexer": "^0.6.0",
|
||||
"eslint-scope": "5.1.1",
|
||||
"events": "^3.2.0",
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
|
@ -4457,7 +4456,7 @@
|
|||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^3.0.0",
|
||||
"tapable": "^2.1.1",
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"terser-webpack-plugin": "^5.1.3",
|
||||
"watchpack": "^2.2.0",
|
||||
"webpack-sources": "^2.3.0"
|
||||
},
|
||||
|
@ -4766,9 +4765,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/yargs-parser": {
|
||||
"version": "20.2.7",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
|
||||
"integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
|
||||
"version": "20.2.9",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
|
||||
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
|
@ -4814,9 +4813,9 @@
|
|||
}
|
||||
},
|
||||
"@babel/compat-data": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz",
|
||||
"integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
|
||||
"integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/core": {
|
||||
|
@ -4911,9 +4910,9 @@
|
|||
}
|
||||
},
|
||||
"@babel/helper-member-expression-to-functions": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz",
|
||||
"integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
|
||||
"integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/types": "^7.14.5"
|
||||
|
@ -5070,9 +5069,9 @@
|
|||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.14.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz",
|
||||
"integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
|
||||
"integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/template": {
|
||||
|
@ -5087,9 +5086,9 @@
|
|||
}
|
||||
},
|
||||
"@babel/traverse": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz",
|
||||
"integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==",
|
||||
"version": "7.14.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz",
|
||||
"integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.14.5",
|
||||
|
@ -5097,7 +5096,7 @@
|
|||
"@babel/helper-function-name": "^7.14.5",
|
||||
"@babel/helper-hoist-variables": "^7.14.5",
|
||||
"@babel/helper-split-export-declaration": "^7.14.5",
|
||||
"@babel/parser": "^7.14.5",
|
||||
"@babel/parser": "^7.14.7",
|
||||
"@babel/types": "^7.14.5",
|
||||
"debug": "^4.1.0",
|
||||
"globals": "^11.1.0"
|
||||
|
@ -5310,9 +5309,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "15.12.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
|
||||
"integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==",
|
||||
"version": "15.12.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz",
|
||||
"integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/parse-json": {
|
||||
|
@ -5598,9 +5597,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"acorn": {
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.0.tgz",
|
||||
"integrity": "sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==",
|
||||
"version": "8.4.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
|
||||
"integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
|
||||
"dev": true
|
||||
},
|
||||
"acorn-class-fields": {
|
||||
|
@ -5857,9 +5856,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001239",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz",
|
||||
"integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==",
|
||||
"version": "1.0.30001240",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001240.tgz",
|
||||
"integrity": "sha512-nb8mDzfMdxBDN7ZKx8chWafAdBp5DAAlpWvNyUGe5tcDWd838zpzDN3Rah9cjCqhfOKkrvx40G2SDtP0qiWX/w==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
|
@ -5998,9 +5997,9 @@
|
|||
}
|
||||
},
|
||||
"copy-webpack-plugin": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz",
|
||||
"integrity": "sha512-k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug==",
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz",
|
||||
"integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-glob": "^3.2.5",
|
||||
|
@ -6009,7 +6008,7 @@
|
|||
"normalize-path": "^3.0.0",
|
||||
"p-limit": "^3.1.0",
|
||||
"schema-utils": "^3.0.0",
|
||||
"serialize-javascript": "^5.0.1"
|
||||
"serialize-javascript": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"schema-utils": {
|
||||
|
@ -6227,9 +6226,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.752",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz",
|
||||
"integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==",
|
||||
"version": "1.3.759",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.759.tgz",
|
||||
"integrity": "sha512-nM76xH0t2FBH5iMEZDVc3S/qbdKjGH7TThezxC8k1Q7w7WHvIAyJh8lAe2UamGfdRqBTjHfPDn82LJ0ksCiB9g==",
|
||||
"dev": true
|
||||
},
|
||||
"emoji-regex": {
|
||||
|
@ -6287,9 +6286,9 @@
|
|||
}
|
||||
},
|
||||
"es-module-lexer": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
|
||||
"integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.6.0.tgz",
|
||||
"integrity": "sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA==",
|
||||
"dev": true
|
||||
},
|
||||
"escalade": {
|
||||
|
@ -6367,17 +6366,16 @@
|
|||
"dev": true
|
||||
},
|
||||
"fast-glob": {
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
|
||||
"integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
|
||||
"version": "3.2.6",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz",
|
||||
"integrity": "sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
"@nodelib/fs.walk": "^1.2.3",
|
||||
"glob-parent": "^5.1.0",
|
||||
"glob-parent": "^5.1.2",
|
||||
"merge2": "^1.3.0",
|
||||
"micromatch": "^4.0.2",
|
||||
"picomatch": "^2.2.1"
|
||||
"micromatch": "^4.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob-parent": {
|
||||
|
@ -7641,9 +7639,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"serialize-javascript": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
|
||||
"integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
|
||||
"integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"randombytes": "^2.1.0"
|
||||
|
@ -7832,15 +7830,15 @@
|
|||
}
|
||||
},
|
||||
"terser-webpack-plugin": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz",
|
||||
"integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==",
|
||||
"version": "5.1.4",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz",
|
||||
"integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jest-worker": "^27.0.2",
|
||||
"p-limit": "^3.1.0",
|
||||
"schema-utils": "^3.0.0",
|
||||
"serialize-javascript": "^5.0.1",
|
||||
"serialize-javascript": "^6.0.0",
|
||||
"source-map": "^0.6.1",
|
||||
"terser": "^5.7.0"
|
||||
},
|
||||
|
@ -8099,9 +8097,9 @@
|
|||
}
|
||||
},
|
||||
"webpack": {
|
||||
"version": "5.39.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.39.1.tgz",
|
||||
"integrity": "sha512-ulOvoNCh2PvTUa+zbpRuEb1VPeQnhxpnHleMPVVCq3QqnaFogjsLyps+o42OviQFoaGtTQYrUqDXu1QNkvUPzw==",
|
||||
"version": "5.40.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.40.0.tgz",
|
||||
"integrity": "sha512-c7f5e/WWrxXWUzQqTBg54vBs5RgcAgpvKE4F4VegVgfo4x660ZxYUF2/hpMkZUnLjgytVTitjeXaN4IPlXCGIw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/eslint-scope": "^3.7.0",
|
||||
|
@ -8113,7 +8111,7 @@
|
|||
"browserslist": "^4.14.5",
|
||||
"chrome-trace-event": "^1.0.2",
|
||||
"enhanced-resolve": "^5.8.0",
|
||||
"es-module-lexer": "^0.4.0",
|
||||
"es-module-lexer": "^0.6.0",
|
||||
"eslint-scope": "5.1.1",
|
||||
"events": "^3.2.0",
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
|
@ -8124,7 +8122,7 @@
|
|||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^3.0.0",
|
||||
"tapable": "^2.1.1",
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"terser-webpack-plugin": "^5.1.3",
|
||||
"watchpack": "^2.2.0",
|
||||
"webpack-sources": "^2.3.0"
|
||||
},
|
||||
|
@ -8327,9 +8325,9 @@
|
|||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "20.2.7",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
|
||||
"integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
|
||||
"version": "20.2.9",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
|
||||
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
|
||||
"dev": true
|
||||
},
|
||||
"yn": {
|
||||
|
|
Loading…
Reference in a new issue