Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新增個人頁面 #40

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added src/assets/member/ravin.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
185 changes: 93 additions & 92 deletions src/main.tsx
Original file line number Diff line number Diff line change
@@ -1,92 +1,93 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import { Route, RouterProvider, createHashRouter, createRoutesFromElements } from 'react-router-dom'
import { RootLayout } from './layout/RootLayout.tsx'
import "../node_modules/bootstrap/dist/css/bootstrap.min.css"
import "../src/index.css"
import { Home } from './page/Home.tsx'
import { ConfigProvider } from 'antd'
import { Member } from './page/Member.tsx'
import { Alumni } from './page/Alumni.tsx'
import { Partner } from './page/Partner.tsx'
import { Profile } from './page/Profile.tsx'
import { Publication } from './page/Publication.tsx'
import { Experience } from './page/Experience.tsx'
import { Record } from './page/Records.tsx'
import { News } from './page/News.tsx'
import { Activities } from './page/Activities.tsx'
import { Rule } from './page/Rule.tsx'
import { UriahMemberPage } from './member/2023/Uriah.tsx'
import { SaltMemberPage } from './member/2023/Salt.tsx'
import { RyanMemberPage } from './member/2022/Ryan.tsx'
import { Adb2MemberPage } from './member/2024/Adb2.tsx'
import { WIFIMemberPage } from './member/2024/WIFI.tsx'
import { YPPMemberPage } from './member/2024/ypp.tsx'
import { YoungMemberPage } from './member/2024/Young.tsx'
import { PaulWangMemberPage } from './member/2024/PaulWang.tsx'
import { JasonMemberPage } from './member/2024/Jason.tsx'
import { JoeMemberPage } from './member/2024/Joe.tsx'
import { EasonMemberPage } from './member/2023/Eason.tsx'
import { BoboMemberPage } from './member/2023/Bobo.tsx'
import { Guan4Tou2MemberPage } from './member/2024/Guan4Tou2.tsx'
import { CHWMemberPage } from './member/2023/CHW.tsx'

const router = createHashRouter(
createRoutesFromElements(
<Route element={<RootLayout></RootLayout>}>
<Route path='/' element={<Home></Home>}></Route>
<Route path='/Member' element={<Member></Member>}></Route>
<Route path='/Member/2023/Uriah' element={<UriahMemberPage />}></Route>
<Route path='/Member/2023/Salt' element={<SaltMemberPage />}></Route>
<Route path='/Member/2022/Ryan' element={<RyanMemberPage />}></Route>
<Route path='/Member/2024/Adb2' element={<Adb2MemberPage />}></Route>
<Route path='/Member/2024/WIFI' element={<WIFIMemberPage />}></Route>
<Route path='/Member/2023/Eason' element={<EasonMemberPage />}></Route>
<Route path='/Member/2024/ypp' element={<YPPMemberPage />}></Route>
<Route path='/Member/2024/Young' element={<YoungMemberPage />}></Route>
<Route path='/Member/2024/Jason' element={<JasonMemberPage />}></Route>
<Route path='/Member/2023/Bobo' element={<BoboMemberPage />}></Route>
<Route path='/Member/2024/PaulWang' element={<PaulWangMemberPage />}></Route>
<Route path='/Member/2024/Joe' element={<JoeMemberPage />}></Route>
<Route path='/Member/2024/Guan4Tou2' element={<Guan4Tou2MemberPage />}></Route>
<Route path='/Member/2023/CHW' element={<CHWMemberPage />}></Route>
<Route path='/Alumni' element={<Alumni></Alumni>}></Route>
<Route path='/Partner' element={<Partner></Partner>}></Route>
<Route path='/Profile' element={<Profile></Profile>}></Route>
<Route path='/Publication' element={<Publication></Publication>}></Route>
<Route path='/Experience' element={<Experience></Experience>}></Route>
<Route path='/Record' element={<Record></Record>}></Route>
<Route path='/News' element={<News></News>}></Route>
<Route path='/Activities' element={<Activities></Activities>}></Route>
<Route path='/Rules' element={<Rule></Rule>}></Route>
</Route>
)
)

ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<ConfigProvider theme={{
components: {
Menu: {
darkItemColor: "white",
darkItemSelectedBg: "black",
darkItemBg: "black",
darkSubMenuItemBg: "black",
subMenuItemBg: "black",
darkItemSelectedColor: "#cf2e2e"
},
Table: {
colorBgContainer: "black",
colorTextDescription: "white",
colorText: "white",
colorBorder: "white",
headerColor: "white",
borderColor: "white",
headerBorderRadius: 0
}
}
}}>
<RouterProvider router={router}></RouterProvider>
</ConfigProvider>
</React.StrictMode>,
)
import React from 'react'
import ReactDOM from 'react-dom/client'
import { Route, RouterProvider, createHashRouter, createRoutesFromElements } from 'react-router-dom'
import { RootLayout } from './layout/RootLayout.tsx'
import "../node_modules/bootstrap/dist/css/bootstrap.min.css"
import "../src/index.css"
import { Home } from './page/Home.tsx'
import { ConfigProvider } from 'antd'
import { Member } from './page/Member.tsx'
import { Alumni } from './page/Alumni.tsx'
import { Partner } from './page/Partner.tsx'
import { Profile } from './page/Profile.tsx'
import { Publication } from './page/Publication.tsx'
import { Experience } from './page/Experience.tsx'
import { Record } from './page/Records.tsx'
import { News } from './page/News.tsx'
import { Activities } from './page/Activities.tsx'
import { Rule } from './page/Rule.tsx'
import { UriahMemberPage } from './member/2023/Uriah.tsx'
import { SaltMemberPage } from './member/2023/Salt.tsx'
import { RyanMemberPage } from './member/2022/Ryan.tsx'
import { Adb2MemberPage } from './member/2024/Adb2.tsx'
import { WIFIMemberPage } from './member/2024/WIFI.tsx'
import { YPPMemberPage } from './member/2024/ypp.tsx'
import { YoungMemberPage } from './member/2024/Young.tsx'
import { PaulWangMemberPage } from './member/2024/PaulWang.tsx'
import { JasonMemberPage } from './member/2024/Jason.tsx'
import { JoeMemberPage } from './member/2024/Joe.tsx'
import { EasonMemberPage } from './member/2023/Eason.tsx'
import { BoboMemberPage } from './member/2023/Bobo.tsx'
import { Guan4Tou2MemberPage } from './member/2024/Guan4Tou2.tsx'
import { CHWMemberPage } from './member/2023/CHW.tsx'
import { RavinMemberPage } from './member/2023/Ravin.tsx'

