Skip to content

Commit 847b301

Browse files
committed
파이콘 한국 준비위원회 페이지 추가
1 parent 7c80214 commit 847b301

File tree

13 files changed

+208
-13
lines changed

13 files changed

+208
-13
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import styled from 'styled-components'
2+
import { media } from '../../../assets/styles/mixin'
3+
import { IPerson } from '../../../interfaces/IProgram'
4+
import React from 'react'
5+
import Linkify from 'react-linkify'
6+
import { DEFAULT_PROFILE_PATH } from '../../../data/constants/config'
7+
8+
const PersonProfile = styled.div`
9+
width: 6rem;
10+
height: 6rem;
11+
background-image: url(${(props) => props.image});
12+
background-size: cover;
13+
background-position: center;
14+
border-radius: 50%;
15+
`
16+
17+
const PersonContainer = styled.li`
18+
display: flex;
19+
align-items: flex-start;
20+
& + & {
21+
margin-top: 2rem;
22+
${media.mobile(`
23+
margin-top: 2.5rem;
24+
`)}
25+
}
26+
`
27+
const PersonInfo = styled.div`
28+
margin-left: 1rem;
29+
${media.mobile(`
30+
flex: 1;
31+
`)}
32+
`
33+
const PersonName = styled.div`
34+
font-weight: bold;
35+
`
36+
const PersonIntro = styled.p`
37+
margin-top: 0.8rem;
38+
white-space: pre-wrap;
39+
a {
40+
color: ${(props) => props.theme.colors.blue0};
41+
}
42+
`
43+
44+
const PersonListItem = (props: { item: IPerson }) => {
45+
const { item } = props
46+
47+
return (
48+
<PersonContainer>
49+
<PersonProfile image={item.image || DEFAULT_PROFILE_PATH} />
50+
<PersonInfo>
51+
<PersonName>{item.name}</PersonName>
52+
<PersonIntro>
53+
<Linkify>{item.introduction}</Linkify>
54+
</PersonIntro>
55+
</PersonInfo>
56+
</PersonContainer>
57+
)
58+
}
59+
60+
export default PersonListItem

