-
+
你要先选食材或工具哦~
-
+
-
+
-
- 还没有完美匹配的菜谱呢……
+
+
还没有完美匹配的菜谱呢……
- 大胆尝试一下,或者
- 换个组合?
+
大胆尝试一下,或者
+
+ 换个组合
+
+
?
-
欢迎来
+
+
欢迎来
这里
- 反馈新的菜谱!
-
-
+
反馈新的菜谱!
+
+
diff --git a/components/RecipePanelTitle.vue b/components/RecipePanelTitle.vue
new file mode 100644
index 0000000..8e42486
--- /dev/null
+++ b/components/RecipePanelTitle.vue
@@ -0,0 +1,5 @@
+
+
+ 🍲 来看看组合出的菜谱吧!
+
+
diff --git a/components/WrapperMd.vue b/components/WrapperMd.vue
deleted file mode 100644
index dd537b9..0000000
--- a/components/WrapperMd.vue
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- {{ frontmatter?.title }}
-
-
-
-
diff --git a/composables/recipe.ts b/composables/recipe.ts
new file mode 100644
index 0000000..ddc36cf
--- /dev/null
+++ b/composables/recipe.ts
@@ -0,0 +1,19 @@
+import recipeData from '~/data/recipe.json'
+import type { RecipeItem, Recipes } from '~/types'
+
+export function useRandomRecipe() {
+ const randomRecipe = ref
()
+ function random() {
+ randomRecipe.value = generateRandomRecipe(recipeData as Recipes)
+ }
+
+ onMounted(() => {
+ random()
+ })
+
+ return {
+ random,
+
+ randomRecipe,
+ }
+}
diff --git a/composables/store/recipe.ts b/composables/store/recipe.ts
index b8b063b..c3188bb 100644
--- a/composables/store/recipe.ts
+++ b/composables/store/recipe.ts
@@ -4,18 +4,11 @@ import { computed, ref } from 'vue'
import { useGtm } from '@gtm-support/vue-gtm'
import recipeData from '../../data/recipe.json'
import type { StuffItem } from '../../data/food'
-import type { RecipeItem, Recipes } from '~/types'
+import type { Recipes } from '~/types'
const namespace = 'cook'
-/**
- * 生成随机菜谱
- * @param recipes
- * @returns
- */
-function generateRandomRecipe(recipes: Recipes) {
- return recipes[Math.floor(Math.random() * recipes.length)]
-}
+const recipes = recipeData as Recipes
/**
* survival: 生存模式
@@ -25,7 +18,6 @@ function generateRandomRecipe(recipes: Recipes) {
export type SearchMode = 'survival' | 'loose' | 'strict'
export const useRecipeStore = defineStore('recipe', () => {
- const recipes = recipeData as Recipes
const gtm = useGtm()
/**
@@ -37,13 +29,12 @@ export const useRecipeStore = defineStore('recipe', () => {
const curStuff = useStorage(`${namespace}:stuff`, new Set())
// const curTools = ref(new Set())
const curTool = useStorage(`${namespace}:tool`, '')
+ const curMode = useStorage(`${namespace}:mode`, 'loose')
const selectedStuff = computed(() => Array.from(curStuff.value))
// const selectedTools = computed(() => Array.from(curTools.value))
// const selectedTools = ref('')
- const curMode = useStorage(`${namespace}:mode`, 'loose')
-
function toggleStuff(name: string) {
if (!curStuff.value)
return
@@ -81,8 +72,6 @@ export const useRecipeStore = defineStore('recipe', () => {
curStuff.value.add(name)
}
- const randomRecipe = ref(generateRandomRecipe(recipes))
-
// 默认严格模式
const displayedRecipe = computed(() => {
if (keyword.value)
@@ -152,9 +141,6 @@ export const useRecipeStore = defineStore('recipe', () => {
curMode,
selectedStuff,
- randomRecipe,
- random: () => { randomRecipe.value = generateRandomRecipe(recipes) },
-
clearKeyWord: () => { keyword.value = '' },
toggleStuff,
toggleTools,
diff --git a/pages/index.vue b/pages/index.vue
index 2fdae66..17681e4 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -3,8 +3,8 @@ const rStore = useRecipeStore()
-