From fd484e152cea83954ff050c7c6498a0fd39eb96d Mon Sep 17 00:00:00 2001 From: Taegwan Youn Date: Sun, 29 Jun 2025 14:47:39 +0900 Subject: [PATCH 1/3] chore: merge --- src/pages/project-insert/ui/ProjectInsertPage.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/pages/project-insert/ui/ProjectInsertPage.tsx b/src/pages/project-insert/ui/ProjectInsertPage.tsx index 0ba2364..5e2d61e 100644 --- a/src/pages/project-insert/ui/ProjectInsertPage.tsx +++ b/src/pages/project-insert/ui/ProjectInsertPage.tsx @@ -1,5 +1,5 @@ import type { CSSObject } from "@emotion/react"; -import { Button, Container } from "@mui/material"; +import { Container } from "@mui/material"; import type { ContainerProps } from "@mui/material/Container"; import type { Theme } from "@mui/material/styles"; import { styled } from "@mui/material/styles"; @@ -9,14 +9,14 @@ import HoneyTipBox from "@pages/project-insert/ui/HoneyTipBox"; import StepBox from "@pages/project-insert/ui/StepBox"; import TopTitle from "@pages/project-insert/ui/TopTitle"; -import useProjectInsert from "@features/projects/hooks/useProjectInsertForm"; +import useProjectInsertForm from "@features/projects/hooks/useProjectInsertForm"; import Step1 from "@features/projects/ui/project-insert/Step1"; import Step2 from "@features/projects/ui/project-insert/Step2"; import Step3 from "@features/projects/ui/project-insert/Step3"; import Step4 from "@features/projects/ui/project-insert/Step4"; const ProjectInsertPage = (): JSX.Element => { - const { currentStep, updateForm, goPrevPageforTest } = useProjectInsert(); + const { currentStep, updateForm } = useProjectInsertForm(); return ( @@ -28,10 +28,6 @@ const ProjectInsertPage = (): JSX.Element => { {currentStep === 3 && } {currentStep === 4 && } - - ); From bed976633c7fd1cf10a8a883bc3f0b1170111e09 Mon Sep 17 00:00:00 2001 From: Taegwan Youn Date: Sun, 29 Jun 2025 15:07:45 +0900 Subject: [PATCH 2/3] =?UTF-8?q?style:=20footer=20=EB=B0=98=EC=9D=91?= =?UTF-8?q?=ED=98=95=20style=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/ui/DevelopersDropdown.tsx | 8 ++++---- src/widgets/Footer/Footer.tsx | 20 +++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/shared/ui/DevelopersDropdown.tsx b/src/shared/ui/DevelopersDropdown.tsx index 9b02b05..87a1f7a 100644 --- a/src/shared/ui/DevelopersDropdown.tsx +++ b/src/shared/ui/DevelopersDropdown.tsx @@ -25,7 +25,7 @@ export default function DevelopersDropdown(): JSX.Element { const [open, setOpen] = useState(false); const [hover, setHover] = useState(false); const theme = useTheme(); - const isMobile = useMediaQuery(theme.breakpoints.down("sm")); + const isMobile = useMediaQuery(theme.breakpoints.down("md")); const isActive = open || hover; @@ -102,7 +102,7 @@ const DropdownTitle = styled(Box)<{ $active?: boolean }>( color: "#23294a", marginBottom: 8, transform: $active ? "scale(1.04)" : "scale(1)", - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { padding: "12px 8px", gap: 8, }, @@ -114,7 +114,7 @@ const DropdownTitleCenter = styled(Box)(({ theme }) => ({ alignItems: "center", flex: 1, justifyContent: "center", - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { gap: 4, }, })); @@ -127,7 +127,7 @@ const DropdownTitleText = styled(Typography, { color: $active ? "#2563eb" : "#888", letterSpacing: "0.2rem", transition: "color 0.2s", - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { fontSize: 15, }, })); diff --git a/src/widgets/Footer/Footer.tsx b/src/widgets/Footer/Footer.tsx index 1f3fec5..43ee2e4 100644 --- a/src/widgets/Footer/Footer.tsx +++ b/src/widgets/Footer/Footer.tsx @@ -144,10 +144,10 @@ const FooterContent = styled(Box)(({ theme }) => ({ alignItems: "flex-start", justifyContent: "space-between", gap: theme.spacing(2), - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { flexDirection: "column", - alignItems: "flex-start", - gap: theme.spacing(1), + alignItems: "center", + gap: theme.spacing(2), }, })); @@ -157,10 +157,11 @@ const LogoSection = styled(Box)(({ theme }) => ({ justifyContent: "space-between", gap: 8, height: "100%", - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { alignItems: "center", width: "100%", flexDirection: "column", + alignSelf: "center", }, })); @@ -169,7 +170,7 @@ const InfoSection = styled(Box)(({ theme }) => ({ minWidth: 200, marginLeft: 16, marginTop: 52, - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { marginTop: 0, marginLeft: 0, textAlign: "center", @@ -181,9 +182,11 @@ const NavSection = styled(Box)(({ theme }) => ({ alignItems: "center", gap: 16, marginTop: 16, - [theme.breakpoints.down("sm")]: { + [theme.breakpoints.down("md")]: { width: "100%", justifyContent: "center", + alignSelf: "center", + marginTop: 8, }, })); @@ -191,9 +194,12 @@ const DevelopersSection = styled(Box)(({ theme }) => ({ display: "flex", alignItems: "center", gap: 16, - [theme.breakpoints.down("sm")]: { + alignSelf: "flex-start", + + [theme.breakpoints.down("md")]: { width: "100%", justifyContent: "center", + alignSelf: "center", }, })); From a937f95c21a958aa96323e25712d12a810f8ca73 Mon Sep 17 00:00:00 2001 From: Taegwan Youn Date: Sun, 29 Jun 2025 15:28:07 +0900 Subject: [PATCH 3/3] =?UTF-8?q?chore:=20footer=20layout=20=EC=9C=84?= =?UTF-8?q?=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/routes/AuthLayout.tsx | 8 +++--- src/app/routes/MainLayout.tsx | 2 +- src/widgets/Footer/Footer.tsx | 49 ++++++++++++++--------------------- src/widgets/Footer/index.ts | 1 - 4 files changed, 25 insertions(+), 35 deletions(-) delete mode 100644 src/widgets/Footer/index.ts diff --git a/src/app/routes/AuthLayout.tsx b/src/app/routes/AuthLayout.tsx index 7cdee93..be7da23 100644 --- a/src/app/routes/AuthLayout.tsx +++ b/src/app/routes/AuthLayout.tsx @@ -3,9 +3,11 @@ import { Outlet } from "react-router-dom"; const AuthLayout = (): JSX.Element => { return ( -
- -
+ <> +
+ +
+ ); }; diff --git a/src/app/routes/MainLayout.tsx b/src/app/routes/MainLayout.tsx index 9fb5f8c..ec7dda3 100644 --- a/src/app/routes/MainLayout.tsx +++ b/src/app/routes/MainLayout.tsx @@ -1,7 +1,7 @@ import type { JSX } from "react"; import { Outlet } from "react-router-dom"; -import Footer from "@widgets/Footer"; +import Footer from "@widgets/Footer/Footer"; import Header from "@widgets/Header/Header"; const MainLayout = (): JSX.Element => { diff --git a/src/widgets/Footer/Footer.tsx b/src/widgets/Footer/Footer.tsx index f3e76be..40fe3d3 100644 --- a/src/widgets/Footer/Footer.tsx +++ b/src/widgets/Footer/Footer.tsx @@ -29,40 +29,27 @@ const Footer = (): JSX.Element => { sx={ isMobile ? { - whiteSpace: "pre-line", - overflow: "hidden", - textOverflow: "ellipsis", - display: "block", textAlign: "center", } : undefined } > - {isMobile ? ( - <> - 함께 성장하는 개발자{"\n"}프로젝트 잼에서 시작하세요!! - - ) : ( - <> - - 모든 개발자가 자신의 전문성을 바탕으로 함께 성장할 수 있는 - 협업의 문을 엽니다. - - - 프로잭트 잼은 단순한 프로젝트 매칭을 넘어, - - - 다양한 개발 직군이 서로의 강점을 살려 함께 성장하는 생태계를 - 만들어갑니다. - - - - 함께 성장하는 개발자 커뮤니티, 프로젝트 잼에서 시작하세요! - 🚀 - - - - )} + + 모든 개발자가 자신의 전문성을 바탕으로 함께 성장할 수 있는 + 협업의 문을 엽니다. + + + 프로잭트 잼은 단순한 프로젝트 매칭을 넘어, + + + 다양한 개발 직군이 서로의 강점을 살려 함께 성장하는 생태계를 + 만들어갑니다. + + + + 함께 성장하는 개발자 커뮤니티, 프로젝트 잼에서 시작하세요! 🚀 + + @@ -195,7 +182,9 @@ const DevelopersSection = styled(Box)(({ theme }) => ({ alignItems: "center", gap: 16, alignSelf: "flex-start", - + [theme.breakpoints.down("lg")]: { + flexDirection: "column", + }, [theme.breakpoints.down("md")]: { width: "100%", justifyContent: "center", diff --git a/src/widgets/Footer/index.ts b/src/widgets/Footer/index.ts deleted file mode 100644 index 3738288..0000000 --- a/src/widgets/Footer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Footer";