frontend/components/service/PreviousPyconkr/PreviousPyconkrList.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,12 @@ const PreviousPyconkrList: React.FC<PreviousPyconkrList> = ({ keys }) => {
6666
{keys.map((item, index) => {
6767
const { year } = item
6868
const imageKey = `${year}_IMG`
69-
const imageUrl = images[imageKey] ?? ''
69+
const image = images[imageKey] ?? ''
7070
return (
7171
<Container key={index}>
7272
<Row>
7373
<Col>
74-
<Image
75-
src={imageUrl}
76-
alt={`Image of ${year}`}
77-
/>
74+
<Image src={image} alt={`Image of ${year}`} />
7875
</Col>
7976
<Col>
8077
<Title useGradient={true}>

frontend/components/service/Program/Speaker.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react'
2-
import { ISpeaker } from '../../../interfaces/IProgram'
2+
import { IPerson } from '../../../interfaces/IProgram'
33
import styled from 'styled-components'
44
import { media } from '../../../assets/styles/mixin'
55
import Linkify from 'react-linkify'
@@ -36,12 +36,12 @@ const SpeakerIntro = styled.p`
3636
white-space: pre-wrap;
3737
`
3838

39-
const Speaker = (props: { item: ISpeaker }) => {
39+
const Speaker = (props: { item: IPerson }) => {
4040
const { item } = props
4141

4242
return (
4343
<SpeakerContainer>
44-
<SpeakerImage src={item.imageUrl} alt={item.name} />
44+
<SpeakerImage src={item.image} alt={item.name} />
4545
<SpeakerInfo>
4646
<SpeakerName>{item.name}</SpeakerName>
4747
<SpeakerIntro>

frontend/data/constants/staff.ts

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import { IPerson } from '../../interfaces/IProgram'
2+
3+
const staffList: IPerson[] = [
4+
{
5+
name: '강지우',
6+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Jiwoo-Kang.jpeg',
7+
introduction: 'https://constmoon.github.io'
8+
},
9+
{
10+
name: '권혁민',
11+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Hyeokmin-Kwon.JPG',
12+
introduction: 'TAKE A CHANCE'
13+
},
14+
{
15+
name: '김강민',
16+
image: '',
17+
introduction: ''
18+
},
19+
{
20+
name: '김다현',
21+
image: '',
22+
introduction: ''
23+
},
24+
{
25+
name: '김순태',
26+
image: '',
27+
introduction: ''
28+
},
29+
{
30+
name: '박성흠',
31+
image: '',
32+
introduction: ''
33+
},
34+
{
35+
name: '이우섭',
36+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Woosub-Lee.png',
37+
introduction: 'And then some,\nhttps://www.linkedin.com/in/woosublee/'
38+
},
39+
{
40+
name: '이현호',
41+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Hyunho-Lee.JPG',
42+
introduction:
43+
'협업을 좋아하고 사람들과 소통하는 것을 좋아하는 개발자입니다.'
44+
},
45+
{
46+
name: '전병우',
47+
image: '',
48+
introduction: ''
49+
},
50+
{
51+
name: '정동규',
52+
image: '',
53+
introduction: ''
54+
},
55+
{
56+
name: '조용주 Peniel Cho',
57+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Yongjoo-Cho.png',
58+
introduction:
59+
'개발자 아닌 개발자 같은 개발자스러운 DevRel 👀 개발 문화와 커뮤니티를 위해 출근 후 퇴근 후 일합니다 😎'
60+
},
61+
{
62+
name: '한연희',
63+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Yeonhee-Han.jpeg',
64+
introduction:
65+
'전공은 디자인이지만 개발자 커뮤니티에서 더 활발히 활동하는 꼬꼬마 파이써니스타 입니다 👧🏻'
66+
},
67+
{
68+
name: 'Jess',
69+
image: 'https://pyconweb2022-static.s3.ap-northeast-2.amazonaws.com/image/Hyeonji-Ryu.png',
70+
introduction: 'DEV AnythinG / https://github.com/Hyeonji-Ryu'
71+
}
72+
]
73+
74+
export default staffList

frontend/data/enums/PageName.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export enum PageName {
33
About = 'About',
44
Pyconkr2022 = 'Pyconkr2022',
55
PreviousPyconkr = 'PreviousPyconkr',
6+
OrganizingTeam = 'OrganizingTeam',
67
Ticket = 'Ticket',
78
Venue = 'Venue',
89
Program = 'Program',

frontend/interfaces/IProgram.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ export interface ITalkList {
1616
list: ITalkItem[]
1717
}
1818

19-
export interface ISpeaker {
20-
imageUrl: string
19+
export interface IPerson {
20+
image: string
2121
name: string
2222
introduction: string
2323
}

frontend/locales/en/label.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,11 @@ export default {
6060
'PyCon Korea 2022 will be held both online and offline. The talks will be streamed on the PyCon Korea YouTube(https://www.youtube.com/c/PyConKRtube).',
6161
pyConKrYoutube: 'PyCon Korea YouTube',
6262
firstFloor: 'First Floor',
63-
secondFloor: 'Second Floor'
63+
secondFloor: 'Second Floor',
64+
videoLink: 'Video Link',
65+
organizingTeam: 'PyCon Korea Organizing Team',
66+
organizingTeamInfo:
67+
"PyCon Korea Organizing Team is an open community of Pythonistas recruiting new members every year. PyCon Korea Organizing Team was first organized in 2014 and we're preparing our 8th PyCon in Korea.",
68+
staffList: 'PyCon Korea Organizing Team (Ordered alphabetically in Korean)',
69+
staffListInfo: 'PyCon Korea 2020 is being prepared by the following people.'
6470
}

frontend/locales/en/pageTitle.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export default {
55
[PageName.About]: 'About',
66
[PageName.Pyconkr2022]: 'PyCon Korea 2022',
77
[PageName.PreviousPyconkr]: 'Previous PyCon Korea',
8+
[PageName.OrganizingTeam]: 'Pycon Korea Organizing Team',
89
[PageName.Ticket]: 'Buy Ticket',
910
[PageName.Venue]: 'Venue',
1011
[PageName.Program]: 'Program',

frontend/locales/ko/label.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { PageName } from '../../data/enums/PageName'
2+
13
export default {
24
siteTitle: '파이콘 한국 2022',
35
preparing: '준비 중입니다.',
@@ -65,5 +67,11 @@ export default {
6567
'파이콘 한국 2022는 파이콘 한국 유튜브 채널(https://www.youtube.com/c/PyConKRtube)에서 시청 가능합니다. 세션은 온라인과 오프라인 동시에 진행됩니다.',
6668
pyConKrYoutube: '파이콘 한국 유튜브',
6769
firstFloor: '1층',
68-
secondFloor: '2층'
70+
secondFloor: '2층',
71+
videoLink: '발표 영상',
72+
organizingTeam: '파이콘 한국 준비위원회',
73+
organizingTeamInfo:
74+
'파이콘 한국 준비위원회는 2014년 조직되어, 올해 아홉 번째 한국에서의 파이콘 행사를 준비하고 있습니다. 준비위원회는 매년 신규 멤버를 모집하는 파이콘을 사랑하는 사람들의 열린 모임입니다.',
75+
staffList: '준비위원회 명단(가나다순)',
76+
staffListInfo: '파이콘 한국 2020는 다음과 같은 사람들이 준비하고 있습니다.'
6977
}

frontend/locales/ko/pageTitle.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export default {
55
[PageName.About]: '파이콘 한국',
66
[PageName.Pyconkr2022]: '파이콘 한국 2022',
77
[PageName.PreviousPyconkr]: '지난 파이콘 한국',
8+
[PageName.OrganizingTeam]: '파이콘 한국 준비위원회',
89
[PageName.Ticket]: '티켓 구입',
910
[PageName.Venue]: '장소 안내',
1011
[PageName.Program]: '프로그램',

0 commit comments

Comments
 (0)