Skip to content

Commit 297900e

Browse files
committed
PhotoPageSection
1 parent 1718d39 commit 297900e

File tree

6 files changed

+161
-2
lines changed

6 files changed

+161
-2
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<script setup lang="ts">
2+
import { photos } from '~/utils/constants'
3+
</script>
4+
5+
<template>
6+
<section class="photos-container">
7+
<div class="photos">
8+
<VFTitle id="photo" class="title">
9+
{{ $t('photo.title') }}
10+
</VFTitle>
11+
<div>
12+
<p>{{ $t('photo.subtitle1') }}</p>
13+
<p>{{ $t('photo.subtitle2') }}</p>
14+
<ul>
15+
<li v-for="(photo, key) in photos" :key>
16+
<NuxtLink :to="photo.url" target="_blank">
17+
{{ photo.title }}
18+
</NuxtLink>
19+
</li>
20+
</ul>
21+
</div>
22+
</div>
23+
</section>
24+
</template>
25+
26+
<style scoped>
27+
@import url('~/assets/media.css');
28+
29+
.photos-container {
30+
--container-padding: calc(var(--unit) * 15) 6%;
31+
32+
padding: var(--container-padding);
33+
background: rgba(255, 255, 255, 0.75);
34+
backdrop-filter: blur(8px);
35+
}
36+
37+
.photos {
38+
--content-max-width: calc(var(--unit) * 96);
39+
40+
display: grid;
41+
max-width: var(--content-max-width);
42+
margin: 0 auto;
43+
width: 100%;
44+
}
45+
46+
.title {
47+
--content-padding-bottom: calc(var(--unit) * 5);
48+
49+
text-align: center;
50+
padding-bottom: var(--content-padding-bottom);
51+
line-height: 1.2;
52+
}
53+
54+
.photos p {
55+
margin: 0 0 16px;
56+
}
57+
58+
.photos li {
59+
list-style: disc;
60+
list-style-position: inside;
61+
}
62+
63+
.photos a {
64+
color: var(--color-vue-blue);
65+
text-decoration: underline;
66+
}
67+
68+
.photos a:hover {
69+
text-decoration: none;
70+
}
71+
72+
@media (--tablet) {
73+
.photos-container {
74+
--container-padding: 60px 6%;
75+
}
76+
77+
.photos {
78+
--content-padding-bottom: 30px;
79+
}
80+
}
81+
</style>

apps/web/app/components/TopPageSection.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ const getAnchorPath = computed(
5151
class="link-button"
5252
background-color="vue-green/200"
5353
color="white"
54-
:href="getAnchorPath('events')"
54+
:href="getAnchorPath('#photo')"
5555
target="_top"
5656
>
57-
{{ $t('related_events.title') }}
57+
{{ $t('photo.title') }}
5858
</VFLinkButton>
5959
</div>
6060
</div>

apps/web/app/lang/en.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,5 +287,10 @@
287287
"title": "Related Events",
288288
"register": "Register for the event",
289289
"close": "The event has ended"
290+
},
291+
"photo": {
292+
"title": "Photo",
293+
"subtitle1": "Thank you to everyone who participated in Vue Fes Japan 2024.",
294+
"subtitle2": "The photos taken on the day will be published under a CC0 license, so feel free to use them on blogs, social media, and other platforms."
290295
}
291296
}

apps/web/app/lang/ja.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,5 +305,10 @@
305305
"title": "関連イベント",
306306
"register": "イベントに参加する",
307307
"close": "イベントは終了しました"
308+
},
309+
"photo": {
310+
"title": "写真",
311+
"subtitle1": "Vue Fes Japan 2024 にご参加いただいたみなさん、ありがとうございました。",
312+
"subtitle2": "当日撮影された写真を CC0 ライセンスにて公開しますので、ブログや SNS などにご自由にお使いください。"
308313
}
309314
}

apps/web/app/pages/index.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ useHead({
4444

4545
<template>
4646
<TopPageSection />
47+
<PhotoPageSection />
4748
<TimeTablePageSection v-if="config.public.showTimetable" />
4849
<SpeakerPageSection :data="speakers" />
4950
<EventPageSection v-if="config.public.showEvent" :data="speakers" />

apps/web/app/utils/constants.ts

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,73 @@ export const endedCreateNamecard = true
6161

6262
export const displayNameMaxLength = 24
6363

64+
export const photos = [
65+
{
66+
title: '前日準備',
67+
url: 'https://photos.app.goo.gl/Qq7LcRQfP8sUqXVg9',
68+
},
69+
{
70+
title: '開場前',
71+
url: 'https://photos.app.goo.gl/NxEiCqx2XvmvSwke9',
72+
},
73+
{
74+
title: '受付',
75+
url: 'https://photos.app.goo.gl/kYenfefma4eroTbv9',
76+
},
77+
{
78+
title: 'メドピアトラック',
79+
url: 'https://photos.app.goo.gl/J5evxzqJpP9mf3LX9',
80+
},
81+
{
82+
title: 'MNTSQが全ての合意をフェアにするぞトラック',
83+
url: 'https://photos.app.goo.gl/HboMLxQr1xgi2STf9',
84+
},
85+
{
86+
title: 'kickflowトラック',
87+
url: 'https://photos.app.goo.gl/PXj8vMvStuiXHEbz5',
88+
},
89+
{
90+
title: 'Vueトラック',
91+
url: 'https://photos.app.goo.gl/dCRgb7iLbhuE5E2Y7',
92+
},
93+
{
94+
title: 'ランチタイム',
95+
url: 'https://photos.app.goo.gl/B2XigeF4vvjqvb6k8',
96+
},
97+
{
98+
title: 'スポンサーブース',
99+
url: 'https://photos.app.goo.gl/KSM61FxLSVFaAAzC9',
100+
},
101+
{
102+
title: 'Vue Fes Store',
103+
url: 'https://photos.app.goo.gl/cy2ArVhND9q5UP9cA',
104+
},
105+
{
106+
title: 'タトゥースペース',
107+
url: 'https://photos.app.goo.gl/dKjcEKCxKZ6GcgmU7',
108+
},
109+
{
110+
title: 'フリードリンク&スナック',
111+
url: 'https://photos.app.goo.gl/tJmuumFGhG7NwJTq8',
112+
},
113+
{
114+
title: 'クリエイティブウォール',
115+
url: 'https://photos.app.goo.gl/fyZimXfrTS8X57RR8',
116+
},
117+
{
118+
title: '休憩・充電スペース',
119+
url: 'https://photos.app.goo.gl/JWfmeEAv7nv5LnGB9',
120+
},
121+
{
122+
title: 'アフターパーティー',
123+
url: 'https://photos.app.goo.gl/jGcNhC8mVERtjh8Q9',
124+
},
125+
{
126+
title: 'その他スナップ',
127+
url: 'https://photos.app.goo.gl/41FTQDQivv4FuRTP7',
128+
},
129+
]
130+
64131
export const personalSponsors = [
65132
'Yuhei FUJITA',
66133
'jiyuujin',

0 commit comments

Comments
 (0)