feat: add bug report

This commit is contained in:
wancat committed 2024-08-02 20:54:38 +08:00
1 parent d959ab22fe
commit d2bb079f50
3 files changed
+34 -14

No files matched your search

+15 -9
View File
@@ -2,7 +2,7 @@
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useToast } from 'vue-toastification' import { useToast } from 'vue-toastification'
import useSession from '../../store/session' import useSession from '../../store/session'
import { openQuestSurvey } from '../../utils/formbricks' import { openBugReport, openQuestSurvey } from '../../utils/formbricks'
const router = useRouter() const router = useRouter()
const sessionStore = useSession() const sessionStore = useSession()
@@ -21,9 +21,7 @@ const continuePlay = async () => {
</script> </script>
<template> <template>
<section <section class="mt-2 flex flex-row gap-3 justify-center">
class="h-fit w-fit px-1 py-1 grid grid-cols-4 gap-2 place-content-between"
>
<button <button
id="survey" id="survey"
class="bg-bg-secondary rounded-lg p-2" class="bg-bg-secondary rounded-lg p-2"
@@ -33,21 +31,29 @@ const continuePlay = async () => {
:icon="['fas', 'file-invoice']" :icon="['fas', 'file-invoice']"
class="text-text-primary px-1" class="text-text-primary px-1"
/> />
<p class="text-text-primary inline ml-1 md:flex">問卷</p> <p class="text-text-primary inline md:flex">問卷</p>
</button> </button>
<button disabled id="solution" class="bg-bg-disabled rounded-lg p-2"> <button
title="Bug Report"
@click="openBugReport"
class="bg-bg-secondary rounded-lg p-2"
>
<font-awesome-icon :icon="['fas', 'bug']" class="text-text-primary" />
<p class="text-text-primary inline ml-1 md:flex">回報</p>
</button>
<!-- <button disabled id="solution" class="bg-bg-disabled rounded-lg p-2">
<font-awesome-icon <font-awesome-icon
:icon="['far', 'circle-question']" :icon="['far', 'circle-question']"
class="text-text-disabled px-1" class="text-text-disabled px-1"
/> />
<p class="text-text-disabled inline ml-1 md:flex">解答</p> <p class="text-text-disabled inline ml-1 md:flex">解答</p>
</button> </button> -->
<button id="reset" class="bg-bg-secondary rounded-lg p-2" @click="reset"> <button id="reset" class="bg-bg-secondary rounded-lg p-2" @click="reset">
<font-awesome-icon <font-awesome-icon
:icon="['fas', 'arrow-rotate-left']" :icon="['fas', 'arrow-rotate-left']"
class="text-text-primary px-1" class="text-text-primary px-1"
/> />
<p class="text-text-primary inline ml-1 hidden md:flex">重來</p> <p class="text-text-primary inline ml-1 md:flex">重來</p>
</button> </button>
<button <button
id="continue" id="continue"
@@ -58,7 +64,7 @@ const continuePlay = async () => {
:icon="['far', 'circle-right']" :icon="['far', 'circle-right']"
class="text-text-primary px-1" class="text-text-primary px-1"
/> />
<p class="text-text-primary inline ml-1 hidden md:flex">繼續</p> <p class="text-text-primary inline ml-1 md:flex">繼續</p>
</button> </button>
</section> </section>
</template> </template>
@@ -3,7 +3,8 @@ import { onMounted } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useToast } from 'vue-toastification' import { useToast } from 'vue-toastification'
import { logout } from '../../utils/auth' import { logout } from '../../utils/auth'
import { bugReportUrl, surveyUrl } from '../../config' import { surveyUrl } from '../../config'
import { openBugReport } from '../../utils/formbricks'
import useSession from '../../store/session' import useSession from '../../store/session'
import useUserProfile from '../../store/userProfile' import useUserProfile from '../../store/userProfile'
@@ -84,15 +85,14 @@ onMounted(async () => {
<font-awesome-icon :icon="['fas', 'map']" class="text-text-primary" /> <font-awesome-icon :icon="['fas', 'map']" class="text-text-primary" />
<span class="text-text sm:hidden px-2">Map</span> <span class="text-text sm:hidden px-2">Map</span>
</RouterLink> </RouterLink>
<a <button
title="Bug Report" title="Bug Report"
:href="bugReportUrl" @click="openBugReport"
target="_blank"
class="md:h-5 md:w-5 px-1.5 w-auto" class="md:h-5 md:w-5 px-1.5 w-auto"
> >
<font-awesome-icon :icon="['fas', 'bug']" class="text-text-primary" /> <font-awesome-icon :icon="['fas', 'bug']" class="text-text-primary" />
<span class="text-text sm:hidden px-2">Bug Report</span> <span class="text-text sm:hidden px-2">Bug Report</span>
</a> </button>
<button <button
title="Sign Out" title="Sign Out"
@click="handleLogout" @click="handleLogout"
+14
View File
@@ -23,4 +23,18 @@ export function openQuestSurvey() {
}) })
} }
export function openBugReport() {
const sessionStore = useSession()
const userStore = useUserProfile()
formbricks.track('bug_report', {
hiddenFields: {
quest: sessionStore.questId,
session: sessionStore.session?._id,
username: userStore.username,
email: userStore.email,
},
})
}
export default formbricks export default formbricks