Skip to content

Commit

Permalink
๐ŸŽจ style : ProjectIntroPage, Modal css styling
Browse files Browse the repository at this point in the history
  • Loading branch information
o11117 committed Jan 28, 2025
1 parent 16320ff commit f788447
Show file tree
Hide file tree
Showing 24 changed files with 92 additions and 35 deletions.
4 changes: 2 additions & 2 deletions src/Pages/BackendQuestionPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,14 @@ const BackendQuestionPage = () => {
isOpen={isFirstModalOpen}
title="์ˆ˜์ •์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค"
message="๋‹ต๋ณ€์„ ์ œ์ถœํ•˜๋ฉด ๋” ์ด์ƒ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"
onClose={handleFirstModalClose}
onSubmit={handleFirstModalClose}
/>

<QuestionModal
isOpen={isSecondModalOpen}
title="์ œ์ถœ ์™„๋ฃŒ"
message="๋‹ต๋ณ€์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."
onClose={handleSecondModalClose}
onSubmit={handleSecondModalClose}
isSecondModal={true}
/>
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/Pages/DesignQuestionPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -134,14 +134,14 @@ const DesignQuestionPage = () => {
isOpen={isFirstModalOpen}
title="์ˆ˜์ •์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค"
message="๋‹ต๋ณ€์„ ์ œ์ถœํ•˜๋ฉด ๋” ์ด์ƒ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"
onClose={handleFirstModalClose}
onSubmit={handleFirstModalClose}
/>

<QuestionModal
isOpen={isSecondModalOpen}
title="์ œ์ถœ ์™„๋ฃŒ"
message="๋‹ต๋ณ€์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."
onClose={handleSecondModalClose}
onSubmit={handleSecondModalClose}
isSecondModal={true}
/>
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/Pages/FrontendQuestionPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -132,14 +132,14 @@ const FrontendQuestionPage = () => {
isOpen={isFirstModalOpen}
title="์ˆ˜์ •์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค"
message="๋‹ต๋ณ€์„ ์ œ์ถœํ•˜๋ฉด ๋” ์ด์ƒ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"
onClose={handleFirstModalClose}
onSubmit={handleFirstModalClose}
/>

<QuestionModal
isOpen={isSecondModalOpen}
title="์ œ์ถœ ์™„๋ฃŒ"
message="๋‹ต๋ณ€์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."
onClose={handleSecondModalClose}
onSubmit={handleSecondModalClose}
isSecondModal={true}
/>
</div>
Expand Down
61 changes: 43 additions & 18 deletions src/Pages/ProjectIntroPage.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
import { useState } from "react";
import styles from '../assets/ProjectIntroPage.module.css';
import ๋ฐฑ from '../assets/images/BackIntro.png';
import Project1 from '../assets/images/Project1.png';
import Project2 from '../assets/images/Project2.png';
import Project3 from '../assets/images/Project3.png';
import Project4 from '../assets/images/Project4.png';
import Project5 from '../assets/images/Project5.png';
import Project6 from '../assets/images/Project6.png';
import Project7 from '../assets/images/Project7.png';
import Project8 from '../assets/images/Project8.png';
import Project9 from '../assets/images/Project9.png';
import Project10 from '../assets/images/Project10.png';
import Project11 from '../assets/images/Project11.png';
import Project12 from '../assets/images/Project12.png';
import Project13 from '../assets/images/Project13.png';
import Project14 from '../assets/images/Project14.png';

const ProjectIntroPage = () => {
const [currentGeneration, setCurrentGeneration] = useState("12๊ธฐ");
Expand All @@ -9,25 +22,25 @@ const ProjectIntroPage = () => {
{
generation: "11๊ธฐ",
projects: [
{ title: "ํŒœํˆฌ๋งˆ์ผ“", description: "์˜จ๋ผ์ธ ๊ฑฐ๋ž˜๊ฐ€ ์—†์œผ๋ฉด ์ˆ˜์ต์„ ๋‚ด๊ธฐ ์–ด๋ ค์šด ํ˜„๋Œ€ ์‚ฌํšŒ์—์„œ ์ „์ž๊ธฐ๊ธฐ ์‚ฌ์šฉ์— ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๋…ธ๋…„์ธต์€ ์˜จ๋ผ์ธ ์‹œ์žฅ์—์„œ ์ž์—ฐ์Šค๋ ˆ ์†Œ์™ธ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ ์†Œ์™ธ๊ณ„์ธต ์ค‘์‹ฌ์œผ๋กœ ๊ธฐํš๋œ ๋†์‚ฐ๋ฌผ ๊ณต๊ธ‰์ž์™€ ํŒ๋งค์ž๋ฅผ ์ค‘๊ฐœ ํ•ด์ฃผ๋Š” ์›น ์ปค๋ฎค๋‹ˆํ‹ฐ ์‹œ์Šคํ…œ ํŒœํˆฌ๋งˆ์ผ“์ž…๋‹ˆ๋‹ค.", image: ๋ฐฑ },
{ title: "D.LIFEBOAT", description: "๋ฐฉ๋Œ€ํ•œ ์ •๋ณด์˜ ํ™์ˆ˜ ์†์—์„œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ •ํ™•ํ•˜๊ณ  ์›ํ•˜๋Š” ์—ฌํ–‰ ์ •๋ณด๋งŒ์„ ํ•„์š”๋กœํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” chat gpt ์ฑ—๋ด‡ ํ˜•ํƒœ์˜ ์„œ๋น„์Šค ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ํŠœ๋ธŒ ์˜์ƒ๊นŒ์ง€ ์ถ”์ฒœ ํ•ด์ค๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "ํˆฌ์ž๊ฐ€๋จธ๋‹ˆ", description: "๋ผ์ธ์—ฐ๋ น์ œํ•œ, ์ง€์‹๋ถ€์กฑ, ์ž๊ธˆ๋ถ€์กฑ, ์‚ฌ์ „์— ์ •์˜๋˜์ง€ ์•Š์€ ์ฃผ์‹ ์‹œ์žฅ๋งŒ์˜ ์šฉ์–ด๋กœ ์ธํ•ด ๊ธˆ์œต ํˆฌ์ž์— ์–ด๋ ค์›€ ๋Š๊ปด ์‹œ๋„์กฐ์ฐจ ๋ชปํ•˜๊ฑฐ๋‚˜, ํฌ๊ธฐํ•œ ์ž˜ํŒŒ์„ธ๋Œ€๋“ค์„ ์œ„ํ•œ ๋ธ”๋ก์ฒด์ธ ๊ฑฐ๋ž˜ ๊ธฐ๋ฐ˜ ๋ชจ์˜ ์ฃผ์‹ ์„œ๋น„์Šค ํˆฌ์ž๊ฐ€ ๋จธ๋‹ˆ ์ž…๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "์•ˆ์ „ํ–‰", description: "์™ธ๊ต๋ถ€ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์—ฌํ–‰ ๊ฒฝ๋ณด ๋‹จ๊ณ„ ํ™•์ธ, ์œ ์˜ํ•  ์  ์ œ์‹œ ๋“ฑ ํ•ด์™ธ ์•ˆ์ „ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ„๋‹จํ•˜๊ณ  ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์ „๋‹ฌํ•˜๋ฉฐ, ์•ˆ์ „ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์œ ์ €๊ฐ€ ์„œ๋กœ ์•ˆ์ „ ์ •๋ณด๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค ์ž…๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "์ฝ”์ธ์Šˆํ„ฐ", description: "์ง„์ž… ์žฅ๋ฒฝ์ด ๋†’์€ ๊ฐ€์ƒํ™”ํ ๊ฑฐ๋ž˜, โ€˜๋””์ง€ํ„ธ ๊ฒฉ์ฐจโ€™๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด โ€˜์•”ํ˜ธํ™”ํโ€™์™€ โ€˜๊ฐ€์ƒํ™”ํ ๊ฑฐ๋ž˜์†Œ ์ด์šฉ ๋ฐฉ๋ฒ•โ€™์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ’€์–ด๋ณด๋ฉฐ ๋‹จ์ˆœํžˆ ์ง€์‹ ์ „๋‹ฌ์ด์•„๋‹Œ ์ง€์‹ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•œ ์›น ์„œ๋น„์Šค ์ฝ”์ธ์Šˆํ„ฐ์ž…๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "๋ฏธ๋ฏธํ‚ค", description: "์„ธ๋Œ€ ๊ฐ„์˜ ๊นŠ์–ด์ง€๋Š” ์–ธ์–ด ๊ฒฉ์ฐจ๋ฅผ ๊ทน๋ณตํ•˜๊ณ ์ž ๊ธฐํšํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „์— ์‚ฌ์šฉํ–ˆ๋˜ ์šฉ์–ด, ํ˜„์žฌ ๋œจ๋Š” ๋ฐˆ ๋“ฑ ์„ธ๋Œ€๊ฐ€ ์ง€๋‚˜๋ฉฐ ์ƒˆ๋กœ ์ƒ๊ธด ๋ชจ๋“  ์œ ํ–‰์–ด๋“ค์„ ๋ชจ์•„ ๋†“์€ ์›น ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค ๋ฏธ๋ฏธํ‚ค์ž…๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "์‹œ๋‹ˆ์–ด๋ชฌ๋“œ", description: "์‹œ๋‹ˆ์–ด๋ชฌ๋“œ๋Š” ์–ด๋ฅด์‹ ๋“ค์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  UI๋ฅผ ๋‹จ์ˆœํžˆ ์ œ๊ณตํ•˜๊ธฐ๋งŒ ํ•˜๋Š” ํ˜„ ์‹œ๋Œ€์˜ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ฆฌ ์ข‹์€ UX์—ฌ๋„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ž์ฒด๊ฐ€ ์–ด๋ ค์šด ์–ด๋ฅด์‹ ๋“ค๊ป˜ UI ๊ต์œก์„ ์ œ๊ณตํ•˜๋Š” ๊ต์œก ๋ฉ˜ํ†  ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "Challengers", description: "๊ต๋‚ด์˜ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์ถ”์ ์ด ๊ฐ€๋Šฅํ•œ ์ €์žฅ์†Œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ „๊ต ํ•™์ƒ๋“ค์˜ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ์œจ๊ณผ ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ๋†’์ด๊ณ , ํ•™๊ต์˜ ๊ฐœ๋ฐœ ๋ฌธํ™”๋„ ์™ธ๋ถ€๋กœ ์•Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ฆฌํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "Apply", description: "๊ฐ•๋Œ€ ๋ฉ‹์‚ฌ๋งŒ์˜ ์•„๊ธฐ์‚ฌ์ž๋“ค์„ ๋ชจ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ง€์› ํŽ˜์ด์ง€๋ฅผ ์ง€์† ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ํŒ€์ž…๋‹ˆ๋‹ค. ์˜ˆ๋น„ ์•„๊ธฐ์‚ฌ์ž๋“ค์„ ์œ„ํ•œ ์ง€์› ํŽ˜์ด์ง€๋ถ€ํ„ฐ, ์œ ์ €์˜ ์ •๋ณด, ๊ถŒํ•œ์„ ์ˆ˜์ •ํ•˜๊ณ  ์ง€์›์„œ๋ฅผ ๋ณด๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ์ •ํ•˜๋Š” ์šด์˜์ง„ ํŽ˜์ด์ง€๊นŒ์ง€ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "ํŒœํˆฌ๋งˆ์ผ“", description: "์˜จ๋ผ์ธ ๊ฑฐ๋ž˜๊ฐ€ ์—†์œผ๋ฉด ์ˆ˜์ต์„ ๋‚ด๊ธฐ ์–ด๋ ค์šด ํ˜„๋Œ€ ์‚ฌํšŒ์—์„œ ์ „์ž๊ธฐ๊ธฐ ์‚ฌ์šฉ์— ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๋…ธ๋…„์ธต์€ ์˜จ๋ผ์ธ ์‹œ์žฅ์—์„œ ์ž์—ฐ์Šค๋ ˆ ์†Œ์™ธ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ ์†Œ์™ธ๊ณ„์ธต ์ค‘์‹ฌ์œผ๋กœ ๊ธฐํš๋œ ๋†์‚ฐ๋ฌผ ๊ณต๊ธ‰์ž์™€ ํŒ๋งค์ž๋ฅผ ์ค‘๊ฐœ ํ•ด์ฃผ๋Š” ์›น ์ปค๋ฎค๋‹ˆํ‹ฐ ์‹œ์Šคํ…œ ํŒœํˆฌ๋งˆ์ผ“์ž…๋‹ˆ๋‹ค.", image: Project1 },
{ title: "D.LIFEBOAT", description: "๋ฐฉ๋Œ€ํ•œ ์ •๋ณด์˜ ํ™์ˆ˜ ์†์—์„œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ •ํ™•ํ•˜๊ณ  ์›ํ•˜๋Š” ์—ฌํ–‰ ์ •๋ณด๋งŒ์„ ํ•„์š”๋กœํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” chat gpt ์ฑ—๋ด‡ ํ˜•ํƒœ์˜ ์„œ๋น„์Šค ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ํŠœ๋ธŒ ์˜์ƒ๊นŒ์ง€ ์ถ”์ฒœ ํ•ด์ค๋‹ˆ๋‹ค.", image: Project2},
{ title: "ํˆฌ์ž๊ฐ€๋จธ๋‹ˆ", description: "๋ผ์ธ์—ฐ๋ น์ œํ•œ, ์ง€์‹๋ถ€์กฑ, ์ž๊ธˆ๋ถ€์กฑ, ์‚ฌ์ „์— ์ •์˜๋˜์ง€ ์•Š์€ ์ฃผ์‹ ์‹œ์žฅ๋งŒ์˜ ์šฉ์–ด๋กœ ์ธํ•ด ๊ธˆ์œต ํˆฌ์ž์— ์–ด๋ ค์›€ ๋Š๊ปด ์‹œ๋„์กฐ์ฐจ ๋ชปํ•˜๊ฑฐ๋‚˜, ํฌ๊ธฐํ•œ ์ž˜ํŒŒ์„ธ๋Œ€๋“ค์„ ์œ„ํ•œ ๋ธ”๋ก์ฒด์ธ ๊ฑฐ๋ž˜ ๊ธฐ๋ฐ˜ ๋ชจ์˜ ์ฃผ์‹ ์„œ๋น„์Šค ํˆฌ์ž๊ฐ€ ๋จธ๋‹ˆ ์ž…๋‹ˆ๋‹ค.", image: Project3},
{ title: "์•ˆ์ „ํ–‰", description: "์™ธ๊ต๋ถ€ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์—ฌํ–‰ ๊ฒฝ๋ณด ๋‹จ๊ณ„ ํ™•์ธ, ์œ ์˜ํ•  ์  ์ œ์‹œ ๋“ฑ ํ•ด์™ธ ์•ˆ์ „ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ„๋‹จํ•˜๊ณ  ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์ „๋‹ฌํ•˜๋ฉฐ, ์•ˆ์ „ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์œ ์ €๊ฐ€ ์„œ๋กœ ์•ˆ์ „ ์ •๋ณด๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค ์ž…๋‹ˆ๋‹ค.", image: Project4},
{ title: "์ฝ”์ธ์Šˆํ„ฐ", description: "์ง„์ž… ์žฅ๋ฒฝ์ด ๋†’์€ ๊ฐ€์ƒํ™”ํ ๊ฑฐ๋ž˜, โ€˜๋””์ง€ํ„ธ ๊ฒฉ์ฐจโ€™๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด โ€˜์•”ํ˜ธํ™”ํโ€™์™€ โ€˜๊ฐ€์ƒํ™”ํ ๊ฑฐ๋ž˜์†Œ ์ด์šฉ ๋ฐฉ๋ฒ•โ€™์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ’€์–ด๋ณด๋ฉฐ ๋‹จ์ˆœํžˆ ์ง€์‹ ์ „๋‹ฌ์ด์•„๋‹Œ ์ง€์‹ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•œ ์›น ์„œ๋น„์Šค ์ฝ”์ธ์Šˆํ„ฐ์ž…๋‹ˆ๋‹ค.", image: Project5},
{ title: "๋ฏธ๋ฏธํ‚ค", description: "์„ธ๋Œ€ ๊ฐ„์˜ ๊นŠ์–ด์ง€๋Š” ์–ธ์–ด ๊ฒฉ์ฐจ๋ฅผ ๊ทน๋ณตํ•˜๊ณ ์ž ๊ธฐํšํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์˜ˆ์ „์— ์‚ฌ์šฉํ–ˆ๋˜ ์šฉ์–ด, ํ˜„์žฌ ๋œจ๋Š” ๋ฐˆ ๋“ฑ ์„ธ๋Œ€๊ฐ€ ์ง€๋‚˜๋ฉฐ ์ƒˆ๋กœ ์ƒ๊ธด ๋ชจ๋“  ์œ ํ–‰์–ด๋“ค์„ ๋ชจ์•„ ๋†“์€ ์›น ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค ๋ฏธ๋ฏธํ‚ค์ž…๋‹ˆ๋‹ค.", image: Project6},
{ title: "์‹œ๋‹ˆ์–ด๋ชฌ๋“œ", description: "์‹œ๋‹ˆ์–ด๋ชฌ๋“œ๋Š” ์–ด๋ฅด์‹ ๋“ค์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  UI๋ฅผ ๋‹จ์ˆœํžˆ ์ œ๊ณตํ•˜๊ธฐ๋งŒ ํ•˜๋Š” ํ˜„ ์‹œ๋Œ€์˜ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ฆฌ ์ข‹์€ UX์—ฌ๋„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ž์ฒด๊ฐ€ ์–ด๋ ค์šด ์–ด๋ฅด์‹ ๋“ค๊ป˜ UI ๊ต์œก์„ ์ œ๊ณตํ•˜๋Š” ๊ต์œก ๋ฉ˜ํ†  ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.", image: Project7},
{ title: "Challengers", description: "๊ต๋‚ด์˜ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์ถ”์ ์ด ๊ฐ€๋Šฅํ•œ ์ €์žฅ์†Œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ „๊ต ํ•™์ƒ๋“ค์˜ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ์œจ๊ณผ ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ๋†’์ด๊ณ , ํ•™๊ต์˜ ๊ฐœ๋ฐœ ๋ฌธํ™”๋„ ์™ธ๋ถ€๋กœ ์•Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ฆฌํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.", image: Project8},
{ title: "Apply", description: "๊ฐ•๋Œ€ ๋ฉ‹์‚ฌ๋งŒ์˜ ์•„๊ธฐ์‚ฌ์ž๋“ค์„ ๋ชจ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ง€์› ํŽ˜์ด์ง€๋ฅผ ์ง€์† ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ํŒ€์ž…๋‹ˆ๋‹ค. ์˜ˆ๋น„ ์•„๊ธฐ์‚ฌ์ž๋“ค์„ ์œ„ํ•œ ์ง€์› ํŽ˜์ด์ง€๋ถ€ํ„ฐ, ์œ ์ €์˜ ์ •๋ณด, ๊ถŒํ•œ์„ ์ˆ˜์ •ํ•˜๊ณ  ์ง€์›์„œ๋ฅผ ๋ณด๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ์ •ํ•˜๋Š” ์šด์˜์ง„ ํŽ˜์ด์ง€๊นŒ์ง€ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.", image: Project9},
],
},
{
generation: "12๊ธฐ",
projects: [
{ title: "Node", description: "Node๋Š” 4D๋ธ”๋Ÿญ์ด๋ผ๋Š” ๋ณ„๋„์˜ ๋งค๊ฐœ์ฒด์™€ AI์˜ ์ด๋ฏธ์ง€ ํ•™์Šต์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ธ”๋Ÿญ์„ ์กฐํ•ฉํ•˜๊ณ  ์ •ํ™•๋„๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ  ๊ธฐ๋กํ•ด ๋‚˜๊ฐ€๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ", image: ๋ฐฑ },
{ title: "ํ”„๋กฌํ”„๋ Œ", description: "ํ”„๋กฌํ”„๋ Œ์€ AI ์‚ฌ์šฉ์ด ์–ด๋ ค์šด ์‚ฌ๋žŒ๋“ค๋„ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ํ”„๋กฌํฌํŠธ ๊ณต์œ  ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํ”„๋กฌํฌํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๊ณต์œ ํ•ด ๋‹ค์–‘ํ•œ ํ”„๋กฌํฌํŠธ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๊ด€๋ จ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ", image: ๋ฐฑ},
{ title: "FRESH-TIME", description: "FRESH-TIME์€ ์‚ฌ์šฉ์ž์˜ ํ–‰๋™ ํŒจํ„ด์„ ๋ถ„์„ํ•˜๊ณ  ์•Œ๋ฆผ์„ ํ†ตํ•ด, ๋ฐ”๋ฅธ ์ž์„ธ์˜ ์œ ์ง€๋ฅผ ํ†ตํ•ด ์‹ ์ฒด ๊ฑด๊ฐ•์˜ ์œ ์ง€๋ฅผ ์ด‰์ง„ํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ํ™œ๋™ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ๊ฐํ™” ๋œ ํ†ต๊ณ„๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๋„์ „๊ณผ์ œ์™€ ์ถœ์„ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ ๊ทน์ ์ธ ์ฐธ์—ฌ๋ฅผ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "NEWSPECT", description: "ํ•„ํ„ฐ๋ฒ„๋ธ”๊ณผ ํ™•์ฆํŽธํ–ฅ์— ์น˜์šฐ์ ธ์ง„ ํ˜„๋Œ€ ์‚ฌํšŒ์˜ ์ •์‹  ๊ฑด๊ฐ•์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค๋กœ์„œ, ํŠน์ • ์ฃผ์ œ์— ๊ด€ํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ์–ธ๋ก ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์‚ฌ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ํŽธํ–ฅ์ ์ด์ง€ ์•Š์€ ๊ฐ๊ด€์ ์ด๊ณ  ์ •๋ณด๋งŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "TIME2DO", description: "TIME2DO๋Š” 2024๋…„์˜ ์‹ ๊ทœ ํ‚ค์›Œ๋“œ ๋„ํŒŒ๋ฐ(Dopamine + Farming)์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋„ํŒŒ๋ฏผ ์ค‘๋…์—์„œ ๋ฒ—์–ด๋‚˜ ์—…๋ฌด ์ง‘์ค‘๋„์™€ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ฝ€๋ชจ๋„๋กœ ๊ธฐ๋Šฅ๊ณผ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž์˜ ์—…๋ฌด ๋ฐ ํœด์‹ ๊ด€๋ฆฌ๋ฅผ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.", image: ๋ฐฑ},
{ title: "Node", description: "Node๋Š” 4D๋ธ”๋Ÿญ์ด๋ผ๋Š” ๋ณ„๋„์˜ ๋งค๊ฐœ์ฒด์™€ AI์˜ ์ด๋ฏธ์ง€ ํ•™์Šต์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ธ”๋Ÿญ์„ ์กฐํ•ฉํ•˜๊ณ  ์ •ํ™•๋„๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ  ๊ธฐ๋กํ•ด ๋‚˜๊ฐ€๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ", image: Project10 },
{ title: "ํ”„๋กฌํ”„๋ Œ", description: "ํ”„๋กฌํ”„๋ Œ์€ AI ์‚ฌ์šฉ์ด ์–ด๋ ค์šด ์‚ฌ๋žŒ๋“ค๋„ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ํ”„๋กฌํฌํŠธ ๊ณต์œ  ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํ”„๋กฌํฌํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๊ณต์œ ํ•ด ๋‹ค์–‘ํ•œ ํ”„๋กฌํฌํŠธ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๊ด€๋ จ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ", image: Project11},
{ title: "FRESH-TIME", description: "FRESH-TIME์€ ์‚ฌ์šฉ์ž์˜ ํ–‰๋™ ํŒจํ„ด์„ ๋ถ„์„ํ•˜๊ณ  ์•Œ๋ฆผ์„ ํ†ตํ•ด, ๋ฐ”๋ฅธ ์ž์„ธ์˜ ์œ ์ง€๋ฅผ ํ†ตํ•ด ์‹ ์ฒด ๊ฑด๊ฐ•์˜ ์œ ์ง€๋ฅผ ์ด‰์ง„ํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ํ™œ๋™ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ๊ฐํ™” ๋œ ํ†ต๊ณ„๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๋„์ „๊ณผ์ œ์™€ ์ถœ์„ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ ๊ทน์ ์ธ ์ฐธ์—ฌ๋ฅผ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.", image: Project12},
{ title: "NEWSPECT", description: "ํ•„ํ„ฐ๋ฒ„๋ธ”๊ณผ ํ™•์ฆํŽธํ–ฅ์— ์น˜์šฐ์ ธ์ง„ ํ˜„๋Œ€ ์‚ฌํšŒ์˜ ์ •์‹  ๊ฑด๊ฐ•์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค๋กœ์„œ, ํŠน์ • ์ฃผ์ œ์— ๊ด€ํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ์–ธ๋ก ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์‚ฌ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ํŽธํ–ฅ์ ์ด์ง€ ์•Š์€ ๊ฐ๊ด€์ ์ด๊ณ  ์ •๋ณด๋งŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.", image: Project13},
{ title: "TIME2DO", description: "TIME2DO๋Š” 2024๋…„์˜ ์‹ ๊ทœ ํ‚ค์›Œ๋“œ ๋„ํŒŒ๋ฐ(Dopamine + Farming)์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋„ํŒŒ๋ฏผ ์ค‘๋…์—์„œ ๋ฒ—์–ด๋‚˜ ์—…๋ฌด ์ง‘์ค‘๋„์™€ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ฝ€๋ชจ๋„๋กœ ๊ธฐ๋Šฅ๊ณผ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž์˜ ์—…๋ฌด ๋ฐ ํœด์‹ ๊ด€๋ฆฌ๋ฅผ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.", image: Project14},
],
},
];
Expand Down Expand Up @@ -65,14 +78,26 @@ const ProjectIntroPage = () => {
</header>

<main className={styles.projectsContainer}>
{filteredProjects.map((project, index) => (
{filteredProjects.map((project, index) => {

const columnIndex = index % 3;
const backgroundColor =
columnIndex === 0
? "#E2FFF8"
: columnIndex === 1
? "#EAFFE4"
: "#DCDBFF";

return (
<div key={index} className={styles.projectCard}>
<div className={styles.cardImgContainer} style={{textAlign: 'center', backgroundColor: '#E2FFF8'}}
<div className={styles.cardImgContainer}
style={{textAlign: 'center', backgroundColor }}
><img src={project.image} alt={project.title} className={styles.image} /></div>
<div className={styles.projectTitle}>{project.title}</div>
<p className={styles.projectDescription}>{project.description}</p>
</div>
))}
);
})}
</main>
</div>
);
Expand Down
9 changes: 5 additions & 4 deletions src/assets/ProjectIntroPage.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,15 @@
.projectsContainer {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px 20px;
padding: 100px;
gap: 40px 0;
padding: 50px 300px;
justify-items: center;
}

.projectCard {
background-color: #fff;
border-radius: 6px;
width: 400px;
width: 367px;
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
display:flex;
flex-direction: column;
Expand All @@ -63,7 +64,7 @@
}

.image {
width: 55%;
width: 70%;
height: auto;
margin-bottom: 0 auto 15px;
}
Expand Down
18 changes: 16 additions & 2 deletions src/assets/QuestionPage.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,19 @@
pointer-events: none;
}

.modalImageContainer {
display: flex;
justify-content: center;
margin: 20px 0; /* ๋ฉ”์‹œ์ง€์™€ ๋ฒ„ํŠผ ์‚ฌ์ด ์—ฌ๋ฐฑ */
}

.modalImage {
max-width: 100%; /* ๋ถ€๋ชจ ์š”์†Œ์˜ ๋„ˆ๋น„์— ๋งž๊ฒŒ ์กฐ์ • */
max-height: 200px; /* ์ด๋ฏธ์ง€์˜ ์ตœ๋Œ€ ๋†’์ด */
object-fit: cover; /* ์ด๋ฏธ์ง€ ๋น„์œจ ์œ ์ง€ */
border-radius: 8px; /* ๋ชจ์„œ๋ฆฌ ๋‘ฅ๊ธ€๊ฒŒ */
}

.modalOverlay {
position: fixed;
top: 0;
Expand All @@ -102,7 +115,8 @@
background-color: white;
padding: 30px 20px;
border-radius: 15px;
width: 450px;
width: 515px;
height: 480px;
text-align: center;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* ๋” ๋šœ๋ ทํ•œ ๊ทธ๋ฆผ์ž */
transform: translateY(-20px);
Expand Down Expand Up @@ -133,7 +147,7 @@
.confirmButton {
padding: 12px 20px;
border: none;
border-radius: 25px; /* ๋ฒ„ํŠผ ๋ชจ์„œ๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ */
border-radius: 8px; /* ๋ฒ„ํŠผ ๋ชจ์„œ๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ */
cursor: pointer;
font-size: 16px;
font-weight: bold;
Expand Down
Binary file added src/assets/images/ModalImg1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/ModalImg2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/images/Project9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/components/Nav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const Nav = () => {

<button
className='nav-button'
onClick={() => alert('ํ”„๋กœ์ ํŠธ ํƒญ์ด ์—†์–ด์„œ ์ผ๋‹จ ์—ฌ๊ธฐ๋‹ค๊ฐ€ ๋งŒ๋“ค์–ด๋‘ !')}
onClick={() => ''}
>
<Link
className='nav-link-button'
Expand Down
25 changes: 21 additions & 4 deletions src/components/QuestionModal.tsx
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
import React from "react";
import { useNavigate } from "react-router-dom";
import styles from "../assets/QuestionPage.module.css";
import ๋ชจ๋‹ฌ1 from "../assets/images/ModalImg1.png";
import ๋ชจ๋‹ฌ2 from "../assets/images/ModalImg2.png";

type ModalProps = {
isOpen: boolean;
title: string;
message: string;
onClose: () => void;
onSubmit?: () => void;
isSecondModal?: boolean;
};

const QuestionModal: React.FC<ModalProps> = ({
isOpen,
title,
message,
onClose,
onSubmit,
isSecondModal = false,
}) => {
const navigate = useNavigate();
Expand All @@ -30,6 +32,21 @@ const QuestionModal: React.FC<ModalProps> = ({
<div className={styles.modal}>
<h2>{title}</h2>
<p>{message}</p>
<div className={styles.modalImageContainer}>
{isSecondModal ? (
<img
src={๋ชจ๋‹ฌ2}
alt="์ œ์ถœ์™„"
className={styles.modalImage}
/>
) : (
<img
src={๋ชจ๋‹ฌ1}
alt="์ˆ˜์ •๋ถˆ๊ฐ€"
className={styles.modalImage}
/>
)}
</div>
<div className={styles.modalButtons}>
{isSecondModal ? (
<button
Expand All @@ -40,10 +57,10 @@ const QuestionModal: React.FC<ModalProps> = ({
</button>
) : (
<>
<button className={styles.cancelButton} onClick={onClose}>
<button className={styles.cancelButton} onClick={() => navigate(-1)}>
์ทจ์†Œ
</button>
<button className={styles.confirmButton} onClick={onClose}>
<button className={styles.confirmButton} onClick={onSubmit}>
์ œ์ถœ
</button>
</>
Expand Down

0 comments on commit f788447

Please sign in to comment.