const router = createHashRouter(
createRoutesFromElements(
<Route element={<RootLayout></RootLayout>}>
<Route path='/' element={<Home></Home>}></Route>
<Route path='/Member' element={<Member></Member>}></Route>
<Route path='/Member/2023/Uriah' element={<UriahMemberPage />}></Route>
<Route path='/Member/2023/Salt' element={<SaltMemberPage />}></Route>
<Route path='/Member/2022/Ryan' element={<RyanMemberPage />}></Route>
<Route path='/Member/2024/Adb2' element={<Adb2MemberPage />}></Route>
<Route path='/Member/2024/WIFI' element={<WIFIMemberPage />}></Route>
<Route path='/Member/2023/Eason' element={<EasonMemberPage />}></Route>
<Route path='/Member/2024/ypp' element={<YPPMemberPage />}></Route>
<Route path='/Member/2024/Young' element={<YoungMemberPage />}></Route>
<Route path='/Member/2024/Jason' element={<JasonMemberPage />}></Route>
<Route path='/Member/2023/Bobo' element={<BoboMemberPage />}></Route>
<Route path='/Member/2024/PaulWang' element={<PaulWangMemberPage />}></Route>
<Route path='/Member/2024/Joe' element={<JoeMemberPage />}></Route>
<Route path='/Member/2024/Guan4Tou2' element={<Guan4Tou2MemberPage />}></Route>
<Route path='/Member/2023/CHW' element={<CHWMemberPage />}></Route>
<Route path='/Member/2023/Ravin' element={<RavinMemberPage />}></Route>
<Route path='/Alumni' element={<Alumni></Alumni>}></Route>
<Route path='/Partner' element={<Partner></Partner>}></Route>
<Route path='/Profile' element={<Profile></Profile>}></Route>
<Route path='/Publication' element={<Publication></Publication>}></Route>
<Route path='/Experience' element={<Experience></Experience>}></Route>
<Route path='/Record' element={<Record></Record>}></Route>
<Route path='/News' element={<News></News>}></Route>
<Route path='/Activities' element={<Activities></Activities>}></Route>
<Route path='/Rules' element={<Rule></Rule>}></Route>
</Route>
)
)
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<ConfigProvider theme={{
components: {
Menu: {
darkItemColor: "white",
darkItemSelectedBg: "black",
darkItemBg: "black",
darkSubMenuItemBg: "black",
subMenuItemBg: "black",
darkItemSelectedColor: "#cf2e2e"
},
Table: {
colorBgContainer: "black",
colorTextDescription: "white",
colorText: "white",
colorBorder: "white",
headerColor: "white",
borderColor: "white",
headerBorderRadius: 0
}
}
}}>
<RouterProvider router={router}></RouterProvider>
</ConfigProvider>
</React.StrictMode>,
)
121 changes: 121 additions & 0 deletions src/member/2023/Ravin.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
import { Sample } from "../Sample"
import logo from "../../assets/member/ravin.jpg"
import { MemberArticleType, MemberCertificateType, MemberInternType, MemberParticipateType, MemberCompetitionExperienceType } from "../../type/MemberCertificateType"

