diff --git a/vue/src/apps/CookbookView/CookbookView.vue b/vue/src/apps/CookbookView/CookbookView.vue
index 4592d5678..5d45c4451 100644
--- a/vue/src/apps/CookbookView/CookbookView.vue
+++ b/vue/src/apps/CookbookView/CookbookView.vue
@@ -53,6 +53,8 @@
@reload="openBook(current_book, true)"
>
+
+
@@ -66,13 +68,14 @@ import { ApiApiFactory } from "@/utils/openapi/api"
import CookbookSlider from "@/components/CookbookSlider"
import LoadingSpinner from "@/components/LoadingSpinner"
import { StandardToasts, ApiMixin } from "@/utils/utils"
+import BottomNavigationBar from "@/components/BottomNavigationBar.vue";
Vue.use(BootstrapVue)
export default {
name: "CookbookView",
mixins: [ApiMixin],
- components: { LoadingSpinner, CookbookSlider },
+ components: { LoadingSpinner, CookbookSlider, BottomNavigationBar },
data() {
return {
cookbooks: [],
diff --git a/vue/src/apps/MealPlanView/MealPlanView.vue b/vue/src/apps/MealPlanView/MealPlanView.vue
index 0866a293f..42bd1657a 100644
--- a/vue/src/apps/MealPlanView/MealPlanView.vue
+++ b/vue/src/apps/MealPlanView/MealPlanView.vue
@@ -223,12 +223,12 @@
{{ $t("Export_To_ICal") }}
-
-
-
+
+
+
+
+
+
@@ -250,6 +250,8 @@
+
+
@@ -272,6 +274,7 @@ import VueCookies from "vue-cookies"
import {ApiMixin, StandardToasts, ResolveUrlMixin} from "@/utils/utils"
import {CalendarView, CalendarMathMixin} from "vue-simple-calendar/src/components/bundle"
import {ApiApiFactory} from "@/utils/openapi/api"
+import BottomNavigationBar from "@/components/BottomNavigationBar.vue";
const {makeToast} = require("@/utils/utils")
@@ -292,6 +295,7 @@ export default {
MealPlanCalenderHeader,
EmojiInput,
draggable,
+ BottomNavigationBar,
},
mixins: [CalendarMathMixin, ApiMixin, ResolveUrlMixin],
data: function () {
diff --git a/vue/src/apps/RecipeSearchView/RecipeSearchView.vue b/vue/src/apps/RecipeSearchView/RecipeSearchView.vue
index c6c2ca6b5..fa9e38a78 100644
--- a/vue/src/apps/RecipeSearchView/RecipeSearchView.vue
+++ b/vue/src/apps/RecipeSearchView/RecipeSearchView.vue
@@ -938,6 +938,8 @@
+
+
@@ -962,6 +964,7 @@ import GenericMultiselect from "@/components/GenericMultiselect"
import RecipeSwitcher from "@/components/Buttons/RecipeSwitcher"
import {ApiApiFactory} from "@/utils/openapi/api"
import {useMealPlanStore} from "@/stores/MealPlanStore";
+import BottomNavigationBar from "@/components/BottomNavigationBar.vue";
Vue.use(VueCookies)
Vue.use(BootstrapVue)
@@ -972,7 +975,7 @@ let UI_COOKIE_NAME = "ui_search_settings"
export default {
name: "RecipeSearchView",
mixins: [ResolveUrlMixin, ApiMixin, ToastMixin],
- components: {GenericMultiselect, RecipeCard, Treeselect, RecipeSwitcher, Multiselect},
+ components: {GenericMultiselect, RecipeCard, Treeselect, RecipeSwitcher, Multiselect, BottomNavigationBar},
data() {
return {
// this.Models and this.Actions inherited from ApiMixin
@@ -1177,6 +1180,9 @@ export default {
},
isMobile: function () { //TODO move to central helper
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
+ },
+ isTouch: function () {
+ return window.matchMedia("(pointer: coarse)").matches
}
},
mounted() {
diff --git a/vue/src/apps/ShoppingListView/ShoppingListView.vue b/vue/src/apps/ShoppingListView/ShoppingListView.vue
index 61c9f5326..9d9594cfb 100644
--- a/vue/src/apps/ShoppingListView/ShoppingListView.vue
+++ b/vue/src/apps/ShoppingListView/ShoppingListView.vue
@@ -1,7 +1,7 @@
{{ $t("OfflineAlert") }}
-
SYNC
+
@@ -589,6 +589,8 @@
+
+
@@ -617,6 +619,7 @@ Vue.use(BootstrapVue)
Vue.use(VueCookies)
let SETTINGS_COOKIE_NAME = "shopping_settings"
import {Workbox} from 'workbox-window';
+import BottomNavigationBar from "@/components/BottomNavigationBar.vue";
export default {
name: "ShoppingListView",
@@ -632,7 +635,8 @@ export default {
CopyToClipboard,
ShoppingModal,
draggable,
- ShoppingSettingsComponent
+ ShoppingSettingsComponent,
+ BottomNavigationBar,
},
data() {
diff --git a/vue/src/components/BottomNavigationBar.vue b/vue/src/components/BottomNavigationBar.vue
new file mode 100644
index 000000000..ae026d7d2
--- /dev/null
+++ b/vue/src/components/BottomNavigationBar.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
\ No newline at end of file