Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
Hosted Weblate 2021-04-30 10:49:44 +02:00
commit 793d2c992a
3 changed files with 152 additions and 5 deletions

View file

@ -0,0 +1,139 @@
<template>
<Page @loaded="onPageLoad" actionBarHidden="true">
<GridLayout rows="*, auto" columns="auto, *">
<ListView
colSpan="2"
rowSpan="2"
class="options-list"
for="item in items"
>
<v-template if="$index == 0">
<Label class="pageTitle" :text="'Settings' | L" />
</v-template>
<v-template if="item.type == 'switch'">
<GridLayout columns="auto, *, auto" class="option">
<Label class="ico" :text="icon[item.icon]" />
<StackLayout col="1" verticalAlignment="center">
<Label :text="item.title | L" class="info" />
<Label
v-if="item.subTitle"
:text="item.subTitle | L"
class="sub"
/>
</StackLayout>
<Switch
:color="item.checked ? '#ff5200' : '#adb5bd'"
col="2"
:checked="item.checked"
@checkedChange="item.action"
/>
</GridLayout>
</v-template>
<v-template if="item.type == 'list'">
<GridLayout
columns="auto, *"
class="option"
@touch="touch($event, item.action)"
>
<Label class="ico" :text="icon[item.icon]" />
<StackLayout col="1">
<Label :text="item.title | L" class="info" />
<Label :text="item.subTitle" class="sub" />
</StackLayout>
</GridLayout>
</v-template>
<v-template>
<StackLayout class="listSpace"> </StackLayout>
</v-template>
</ListView>
<GridLayout row="1" class="appbar" rows="*" columns="auto, *">
<Button class="ico" :text="icon.back" @tap="$navigateBack()" />
</GridLayout>
</GridLayout>
</Page>
</template>
<script>
import { Observable } from "@nativescript/core";
import { mapState, mapActions } from "vuex";
import { localize } from "@nativescript/localize";
import ActionDialog from "../modal/ActionDialog.vue";
import * as utils from "~/shared/utils";
export default {
computed: {
...mapState(["icon", "timerDelay", "timerSound", "timerVibrate"]),
items() {
return [
{},
{
type: "list",
icon: "delay",
title: "dlyDur",
subTitle: this.timerDelay,
action: this.showDelayList,
},
{
type: "list",
icon: "sound",
title: "tmrSnd",
subTitle: this.timerSound.title,
action: this.showSoundsList,
},
{
type: "switch",
icon: "vibrate",
title: "tmrvbrt",
checked: this.timerVibrate,
action: this.toggleTimerVibrate,
},
{},
];
},
},
methods: {
...mapActions(["setTimerDelay", "setTimerSound", "setTimerVibrate"]),
onPageLoad(args) {
const page = args.object;
page.bindingContext = new Observable();
},
toggleTimerVibrate({ object }) {
this.setTimerVibrate(object.checked);
},
showDelayList() {
let list = [
...Array.from(Array(4), (_, x) => x + 1),
...Array.from(Array(6), (_, x) => (x + 1) * 5),
].map(
(e, i) => `${e} ${i == 0 ? localize("minute") : localize("minutes")}`
);
this.$showModal(ActionDialog, {
props: {
title: "dlyDur",
list,
},
}).then((dur) => dur && this.setTimerDelay(dur));
},
showSoundsList() {
let tones = utils.getTones();
this.$showModal(ActionDialog, {
props: {
title: "tmrSnd",
list: tones.map((e) => e.title),
},
}).then(
(tone) =>
tone &&
tone !== this.timerSound.title &&
this.setTimerSound(tones.filter((e) => e.title === tone)[0])
);
},
// HELPERS
touch({ object, action }, method) {
object.className = action.match(/down|move/) ? "option fade" : "option";
if (action == "up") method();
},
},
};
</script>

View file

@ -295,11 +295,18 @@
"ntmr": "New timer",
"strtBtn": "START",
"stop": "Stop",
"delay": "Delay",
"tmr": "Timer %s",
"prstBtn": "PRESETS",
"tmrPrsts": "Timer presets",
"fwr": "for which recipe?",
"aTPrst": "Added to presets",
"tmrSnd": "Timer sound",
"tmrvbrt": "Timer vibrate"
"tmrvbrt": "Timer vibrate",
"dlyDur": "Delay duration",
"minute": "minute",
"minutes": "minutes",
"hour": "hour",
"hours": "hours",
"seconds": "seconds"
}

View file

@ -10,16 +10,17 @@ Features:
- Scale your recipe ingredients to serve more or less people
- Get notified of the last time you tried a recipe
- Share your recipe to anyone by any means as a nicely formatted message. You can share the recipe photo too.
- Shake device to view random recipe
- Shake your device to view a random recipe
- Create meal plans
- Import/Export recipes
- Light, Dark and Black themes
- Set cooking timers
- You can Import or Export your data
- Has Light, Dark and Black themes
Highlights:
- 100% free and open-source
- Private by Design
- No permissions required
- No special permissions required
- No annoying ads or pop-ups
Credits: