Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024.09.23 2차배포 #115

Merged
merged 35 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9fbf8da
feat: 지도 링크 추가
treasure-sky Sep 22, 2024
e63c65c
chore: 함인섭광장 링크 수정
treasure-sky Sep 22, 2024
6775410
타임테이블 CSS 수정하였습니다.
hyeseon-cpu Sep 22, 2024
dcfcba3
타임테이블 CSS 수정하였습니다.(수정)
hyeseon-cpu Sep 22, 2024
d06328d
Fix(onClick 범위 확장)
Kim-jaeyeon Sep 23, 2024
d052d33
Fix(토글 화살표 클릭 안 되는 버그 해결)
Kim-jaeyeon Sep 23, 2024
7eedd0a
Merge branch 'develop' of https://github.com/flareseek/KNU-festival24…
Kim-jaeyeon Sep 23, 2024
a1ec0a3
chore: 타임테이블 아티스트이름 글자크기 축소
treasure-sky Sep 23, 2024
627cadb
Merge pull request #98 from treasure-sky/feat/map-link
flareseek Sep 23, 2024
bebf3f0
Merge pull request #104 from Kim-jaeyeon/notice_btn
flareseek Sep 23, 2024
acd862d
Merge pull request #105 from treasure-sky/fix/timetable-artistName
flareseek Sep 23, 2024
197a713
fix: 주점 조건을 변경했습니다
flareseek Sep 23, 2024
4ef0bf9
fix: 주점 영업 시간 분리
flareseek Sep 23, 2024
8377251
feat: 타임테이블 링크 추가
flareseek Sep 23, 2024
8f0b1fe
Merge pull request #107 from flareseek/fix/title-condition
flareseek Sep 23, 2024
c109431
Merge pull request #109 from flareseek/feat/link
flareseek Sep 23, 2024
a2b0cbd
Merge pull request #108 from flareseek/fix/pub-time
flareseek Sep 23, 2024
88a9ecc
fix: 주점 디테일 시간 변경
flareseek Sep 23, 2024
ff1d8b9
Merge pull request #111 from flareseek/fix/pub-detail-time
jjh4450 Sep 23, 2024
4510020
Merge pull request #99 from flareseek/timetableEdit
jjh4450 Sep 23, 2024
76c1c98
fix: 무대 입장 설명 변경
jjh4450 Sep 23, 2024
0587d4d
refactor
jjh4450 Sep 23, 2024
7fe55be
docs
jjh4450 Sep 23, 2024
819abeb
docs
jjh4450 Sep 23, 2024
ec4b65b
docs
jjh4450 Sep 23, 2024
5aa9ee0
feat: word break 설정
jjh4450 Sep 23, 2024
3e343ef
feat: 버튼 색상 변경
jjh4450 Sep 23, 2024
17ea66f
fix: 스크롤 버그 수정
jjh4450 Sep 23, 2024
db134be
fix: prettier에 의한 코드 컨벤션 수정
jjh4450 Sep 23, 2024
3b90a66
fix: import 경로 오류 수정
jjh4450 Sep 23, 2024
e83a388
fix: import 경로 오류 수정
jjh4450 Sep 23, 2024
4de1559
fix: 한글날
jjh4450 Sep 23, 2024
12fdb9b
feat: 폰트 사이즈 최적화
flareseek Sep 23, 2024
a596a71
Merge pull request #113 from jjh4450/fix/time_table
flareseek Sep 23, 2024
6b731a1
Merge pull request #114 from flareseek/feat/font-opt
flareseek Sep 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Binary file not shown.
14 changes: 13 additions & 1 deletion src/components/ImageModal/index.css.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { style } from "@vanilla-extract/css";

