File tree Expand file tree Collapse file tree 13 files changed +206
-13
lines changed Expand file tree Collapse file tree 13 files changed +206
-13
lines changed Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff 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 } >
Original file line number Diff line number Diff line change 11import React from 'react'
2- import { ISpeaker } from '../../../interfaces/IProgram'
2+ import { IPerson } from '../../../interfaces/IProgram'
33import styled from 'styled-components'
44import { media } from '../../../assets/styles/mixin'
55import 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 >
Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff 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' ,
Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff line change @@ -61,5 +61,10 @@ export default {
6161 pyConKrYoutube : 'PyCon Korea YouTube' ,
6262 firstFloor : 'First Floor' ,
6363 secondFloor : 'Second Floor' ,
64- videoLink : 'Video Link'
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.'
6570}
Original file line number Diff line number Diff 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' ,
Original file line number Diff line number Diff line change 1+ import { PageName } from '../../data/enums/PageName'
2+
13export default {
24 siteTitle : '파이콘 한국 2022' ,
35 preparing : '준비 중입니다.' ,
@@ -66,5 +68,10 @@ export default {
6668 pyConKrYoutube : '파이콘 한국 유튜브' ,
6769 firstFloor : '1층' ,
6870 secondFloor : '2층' ,
69- videoLink : '발표 영상'
71+ videoLink : '발표 영상' ,
72+ organizingTeam : '파이콘 한국 준비위원회' ,
73+ organizingTeamInfo :
74+ '파이콘 한국 준비위원회는 2014년 조직되어, 올해 아홉 번째 한국에서의 파이콘 행사를 준비하고 있습니다. 준비위원회는 매년 신규 멤버를 모집하는 파이콘을 사랑하는 사람들의 열린 모임입니다.' ,
75+ staffList : '준비위원회 명단(가나다순)' ,
76+ staffListInfo : '파이콘 한국 2020는 다음과 같은 사람들이 준비하고 있습니다.'
7077}
Original file line number Diff line number Diff 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 ] : '프로그램' ,
You can’t perform that action at this time.
0 commit comments