diff --git a/src/app/page.tsx b/src/app/page.tsx
index 8a3eb77..106e7e6 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,5 +1,5 @@
-import type { ReactNode } from 'react';
+import { Screen } from '@/components/page/Top'
-const Home = (): ReactNode =>
this is home
;
+const Top:React.FC = () => ;
-export default Home;
+export default Top;
\ No newline at end of file
diff --git a/src/components/model/LoginButton/hooks/index.ts b/src/components/model/LoginButton/hooks/index.ts
new file mode 100644
index 0000000..0338222
--- /dev/null
+++ b/src/components/model/LoginButton/hooks/index.ts
@@ -0,0 +1,13 @@
+import { useRouter } from 'next/navigation';
+
+type IUseLoginButton = {
+ handleLogin: () => void;
+};
+
+export const useLoginButton = (): IUseLoginButton => {
+ const router = useRouter();
+ const handleLogin = (): void => {
+ router.push('/home');
+ };
+ return { handleLogin };
+};
diff --git a/src/components/model/LoginButton/index.stories.tsx b/src/components/model/LoginButton/index.stories.tsx
new file mode 100644
index 0000000..59c4be6
--- /dev/null
+++ b/src/components/model/LoginButton/index.stories.tsx
@@ -0,0 +1,17 @@
+import { LoginButtonPresentation } from './presentations';
+
+import type { Meta, StoryObj } from '@storybook/react';
+
+const meta: Meta = {
+ component: LoginButtonPresentation,
+ parameters: {
+ layout: 'centered',
+ },
+ tags: ['autodocs'],
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
diff --git a/src/components/model/LoginButton/index.tsx b/src/components/model/LoginButton/index.tsx
new file mode 100644
index 0000000..203c415
--- /dev/null
+++ b/src/components/model/LoginButton/index.tsx
@@ -0,0 +1,3 @@
+import { LoginButtonPresentation } from './presentations';
+
+export const LoginButton: React.FC = () => ;
diff --git a/src/components/model/LoginButton/presentations/index.tsx b/src/components/model/LoginButton/presentations/index.tsx
new file mode 100644
index 0000000..1bbe2aa
--- /dev/null
+++ b/src/components/model/LoginButton/presentations/index.tsx
@@ -0,0 +1,22 @@
+'use client';
+
+import { useLoginButton } from '../hooks';
+
+import { Button } from '@/components/ui/Button';
+import { Typography } from '@/components/ui/Typography';
+
+export const LoginButtonPresentation: React.FC = () => {
+ const { handleLogin } = useLoginButton();
+ return (
+
+ アカウントをお持ちの場合
+
+
+ );
+};
diff --git a/src/components/page/Top/index.stories.tsx b/src/components/page/Top/index.stories.tsx
new file mode 100644
index 0000000..b844da8
--- /dev/null
+++ b/src/components/page/Top/index.stories.tsx
@@ -0,0 +1,19 @@
+import { Screen as Top } from '.';
+
+import type { Meta, StoryObj } from '@storybook/react';
+
+const meta: Meta = {
+ component: Top,
+ parameters: {
+ layout: 'centered',
+ },
+ tags: ['autodocs'],
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {},
+};
\ No newline at end of file
diff --git a/src/components/page/Top/index.tsx b/src/components/page/Top/index.tsx
new file mode 100644
index 0000000..10bb77b
--- /dev/null
+++ b/src/components/page/Top/index.tsx
@@ -0,0 +1,51 @@
+import { BsApple } from 'react-icons/bs';
+import { FcGoogle } from 'react-icons/fc';
+
+import { YIcon } from '@/components/icons/Y';
+import { LoginButton } from '@/components/model/LoginButton';
+import { Button } from '@/components/ui/Button';
+import { Separator } from '@/components/ui/Separator';
+import { Typography } from '@/components/ui/Typography';
+
+export const Screen: React.FC = () => (
+
+
+
+
+
+
+
+ すべての話題が、ここに。
+
+
+
+
+ 今すぐ参加しましょう。
+
+
+
+
+
+
+
+
+
+ または
+
+
+
+
+
+
+
+
+
+);