diff --git a/components/ManagementTeamTable/ManagementTeamTable.js b/components/ManagementTeamTable/ManagementTeamTable.js new file mode 100644 index 0000000..a2ffc71 --- /dev/null +++ b/components/ManagementTeamTable/ManagementTeamTable.js @@ -0,0 +1,38 @@ +import styled from "styled-components"; + +const TableWrap = styled.div` + overflow-x: auto; + white-space: nowrap; +`; + +export default function ManagementTeamTable({ data }) { + return ( + + + + + + + + + + + {data[0].president?.map((member) => ( + + + + + + ))} + {data[0].member?.map((member) => ( + + + + + + ))} + +
직책이름학교
회장{member.name}{member.school ? member.school : "-"}
운영진{member.name}{member.school ? member.school : "-"}
+
+ ); +} diff --git a/pages/personalsponsor.page.js b/pages/personalsponsor.page.js new file mode 100644 index 0000000..b2fa664 --- /dev/null +++ b/pages/personalsponsor.page.js @@ -0,0 +1,126 @@ +import Layout from "../components/Layout"; +import styled, { css } from "styled-components"; +import Head from "next/head"; + +const SinchonColor = css` + color: #009d3e; +`; +const ImgWrap = styled.div` + height: 400px; + overflow: hidden; + + margin: 1rem 0 4rem 0; + + @media (max-width: 1000px) { + height: 50vw; + img { + height: 50vw; + max-width: unset; + } + } +`; + +const PersonalSponsor = () => { + return ( + + + personalSponsor | ICPC Sinchon + + + + + + + +
+
+ + + ICPC Sinchon을 + 도와주실
+ 개인 후원자님을 환영합니다. +
+ + 지금까지의 모든 연합 활동에 후원자님의 후원이 큰 도움이 + 되었습니다. + +
+ + dev-community-stickers + + + 다음의 계좌로 후원금을 받고 있습니다 + 123456789 + + + 다음과 혜택을 제공합니다 +
    +
  • SUAPC 홈페이지 후원사 이름 기재
  • +
  • 드릴 수 있는 게 없어요
  • +
+
+ + + 언제든지 ICPC Sinchon과 함께하세요 + + 좋은 마음으로 후원에 함께해주시는 만큼 저희도 행사 개최에 최선을 + 다할 것을 약속드립니다. +
+ 관련 문의는 + 으로 연락주시면 감사드리겠습니다. +
+
+
+
+
+ ); +}; + +const ItemWrap = styled.div` + padding-bottom: 1rem; +`; +const MainTextTitle = styled.h1` + ${SinchonColor} + + font-family: 'KeepCalmMed', 'Apple SD Gothic Neo'; + font-size: 1.8rem; + font-weight: 700; + + @media (max-width: 470px) { + font-size: 1.6rem; + } + + @media (max-width: 400px) { + font-size: 1.4rem; + } +`; + +const TextTitle = styled.div` + ${SinchonColor} + + font-family: 'KeepCalmMed', 'Apple SD Gothic Neo'; + font-size: 1.4rem; + font-weight: 700; + + @media (max-width: 470px) { + font-size: 1.1rem; + } +`; + +const TextSubTitle = styled.div` + font-size: 0.9rem; + font-weight: 500; +`; + +export default PersonalSponsor; diff --git a/pages/suapc.page.js b/pages/suapc.page.js index 456a137..44d36ae 100644 --- a/pages/suapc.page.js +++ b/pages/suapc.page.js @@ -21,6 +21,8 @@ import PreviewWrap from "../components/PreviewWrap/PreviewWrap"; import ArchiveButton from "../components/ArchiveButton/ArchiveButton"; import AdmissionButton from "../components/AdmissionButton/AdmissionButton"; import ArchiveWrap from "../components/ContestWrap/ContestItem/ArchiveWrap"; +import ManagementTeamTable from "../components/ManagementTeamTable/ManagementTeamTable"; +import organizer from "../public/history/organizer.json"; const data0 = require( `../public/history/suapc/${process.env.NEXT_PUBLIC_CURRENT_SUAPC_SEASON}.json`, @@ -248,7 +250,13 @@ const Suapc = () => { })} - + {currentSeasonData.personalSponsor && + Array.isArray(currentSeasonData.personalSponsor) && ( + + )} {currentSeasonData.awards && ( <> {!!currentSeasonData.awards.length && ( @@ -305,6 +313,27 @@ const Suapc = () => { )} + <> + + {organizer.filter( + (item) => + item.year === parseInt(currentYear) && + item.season === currentSeason, + ).length > 0 && ( +
+ 운영진 + + item.year === parseInt(currentYear) && + item.season === currentSeason, + )} + /> +
+ )} +
+ + {currentSeasonData.awards && (