From 0551750e923f19d1fa3c862d747b2052f102f784 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Wed, 1 Apr 2026 22:22:17 +0900
Subject: [PATCH 1/8] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EA=B8=B0=EB=B3=B8=20SEO=20=EB=A9=94?=
=?UTF-8?q?=ED=83=80=20=ED=83=9C=EA=B7=B8=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.html | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/index.html b/index.html
index db1fe31..6e5eff4 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,34 @@
-
seed
+ 과제 고민 끝, 대학생 맞춤형 AI 프롬프트 가이드 - SEED
+
+
+
+
+
+
+
+
+
+
+
+
From 22b3f0aeb439fb473924ed357b984cd0a185a616 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Wed, 1 Apr 2026 23:13:15 +0900
Subject: [PATCH 2/8] =?UTF-8?q?refactor:=20=EB=9E=9C=EB=94=A9=20=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20=EC=9E=85?=
=?UTF-8?q?=EB=A0=A5=20=EC=84=B9=EC=85=98=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/main/MainPage.tsx | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx
index 9759b01..a9edb4e 100644
--- a/src/pages/main/MainPage.tsx
+++ b/src/pages/main/MainPage.tsx
@@ -2,11 +2,7 @@ import { useState } from "react";
import { Box, Button, Flex, HStack, Text, VStack } from "@chakra-ui/react";
-import {
- AssignmentHelpSection,
- ExecutionOnlySection,
- SendEmailSection,
-} from "@/features";
+import { AssignmentHelpSection, ExecutionOnlySection } from "@/features";
import { CheckIcon, CopyIcon, SparklesIcon } from "@/shared";
export default function MainPage() {
@@ -21,10 +17,10 @@ export default function MainPage() {
w="full"
>
-
-
Date: Wed, 1 Apr 2026 23:14:20 +0900
Subject: [PATCH 3/8] =?UTF-8?q?refactor:=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20S?=
=?UTF-8?q?endEmailSection=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/features/main/ui/SendEmailSection.tsx | 87 -----------------------
src/features/main/ui/index.ts | 1 -
2 files changed, 88 deletions(-)
delete mode 100644 src/features/main/ui/SendEmailSection.tsx
diff --git a/src/features/main/ui/SendEmailSection.tsx b/src/features/main/ui/SendEmailSection.tsx
deleted file mode 100644
index c1fbc88..0000000
--- a/src/features/main/ui/SendEmailSection.tsx
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Button, Flex, Input, Text, VStack } from "@chakra-ui/react";
-
-import { CheckIcon } from "@/shared";
-
-import { useSendEmail } from "../hooks";
-
-export const SendEmailSection = () => {
- const {
- email,
- setEmail,
- submitStatus,
- errorMessage,
- submitWaitlistEmail,
- submitOnEnter,
- } = useSendEmail();
-
- return (
-
- {submitStatus === "success" ? (
-
-
-
- 알림 신청이 완료되었습니다!
-
-
- ) : (
- <>
-
-
- 이메일
-
- setEmail(e.target.value)}
- onKeyDown={submitOnEnter}
- />
- {submitStatus === "error" && (
-
- {errorMessage}
-
- )}
-
-
-
-
-
- >
- )}
-
- );
-};
diff --git a/src/features/main/ui/index.ts b/src/features/main/ui/index.ts
index 1c17ab9..b4b94f4 100644
--- a/src/features/main/ui/index.ts
+++ b/src/features/main/ui/index.ts
@@ -1,3 +1,2 @@
export { AssignmentHelpSection } from "./AssignmentHelpSection";
export { ExecutionOnlySection } from "./ExecutionOnlySection";
-export * from "./SendEmailSection";
From a89787a17c762685a1c2ff88dbf48710fc90a07d Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Wed, 1 Apr 2026 23:15:38 +0900
Subject: [PATCH 4/8] =?UTF-8?q?refactor:=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20u?=
=?UTF-8?q?seSendEmail=20=ED=9B=85=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/features/main/hooks/index.ts | 1 -
src/features/main/hooks/useSendEmail.ts | 54 -------------------------
2 files changed, 55 deletions(-)
delete mode 100644 src/features/main/hooks/useSendEmail.ts
diff --git a/src/features/main/hooks/index.ts b/src/features/main/hooks/index.ts
index 1644c00..a305f4b 100644
--- a/src/features/main/hooks/index.ts
+++ b/src/features/main/hooks/index.ts
@@ -5,4 +5,3 @@ export * from "./useExecutionOnlySectionState";
export * from "./useSolutionTimelineProgress";
export * from "./useObservedHeight";
export * from "./useWaitList";
-export * from "./useSendEmail";
diff --git a/src/features/main/hooks/useSendEmail.ts b/src/features/main/hooks/useSendEmail.ts
deleted file mode 100644
index f1152d2..0000000
--- a/src/features/main/hooks/useSendEmail.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { useRef, useState } from "react";
-import type React from "react";
-
-import { useWaitList } from "./useWaitList";
-
-type SubmitStatus = "idle" | "loading" | "success" | "error";
-
-export const useSendEmail = () => {
- const [email, setEmail] = useState("");
- const [submitStatus, setSubmitStatus] = useState("idle");
- const [errorMessage, setErrorMessage] = useState("");
-
- const isSubmittingRef = useRef(false);
-
- const { submit } = useWaitList();
-
- const submitWaitlistEmail = async () => {
- const trimmedEmail = email.trim();
- if (!trimmedEmail || isSubmittingRef.current) return;
-
- isSubmittingRef.current = true;
- setSubmitStatus("loading");
- setErrorMessage("");
-
- try {
- const result = await submit(trimmedEmail);
-
- if (!result.success) {
- setErrorMessage(
- result.errorMessage ??
- "오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
- );
- setSubmitStatus("error");
- } else {
- setSubmitStatus("success");
- }
- } finally {
- isSubmittingRef.current = false;
- }
- };
-
- const submitOnEnter = (e: React.KeyboardEvent) => {
- if (e.key === "Enter") submitWaitlistEmail();
- };
-
- return {
- email,
- setEmail,
- submitStatus,
- errorMessage,
- submitWaitlistEmail,
- submitOnEnter,
- };
-};
From d3a8582ab89e881af665e6f4af9466321309287a Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Wed, 1 Apr 2026 23:17:18 +0900
Subject: [PATCH 5/8] =?UTF-8?q?refactor:=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20u?=
=?UTF-8?q?seWaitList=20=ED=9B=85=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/features/main/hooks/index.ts | 1 -
src/features/main/hooks/useWaitList.ts | 41 --------------------------
2 files changed, 42 deletions(-)
delete mode 100644 src/features/main/hooks/useWaitList.ts
diff --git a/src/features/main/hooks/index.ts b/src/features/main/hooks/index.ts
index a305f4b..bb5fa09 100644
--- a/src/features/main/hooks/index.ts
+++ b/src/features/main/hooks/index.ts
@@ -4,4 +4,3 @@ export * from "./usePhraseCloudMotion";
export * from "./useExecutionOnlySectionState";
export * from "./useSolutionTimelineProgress";
export * from "./useObservedHeight";
-export * from "./useWaitList";
diff --git a/src/features/main/hooks/useWaitList.ts b/src/features/main/hooks/useWaitList.ts
deleted file mode 100644
index f81020f..0000000
--- a/src/features/main/hooks/useWaitList.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { FunctionsHttpError } from "@supabase/supabase-js";
-
-import { supabase } from "@/shared";
-
-type WaitlistSubmitResult = {
- success: boolean;
- errorMessage?: string;
-};
-
-export const useWaitList = () => {
- const submit = async (email: string): Promise => {
- try {
- const { error } = await supabase.functions.invoke("notify-waitlist", {
- body: { email },
- });
-
- if (error) {
- let message = "오류가 발생했습니다. 잠시 후 다시 시도해주세요.";
- try {
- if (error instanceof FunctionsHttpError) {
- const body = await error.context.json();
- if (body?.error) message = body.error;
- }
- } catch (e) {
- console.error("Error parsing error message:", e);
- }
- return { success: false, errorMessage: message };
- }
-
- return { success: true };
- } catch (e) {
- console.error("useWaitList submit 중 예기치 않은 오류 발생:", e);
- return {
- success: false,
- errorMessage: "오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
- };
- }
- };
-
- return { submit };
-};
From 1c10c683cfedc617bed58f5805e761e3eb5b8fb4 Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Wed, 1 Apr 2026 23:26:03 +0900
Subject: [PATCH 6/8] =?UTF-8?q?feat:=20=EB=9E=9C=EB=94=A9=20=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20CTA=EC=99=80=20=ED=95=98=EB=8B=A8=20?=
=?UTF-8?q?=EC=84=B9=EC=85=98=20=EA=B0=84=EA=B2=A9=20=EA=B0=9C=EC=84=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/main/MainPage.tsx | 45 ++++++++++++++++++++++++++++---------
1 file changed, 35 insertions(+), 10 deletions(-)
diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx
index a9edb4e..7827690 100644
--- a/src/pages/main/MainPage.tsx
+++ b/src/pages/main/MainPage.tsx
@@ -1,12 +1,14 @@
import { useState } from "react";
+import { useNavigate } from "react-router";
import { Box, Button, Flex, HStack, Text, VStack } from "@chakra-ui/react";
import { AssignmentHelpSection, ExecutionOnlySection } from "@/features";
-import { CheckIcon, CopyIcon, SparklesIcon } from "@/shared";
+import { CheckIcon, CopyIcon, ROUTE_PATHS, SparklesIcon } from "@/shared";
export default function MainPage() {
const [isSolutionSectionReady, setIsSolutionSectionReady] = useState(false);
+ const navigate = useNavigate();
return (
@@ -17,10 +19,10 @@ export default function MainPage() {
w="full"
>
+
+
+
+
-
+
@@ -331,7 +356,7 @@ export default function MainPage() {
display="flex"
h="100dvh"
justifyContent="center"
- py={11}
+ py={{ base: 16, md: 20, lg: 24 }}
w="full"
>
From 88db7cd066bc79964c8a36a0295cf0a13f09b8bd Mon Sep 17 00:00:00 2001
From: TTOCHIwas <95687307+TTOCHIwas@users.noreply.github.com>
Date: Thu, 2 Apr 2026 18:53:28 +0900
Subject: [PATCH 7/8] =?UTF-8?q?fix:=20=EB=A9=94=EC=9D=B8=20=ED=8E=98?=
=?UTF-8?q?=EC=9D=B4=EC=A7=80=20SEO=20=EB=A9=94=ED=83=80=EC=99=80=20?=
=?UTF-8?q?=EB=9E=9C=EB=94=A9=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20?=
=?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EB=B0=98=EC=98=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.html | 10 ++++++++--
src/pages/main/MainPage.tsx | 4 ++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/index.html b/index.html
index 6e5eff4..db8151b 100644
--- a/index.html
+++ b/index.html
@@ -18,7 +18,10 @@
property="og:description"
content="수만 개의 성공적인 프롬프트 데이터로 당신의 과제에 딱 맞는 로드맵을 제시합니다. 원클릭 복사로 논문, 레포트 등 완벽한 결과물을 만들어보세요."
/>
-
+
@@ -31,7 +34,10 @@
name="twitter:description"
content="수만 개의 성공적인 프롬프트 데이터로 당신의 과제에 딱 맞는 로드맵을 제시합니다. 원클릭 복사로 논문, 레포트 등 완벽한 결과물을 만들어보세요."
/>
-
+
diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx
index 7827690..ce886fd 100644
--- a/src/pages/main/MainPage.tsx
+++ b/src/pages/main/MainPage.tsx
@@ -87,7 +87,7 @@ export default function MainPage() {
Date: Sat, 4 Apr 2026 09:01:50 +0900
Subject: [PATCH 8/8] =?UTF-8?q?chore:=20=EA=B5=AC=EA=B8=80=20=EC=82=AC?=
=?UTF-8?q?=EC=9D=B4=ED=8A=B8=20=EC=86=8C=EC=9C=A0=EA=B6=8C=20=EC=9D=B8?=
=?UTF-8?q?=EC=A6=9D=20=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/googlefdf77e33a4cf56c6.html | 1 +
1 file changed, 1 insertion(+)
create mode 100644 public/googlefdf77e33a4cf56c6.html
diff --git a/public/googlefdf77e33a4cf56c6.html b/public/googlefdf77e33a4cf56c6.html
new file mode 100644
index 0000000..81d4520
--- /dev/null
+++ b/public/googlefdf77e33a4cf56c6.html
@@ -0,0 +1 @@
+google-site-verification: googlefdf77e33a4cf56c6.html
\ No newline at end of file