Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
golony6449 committed Jun 21, 2024
2 parents 6a1c7ab + 60b66b4 commit 155cb34
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 1 deletion.
55 changes: 55 additions & 0 deletions src/pages/Program/sprint.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import React from "react"
import Page from "components/common/Page"
import useTranslation from "utils/hooks/useTranslation";

import { useNavigate } from "react-router";

const TutorialPage = () => {
const t = useTranslation();
const navigate = useNavigate();

const goToForm = () => {
alert("모집이 곧 시작될 예정입니다. 잠시만 기다려 주세요.")
}

return <Page title="스프린트">
<h1>{t("PyCon Korea 2024 스프린트 진행자 모집")}</h1>
<span>{t("PyCon Korea 2024에서 새로운 스프린터가 질주하는 데에 도움을 주실 멘토 분들을 모집합니다.")}</span>
<button className="secondary" style={{fontSize: "small", padding: "4px 8px", marginLeft: "16px"}} onClick={goToForm}>{t("지원하기")}</button>
<br/><br/>
<h2>{t("스프린트란?")}</h2>
<span>{t("PyCon Korea의 스프린트는 오픈소스 프로젝트에 대해 집중적으로 학습하고 개발하는 프로그램입니다. 이 곳에서는 새로운 동료들을 만나고, 오픈소스에서 얻을 수 있는 경험과 지식을 자유롭게 나눌 수 있습니다. ")}</span>
<br/><br/>
<h2>{t("스프린트를 처음 진행하시나요?")}</h2>
<span><a href="https://opensourceevents.github.io/">{t("이 문서")}</a>{t("를 참고해보시는 것은 어떨까요? (Getting your open source project ready for new contributors)")}</span>
<br/><br/>
<h2>{t("진행일정 및 장소")}</h2>
<span>
{t("일자: 2024년 10월 25일 금요일")} <br />
{t("장소: 수원 컨벤션센터 3층")}
</span>
<br/><br/>
<h2>{t("진행자 모집 일정")}</h2>
<span>{t("~ 2024년 07월 31일 수요일 23:59:59 (KST)")}</span>
<br/><br/>
<h2>{t("지난 스프린트")}</h2>
<ul>
<li><a href="https://2023.pycon.kr/sprint">PyCon Korea 2023</a></li>
<li><a href="https://archive.pycon.kr/2018/program/sprint/">PyCon Korea 2018</a></li>
<li><a href="https://us.pycon.org/2019/community/sprints/">PyCon US 2019</a></li>
</ul>
<br/><br/>
<h2>{t("참고사항")}</h2>
<ul>
<li>{t("Python을 이용하여야 합니다.")}</li>
<li>{t("진행자는 파이콘 기간 동안 파이콘 한국 행동강령을 지켜야 합니다.")}</li>
<li>{t("대한민국 실정법에 위반이 없어야 합니다.")}</li>
<li>{t("PyCon Korea 2024 컨퍼런스 티켓을 구매하지 않더라도 스프린트 진행이 가능합니다.")}</li>
</ul>
<br/><br/>
<h2>{t("문의")}</h2>
<span><a href="mailto:[email protected]">[email protected]</a></span>
</Page>;
}

export default TutorialPage;
9 changes: 8 additions & 1 deletion src/pages/Program/tutorial.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,20 @@ import React from "react"
import Page from "components/common/Page"
import useTranslation from "utils/hooks/useTranslation";

import { useNavigate } from "react-router";

const TutorialPage = () => {
const t = useTranslation();
const navigate = useNavigate();

const goToForm = () => {
alert("모집이 곧 시작될 예정입니다. 잠시만 기다려 주세요.")
}

return <Page title="튜토리얼">
<h1>{t("PyCon Korea 2024 튜토리얼 진행자 모집")}</h1>
<span>{t("PyCon Korea 2024 참가자 분들께 새로운 기술, 라이브러리를 전수해주실 진행자 분들을 모집합니다.")}</span>
<button className="secondary" style={{fontSize: "small", padding: "4px 8px", marginLeft: "16px"}}>{t("지원하기")}</button>
<button className="secondary" style={{fontSize: "small", padding: "4px 8px", marginLeft: "16px"}} onClick={goToForm}>{t("지원하기")}</button>
<br/><br/>
<h2>{t("튜토리얼이란?")}</h2>
<span>{t("PyCon Korea의 튜토리얼은 파이썬에 대한 새로운 기술이나 라이브러리를 먼저 경험하신 분들로부터 직접 배울 수 있는 프로그램입니다. 이 곳에서는 현장에서 질문하고 해결하는 과정을 통해 해당 기술에 대해 깊이 있는 지식을 습득하게 됩니다.")}</span>
Expand Down
1 change: 1 addition & 0 deletions src/pages/Ticket/buy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ const BuyTicket = ({ onPaymentCompleted }: Props) => {
{Object.entries(tickets).map(([k, v]) => (
<div key={k}>
<h2>{t(v.name)}</h2>
<h3>티켓 판매 시작: 2024년 7월 15일 14:00 부터</h3>
<table>
<tbody>
{v.tickets.map((ticket) => (
Expand Down
9 changes: 9 additions & 0 deletions src/pages/Ticket/index.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,25 @@
import React, { useState } from "react";
import BuyTicket from "./buy";
import PaymentResult from "./paymentResult";
import { useNavigate } from "react-router";
import { Navigate } from "react-router-dom";

type State = {
view: "LIST" | "PAYMENT_RESULT";
};

const TicketPage = () => {
const [view, setView] = useState<State["view"]>("LIST");
const navigate = useNavigate();

switch (view) {
case "LIST":

if (!localStorage.getItem("id")) {
alert("로그인이 필요합니다.");
return <Navigate to={"/login"}/>;
}

return (
<BuyTicket
onPaymentCompleted={() => {
Expand Down
2 changes: 2 additions & 0 deletions src/routes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import TicketPage from "pages/Ticket";
import PaymentList from "pages/Ticket/paymentList";
import SponsorPage from "pages/Sponsor";
import TutorialPage from "pages/Program/tutorial";
import SprintPage from "pages/Program/sprint";
import Pyconkr2024 from "pages/About/pyconkr2024";
import Cfp from "pages/Contribution/cfp";

Expand All @@ -29,6 +30,7 @@ const Router = () => {
<Route path="/terms-of-service" element={<TermsOfService />} />
<Route path="/privacy-policy" element={<PrivacyPolicy />} />
<Route path="/program/tutorial" element={<TutorialPage />} />
<Route path="/program/sprint" element={<SprintPage />} />
<Route path="/404" element={<NotFound />} />
<Route path="*" element={<Navigate replace to={"/404"} />} />
</Routes>
Expand Down

0 comments on commit 155cb34

Please sign in to comment.