Skip to content

Commit

Permalink
🔨 refactor:将页面模块封装
Browse files Browse the repository at this point in the history
  • Loading branch information
BlackishGreen33 committed Jul 11, 2024
1 parent 8d2f3f6 commit e63d04c
Show file tree
Hide file tree
Showing 17 changed files with 155 additions and 59 deletions.
16 changes: 12 additions & 4 deletions src/app/(auth)/(routes)/sign-in/[[...sign-in]]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import { SignIn } from '@clerk/nextjs';
import { NextPage } from 'next';

export default function Page() {
return <SignIn />;
}
import SignIn from '@/modules/SignIn';

const Page: NextPage = () => {
return (
<>
<SignIn />
</>
);
};

export default Page;
16 changes: 12 additions & 4 deletions src/app/(auth)/(routes)/sign-up/[[...sign-up]]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import { SignUp } from '@clerk/nextjs';
import { NextPage } from 'next';

export default function Page() {
return <SignUp />;
}
import SignUp from '@/modules/SignUp';

const Page: NextPage = () => {
return (
<>
<SignUp />
</>
);
};

export default Page;
60 changes: 9 additions & 51 deletions src/app/(invite)/(routes)/invite/[inviteCode]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,61 +1,19 @@
import { redirectToSignIn } from '@clerk/nextjs/server';
import { redirect } from 'next/navigation';
import { NextPage } from 'next';

import { currentProfile } from '@/common/libs/current-profile';
import { db } from '@/common/libs/db';
import Invite from '@/modules/Invite';

interface InviteCodePageProps {
params: {
inviteCode: string;
};
}

const InviteCodePage = async ({ params }: InviteCodePageProps) => {
const profile = await currentProfile();

if (!profile) {
return redirectToSignIn();
}

if (!params.inviteCode) {
return redirect('/');
}

const existingServer = await db.server.findFirst({
where: {
inviteCode: params.inviteCode,
members: {
some: {
profileId: profile.id,
},
},
},
});

if (existingServer) {
return redirect(`/servers/${existingServer.id}`);
}

const server = await db.server.update({
where: {
inviteCode: params.inviteCode,
},
data: {
members: {
create: [
{
profileId: profile.id,
},
],
},
},
});

if (server) {
return redirect(`/servers/${server.id}`);
}

return null;
const Page: NextPage<InviteCodePageProps> = ({ params }) => {
return (
<>
<Invite inviteCode={params.inviteCode} />
</>
);
};

export default InviteCodePage;
export default Page;
7 changes: 7 additions & 0 deletions src/modules/Channels/components/Channels.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { SignIn as ClerkSignIn } from '@clerk/nextjs';

const Channels: React.FC = () => {
return <ClerkSignIn />;
};

export default Channels;
3 changes: 3 additions & 0 deletions src/modules/Channels/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Channels from './components/Channels';

export default Channels;
7 changes: 7 additions & 0 deletions src/modules/Conversations/components/Conversations.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { SignIn as ClerkSignIn } from '@clerk/nextjs';

const Conversations: React.FC = () => {
return <ClerkSignIn />;
};

export default Conversations;
3 changes: 3 additions & 0 deletions src/modules/Conversations/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Conversations from './components/Conversations';

export default Conversations;
59 changes: 59 additions & 0 deletions src/modules/Invite/components/Invite.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import { redirectToSignIn } from '@clerk/nextjs/server';
import { redirect } from 'next/navigation';

import { currentProfile } from '@/common/libs/current-profile';
import { db } from '@/common/libs/db';

interface InviteProps {
inviteCode: string;
}

const Invite: React.FC<InviteProps> = async ({ inviteCode }) => {
const profile = await currentProfile();

if (!profile) {
return redirectToSignIn();
}

if (!inviteCode) {
return redirect('/');
}

const existingServer = await db.server.findFirst({
where: {
inviteCode: inviteCode,
members: {
some: {
profileId: profile.id,
},
},
},
});

if (existingServer) {
return redirect(`/servers/${existingServer.id}`);
}

const server = await db.server.update({
where: {
inviteCode: inviteCode,
},
data: {
members: {
create: [
{
profileId: profile.id,
},
],
},
},
});

if (server) {
return redirect(`/servers/${server.id}`);
}

return null;
};

export default Invite;
3 changes: 3 additions & 0 deletions src/modules/Invite/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Invite from './components/Invite';

export default Invite;
7 changes: 7 additions & 0 deletions src/modules/Servers/components/Servers.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { SignIn as ClerkSignIn } from '@clerk/nextjs';

const Servers: React.FC = () => {
return <ClerkSignIn />;
};

export default Servers;
3 changes: 3 additions & 0 deletions src/modules/Servers/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Servers from './components/Servers';

export default Servers;
7 changes: 7 additions & 0 deletions src/modules/SetUp/components/SetUp.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { SignIn as ClerkSignIn } from '@clerk/nextjs';

const SetUp: React.FC = () => {
return <ClerkSignIn />;
};

export default SetUp;
3 changes: 3 additions & 0 deletions src/modules/SetUp/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import SetUp from './components/SetUp';

export default SetUp;
7 changes: 7 additions & 0 deletions src/modules/SignIn/components/SignIn.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { SignIn as ClerkSignIn } from '@clerk/nextjs';

const SignIn: React.FC = () => {
return <ClerkSignIn />;
};

export default SignIn;
3 changes: 3 additions & 0 deletions src/modules/SignIn/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import SignIn from './components/SignIn';

export default SignIn;
7 changes: 7 additions & 0 deletions src/modules/SignUp/components/SignUp.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { SignUp as ClerkSignUp } from '@clerk/nextjs';

const SignUp: React.FC = () => {
return <ClerkSignUp />;
};

export default SignUp;
3 changes: 3 additions & 0 deletions src/modules/SignUp/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import SignUp from './components/SignUp';

export default SignUp;

0 comments on commit e63d04c

Please sign in to comment.