refactor: update interceptor section in settings page
This commit is contained in:
@@ -36,16 +36,6 @@
|
|||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
|
||||||
<div class="flex items-center">
|
|
||||||
<HoppSmartToggle
|
|
||||||
:on="extensionEnabled"
|
|
||||||
@change="extensionEnabled = !extensionEnabled"
|
|
||||||
>
|
|
||||||
{{ t("settings.extensions_use_toggle") }}
|
|
||||||
</HoppSmartToggle>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
@@ -55,34 +45,12 @@ import IconCheckCircle from "~icons/lucide/check-circle"
|
|||||||
import { useI18n } from "@composables/i18n"
|
import { useI18n } from "@composables/i18n"
|
||||||
import { ExtensionInterceptorService } from "~/platform/std/interceptors/extension"
|
import { ExtensionInterceptorService } from "~/platform/std/interceptors/extension"
|
||||||
import { useService } from "dioc/vue"
|
import { useService } from "dioc/vue"
|
||||||
import { computed } from "vue"
|
|
||||||
import { InterceptorService } from "~/services/interceptor.service"
|
|
||||||
import { platform } from "~/platform"
|
|
||||||
|
|
||||||
const t = useI18n()
|
const t = useI18n()
|
||||||
|
|
||||||
const interceptorService = useService(InterceptorService)
|
|
||||||
const extensionService = useService(ExtensionInterceptorService)
|
const extensionService = useService(ExtensionInterceptorService)
|
||||||
|
|
||||||
const extensionVersion = extensionService.extensionVersion
|
const extensionVersion = extensionService.extensionVersion
|
||||||
const hasChromeExtInstalled = extensionService.chromeExtensionInstalled
|
const hasChromeExtInstalled = extensionService.chromeExtensionInstalled
|
||||||
const hasFirefoxExtInstalled = extensionService.firefoxExtensionInstalled
|
const hasFirefoxExtInstalled = extensionService.firefoxExtensionInstalled
|
||||||
|
|
||||||
const extensionEnabled = computed({
|
|
||||||
get() {
|
|
||||||
return (
|
|
||||||
interceptorService.currentInterceptorID.value ===
|
|
||||||
extensionService.interceptorID
|
|
||||||
)
|
|
||||||
},
|
|
||||||
set(active) {
|
|
||||||
if (active) {
|
|
||||||
interceptorService.currentInterceptorID.value =
|
|
||||||
extensionService.interceptorID
|
|
||||||
} else {
|
|
||||||
interceptorService.currentInterceptorID.value =
|
|
||||||
platform.interceptors.default
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -8,16 +8,6 @@
|
|||||||
:label="t('app.proxy_privacy_policy')"
|
:label="t('app.proxy_privacy_policy')"
|
||||||
/>.
|
/>.
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-4 py-4">
|
|
||||||
<div class="flex items-center">
|
|
||||||
<HoppSmartToggle
|
|
||||||
:on="proxyEnabled"
|
|
||||||
@change="proxyEnabled = !proxyEnabled"
|
|
||||||
>
|
|
||||||
{{ t("settings.proxy_use_toggle") }}
|
|
||||||
</HoppSmartToggle>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex items-center space-x-2 py-4">
|
<div class="flex items-center space-x-2 py-4">
|
||||||
<HoppSmartInput
|
<HoppSmartInput
|
||||||
v-model="PROXY_URL"
|
v-model="PROXY_URL"
|
||||||
@@ -50,7 +40,6 @@ import { computed } from "vue"
|
|||||||
import { useService } from "dioc/vue"
|
import { useService } from "dioc/vue"
|
||||||
import { InterceptorService } from "~/services/interceptor.service"
|
import { InterceptorService } from "~/services/interceptor.service"
|
||||||
import { proxyInterceptor } from "~/platform/std/interceptors/proxy"
|
import { proxyInterceptor } from "~/platform/std/interceptors/proxy"
|
||||||
import { platform } from "~/platform"
|
|
||||||
|
|
||||||
const t = useI18n()
|
const t = useI18n()
|
||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
@@ -59,23 +48,11 @@ const interceptorService = useService(InterceptorService)
|
|||||||
|
|
||||||
const PROXY_URL = useSetting("PROXY_URL")
|
const PROXY_URL = useSetting("PROXY_URL")
|
||||||
|
|
||||||
const proxyEnabled = computed({
|
const proxyEnabled = computed(
|
||||||
get() {
|
() =>
|
||||||
return (
|
interceptorService.currentInterceptorID.value ===
|
||||||
interceptorService.currentInterceptorID.value ===
|
proxyInterceptor.interceptorID
|
||||||
proxyInterceptor.interceptorID
|
)
|
||||||
)
|
|
||||||
},
|
|
||||||
set(active) {
|
|
||||||
if (active) {
|
|
||||||
interceptorService.currentInterceptorID.value =
|
|
||||||
proxyInterceptor.interceptorID
|
|
||||||
} else {
|
|
||||||
interceptorService.currentInterceptorID.value =
|
|
||||||
platform.interceptors.default
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const clearIcon = refAutoReset<typeof IconRotateCCW | typeof IconCheck>(
|
const clearIcon = refAutoReset<typeof IconRotateCCW | typeof IconCheck>(
|
||||||
IconRotateCCW,
|
IconRotateCCW,
|
||||||
|
|||||||
@@ -98,6 +98,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-8 p-8 md:col-span-2">
|
<div class="space-y-8 p-8 md:col-span-2">
|
||||||
|
<AppInterceptor />
|
||||||
<section v-for="[id, settings] in interceptorsWithSettings" :key="id">
|
<section v-for="[id, settings] in interceptorsWithSettings" :key="id">
|
||||||
<h4 class="font-semibold text-secondaryDark">
|
<h4 class="font-semibold text-secondaryDark">
|
||||||
{{ settings.entryTitle(t) }}
|
{{ settings.entryTitle(t) }}
|
||||||
|
|||||||
Reference in New Issue
Block a user