import type { GrowthTaskItem } from "@/api/light/TreeApi"; import { injectAppConfiguration } from "@/api/system/useAppConfiguration"; import { backAndCallOnPageBack, callPrevOnPageBack, navTo } from "@/components/utils/PageAction"; export function useTaskActions(getVillageId: () => number, topLevelPage = false) { const appConfiguration = injectAppConfiguration(); function handleDoTask(item: GrowthTaskItem) { switch (item.taskType) { case 'collect': case 'post': case 'tree': if (topLevelPage) { callPrevOnPageBack('goVillage', { id: getVillageId(), taskType: item.taskType, }, -1) } else { backAndCallOnPageBack('goVillage', { id: getVillageId(), taskType: item.taskType, }); } break; default: switch (item.taskKey) { case 'share_app': uni.setStorageSync('ShareAppTempEntranceContent', { content: appConfiguration.value.ShareAppTempEntranceContent.content || '', images: appConfiguration.value.ShareAppTempEntranceContent.images || [], title: appConfiguration.value.ShareAppTempEntranceContent.title || '', }); navTo('/pages/home/chat/dependent/post/publish', { entranceContent: 'ShareAppTempEntranceContent', disableAiPops: true, }); break; } break; } } return { handleDoTask, } }