+
+
+ {t('brief_title')}
+
+ {t('brief_introduction')}
+
+
+
+ {t('step_1')}
+
+
+ );
+}
+
+export default Step1;
diff --git a/packages/console/src/pages/Organizations/Guide/index.module.scss b/packages/console/src/pages/Organizations/Guide/index.module.scss
new file mode 100644
index 000000000..71998aae6
--- /dev/null
+++ b/packages/console/src/pages/Organizations/Guide/index.module.scss
@@ -0,0 +1,16 @@
+@use '@/scss/underscore' as _;
+
+.modalContainer {
+ height: 100vh;
+ width: 100vw;
+ display: flex;
+ flex-direction: column;
+ background: var(--color-base);
+
+ .content {
+ flex: 1;
+ overflow: hidden;
+ width: 100%;
+ padding: _.unit(6);
+ }
+}
diff --git a/packages/console/src/pages/Organizations/Guide/index.tsx b/packages/console/src/pages/Organizations/Guide/index.tsx
new file mode 100644
index 000000000..0b85dad4b
--- /dev/null
+++ b/packages/console/src/pages/Organizations/Guide/index.tsx
@@ -0,0 +1,57 @@
+import { useCallback, useState } from 'react';
+import Modal from 'react-modal';
+
+import ActionBar from '@/components/ActionBar';
+import Button from '@/ds-components/Button';
+import DsModalHeader from '@/ds-components/ModalHeader';
+import OverlayScrollbar from '@/ds-components/OverlayScrollbar';
+import useTenantPathname from '@/hooks/use-tenant-pathname';
+import * as modalStyles from '@/scss/modal.module.scss';
+
+import Step1 from './Step1';
+import * as styles from './index.module.scss';
+
+const totalSteps = 3;
+
+function Guide() {
+ const { navigate } = useTenantPathname();
+ const [currentStep, setCurrentStep] = useState(1);
+
+ const onClose = useCallback(() => {
+ navigate('/organizations');
+ }, [navigate]);
+
+ const onClickNext = useCallback(() => {
+ setCurrentStep(Math.min(currentStep + 1, totalSteps));
+ }, [currentStep]);
+
+ const onClickBack = useCallback(() => {
+ setCurrentStep(Math.max(1, currentStep - 1));
+ }, [currentStep]);
+
+ return (
+