diff --git a/admin/components/ai/ai-config-form.tsx b/admin/app/ai/components/ai-config-form.tsx similarity index 100% rename from admin/components/ai/ai-config-form.tsx rename to admin/app/ai/components/ai-config-form.tsx diff --git a/admin/app/ai/components/index.ts b/admin/app/ai/components/index.ts new file mode 100644 index 000000000..2a7609401 --- /dev/null +++ b/admin/app/ai/components/index.ts @@ -0,0 +1 @@ +export * from "./ai-config-form"; diff --git a/admin/app/ai/layout.tsx b/admin/app/ai/layout.tsx index 64e747a87..61df8ebd9 100644 --- a/admin/app/ai/layout.tsx +++ b/admin/app/ai/layout.tsx @@ -2,7 +2,7 @@ import { ReactNode } from "react"; // layouts -import { AuthLayout } from "@/layouts"; +import { AdminLayout } from "@/layouts"; // lib import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers"; @@ -13,7 +13,7 @@ interface AILayoutProps { const AILayout = ({ children }: AILayoutProps) => ( - {children} + {children} ); diff --git a/admin/app/ai/page.tsx b/admin/app/ai/page.tsx index 764b01c26..71af4a5ba 100644 --- a/admin/app/ai/page.tsx +++ b/admin/app/ai/page.tsx @@ -4,8 +4,8 @@ import useSWR from "swr"; import { observer } from "mobx-react-lite"; import { Loader } from "@plane/ui"; // components -import { InstanceAIForm } from "components/ai"; import { PageHeader } from "@/components/core"; +import { InstanceAIForm } from "./components"; // hooks import { useInstance } from "@/hooks"; diff --git a/admin/components/authentication/authentication-method-card.tsx b/admin/app/authentication/components/common/authentication-method-card.tsx similarity index 100% rename from admin/components/authentication/authentication-method-card.tsx rename to admin/app/authentication/components/common/authentication-method-card.tsx diff --git a/admin/app/authentication/components/common/index.ts b/admin/app/authentication/components/common/index.ts new file mode 100644 index 000000000..0f5713cdb --- /dev/null +++ b/admin/app/authentication/components/common/index.ts @@ -0,0 +1 @@ +export * from "./authentication-method-card"; diff --git a/admin/components/authentication/email-codes/root.tsx b/admin/app/authentication/components/email-config-switch.tsx similarity index 100% rename from admin/components/authentication/email-codes/root.tsx rename to admin/app/authentication/components/email-config-switch.tsx diff --git a/admin/app/authentication/components/index.ts b/admin/app/authentication/components/index.ts new file mode 100644 index 000000000..59760f00d --- /dev/null +++ b/admin/app/authentication/components/index.ts @@ -0,0 +1,3 @@ +export * from "./common"; +export * from "./email-config-switch"; +export * from "./password-config-switch"; diff --git a/admin/components/authentication/password/root.tsx b/admin/app/authentication/components/password-config-switch.tsx similarity index 100% rename from admin/components/authentication/password/root.tsx rename to admin/app/authentication/components/password-config-switch.tsx diff --git a/admin/components/authentication/github/github-config-form.tsx b/admin/app/authentication/github/components/github-config-form.tsx similarity index 100% rename from admin/components/authentication/github/github-config-form.tsx rename to admin/app/authentication/github/components/github-config-form.tsx diff --git a/admin/components/authentication/github/index.ts b/admin/app/authentication/github/components/index.ts similarity index 100% rename from admin/components/authentication/github/index.ts rename to admin/app/authentication/github/components/index.ts diff --git a/admin/components/authentication/github/root.tsx b/admin/app/authentication/github/components/root.tsx similarity index 100% rename from admin/components/authentication/github/root.tsx rename to admin/app/authentication/github/components/root.tsx diff --git a/admin/app/authentication/github/page.tsx b/admin/app/authentication/github/page.tsx index 222571657..6470f812a 100644 --- a/admin/app/authentication/github/page.tsx +++ b/admin/app/authentication/github/page.tsx @@ -7,8 +7,9 @@ import { observer } from "mobx-react-lite"; import useSWR from "swr"; import { Loader, ToggleSwitch, setPromiseToast } from "@plane/ui"; // components -import { AuthenticationMethodCard, InstanceGithubConfigForm } from "components/authentication"; import { PageHeader } from "@/components/core"; +import { AuthenticationMethodCard } from "../components"; +import { InstanceGithubConfigForm } from "./components"; // hooks import { useInstance } from "@/hooks"; // helpers diff --git a/admin/components/authentication/google/google-config-form.tsx b/admin/app/authentication/google/components/google-config-form.tsx similarity index 100% rename from admin/components/authentication/google/google-config-form.tsx rename to admin/app/authentication/google/components/google-config-form.tsx diff --git a/admin/components/authentication/google/index.ts b/admin/app/authentication/google/components/index.ts similarity index 100% rename from admin/components/authentication/google/index.ts rename to admin/app/authentication/google/components/index.ts diff --git a/admin/components/authentication/google/root.tsx b/admin/app/authentication/google/components/root.tsx similarity index 100% rename from admin/components/authentication/google/root.tsx rename to admin/app/authentication/google/components/root.tsx diff --git a/admin/app/authentication/google/page.tsx b/admin/app/authentication/google/page.tsx index 50275aea3..f7fa6e643 100644 --- a/admin/app/authentication/google/page.tsx +++ b/admin/app/authentication/google/page.tsx @@ -6,8 +6,9 @@ import { observer } from "mobx-react-lite"; import useSWR from "swr"; import { Loader, ToggleSwitch, setPromiseToast } from "@plane/ui"; // components -import { AuthenticationMethodCard, InstanceGoogleConfigForm } from "components/authentication"; import { PageHeader } from "@/components/core"; +import { AuthenticationMethodCard } from "../components"; +import { InstanceGoogleConfigForm } from "./components"; // hooks import { useInstance } from "@/hooks"; // icons diff --git a/admin/app/authentication/layout.tsx b/admin/app/authentication/layout.tsx index 30082f442..c6f146ff5 100644 --- a/admin/app/authentication/layout.tsx +++ b/admin/app/authentication/layout.tsx @@ -2,7 +2,7 @@ import { ReactNode } from "react"; // layouts -import { AuthLayout } from "@/layouts"; +import { AdminLayout } from "@/layouts"; // lib import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers"; @@ -13,7 +13,7 @@ interface AuthenticationLayoutProps { const AuthenticationLayout = ({ children }: AuthenticationLayoutProps) => ( - {children} + {children} ); diff --git a/admin/app/authentication/page.tsx b/admin/app/authentication/page.tsx index db8e533ce..59e405608 100644 --- a/admin/app/authentication/page.tsx +++ b/admin/app/authentication/page.tsx @@ -9,13 +9,9 @@ import { Mails, KeyRound } from "lucide-react"; import { Loader, setPromiseToast } from "@plane/ui"; import { TInstanceConfigurationKeys } from "@plane/types"; // components -import { - AuthenticationMethodCard, - EmailCodesConfiguration, - PasswordLoginConfiguration, - GoogleConfiguration, - GithubConfiguration, -} from "components/authentication"; +import { AuthenticationMethodCard, EmailCodesConfiguration, PasswordLoginConfiguration } from "./components"; +import { GoogleConfiguration } from "./google/components"; +import { GithubConfiguration } from "./github/components"; import { PageHeader } from "@/components/core"; // hooks import { useInstance } from "@/hooks"; diff --git a/admin/components/email/email-config-form.tsx b/admin/app/email/components/email-config-form.tsx similarity index 98% rename from admin/components/email/email-config-form.tsx rename to admin/app/email/components/email-config-form.tsx index 12e01b92c..8bcf9346e 100644 --- a/admin/components/email/email-config-form.tsx +++ b/admin/app/email/components/email-config-form.tsx @@ -6,7 +6,7 @@ import { useInstance } from "@/hooks"; import { Button, TOAST_TYPE, ToggleSwitch, setToast } from "@plane/ui"; // components import { ControllerInput, TControllerInputFormField } from "components/common"; -import { SendTestEmailModal } from "./send-test-email-modal"; +import { SendTestEmailModal } from "./test-email-modal"; // types import { IFormattedInstanceConfiguration, TInstanceEmailConfigurationKeys } from "@plane/types"; diff --git a/admin/app/email/components/index.ts b/admin/app/email/components/index.ts new file mode 100644 index 000000000..f06acf7f2 --- /dev/null +++ b/admin/app/email/components/index.ts @@ -0,0 +1,2 @@ +export * from "./email-config-form"; +export * from "./test-email-modal"; diff --git a/admin/components/email/send-test-email-modal.tsx b/admin/app/email/components/test-email-modal.tsx similarity index 100% rename from admin/components/email/send-test-email-modal.tsx rename to admin/app/email/components/test-email-modal.tsx diff --git a/admin/app/email/layout.tsx b/admin/app/email/layout.tsx index f6881fcf3..ce1164ead 100644 --- a/admin/app/email/layout.tsx +++ b/admin/app/email/layout.tsx @@ -2,7 +2,7 @@ import { ReactNode } from "react"; // layouts -import { AuthLayout } from "@/layouts"; +import { AdminLayout } from "@/layouts"; // lib import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers"; @@ -13,7 +13,7 @@ interface EmailLayoutProps { const EmailLayout = ({ children }: EmailLayoutProps) => ( - {children} + {children} ); diff --git a/admin/app/email/page.tsx b/admin/app/email/page.tsx index 88726fb0f..a3b0bed59 100644 --- a/admin/app/email/page.tsx +++ b/admin/app/email/page.tsx @@ -4,8 +4,8 @@ import useSWR from "swr"; import { observer } from "mobx-react-lite"; import { Loader } from "@plane/ui"; // components -import { InstanceEmailForm } from "components/email"; import { PageHeader } from "@/components/core"; +import { InstanceEmailForm } from "./components"; // hooks import { useInstance } from "@/hooks"; diff --git a/admin/components/general/general-form.tsx b/admin/app/general/components/general-config-form.tsx similarity index 97% rename from admin/components/general/general-form.tsx rename to admin/app/general/components/general-config-form.tsx index a5ac0706d..f45876419 100644 --- a/admin/components/general/general-form.tsx +++ b/admin/app/general/components/general-config-form.tsx @@ -8,12 +8,12 @@ import { ControllerInput } from "components/common"; // hooks import { useInstance } from "@/hooks"; -export interface IInstanceGeneralForm { +export interface IGeneralConfigurationForm { instance: IInstance["instance"]; instanceAdmins: IInstanceAdmin[]; } -export const InstanceGeneralForm: FC = (props) => { +export const GeneralConfigurationForm: FC = (props) => { const { instance, instanceAdmins } = props; // hooks const { updateInstanceInfo } = useInstance(); diff --git a/admin/app/general/components/index.ts b/admin/app/general/components/index.ts new file mode 100644 index 000000000..a144f8d63 --- /dev/null +++ b/admin/app/general/components/index.ts @@ -0,0 +1 @@ +export * from "./general-config-form"; \ No newline at end of file diff --git a/admin/app/general/layout.tsx b/admin/app/general/layout.tsx index 2760c0cd3..1761f9689 100644 --- a/admin/app/general/layout.tsx +++ b/admin/app/general/layout.tsx @@ -2,7 +2,7 @@ import { ReactNode } from "react"; // layouts -import { AuthLayout } from "@/layouts"; +import { AdminLayout } from "@/layouts"; // lib import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers"; @@ -13,7 +13,7 @@ interface GeneralLayoutProps { const GeneralLayout = ({ children }: GeneralLayoutProps) => ( - {children} + {children} ); diff --git a/admin/app/general/page.tsx b/admin/app/general/page.tsx index e31e988d4..10429c1c9 100644 --- a/admin/app/general/page.tsx +++ b/admin/app/general/page.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite"; // components import { PageHeader } from "@/components/core"; -import { InstanceGeneralForm } from "@/components/general"; +import { GeneralConfigurationForm } from "./components"; // hooks import { useInstance } from "@/hooks"; @@ -23,7 +23,7 @@ const GeneralPage = observer(() => {
{instance?.instance && instanceAdmins && instanceAdmins?.length > 0 && ( - + )}
diff --git a/admin/components/image/image-config-form.tsx b/admin/app/image/components/image-config-form.tsx similarity index 100% rename from admin/components/image/image-config-form.tsx rename to admin/app/image/components/image-config-form.tsx diff --git a/admin/components/image/index.ts b/admin/app/image/components/index.ts similarity index 100% rename from admin/components/image/index.ts rename to admin/app/image/components/index.ts diff --git a/admin/app/image/layout.tsx b/admin/app/image/layout.tsx index e00ccb07a..4a42facfb 100644 --- a/admin/app/image/layout.tsx +++ b/admin/app/image/layout.tsx @@ -2,7 +2,7 @@ import { ReactNode } from "react"; // layouts -import { AuthLayout } from "@/layouts"; +import { AdminLayout } from "@/layouts"; // lib import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers"; @@ -13,7 +13,7 @@ interface ImageLayoutProps { const ImageLayout = ({ children }: ImageLayoutProps) => ( - {children} + {children} ); diff --git a/admin/app/image/page.tsx b/admin/app/image/page.tsx index a2d715006..68572c519 100644 --- a/admin/app/image/page.tsx +++ b/admin/app/image/page.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react-lite"; import { Loader } from "@plane/ui"; // components import { PageHeader } from "@/components/core"; -import { InstanceImageConfigForm } from "components/image"; +import { InstanceImageConfigForm } from "./components"; // hooks import { useInstance } from "@/hooks"; diff --git a/admin/app/login/components/index.ts b/admin/app/login/components/index.ts new file mode 100644 index 000000000..bdeb387f3 --- /dev/null +++ b/admin/app/login/components/index.ts @@ -0,0 +1 @@ +export * from "./sign-in-form"; diff --git a/admin/components/user-authentication-forms/sign-in.tsx b/admin/app/login/components/sign-in-form.tsx similarity index 100% rename from admin/components/user-authentication-forms/sign-in.tsx rename to admin/app/login/components/sign-in-form.tsx diff --git a/admin/app/login/page.tsx b/admin/app/login/page.tsx index e10f1b0d7..e7edc3fd7 100644 --- a/admin/app/login/page.tsx +++ b/admin/app/login/page.tsx @@ -4,7 +4,7 @@ import { DefaultLayout } from "@/layouts"; // components import { PageHeader } from "@/components/core"; -import { InstanceSignInForm } from "@/components/user-authentication-forms"; +import { InstanceSignInForm } from "./components"; const LoginPage = () => ( <> diff --git a/admin/app/setup/components/index.ts b/admin/app/setup/components/index.ts new file mode 100644 index 000000000..558353b2e --- /dev/null +++ b/admin/app/setup/components/index.ts @@ -0,0 +1 @@ +export * from "./sign-up-form"; diff --git a/admin/components/user-authentication-forms/sign-up.tsx b/admin/app/setup/components/sign-up-form.tsx similarity index 100% rename from admin/components/user-authentication-forms/sign-up.tsx rename to admin/app/setup/components/sign-up-form.tsx diff --git a/admin/app/setup/page.tsx b/admin/app/setup/page.tsx index 42779af9a..641155c85 100644 --- a/admin/app/setup/page.tsx +++ b/admin/app/setup/page.tsx @@ -2,7 +2,7 @@ import { DefaultLayout } from "@/layouts"; // components import { PageHeader } from "@/components/core"; -import { InstanceSignUpForm } from "@/components/user-authentication-forms"; +import { InstanceSignUpForm } from "./components"; const SetupPage = () => ( <> diff --git a/admin/components/ai/index.ts b/admin/components/ai/index.ts deleted file mode 100644 index 8c1763b76..000000000 --- a/admin/components/ai/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./ai-config-form"; \ No newline at end of file diff --git a/admin/components/auth-sidebar/sidebar-dropdown.tsx b/admin/components/auth-sidebar/sidebar-dropdown.tsx index 66dbf95c3..83d1e9bd8 100644 --- a/admin/components/auth-sidebar/sidebar-dropdown.tsx +++ b/admin/components/auth-sidebar/sidebar-dropdown.tsx @@ -1,19 +1,15 @@ "use client"; import { Fragment } from "react"; -// import { useRouter } from "next/navigation"; import { useTheme as useNextTheme } from "next-themes"; import { observer } from "mobx-react-lite"; -// import { mutate } from "swr"; -// components -import { Menu, Transition } from "@headlessui/react"; -// icons import { LogOut, UserCog2, Palette } from "lucide-react"; +import { Menu, Transition } from "@headlessui/react"; +import { Avatar, TOAST_TYPE, setToast } from "@plane/ui"; // hooks import { useTheme, useUser } from "@/hooks"; - -// ui -import { Avatar, TOAST_TYPE, setToast } from "@plane/ui"; +// helpers +import { API_BASE_URL } from "@/helpers/common.helper"; export const SidebarDropdown = observer(() => { // store hooks @@ -97,15 +93,17 @@ export const SidebarDropdown = observer(() => {
- - - Sign out - +
+ + + Sign out + +
diff --git a/admin/components/auth-sidebar/sidebar-menu.tsx b/admin/components/auth-sidebar/sidebar-menu.tsx index 4aab04f80..e7111aea2 100644 --- a/admin/components/auth-sidebar/sidebar-menu.tsx +++ b/admin/components/auth-sidebar/sidebar-menu.tsx @@ -69,12 +69,12 @@ export const SidebarMenu = observer(() => { isActive ? "bg-custom-primary-100/10 text-custom-primary-100" : "text-custom-sidebar-text-200 hover:bg-custom-sidebar-background-80 focus:bg-custom-sidebar-background-80", - isSidebarCollapsed ? "justify-center" : "" + isSidebarCollapsed ? "justify-center" : "w-[260px]" )} > {} {!isSidebarCollapsed && ( -
+
= (props) => { - const { - name, - control, - type, - label, - description, - placeholder, - error, - required, - } = props; + const { name, control, type, label, description, placeholder, error, required } = props; // states const [showPassword, setShowPassword] = useState(false); @@ -81,9 +72,7 @@ export const ControllerInput: React.FC = (props) => { ))}
- {description && ( -

{description}

- )} + {description &&

{description}

}
); }; diff --git a/admin/components/email/index.ts b/admin/components/email/index.ts deleted file mode 100644 index 6ad74f4e8..000000000 --- a/admin/components/email/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./email-config-form"; -export * from "./send-test-email-modal"; diff --git a/admin/components/general/index.ts b/admin/components/general/index.ts deleted file mode 100644 index 18daed803..000000000 --- a/admin/components/general/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./general-form"; \ No newline at end of file diff --git a/admin/components/user-authentication-forms/index.ts b/admin/components/user-authentication-forms/index.ts deleted file mode 100644 index fcf3e7c9a..000000000 --- a/admin/components/user-authentication-forms/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./sign-up"; -export * from "./sign-in"; diff --git a/admin/layouts/auth-layout.tsx b/admin/layouts/admin-layout.tsx similarity index 87% rename from admin/layouts/auth-layout.tsx rename to admin/layouts/admin-layout.tsx index 61d606964..1f8eb647a 100644 --- a/admin/layouts/auth-layout.tsx +++ b/admin/layouts/admin-layout.tsx @@ -2,11 +2,11 @@ import { FC, ReactNode } from "react"; import { InstanceSidebar } from "@/components/auth-sidebar"; import { InstanceHeader } from "@/components/auth-header"; -type TAuthLayout = { +type TAdminLayout = { children: ReactNode; }; -export const AuthLayout: FC = (props) => { +export const AdminLayout: FC = (props) => { const { children } = props; return ( diff --git a/admin/layouts/default-layout.tsx b/admin/layouts/default-layout.tsx index f60258cd6..a798ae055 100644 --- a/admin/layouts/default-layout.tsx +++ b/admin/layouts/default-layout.tsx @@ -2,7 +2,6 @@ import { FC, ReactNode } from "react"; import Image from "next/image"; -import Link from "next/link"; import { usePathname } from "next/navigation"; // logo import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text.png"; diff --git a/admin/layouts/index.ts b/admin/layouts/index.ts index bf6743bc1..5e4a7c023 100644 --- a/admin/layouts/index.ts +++ b/admin/layouts/index.ts @@ -1,2 +1,2 @@ export * from "./default-layout"; -export * from "./auth-layout"; +export * from "./admin-layout"; diff --git a/web/next-env.d.ts b/web/next-env.d.ts index fd36f9494..4f11a03dc 100644 --- a/web/next-env.d.ts +++ b/web/next-env.d.ts @@ -1,6 +1,5 @@ /// /// -/// // NOTE: This file should not be edited // see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/web/next.config.js b/web/next.config.js index 99f1d38c2..daa42402d 100644 --- a/web/next.config.js +++ b/web/next.config.js @@ -42,14 +42,15 @@ const nextConfig = { }, { source: "/god-mode/:path*", - destination: (process.env.GOD_MODE_URL || "") + "/:path*", - } - ] - } + destination: (process.env.NEXT_PUBLIC_GOD_MODE || "") + "/:path*", + }, + ]; + }, }; if (parseInt(process.env.NEXT_PUBLIC_ENABLE_SENTRY || "0", 10)) { - module.exports = withSentryConfig(nextConfig, + module.exports = withSentryConfig( + nextConfig, { silent: true, authToken: process.env.SENTRY_AUTH_TOKEN }, { hideSourceMaps: true } );