From cc1894cd9c32c3e59b7309ea3e15136dd30b4dec Mon Sep 17 00:00:00 2001 From: swve Date: Sun, 8 Jun 2025 19:27:11 +0200 Subject: [PATCH] feat: implement script edition and loading on the frontend --- .../dash/org/settings/[subpage]/page.tsx | 8 +- apps/web/app/orgs/[orgslug]/layout.tsx | 2 + .../Pages/Org/OrgEditOther/OrgEditOther.tsx | 282 ++++++++++++++++++ apps/web/components/Footer/Footer.tsx | 20 ++ apps/web/components/OrgScripts/OrgScripts.tsx | 202 +++++++++++++ apps/web/components/ui/tooltip.tsx | 29 ++ apps/web/lib/utils.ts | 4 +- 7 files changed, 544 insertions(+), 3 deletions(-) create mode 100644 apps/web/components/Dashboard/Pages/Org/OrgEditOther/OrgEditOther.tsx create mode 100644 apps/web/components/Footer/Footer.tsx create mode 100644 apps/web/components/OrgScripts/OrgScripts.tsx create mode 100644 apps/web/components/ui/tooltip.tsx diff --git a/apps/web/app/orgs/[orgslug]/dash/org/settings/[subpage]/page.tsx b/apps/web/app/orgs/[orgslug]/dash/org/settings/[subpage]/page.tsx index fc83647c..bf5fde69 100644 --- a/apps/web/app/orgs/[orgslug]/dash/org/settings/[subpage]/page.tsx +++ b/apps/web/app/orgs/[orgslug]/dash/org/settings/[subpage]/page.tsx @@ -1,7 +1,7 @@ 'use client' import BreadCrumbs from '@components/Dashboard/Misc/BreadCrumbs' import { getUriWithOrg } from '@services/config/config' -import { ImageIcon, Info, LockIcon, SearchIcon, TextIcon, LucideIcon, Share2Icon, LayoutDashboardIcon } from 'lucide-react' +import { ImageIcon, Info, LockIcon, SearchIcon, TextIcon, LucideIcon, Share2Icon, LayoutDashboardIcon, CodeIcon } from 'lucide-react' import Link from 'next/link' import React, { useEffect, use } from 'react'; import { motion } from 'framer-motion' @@ -9,6 +9,7 @@ import OrgEditGeneral from '@components/Dashboard/Pages/Org/OrgEditGeneral/OrgEd import OrgEditImages from '@components/Dashboard/Pages/Org/OrgEditImages/OrgEditImages' import OrgEditSocials from '@components/Dashboard/Pages/Org/OrgEditSocials/OrgEditSocials' import OrgEditLanding from '@components/Dashboard/Pages/Org/OrgEditLanding/OrgEditLanding' +import OrgEditOther from '@components/Dashboard/Pages/Org/OrgEditOther/OrgEditOther' export type OrgParams = { subpage: string @@ -26,6 +27,7 @@ const SETTING_TABS: TabItem[] = [ { id: 'landing', label: 'Landing Page', icon: LayoutDashboardIcon }, { id: 'previews', label: 'Images & Previews', icon: ImageIcon }, { id: 'socials', label: 'Socials', icon: Share2Icon }, + { id: 'other', label: 'Other', icon: CodeIcon }, ] function TabLink({ tab, isActive, orgslug }: { @@ -67,6 +69,9 @@ function OrgPage(props: { params: Promise }) { } else if (params.subpage == 'landing') { setH1Label('Landing Page') setH2Label('Customize your organization landing page') + } else if (params.subpage == 'other') { + setH1Label('Other') + setH2Label('Manage additional organization settings') } } @@ -111,6 +116,7 @@ function OrgPage(props: { params: Promise }) { {params.subpage == 'previews' ? : ''} {params.subpage == 'socials' ? : ''} {params.subpage == 'landing' ? : ''} + {params.subpage == 'other' ? : ''} ) diff --git a/apps/web/app/orgs/[orgslug]/layout.tsx b/apps/web/app/orgs/[orgslug]/layout.tsx index 2a6e4014..1c1c4cf6 100644 --- a/apps/web/app/orgs/[orgslug]/layout.tsx +++ b/apps/web/app/orgs/[orgslug]/layout.tsx @@ -5,6 +5,7 @@ import NextTopLoader from 'nextjs-toploader'; import Toast from '@components/Objects/StyledElements/Toast/Toast' import '@styles/globals.css' import Onboarding from '@components/Objects/Onboarding/Onboarding'; +import Footer from "@components/Footer/Footer"; export default function RootLayout( props: { @@ -25,6 +26,7 @@ export default function RootLayout( {children} +