Skip to content

Commit a7240f0

Browse files
authored
Merge pull request #49 from christian-japan-devs/design
update ticket
2 parents 0b59aea + accf3fe commit a7240f0

File tree

11 files changed

+351
-31
lines changed

11 files changed

+351
-31
lines changed

design/components/card/ticket.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import {Event} from '../../types/event'
2+
import { QRCodeSVG } from 'qrcode.react'
3+
import { useState, useEffect } from 'react';
4+
5+
type Props = {
6+
event?: Event,
7+
onSubmit?: (id:string) => void,
8+
}
9+
10+
export default function TicketCard({event,onSubmit}: Props ){
11+
const [qr_code_side, setQrCodeSide] = useState(88);
12+
const [qr_code_position, setQrCodePosition] = useState(" bottom-bs left-ls");
13+
14+
useEffect(() => {
15+
if(window.innerWidth > 380){
16+
setQrCodeSide(100);
17+
setQrCodePosition(" bottom-bl left-ll");
18+
}
19+
}, []);
20+
21+
return (
22+
<div className="max-w-sm relative">
23+
<img className="z-0 justify-center" alt="" aria-hidden="true" src="/Tham_Du_Vien_Online_1.svg"/>
24+
<div className={"z-10 absolute "+qr_code_position}>
25+
<QRCodeSVG value="https://www.vietcatholic.jp/my-code/?code=BCDEF&email=dang.hoang.geo@gmail.com" size={qr_code_side} fgColor="#2F86A6"/>
26+
</div>
27+
<div className="z-10 w-full absolute bottom-60">
28+
<p className='width-full font-bold text-xl font-serif text-center text-cyan-800'>VINH SƠN</p>
29+
<p className='font-bold mt-2 text-3xl font-serif text-center text-cyan-900'>HOÀNG MINH PHONG</p>
30+
</div>
31+
</div>
32+
)
33+
}

design/package-lock.json

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

design/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"eslint-config-next": "13.0.5",
2121
"next": "13.0.5",
2222
"next-auth": "^4.18.6",
23+
"qrcode.react": "^3.1.0",
2324
"react": "18.2.0",
2425
"react-dom": "18.2.0",
2526
"typescript": "4.9.3"

design/pages/gioi-tre/dai-hoi/index.tsx

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Tab } from '@headlessui/react'
44
import Disclosure from '../../../components/Disclosure'
55
import Layout from '../../../components/layout/Layout'
66
import {youth_day_programs} from '../../../types/sample_data/youthday'
7+
import TicketCard from '@/components/card/ticket'
78
const meta_data = {
89
title:"Đại hội giới trẻ tại Nhật bản",
910
description:"Đại hội giới trẻ công giáo Việt Nam tại Nhật Bản lần thứ 2 tháng 5 năm 2023.",
@@ -48,36 +49,23 @@ export default function Event() {
4849
<img className='rounded-lg' src="/youth_event/group-04.jpg" alt="" loading="lazy"/>
4950
</div>
5051
</div>
51-
<div className="w-full max-w-3xl shadow-md rounded-xl items-center py-4 px-2 sm:px-4 bg-gradient-to-b to-pink-600 from-sky-500 bg-gray-700y-400 dark:to-gray-700 dark:from-stone-900">
52-
<h2 className="text-gray-100 text-center my-4 dark:text-gray-200 text-2xl lg:text-4xl font-semibold">
53-
CHƯƠNG TRÌNH ĐẠI HỘI
54-
</h2>
55-
<Tab.Group>
56-
<Tab.List className="flex space-x-1 rounded-xl bg-blue-900/20 p-1">
57-
{youth_day_programs.map((program, idx)=>(
58-
<Tab key={idx} onClick={()=>setSelectedTab(idx)} className={"w-full rounded-lg py-2.5 text-sm font-medium leading-5 text-blue-700 ring-white ring-opacity-60 ring-offset-2 ring-offset-blue-400 focus:outline-none focus:ring-2 "+(selected_tab===idx?'bg-white shadow':'text-blue-100 hover:bg-white/[0.12] hover:text-white')}>{program.title}</Tab>
59-
))}
60-
</Tab.List>
61-
<Tab.Panels>
62-
{youth_day_programs.map((program, idx)=>(
63-
<Tab.Panel key={idx}>
64-
<div className='mt-8 py-2 px-4 backdrop-blur-md bg-white/30 rounded-box'>
65-
<h2 className="text-gray-100 mb-4 text-center dark:text-gray-200 text-2xl font-semibold">{program.date}
66-
</h2>
67-
<ol className="relative border-l border-gray-200 dark:border-gray-800">
68-
{program.details.map((detail,idx)=>(
69-
<li key={idx} className="mb-6 ml-4">
70-
<div className="absolute w-3 h-3 bg-gray-200 rounded-full mt-1.5 -left-1.5 border border-white dark:border-gray-900 dark:bg-gray-800"></div>
71-
<time className="text-lg font-normal text-gray-100 dark:text-gray-200">{detail.from_time} - {detail.to_time}</time>
72-
<Disclosure className="mt-4" title={detail.content.title} content={detail.content.detail}/>
73-
</li>
74-
))}
75-
</ol>
76-
</div>
77-
</Tab.Panel>
78-
))}
79-
</Tab.Panels>
80-
</Tab.Group>
52+
</div>
53+
<div className='items-center'>
54+
<TicketCard/>
55+
<div className="w-full max-w-3xl shadow-md rounded-xl items-center sm:px-4 bg-gradient-to-b to-pink-600 from-sky-500 bg-gray-700y-400 dark:to-gray-700 dark:from-stone-900">
56+
<div className="sm:hidden">
57+
<div className="max-w-sm mt-4">
58+
<img className="z-0 object-fill justify-center" alt="" aria-hidden="true" src="/ChuongTrinhNgay1DH.svg"/>
59+
</div>
60+
<div className="max-w-sm mt-4">
61+
<img className="z-0 object-fill justify-center" alt="" aria-hidden="true" src="/ChuongTrinhNgay2DH.svg"/>
62+
</div>
63+
</div>
64+
<div className='hidden sm:block'>
65+
<div className="mt-4">
66+
<img className="z-0 object-fill justify-center" alt="" aria-hidden="true" src="/ChuongTrinhNgay1-2DH.svg"/>
67+
</div>
68+
</div>
8169
</div>
8270
</div>
8371
<div className="grid gap-2 sm:grid-cols-2 lg:grid-cols-2">

design/public/ChuongTrinhNgay1-2DH.svg

Lines changed: 106 additions & 0 deletions
Loading

design/public/ChuongTrinhNgay1DH.svg

Lines changed: 61 additions & 0 deletions
Loading

design/public/ChuongTrinhNgay2DH.svg

Lines changed: 60 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)