Skip to content

Commit 54879bb

Browse files
authored
chore: timetable improvement (#977)
* chore: reception time * chore: props name * save * save
1 parent 1fc85f0 commit 54879bb

File tree

7 files changed

+145
-77
lines changed

7 files changed

+145
-77
lines changed

app/layouts/default.vue

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,19 @@ const cta = computed(() =>
8585
8686
const { y } = useScroll(window);
8787
const isShowedSpMenu = computed(() => {
88-
const targetBp: Breakpoint[] = isWidenContent.value ? ["mobile-wide", "mobile"] : ["mobile"];
88+
const targetBp: Breakpoint[]
89+
= isTimetable.value
90+
? ["pc", "mobile-wide", "mobile"]
91+
: isWidenContent.value
92+
? ["mobile-wide", "mobile"]
93+
: ["mobile"];
8994
return targetBp.includes(bp.value) && (!isRoot.value || y.value > 450);
9095
});
9196
const isShowedSpCta = computed(() => {
92-
const targetBp: Breakpoint[] = isWidenContent.value ? ["pc", "mobile-wide", "mobile"] : ["mobile-wide", "mobile"];
97+
const targetBp: Breakpoint[]
98+
= isTimetable.value || isWidenContent.value
99+
? ["pc", "mobile-wide", "mobile"]
100+
: ["mobile-wide", "mobile"];
93101
return targetBp.includes(bp.value) && (!isRoot.value || y.value > 450);
94102
});
95103
@@ -102,7 +110,6 @@ const WIDE_ROUTE_NAMES: RoutesNamesList[] = [
102110
"sponsors",
103111
"sponsors-sponsorId",
104112
"event",
105-
"timetable",
106113
"related-events",
107114
"store",
108115
];
@@ -114,6 +121,8 @@ const isWidenContent = computed(() =>
114121
.includes(route.name?.toString() ?? ""),
115122
);
116123
124+
const isTimetable = computed(() => localeRoute("timetable" as string).name === route.name?.toString());
125+
117126
// scroll behavior
118127
watch(() => route.hash, async (hash) => {
119128
if (hash === "") {
@@ -150,7 +159,7 @@ watch(() => route.hash, async (hash) => {
150159
<VFMenu :items="menuItems" />
151160
</div>
152161
</div>
153-
<div class="content" :class="{ 'widen-content': isWidenContent }">
162+
<div class="content" :class="{ 'widen-content': isWidenContent, 'timetable': isTimetable }">
154163
<VFHeader :is-root class="header" />
155164

156165
<main class="main">
@@ -230,6 +239,16 @@ watch(() => route.hash, async (hash) => {
230239
flex-basis: auto;
231240
}
232241
242+
&.timetable {
243+
width: 90%;
244+
max-width: 1400px;
245+
246+
@media (--mobile) {
247+
min-width: 0;
248+
width: 100%;
249+
}
250+
}
251+
233252
&.widen-content {
234253
min-width: 960px;
235254
transition: unset;

app/pages/timetable/_components/TimetableCard.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import SliderIcon from "~icons/icons/timetable-slider.svg";
77
const {
88
type,
99
title,
10-
sessionStart,
11-
sessionEnd,
10+
startTime,
11+
endTime,
1212
speakers,
1313
slide,
1414
track,
@@ -47,9 +47,9 @@ const hoverColor = computed(() => `var(--color-${accentColorName.value}-accent-h
4747
{{ t(`timetable.track.${track}`) }}
4848
</div>
4949
</template>
50-
<div v-if="sessionStart" class="time">
50+
<div v-if="startTime" class="time">
5151
<!-- eslint-disable-next-line @intlify/vue-i18n/no-raw-text -->
52-
{{ sessionStart }} - {{ sessionEnd }}
52+
{{ startTime }} - {{ endTime }}
5353
</div>
5454
<template v-if="type === 'schedule'">
5555
<div class="schedule-title">
@@ -152,6 +152,7 @@ const hoverColor = computed(() => `var(--color-${accentColorName.value}-accent-h
152152
font-family: IBMPlexSansJP-Bold;
153153
font-size: 16px;
154154
text-align: left;
155+
white-space: pre-wrap;
155156
156157
a {
157158
font-family: IBMPlexSansJP-Bold;

app/pages/timetable/_components/TimetableCell.vue

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import SliderIcon from "~icons/icons/timetable-slider.svg";
77
const {
88
type,
99
title,
10-
sessionStart,
11-
sessionEnd,
10+
startTime,
11+
endTime,
1212
speakers,
1313
slide,
1414
colspan,
@@ -44,16 +44,16 @@ const hoverColor = `var(--color-${accentColorName.value}-accent-hover)`;
4444
<template>
4545
<td class="cell" :colspan="colspan" :rowspan="rowspan" :class="{ 'cell--schedule': type === 'schedule' }">
4646
<div class="cell-inner">
47-
<div v-if="sessionStart && type !== 'schedule'" class="time">
47+
<div v-if="startTime && type !== 'schedule'" class="time">
4848
<!-- eslint-disable-next-line @intlify/vue-i18n/no-raw-text -->
49-
{{ sessionStart }} - {{ sessionEnd }}
49+
{{ startTime }} - {{ endTime }}
5050
</div>
5151

5252
<template v-if="type === 'schedule'">
5353
<div class="schedule-content">
54-
<div v-if="sessionStart" class="time">
54+
<div v-if="startTime" class="time">
5555
<!-- eslint-disable-next-line @intlify/vue-i18n/no-raw-text -->
56-
{{ sessionStart }} - {{ sessionEnd }}
56+
{{ startTime }} - {{ endTime }}
5757
</div>
5858
<div class="schedule-title">
5959
{{ title }}
@@ -160,6 +160,7 @@ const hoverColor = `var(--color-${accentColorName.value}-accent-hover)`;
160160
font-family: IBMPlexSansJP-Bold;
161161
font-size: 16px;
162162
text-align: left;
163+
white-space: pre-wrap;
163164
a {
164165
all: inherit;
165166
cursor: pointer;

i18n/en/index.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,7 @@ timetable:
304304
platinumSponsorSession: "Platinum Sponsor Session"
305305
lunchTime: "Lunch Time"
306306
studentSupportProgram: "Student Support Program"
307+
studentSupportProgramSessionTitle: "Student Support Program\nTalents discovered by kazupon ── Developer discovery techniques that change Vue.js and the OSS ecosystem"
307308
break: "Break"
308309
beginnerHandsOn: "Beginner Hands-on"
309310
intermediateHandsOn: "Intermediate Hands-on"

i18n/ja/index.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ timetable:
303303
platinumSponsorSession: "プラチナスポンサーセッション"
304304
lunchTime: "ランチタイム"
305305
studentSupportProgram: "学生支援プログラム"
306+
studentSupportProgramSessionTitle: "学生支援プログラム\nkazuponが見つけた才能たち ── Vue.jsそしてOSSエコシステムを変える開発者発掘術"
306307
break: "休憩"
307308
beginnerHandsOn: "初級者向けハンズオン"
308309
intermediateHandsOn: "中級者向けハンズオン"

i18n/timetable.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ export interface TimetableCell {
55
id: string;
66
type?: "session" | "lightningTalk" | "schedule" | "event";
77
title?: string;
8-
sessionStart?: string;
9-
sessionEnd?: string;
8+
startTime?: string;
9+
endTime?: string;
1010
speakers?: Speaker[];
1111
slide?: string;
1212
colspan?: number;

0 commit comments

Comments
 (0)