diff --git a/frontend/src/auth/signup.tsx b/frontend/src/auth/signup.tsx index c08d1907c92d431cb3e1c3af8737b7db26acad6b..570734852b02e2f218a8e4ed64b9fec597c13c39 100644 --- a/frontend/src/auth/signup.tsx +++ b/frontend/src/auth/signup.tsx @@ -77,12 +77,12 @@ export default function Signup() {
-
+
이름
-
+
-
+
이메일
-
+
-
+
비밀번호
-
+
-
+
비밀번호 확인
-
+
(); const location = useLocation() as Newpost; const newPost = location.state; + const navigate = useNavigate(); + const { user } = useAuth(); console.log("get newPost Info", newPost); @@ -52,29 +55,37 @@ export default function BoardPage() { } }; + const GoLogin = async (event: React.MouseEvent) => { + if (!user.isLoggedIn) { + alert("로그인이 필요합니다."); + navigate("/login", { replace: true }); + } + }; + return (
-
자유 게시판
-
여행지 후기를 남겨주세요!
+
자유 게시판
+
+ 여행지 후기를 남겨주세요! +
-
- - - -
{" "} - {/* Link */} +
+ +
-
+
제목
게시 날짜
조회수
-
+
{posts?.map((post, i) => ( ))} diff --git a/frontend/src/home/body.tsx b/frontend/src/home/body.tsx index 2a1b9f709653fef34c3d04b6672538dfd21b7f78..55ad8aa2246ca85f6dcc491a11d47802e072b8d5 100644 --- a/frontend/src/home/body.tsx +++ b/frontend/src/home/body.tsx @@ -21,10 +21,10 @@ export default function Body() { imgsData(); }, []); - useEffect(() => { - console.log(searchParams.get("theme"), searchParams.get("city")); - setSearchParams(searchParams); - }, []); + // useEffect(() => { + // console.log(searchParams.get("theme"), searchParams.get("city")); + // setSearchParams(searchParams); + // }, []); const themeHandleClick = (event: MouseEvent) => { console.log(`theme id= ${event.currentTarget.id}`); diff --git a/frontend/src/home/header.tsx b/frontend/src/home/header.tsx index 75162ba22063ebba8474ca0a22c44312fd6835b1..f0be7f926c27b2b5a2763c2af55607c40c5f003a 100644 --- a/frontend/src/home/header.tsx +++ b/frontend/src/home/header.tsx @@ -14,10 +14,10 @@ export default function Header() { }; return ( -
+
- - - - - - - - - - - +
+
clickActive(1)}> + +
+
clickActive(2)}> + +
+
clickActive(3)}> + +
+
clickActive(4)}> + +
+
clickActive(5)}> + +
+
clickActive(6)}> + +
+
clickActive(7)}> + +
+
clickActive(8)}> + +
+
clickActive(9)}> + +
+
clickActive(10)}> + +
+
clickActive(11)}> + +
); } diff --git a/frontend/src/pages/citylist.tsx b/frontend/src/pages/citylist.tsx index a6fa3de76f845f0c3d986759106542e28f1e94d0..7f498db54a301099f1b5df42b8b8e123bd9110c6 100644 --- a/frontend/src/pages/citylist.tsx +++ b/frontend/src/pages/citylist.tsx @@ -1,86 +1,114 @@ -import React, { MouseEventHandler } from "react"; +import React, { MouseEventHandler, useState } from "react"; type CityProps = { handleClick: MouseEventHandler; }; export default function Citylist({ handleClick }: CityProps) { + const [active, setActive] = useState(0); + + const onactive = "text-start px-5 py-2 underline whitespace-nowrap"; + const offactive = "text-start px-5 py-2 whitespace-nowrap"; + + const clickActive = (a: number) => { + setActive(a); + }; + return (
도시
- - - - - - - - - - - {/* citylist */} +
clickActive(1)}> + +
+
clickActive(2)}> + +
+
clickActive(3)}> + +
+
clickActive(4)}> + +
+
clickActive(5)}> + +
+
clickActive(6)}> + +
+
clickActive(7)}> + +
+
clickActive(8)}> + +
+
clickActive(9)}> + +
+
clickActive(10)}> + +
// Citylist Page ); diff --git a/src/controllers/fileinfo.controller.ts b/src/controllers/fileinfo.controller.ts index 3e95bfcc12d7c47203f97c0fd7af9d699f5fb0e9..330b21c0cef35c7f1b42cf6cbd459ca5c6a989ac 100644 --- a/src/controllers/fileinfo.controller.ts +++ b/src/controllers/fileinfo.controller.ts @@ -4,7 +4,11 @@ import { TypedRequest } from "../types"; export const uploadFile = asyncWrap(async (reqExp, res, next) => { const req = reqExp as TypedRequest; - const form = formidable({ multiples: false, uploadDir: "uploads",keepExtensions : true }); + const form = formidable({ + multiples: false, + uploadDir: "uploads", + keepExtensions: true, + }); await new Promise((resolve, reject) => { form.parse(req, (err, fields, files) => { @@ -25,7 +29,11 @@ export const uploadFile = asyncWrap(async (reqExp, res, next) => { export const uploadFiles = asyncWrap(async (reqExp, res, next) => { const req = reqExp as TypedRequest; - const form = formidable({ multiples: true, uploadDir: "uploads" }); + const form = formidable({ + multiples: true, + uploadDir: "uploads", + keepExtensions: true, + }); await new Promise((resolve, reject) => { form.parse(req, (err, fields, files) => { diff --git a/src/db/index.ts b/src/db/index.ts index b714af5b043b5377b84b3ba8e213d349e63d09a8..b4f157f405dc90a9f347269d84915fbe69e0bb93 100644 --- a/src/db/index.ts +++ b/src/db/index.ts @@ -1,4 +1,4 @@ export * as roleDb from "./role.db"; export * as postDb from "./post.db"; export * as userDb from "./user.db"; -export * as mainimgDb from "./mainimg.db" \ No newline at end of file +export * as mainimgDb from "./mainimg.db";