export const RavinMemberPage = () => {
const bio = <div className="d-flex flex-column gap-3">
<p>我是林幸慧</p>

</div>
const certificates: MemberCertificateType[] = [
{
title: "iPAS 資訊安全工程師-初級能力鑑定",
datetime: "2024.06.01"
},

]
const competitionExperiences: MemberCompetitionExperienceType[] = [
{
title: "AIS3 Pre-exam 2024",
result: "排名 : 33/493",
datetime: "2024.05.25-2024.05.27"
},
{
title: "資安大會 CyberRange",
result: "",
datetime: "2024.05.16"
},
{
title: "picoCTF 2024",
result: "排名 : 377/6957",
datetime: "2024.03.13-2024.03.27"
},
{
title: "TSCCTF 2024",
result: "",
datetime: "2024.03.13-2024.03.27"
},
{
title: "T 貓盃",
result: "",
datetime: "2023.11.10-2023.11.13"
},
{
title: "CGGC CTF",
result: "",
datetime: "2023.12.1-2023.12.2"
},
]
const participates: MemberParticipateType[] = [
{
title: "2024 AIS3 新型態資安暑期課程",
datetime: "2024/07/29-2024/08/04"
},
{
title: "CraftCon Taiwan 奧義 AI 資安年會",
datetime: "2024/07/12"
},
{
title: "CYBERSEC 2024",
datetime: "2024/05/14-2024/05/16"
},
{
title: "SICON 2024",
datetime: "2024/03/09"
},
{
title: "TeamT5 Security Camp 資安培訓營",
datetime: "2024/03/09"
},
{
title: "HITCON Girls Workshop 2023",
datetime: "2023/11/25-2023/11/26"
},
{
title: "HITCON Carnival 2023 攻防演練論壇 & 賽況導覽",
datetime: "2023/11/14"
},
{
title: "2023神盾盃資安論壇",
datetime: "2023/11/02"
},
]
const internExperiences: MemberInternType[] = [
{
company: "果核數位股份有限公司",
info: "資安實習生",
datetime: "2024.07 - now"
},
{
company: "中華資安國際股份有限公司",
info: "資安實習生",
datetime: "2023.04 - 2023.09"
},
{
company: "元盾資安股份有限公司",
info: "資安實習生",
datetime: "2022.07 - 2022.08"
},
]
const journals: MemberArticleType[] = [

]
const conferences: MemberArticleType[] = []
const techConfs: MemberArticleType[] = []
return (
<Sample
zhName="林幸慧"
enName="LIN, Sing-Hui"
avatar={logo}
institutes={["國立臺北科技大學 資訊安全學位學程 碩一"]}
bio={bio}
experiences={competitionExperiences}
certificates={certificates}
participates={participates}
intern={internExperiences}
journals={journals}
conferences={conferences}
techConfs={techConfs}
></Sample>
)
}
3 changes: 2 additions & 1 deletion src/page/Member.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ export function Member(){
role: "碩一,資安碩士",
coAdvisor: '',
experience: "果核數位實習生,前中華資安國際股份有限公司實習生",
certificate: "iPAS 資訊安全工程師檢定(初級)"
certificate: "iPAS 資訊安全工程師檢定(初級)",
website: "/#/Member/2023/Ravin"
},
{
key: '3',
Expand Down