chore: 导入清理前的完整工程状态(含 Capacitor 原生壳,作为回滚备份点)

This commit is contained in:
toor
2026-10-21 11:50:10 +08:00
committed by trae-solo-agent
commit 8ded87a3a8
389 changed files with 52242 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import type { ComputedRef } from 'vue'
import { watch } from 'vue'
import { trackCookEvent } from '~/utils/analytics'
export interface CookFunnelState {
active: boolean
hasIngredients: boolean
results: 'hidden' | 'loading' | 'ready' | 'empty'
}
/** Observe rendered states, so every ingredient entry path shares the same funnel. */
export function useCookFunnel(state: ComputedRef<CookFunnelState>) {
watch(state, (next, previous) => {
if (!next.active)
return
const entering = !previous?.active
if (entering)
trackCookEvent('view_cook')
if (next.hasIngredients && (entering || !previous?.hasIngredients))
trackCookEvent('select_ingredients')
if (entering || next.results !== previous?.results) {
if (next.results === 'ready')
trackCookEvent('view_results')
else if (next.results === 'empty')
trackCookEvent('results_empty')
}
}, { immediate: true, flush: 'post' })
}