diff --git a/dashboard/components/layout/TopNavigation.vue b/dashboard/components/layout/TopNavigation.vue
new file mode 100644
index 0000000..a5a6c8b
--- /dev/null
+++ b/dashboard/components/layout/TopNavigation.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/CVerticalNavigation.vue b/dashboard/components/layout/VerticalNavigation.vue
similarity index 99%
rename from dashboard/components/CVerticalNavigation.vue
rename to dashboard/components/layout/VerticalNavigation.vue
index 29bd410..66ade6c 100644
--- a/dashboard/components/CVerticalNavigation.vue
+++ b/dashboard/components/layout/VerticalNavigation.vue
@@ -1,6 +1,6 @@
+
+
+
+
+
+
+
+
+
![Litlyx logo]()
+
+
{{ option }}
+
+
+
+
+
+
+
![Litlyx logo]()
+
+
+ {{ domain || '-' }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/components/ProjectSelector.vue b/dashboard/components/selector/ProjectSelector.vue
similarity index 100%
rename from dashboard/components/ProjectSelector.vue
rename to dashboard/components/selector/ProjectSelector.vue
diff --git a/dashboard/composables/useDomain.ts b/dashboard/composables/useDomain.ts
new file mode 100644
index 0000000..8f33297
--- /dev/null
+++ b/dashboard/composables/useDomain.ts
@@ -0,0 +1,36 @@
+
+
+const { token } = useAccessToken();
+const { projectId } = useProject();
+
+const domainsRequest = useFetch<{ _id: string }[]>('/api/domains/list', {
+ headers: computed(() => {
+ return {
+ 'Authorization': `Bearer ${token.value}`,
+ 'x-pid': projectId.value || ''
+ }
+ })
+});
+
+const domainList = computed(() => {
+ return domainsRequest.data.value?.map(e => e._id);
+})
+
+const activeDomain = ref();
+
+const domain = computed(() => {
+ if (activeDomain.value) return activeDomain.value;
+ if (!domainList.value) return;
+ if (domainList.value.length == 0) return;
+ activeDomain.value = domainList.value[0];
+ return domainList.value[0];
+})
+
+function setActiveDomain(domain: string) {
+ activeDomain.value = domain;
+}
+
+export function useDomain() {
+
+ return { domainList, domain, setActiveDomain }
+}
\ No newline at end of file
diff --git a/dashboard/layouts/dashboard.vue b/dashboard/layouts/dashboard.vue
index e9fa1e1..cc15f5c 100644
--- a/dashboard/layouts/dashboard.vue
+++ b/dashboard/layouts/dashboard.vue
@@ -1,6 +1,6 @@