From a680200c02b0ddd0cb740674541872e6276e805e Mon Sep 17 00:00:00 2001 From: Harald Mack Date: Wed, 23 Oct 2024 16:01:57 +0200 Subject: [PATCH] add admin stuff to userlandingpage --- .../lib/components/Admin/AdminSection.svelte | 56 +++++++++++++++++++ .../Admin/EditUserQuestionModal.svelte | 23 ++++---- .../Researcher/ResearcherSection.svelte | 0 .../src/lib/components/UserLandingPage.svelte | 27 ++++++++- frontend/src/lib/stores/componentStore.ts | 7 ++- 5 files changed, 98 insertions(+), 15 deletions(-) create mode 100644 frontend/src/lib/components/Admin/AdminSection.svelte create mode 100644 frontend/src/lib/components/Researcher/ResearcherSection.svelte diff --git a/frontend/src/lib/components/Admin/AdminSection.svelte b/frontend/src/lib/components/Admin/AdminSection.svelte new file mode 100644 index 00000000..69b67592 --- /dev/null +++ b/frontend/src/lib/components/Admin/AdminSection.svelte @@ -0,0 +1,56 @@ + + + + +{#if !adminUser.value || !adminUser.value.is_superuser} +
+ +
+{:else} + + +
+ + {$_('admin.milestones')} +
+ +
+ +
+ + {$_('admin.user-questions')} +
+ +
+ +
+ + {$_('admin.translations')} +
+ +
+ +
+ + {$_('admin.languages')} +
+ +
+
+{/if} diff --git a/frontend/src/lib/components/Admin/EditUserQuestionModal.svelte b/frontend/src/lib/components/Admin/EditUserQuestionModal.svelte index 780f524b..cad5108d 100644 --- a/frontend/src/lib/components/Admin/EditUserQuestionModal.svelte +++ b/frontend/src/lib/components/Admin/EditUserQuestionModal.svelte @@ -1,27 +1,27 @@ diff --git a/frontend/src/lib/components/Researcher/ResearcherSection.svelte b/frontend/src/lib/components/Researcher/ResearcherSection.svelte new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/lib/components/UserLandingPage.svelte b/frontend/src/lib/components/UserLandingPage.svelte index 4dd25e0f..999956b2 100644 --- a/frontend/src/lib/components/UserLandingPage.svelte +++ b/frontend/src/lib/components/UserLandingPage.svelte @@ -3,17 +3,22 @@ import { currentUser } from '$lib/stores/userStore'; import { TabItem, Tabs } from 'flowbite-svelte'; import { GridPlusSolid, ProfileCardSolid } from 'flowbite-svelte-icons'; + import { onDestroy } from 'svelte'; import { get } from 'svelte/store'; import UserVerify from './UserVerify.svelte'; - import { onDestroy } from 'svelte'; - console.log('user: ', get(currentUser)); const isVerifed = get(currentUser)?.is_verified; let currentPersonal = 'userDataInput'; let currentChildren = 'childrenGallery'; + let adminSection = 'adminSection'; + let researchSection = 'researcherSection'; export let userData: any[]; + // const unsubscribeUser = currentUser.subscribe((value) => { + // currentUser.update(value); + // }); + const unsubscribePersonal = activeTabPersonal.subscribe((value) => { currentPersonal = value; }); @@ -45,6 +50,24 @@ + {#if get(currentUser)?.is_superuser} + +
+ + Administration +
+ +
+ {/if} + {#if get(currentUser)?.is_researcher} + +
+ + Wissenschaft +
+ +
+ {/if} {:else} diff --git a/frontend/src/lib/stores/componentStore.ts b/frontend/src/lib/stores/componentStore.ts index 7ec39cd5..faf7ffba 100644 --- a/frontend/src/lib/stores/componentStore.ts +++ b/frontend/src/lib/stores/componentStore.ts @@ -5,7 +5,8 @@ import Milestone from '$lib/components/Milestone.svelte'; import MilestoneGroup from '$lib/components/MilestoneGroup.svelte'; import MilestoneOverview from '$lib/components/MilestoneOverview.svelte'; import UserDataInput from '$lib/components/UserDataInput.svelte'; - +import AdminSection from '$lib/components/Admin/AdminSection.svelte'; +import ResearcherSection from '$lib/components/Researcher/ResearcherSection.svelte'; import { Fileupload, Input, MultiSelect, Select, Textarea } from 'flowbite-svelte'; import { writable } from 'svelte/store'; @@ -22,7 +23,9 @@ export const componentTable = { multiSelect: MultiSelect, select: Select, fileupload: Fileupload, - textarea: Textarea + textarea: Textarea, + researcherSection: ResearcherSection, + adminSection: AdminSection }; export const activeTabPersonal = writable('userDataInput'); export const activeTabChildren = writable('childrenGallery');