diff --git a/admin/app/setup/layout.tsx b/admin/app/setup/layout.tsx
index 07f42cd71..ba889b7ae 100644
--- a/admin/app/setup/layout.tsx
+++ b/admin/app/setup/layout.tsx
@@ -1,19 +1,23 @@
"use client";
import { ReactNode } from "react";
-// lib
-import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers";
// helpers
import { EAuthenticationPageType, EInstancePageType } from "@/helpers";
+// lib
+import { AuthWrapper, InstanceWrapper } from "@/lib/wrappers";
interface SetupLayoutProps {
children: ReactNode;
+ params: any;
}
-const SetupLayout = ({ children }: SetupLayoutProps) => (
-
- {children}
-
-);
-
-export default SetupLayout;
+export default function SetupLayout(props: SetupLayoutProps) {
+ const { children, params } = props;
+ const { error_code } = params;
+ console.log("error_code", error_code);
+ return (
+
+ {children}
+
+ );
+}
diff --git a/admin/app/setup/page.tsx b/admin/app/setup/page.tsx
index 641155c85..1ef22b1f2 100644
--- a/admin/app/setup/page.tsx
+++ b/admin/app/setup/page.tsx
@@ -1,16 +1,19 @@
+import { Metadata } from "next";
// layouts
-import { DefaultLayout } from "@/layouts";
+import { DefaultLayout } from "@/layouts/default-layout";
// components
-import { PageHeader } from "@/components/core";
import { InstanceSignUpForm } from "./components";
-const SetupPage = () => (
- <>
-
-
-
-
- >
-);
+export const metadata: Metadata = {
+ title: "Setup - God Mode",
+};
-export default SetupPage;
+export default function SetupPage() {
+ return (
+ <>
+
+
+
+ >
+ );
+}
diff --git a/admin/components/admin-sidebar/help-section.tsx b/admin/components/admin-sidebar/help-section.tsx
index 84e28c67a..371bb49d8 100644
--- a/admin/components/admin-sidebar/help-section.tsx
+++ b/admin/components/admin-sidebar/help-section.tsx
@@ -1,16 +1,16 @@
"use client";
import { FC, useState, useRef } from "react";
-import Link from "next/link";
import { observer } from "mobx-react-lite";
-import { Transition } from "@headlessui/react";
+import Link from "next/link";
import { ExternalLink, FileText, HelpCircle, MoveLeft } from "lucide-react";
+import { Transition } from "@headlessui/react";
import { DiscordIcon, GithubIcon, Tooltip } from "@plane/ui";
// hooks
+import { WEB_BASE_URL } from "@/helpers/common.helper";
import { useTheme } from "@/hooks/store";
// assets
import packageJson from "package.json";
-import { WEB_BASE_URL } from "@/helpers/common.helper";
const helpOptions = [
{
diff --git a/admin/components/admin-sidebar/root.tsx b/admin/components/admin-sidebar/root.tsx
index 654769924..ff94bf228 100644
--- a/admin/components/admin-sidebar/root.tsx
+++ b/admin/components/admin-sidebar/root.tsx
@@ -3,10 +3,10 @@
import { FC, useEffect, useRef } from "react";
import { observer } from "mobx-react-lite";
// hooks
+import { HelpSection, SidebarMenu, SidebarDropdown } from "@/components/admin-sidebar";
import { useTheme } from "@/hooks/store";
import useOutsideClickDetector from "hooks/use-outside-click-detector";
// components
-import { HelpSection, SidebarMenu, SidebarDropdown } from "@/components/admin-sidebar";
export interface IInstanceSidebar {}
diff --git a/admin/components/admin-sidebar/sidebar-dropdown.tsx b/admin/components/admin-sidebar/sidebar-dropdown.tsx
index f248f852f..f7de3f277 100644
--- a/admin/components/admin-sidebar/sidebar-dropdown.tsx
+++ b/admin/components/admin-sidebar/sidebar-dropdown.tsx
@@ -1,15 +1,15 @@
"use client";
import { Fragment, useEffect, useState } from "react";
-import { useTheme as useNextTheme } from "next-themes";
import { observer } from "mobx-react-lite";
+import { useTheme as useNextTheme } from "next-themes";
import { LogOut, UserCog2, Palette } from "lucide-react";
import { Menu, Transition } from "@headlessui/react";
import { Avatar } from "@plane/ui";
// hooks
+import { API_BASE_URL, cn } from "@/helpers/common.helper";
import { useTheme, useUser } from "@/hooks/store";
// helpers
-import { API_BASE_URL, cn } from "@/helpers/common.helper";
// services
import { AuthService } from "@/services";
diff --git a/admin/components/admin-sidebar/sidebar-menu-hamburger-toogle.tsx b/admin/components/admin-sidebar/sidebar-menu-hamburger-toogle.tsx
index d6ed65541..2e8539488 100644
--- a/admin/components/admin-sidebar/sidebar-menu-hamburger-toogle.tsx
+++ b/admin/components/admin-sidebar/sidebar-menu-hamburger-toogle.tsx
@@ -3,9 +3,9 @@
import { FC } from "react";
import { observer } from "mobx-react-lite";
// hooks
+import { Menu } from "lucide-react";
import { useTheme } from "@/hooks/store";
// icons
-import { Menu } from "lucide-react";
export const SidebarHamburgerToggle: FC = observer(() => {
const { isSidebarCollapsed, toggleSidebar } = useTheme();
diff --git a/admin/components/admin-sidebar/sidebar-menu.tsx b/admin/components/admin-sidebar/sidebar-menu.tsx
index dfb410051..f7c146fa2 100644
--- a/admin/components/admin-sidebar/sidebar-menu.tsx
+++ b/admin/components/admin-sidebar/sidebar-menu.tsx
@@ -1,14 +1,14 @@
"use client";
+import { observer } from "mobx-react-lite";
import Link from "next/link";
import { usePathname } from "next/navigation";
-import { observer } from "mobx-react-lite";
import { Image, BrainCog, Cog, Lock, Mail } from "lucide-react";
import { Tooltip } from "@plane/ui";
// hooks
+import { cn } from "@/helpers/common.helper";
import { useTheme } from "@/hooks/store";
// helpers
-import { cn } from "@/helpers/common.helper";
const INSTANCE_ADMIN_LINKS = [
{
diff --git a/admin/components/auth-header.tsx b/admin/components/auth-header.tsx
index 21871aed4..4becf928f 100644
--- a/admin/components/auth-header.tsx
+++ b/admin/components/auth-header.tsx
@@ -1,16 +1,16 @@
"use client";
import { FC } from "react";
+import { observer } from "mobx-react-lite";
import { usePathname } from "next/navigation";
// mobx
-import { observer } from "mobx-react-lite";
// ui
import { Settings } from "lucide-react";
// icons
import { Breadcrumbs } from "@plane/ui";
// components
-import { BreadcrumbLink } from "components/common";
import { SidebarHamburgerToggle } from "@/components/admin-sidebar";
+import { BreadcrumbLink } from "components/common";
export const InstanceHeader: FC = observer(() => {
const pathName = usePathname();
diff --git a/admin/components/common/controller-input.tsx b/admin/components/common/controller-input.tsx
index d47fe43f9..8f2265954 100644
--- a/admin/components/common/controller-input.tsx
+++ b/admin/components/common/controller-input.tsx
@@ -3,9 +3,9 @@
import React, { useState } from "react";
import { Controller, Control } from "react-hook-form";
// ui
+import { Eye, EyeOff } from "lucide-react";
import { Input } from "@plane/ui";
// icons
-import { Eye, EyeOff } from "lucide-react";
// helpers
import { cn } from "@/helpers/common.helper";
@@ -62,6 +62,7 @@ export const ControllerInput: React.FC
= (props) => {
{type === "password" &&
(showPassword ? (
) : (
- {description}
+ {description}
);
};
diff --git a/admin/components/common/password-strength-meter.tsx b/admin/components/common/password-strength-meter.tsx
index fabb186f9..5cdba30b7 100644
--- a/admin/components/common/password-strength-meter.tsx
+++ b/admin/components/common/password-strength-meter.tsx
@@ -1,10 +1,10 @@
"use client";
// helpers
+import { CircleCheck } from "lucide-react";
import { cn } from "@/helpers/common.helper";
import { getPasswordStrength } from "@/helpers/password.helper";
// icons
-import { CircleCheck } from "lucide-react";
type Props = {
password: string;
diff --git a/admin/components/instance/index.ts b/admin/components/instance/index.ts
index 373ba7057..1f52843a0 100644
--- a/admin/components/instance/index.ts
+++ b/admin/components/instance/index.ts
@@ -1 +1,2 @@
export * from "./instance-not-ready";
+export * from "./instance-failure-view";
diff --git a/admin/components/instance/instance-failure-view.tsx b/admin/components/instance/instance-failure-view.tsx
new file mode 100644
index 000000000..b86750031
--- /dev/null
+++ b/admin/components/instance/instance-failure-view.tsx
@@ -0,0 +1,42 @@
+"use client";
+import { FC } from "react";
+import Image from "next/image";
+import { useTheme } from "next-themes";
+import { Button } from "@plane/ui";
+// assets
+import InstanceFailureDarkImage from "@/public/instance/instance-failure-dark.svg";
+import InstanceFailureImage from "@/public/instance/instance-failure.svg";
+
+type InstanceFailureViewProps = {
+ // mutate: () => void;
+};
+
+export const InstanceFailureView: FC