From cefd9081ae4592d852ec9a13179a48b0d8eb86a2 Mon Sep 17 00:00:00 2001 From: Arno Kaimbacher Date: Fri, 15 Dec 2023 17:17:33 +0100 Subject: [PATCH] - add AvatarController.ts - adapted menu.ts, NavBar.vue, NavBarItem.vue for highlighting active nav item - NavBarItemLabel.vue for app menu highlighting - adapted routes.ts - adapted app.edge for new favicon - adapted LayoutAuthenticated.vue (:showAsideMenu="false") for showing AsideMenu optional - new material icons: BriefcaseCheck.vue, SwapHorizontal.vue, AccountGroup.vue, Lock.vue - started with FirstRunWizard --- app/Controllers/Http/Api/AvatarController.ts | 65 ++++++++++++ public/favicon.png | Bin 0 -> 17974 bytes .../FirstrunWizard/components/Card.vue | 96 ++++++++++++++++++ .../FirstrunWizard/components/Page1.vue | 56 ++++++++++ .../FirstrunWizard/components/pageStyles.css | 31 ++++++ .../js/Components/Icons/AccountGroup.vue | 31 ++++++ .../js/Components/Icons/BriefcaseCheck.vue | 31 ++++++ resources/js/Components/Icons/Lock.vue | 31 ++++++ .../js/Components/Icons/SwapHorizontal.vue | 30 ++++++ resources/js/Components/NavBar.vue | 79 +++++++++----- resources/js/Components/NavBarItem.vue | 83 ++++++++++++--- resources/js/Components/NavBarItemLabel.vue | 90 +++++++++++++++- resources/js/Components/UserAvatar.vue | 88 +++++++++++++++- resources/js/Layouts/LayoutAuthenticated.vue | 42 ++++---- resources/js/Pages/Admin/Role/Create.vue | 4 +- resources/js/Pages/Admin/Role/Edit.vue | 4 +- resources/js/Pages/Admin/Role/Index.vue | 10 +- resources/js/Pages/Admin/Role/Show.vue | 2 +- resources/js/Pages/Admin/User/Create.vue | 6 +- resources/js/Pages/Admin/User/Edit.vue | 4 +- resources/js/Pages/Admin/User/Index.vue | 8 +- resources/js/Pages/Admin/User/Show.vue | 2 +- resources/js/Pages/Dashboard.vue | 2 +- resources/js/Pages/Editor/Dataset/Index.vue | 2 +- resources/js/Pages/Map.vue | 6 +- .../js/Pages/Submitter/Dataset/Index.vue | 2 +- resources/js/menu.ts | 64 +++++++----- resources/views/app.edge | 4 +- start/routes.ts | 14 ++- start/routes/api.ts | 2 + wiki/raw/organigram_geosphere_tethys.png | Bin 122077 -> 0 bytes 31 files changed, 763 insertions(+), 126 deletions(-) create mode 100644 app/Controllers/Http/Api/AvatarController.ts create mode 100644 public/favicon.png create mode 100644 resources/js/Components/FirstrunWizard/components/Card.vue create mode 100644 resources/js/Components/FirstrunWizard/components/Page1.vue create mode 100644 resources/js/Components/FirstrunWizard/components/pageStyles.css create mode 100644 resources/js/Components/Icons/AccountGroup.vue create mode 100644 resources/js/Components/Icons/BriefcaseCheck.vue create mode 100644 resources/js/Components/Icons/Lock.vue create mode 100644 resources/js/Components/Icons/SwapHorizontal.vue delete mode 100644 wiki/raw/organigram_geosphere_tethys.png diff --git a/app/Controllers/Http/Api/AvatarController.ts b/app/Controllers/Http/Api/AvatarController.ts new file mode 100644 index 0000000..9678184 --- /dev/null +++ b/app/Controllers/Http/Api/AvatarController.ts @@ -0,0 +1,65 @@ +import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'; +import { StatusCodes } from 'http-status-codes'; +// import * as fs from 'fs'; +// import * as path from 'path'; + +const prefixes = ['von', 'van']; + +// node ace make:controller Author +export default class AvatarController { + public async generateAvatar({ request, response }: HttpContextContract) { + try { + const { name, background, textColor, size } = request.only(['name', 'background', 'textColor', 'size']); + + // Generate initials + // const initials = name + // .split(' ') + // .map((part) => part.charAt(0).toUpperCase()) + // .join(''); + const initials = this.getInitials(name); + + // Define SVG content with dynamic values for initials, background color, text color, and size + const svgContent = ` + + + ${initials} + + `; + + // Set response headers for SVG content + response.header('Content-type', 'image/svg+xml'); + response.header('Cache-Control', 'no-cache'); + response.header('Pragma', 'no-cache'); + response.header('Expires', '0'); + + return response.send(svgContent); + } catch (error) { + return response.status(StatusCodes.OK).json({ error: error.message }); + } + } + + private getInitials(name) { + const parts = name.split(' '); + let initials = ''; + + if (parts.length >= 2) { + const firstName = parts[0]; + const lastName = parts[parts.length - 1]; + + const firstInitial = firstName.charAt(0).toUpperCase(); + const lastInitial = lastName.charAt(0).toUpperCase(); + + if (prefixes.includes(lastName.toLowerCase()) && lastName === lastName.toUpperCase()) { + initials = firstInitial + lastName.charAt(1).toUpperCase(); + } else { + initials = firstInitial + lastInitial; + } + } else if (parts.length === 1) { + initials = parts[0].substring(0, 2).toUpperCase(); + } + + return initials; + } +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d3eb5928953b2e07e55fe308334eceb6f3c324 GIT binary patch literal 17974 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 literal 0 HcmV?d00001 diff --git a/resources/js/Components/FirstrunWizard/components/Card.vue b/resources/js/Components/FirstrunWizard/components/Card.vue new file mode 100644 index 0000000..c3ecfbf --- /dev/null +++ b/resources/js/Components/FirstrunWizard/components/Card.vue @@ -0,0 +1,96 @@ + + + + + + diff --git a/resources/js/Components/FirstrunWizard/components/Page1.vue b/resources/js/Components/FirstrunWizard/components/Page1.vue new file mode 100644 index 0000000..df9667b --- /dev/null +++ b/resources/js/Components/FirstrunWizard/components/Page1.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/resources/js/Components/FirstrunWizard/components/pageStyles.css b/resources/js/Components/FirstrunWizard/components/pageStyles.css new file mode 100644 index 0000000..2d1bc56 --- /dev/null +++ b/resources/js/Components/FirstrunWizard/components/pageStyles.css @@ -0,0 +1,31 @@ +.page { + &__wrapper { + display: flex; + flex-direction: column; + justify-content: space-between; + min-height: min(520px, 50vh); + } + + &__scroller { + overflow-y: scroll; + margin-top: calc(var(--default-grid-baseline) * 8); + } + + &__heading { + text-align: center; + } + + &__subtitle { + max-width: 450px; + margin: auto; + text-align: center; + } + + &__content { + display: flex; + flex-wrap: wrap; + gap: calc(var(--default-grid-baseline) * 6); + justify-content: center; + margin: calc(var(--default-grid-baseline) * 10) 0; + } +} diff --git a/resources/js/Components/Icons/AccountGroup.vue b/resources/js/Components/Icons/AccountGroup.vue new file mode 100644 index 0000000..e11cc4f --- /dev/null +++ b/resources/js/Components/Icons/AccountGroup.vue @@ -0,0 +1,31 @@ + + + \ No newline at end of file diff --git a/resources/js/Components/Icons/BriefcaseCheck.vue b/resources/js/Components/Icons/BriefcaseCheck.vue new file mode 100644 index 0000000..cfbee6a --- /dev/null +++ b/resources/js/Components/Icons/BriefcaseCheck.vue @@ -0,0 +1,31 @@ + + + \ No newline at end of file diff --git a/resources/js/Components/Icons/Lock.vue b/resources/js/Components/Icons/Lock.vue new file mode 100644 index 0000000..b1efa96 --- /dev/null +++ b/resources/js/Components/Icons/Lock.vue @@ -0,0 +1,31 @@ + + + \ No newline at end of file diff --git a/resources/js/Components/Icons/SwapHorizontal.vue b/resources/js/Components/Icons/SwapHorizontal.vue new file mode 100644 index 0000000..77054f1 --- /dev/null +++ b/resources/js/Components/Icons/SwapHorizontal.vue @@ -0,0 +1,30 @@ + + + \ No newline at end of file diff --git a/resources/js/Components/NavBar.vue b/resources/js/Components/NavBar.vue index f8d4a36..dce8a4d 100644 --- a/resources/js/Components/NavBar.vue +++ b/resources/js/Components/NavBar.vue @@ -19,12 +19,15 @@ import { mdiCloudDownloadOutline, mdiCloud, mdiCrop, - mdiAccount, - mdiCogOutline, - mdiEmail, + mdiAccountCog, + mdiFormatListGroup , + mdiFormatListNumbered, + // mdiEmail, mdiLogout, mdiGithub, mdiThemeLightDark, + mdiViewDashboard, + mdiMapSearch } from '@mdi/js'; import NavBarItem from '@/Components/NavBarItem.vue'; import NavBarItemLabel from '@/Components/NavBarItemLabel.vue'; @@ -32,20 +35,25 @@ import NavBarMenu from '@/Components/NavBarMenu.vue'; import BaseDivider from '@/Components/BaseDivider.vue'; import UserAvatarCurrentUser from '@/Components/UserAvatarCurrentUser.vue'; import BaseIcon from '@/Components/BaseIcon.vue'; -import NavBarSearch from '@/Components/NavBarSearch.vue'; +// import NavBarSearch from '@/Components/NavBarSearch.vue'; import { stardust } from '@eidellev/adonis-stardust/client'; import type { User } from '@/Dataset'; +// import FirstrunWizard from '@/Components/FirstrunWizard/FirstrunWizard.vue' +import Lock from 'vue-material-design-icons/Lock.vue' +// import BriefcaseCheck from 'vue-material-design-icons/BriefcaseCheck.vue' +// import SwapHorizontal from 'vue-material-design-icons/SwapHorizontal.vue' +// import AccountGroup from 'vue-material-design-icons/AccountGroup.vue' // const mainStore = MainService(); // const userName = computed(() =>mainStore.userName); const styleService = StyleService(); -// const props = defineProps({ -// user: { -// type: Object, -// default: () => ({}), -// } -// }); +const props = defineProps({ + showBurger: { + type: Boolean, + default: true // Set default value to true + } +}); // const userName = computed(() => usePage().props.user.login) const user: ComputedRef = computed(() => { @@ -80,32 +88,41 @@ const logout = async () => { // router.post(route('logout')); await router.post(stardust.route('logout')); }; +