new selfhosted version

This commit is contained in:
antonio
2025-11-28 14:11:51 +01:00
parent afda29997d
commit 951860f67e
1046 changed files with 72586 additions and 574750 deletions

View File

@@ -1,49 +1,50 @@
<script lang="ts" setup>
definePageMeta({ layout: 'dashboard' });
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
const selfhosted = useSelfhosted();
definePageMeta({ layout: 'sidebar' });
const items = [
{ label: 'General', slot: 'general', tab: 'general' },
{ label: 'Domains', slot: 'domains', tab: 'domains' },
{ label: 'Billing', slot: 'billing', tab: 'billing' },
{ label: 'Codes', slot: 'codes', tab: 'codes' },
{ label: 'Account', slot: 'account', tab: 'account' }
]
const route = useRoute();
const router = useRouter();
const activeTab = ref<string>(route.query.tab?.toString() ?? 'general');
router.push({ query: { tab: activeTab.value } });
watch(activeTab, () => {
router.push({ query: { tab: activeTab.value } });
})
const projectStore = useProjectStore();
</script>
<template>
<div class="lg:px-10 h-full lg:py-8 overflow-hidden hide-scrollbars">
<Unauthorized v-if="!projectStore.isOwner" authorization="Guest user limitation Workspace Settings">
</Unauthorized>
<div v-else class="poppins">
<PageHeader title="Settings"
description="Manage domains, preferences and controls to customize this workspace." />
<Tabs v-model="activeTab" class="w-full mt-4">
<div class="poppins font-semibold text-[1.3rem] lg:px-0 px-4 lg:py-0 py-4"> Settings </div>
<TabsList class="w-full mb-4">
<TabsTrigger value="general">
General
</TabsTrigger>
<TabsTrigger value="domains">
Domains
</TabsTrigger>
</TabsList>
<CustomTab :items="items" :route="true" class="mt-8">
<template #general>
<SettingsGeneral :key="refreshKey"></SettingsGeneral>
</template>
<template #domains>
<SettingsData :key="refreshKey"></SettingsData>
</template>
<template #billing>
<SettingsBilling v-if="!selfhosted" :key="refreshKey"></SettingsBilling>
<div class="flex popping text-[1.2rem] font-semibold justify-center mt-[20vh] text-lyx-lightmode-text dark:text-lyx-text"
v-if="selfhosted">
Billing disabled in self-host mode
</div>
</template>
<template #codes>
<SettingsCodes v-if="!selfhosted" :key="refreshKey"></SettingsCodes>
<div class="flex popping text-[1.2rem] font-semibold justify-center mt-[20vh] text-lyx-lightmode-text dark:text-lyx-text"
v-if="selfhosted">
Codes disabled in self-host mode
</div>
</template>
<template #account>
<SettingsAccount :key="refreshKey"></SettingsAccount>
</template>
</CustomTab>
<TabsContent value="general">
<LazySettingsGeneral></LazySettingsGeneral>
</TabsContent>
<TabsContent value="domains">
<LazySettingsDomains></LazySettingsDomains>
</TabsContent>
</Tabs>
</div>
</template>