export const container = style({
position: "relative",
width: "100%",
height: "100%",
});
export const zoomInBtn = style({
position: "absolute",
top: "5px",
left: "5px",
cursor: "pointer",
margin: "5px",
padding: "3px",
borderRadius: "5px",
backgroundColor: "rgba(255, 255, 255, 0.3)",
Expand All @@ -17,3 +19,13 @@ export const image = style({
height: "100%",
objectFit: "cover",
});

export const placeBtn = style({
position: "absolute",
top: "5px",
right: "5px",
cursor: "pointer",
padding: "3px",
borderRadius: "5px",
backgroundColor: "rgba(255, 255, 255, 0.3)",
});
35 changes: 34 additions & 1 deletion src/components/ImageModal/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
import * as styles from "./index.css.ts";

export default function ImageModal({ src, alt }: { src: string; alt: string }) {
interface ImageModalProps {
src: string;
alt: string;
activePlace?: "60주년기념관" | "함인섭광장" | "대운동장";
}

export default function ImageModal({ src, alt, activePlace }: ImageModalProps) {
const placeLinks: { [key: string]: string } = {
"60주년기념관": "https://kko.to/hKoJW3SEaa",
함인섭광장: "https://kko.to/KvvTprkn8T",
대운동장: "https://kko.to/MkBZQvfuH0",
};

const handlePlaceButtonClick = () => {
if (activePlace) {
const link = placeLinks[activePlace];
if (link) {
window.location.href = link;
} else {
console.error(`Link for ${activePlace} is not defined.`);
}
} else {
console.error("activePlace is not provided.");
}
};

return (
<div className={styles.container}>
<span
Expand All @@ -9,6 +34,14 @@ export default function ImageModal({ src, alt }: { src: string; alt: string }) {
>
zoom_in
</span>
{alt === "layout" && (
<span
className={`material-symbols-outlined ${styles.placeBtn}`}
onClick={handlePlaceButtonClick}
>
map
</span>
)}
<img src={src} alt={alt} className={styles.image} />
</div>
);
Expand Down
11 changes: 9 additions & 2 deletions src/pages/BoothNFoodDetail/Overview/index.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import ImageModal from "../../../components/ImageModal/index.tsx";
import { BoothPlaceType } from "../../../shared/types/asset_types.ts";
import * as styles from "./index.css.ts";

type OverviewProps = {
title: string;
date: number[];
imgURL: string;
order: number;
place: string;
place: BoothPlaceType;
};

export default function Overview({ title, date, imgURL, order, place }: OverviewProps) {
Expand All @@ -20,7 +21,13 @@ export default function Overview({ title, date, imgURL, order, place }: Overview
<div className={styles.hoursContainer}>
<div className={styles.hoursLabel}>
<span className="material-symbols-outlined">schedule</span>
<span>{title.includes("주점") ? "18:00 ~ 01:00" : "11:00 ~ 17:00"}</span>
<span>
{title === "주점"
? place === "미래광장"
? "18:00 ~ 00:00"
: "18:00 ~ 01:00"
: "11:00 ~ 17:00"}
</span>
</div>
<div className={styles.hoursLabel}>
<span className="material-symbols-outlined">date_range</span>
Expand Down
18 changes: 9 additions & 9 deletions src/pages/BoothNFoodList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ export default function BoothNFoodList() {
<div className={styles.imgContainer2}>
{activePlace !== "미래광장" && (
<ImageModal
{...{
src:
activePlace === "함인섭광장"
? haminseop_layout
: activePlace === "대운동장"
? playground_layout
: sixty_anniv_layout,
alt: "layout",
}}
src={
activePlace === "함인섭광장"
? haminseop_layout
: activePlace === "대운동장"
? playground_layout
: sixty_anniv_layout
}
alt="layout"
activePlace={activePlace}
/>
)}
</div>
Expand Down
12 changes: 9 additions & 3 deletions src/pages/Notice/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,19 +101,25 @@ function Notice() {
) : (
currentNotices.map((noticeItem, index) => (
<div className={noticeContainer} key={noticeItem.id}>
<div className={notice}>
<div onClick={() => toggleNotice(noticeItem.id)} className={notice}>
<div style={{ display: "flex", alignItems: "center" }}>
<p className={noticeNumber}>{index + 1 + (currentPage - 1) * itemsPerPage}</p>
{/* 공지사항의 renewal이 true일 경우 'New' 배지를 표시 */}
{noticeItem.renewal && <span className={newBadge}>중요</span>}
</div>

<div onClick={() => toggleNotice(noticeItem.id)} className={noticeContentWrapper}>
<div className={noticeContentWrapper}>
<p className={noticeTitle}>{noticeItem.title}</p>
</div>

{/* downbtn을 클릭하면 토글 */}
<button onClick={() => toggleNotice(noticeItem.id)} className={arrowButton}>
<button
onClick={(e) => {
e.stopPropagation(); // 이벤트 전파 방지
toggleNotice(noticeItem.id);
}}
className={arrowButton}
>
<span className="material-symbols-outlined">
{expandedNoticeId === noticeItem.id ? "arrow_drop_up" : "arrow_drop_down"}
</span>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Notice/notice.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export const notice = style({
alignItems: "center",
flexDirection: "row",
position: "relative",
cursor: "pointer",
"@media": {
"(max-width: 375px)": {
//Iphone SE 같은 소형폰
Expand All @@ -115,7 +116,6 @@ export const noticeContentWrapper = style({
overflow: "hidden", // 넘치는 부분을 숨김
position: "relative",
marginLeft: 10,
cursor: "pointer",
});

export const noticeTitle = style({
Expand Down
12 changes: 8 additions & 4 deletions src/pages/QnA/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,23 @@ function QnA() {
) : (
currentNotices.map((QnaItem, index) => (
<div className={qnaContainer} key={QnaItem.id}>
<div className={qna}>
<div onClick={() => toggleQna(QnaItem.id)} className={qna}>
{/* 번호와 제목 표시 */}
<div style={{ display: "flex", alignItems: "center" }}>
<p className={qnaNumber}>{index + 1 + (currentPage - 1) * itemsPerPage}</p>
</div>

<div onClick={() => toggleQna(QnaItem.id)} className={qnaContentWrapper}>
<div className={qnaContentWrapper}>
<p className={qnaContent}>{QnaItem.title}</p>
</div>

{/* downbtn을 클릭하면 토글 */}
<button
onClick={() => toggleQna(QnaItem.id)}
className={arrowButton} // 스타일 추가
onClick={(e) => {
e.stopPropagation(); // 이벤트 버블링을 막음
toggleQna(QnaItem.id);
}}
className={arrowButton}
>
<span className="material-symbols-outlined">
{expandedQna.includes(QnaItem.id) ? "arrow_drop_up" : "arrow_drop_down"}
Expand Down
2 changes: 1 addition & 1 deletion src/pages/QnA/qna.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ export const qna = style({
alignItems: "center",
flexDirection: "row",
position: "relative",
cursor: "pointer",
"@media": {
"(max-width: 375px)": {
//Iphone SE 같은 소형폰
Expand All @@ -83,7 +84,6 @@ export const qnaContentWrapper = style({
overflow: "hidden", // 넘치는 부분을 숨김
position: "relative",
marginLeft: 10,
cursor: "pointer",
});

export const qnaContent = style({
Expand Down
59 changes: 45 additions & 14 deletions src/pages/Timetable/.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,27 @@ export const section = style({
});

const baseFilterButton = style({
position: "relative",
padding: "10px 15px",
margin: "0 5px 10px 0",
border: "none",
borderRadius: "20px",
cursor: "pointer",
transition: "background-color 0.3s ease",
backgroundColor: "rgba(79, 205, 197, 0.5)",
transition: "all 0.3s ease",
overflow: "hidden",

"::before": {
content: '""',
position: "absolute",
top: 0,
left: 0,
right: 0,
bottom: 0,
backgroundColor: "rgba(255, 255, 255, 0.5)",
transition: "background-color 0.3s ease",
zIndex: -1,
},

"@media": {
"screen and (max-width: 768px)": {
padding: "8px 12px",
Expand All @@ -37,18 +51,26 @@ export const filterButton = styleVariants({
baseFilterButton,
{
color: vars.color.white,
":hover": {

":hover::before": {
backgroundColor: "rgba(255, 255, 255, 0.2)",
},
},
],
active: [
baseFilterButton,
{
backgroundImage: "linear-gradient(to top left, #04D1C3, #009efd, #FFFFFF)",
fontWeight: "bold",
backgroundColor: "rgba(255, 255, 255, 0.3)",
color: vars.color.white,
":hover": {
WebkitBackgroundClip: "text",
backgroundClip: "text",
color: "transparent",

"::before": {
backgroundColor: "rgba(255, 255, 255, 0.5)",
},

":hover::before": {
backgroundColor: "rgba(255, 255, 255, 0.4)",
},
},
Expand All @@ -70,13 +92,13 @@ export const timeTableItem = style({
});

export const timeTableTitle = style({
fontSize: "1.2rem",
fontSize: "1.3rem",
fontWeight: "bold",
marginBottom: "10px",
fontFamily: vars.font.pyeongChangBold,
"@media": {
"screen and (max-width: 768px)": {
fontSize: "1rem",
fontSize: "1.3rem",
marginBottom: "8px",
},
},
Expand All @@ -85,7 +107,7 @@ export const timeTableTitle = style({
export const timeTableDescription = style({
fontSize: "0.9rem",
color: "#6c757d",
marginBottom: "10px",
marginBottom: "20px",
fontFamily: vars.font.pretendardRegular,
"@media": {
"screen and (max-width: 768px)": {
Expand All @@ -94,14 +116,21 @@ export const timeTableDescription = style({
},
});

export const timeTableLink = style({
color: vars.color.blue2,
textDecoration: "none",
marginLeft: "5px",
fontFamily: vars.font.pretendardRegular,
});

export const timeTableTime = style({
fontSize: "0.9rem",
fontWeight: "bold",
color: vars.color.blue1,
fontFamily: vars.font.pretendardRegular,
"@media": {
"screen and (max-width: 768px)": {
fontSize: "0.8rem",
fontSize: "1rem",
},
},
});
Expand Down Expand Up @@ -145,20 +174,22 @@ export const artistImage = style({
height: "100px",
marginRight: "10px",
objectFit: "cover",

"@media": {
"screen and (max-width: 768px)": {
width: "80px",
height: "80px",
width: "150px",
height: "150px",
},
},
});

export const artistName = style({
fontSize: "2rem",
fontSize: "1.7rem",
fontFamily: vars.font.pyeongChangLight,
wordBreak: "keep-all",
"@media": {
"screen and (max-width: 768px)": {
fontSize: "2rem",
fontSize: "1.7rem",
},
},
});
Expand Down
Loading