概要
#174 のイベントカレンダー (/internal/events) に、mini LT の各開催回を自動で載せたい。
mini LT は月 2 回の定例なので、運営が毎回ダッシュボードから手入力するのは手間になる。
背景・動機
- イベントカレンダーは運営がダッシュボード (
/internal/admin/events) から入力する events コレクションを表示する
- mini LT の開催回は
weeks コレクション (lib/mini-lt/firebase.ts の WeekData) に週 ID・開始時刻・発表一覧 (発表者・タイトル・概要・持ち時間) がすでにある
- これをカレンダー側に取り込めば、発表者と発表内容までカレンダーから見える
提案する解決策
events コレクションには取り込みに備えて次のフィールドを用意してある (types/event.ts):
source: "manual" | "mini-lt"
sourceRef: string | null — mini LT の週 ID ("2026-W12")
やること:
- mini LT の週から
events ドキュメントを作る関数 (lib/mini-lt/ あたり)
startAt は EVENT_CONFIG の曜日 + WeekData.eventStartTime から日本時間で組む
title は「mini LT (2026 / W12)」など、description に発表者と発表タイトルを並べる
source: "mini-lt", sourceRef: weekId を入れる。同じ週は 1 件だけになるように sourceRef で upsert する
- 取り込みのトリガー
- 案 A: mini LT 管理画面 (
/mini-lt/admin) の Discord イベント作成 (createWeekEvent) と同じタイミングで作る
- 案 B: 発表の追加・削除 (
addTalk / removeTalk) のたびに description を同期する (syncWeekEventDescription と同様)
- 案 C: ダッシュボードに「mini LT を取り込む」ボタンを置き、週を選んで手動で取り込む
- カレンダー側は
source === "mini-lt" をオレンジのチップで区別する表示がすでに入っている (components/events/event-item.tsx の EVENT_SOURCE_STYLES)
代替案
- 取り込まずに、カレンダー表示時に
weeks を直接読んで合成する (書き込みが要らないが、月ごとの範囲取得や過去分の扱いが複雑になる)
関連Issue/PR
概要
#174 のイベントカレンダー (
/internal/events) に、mini LT の各開催回を自動で載せたい。mini LT は月 2 回の定例なので、運営が毎回ダッシュボードから手入力するのは手間になる。
背景・動機
/internal/admin/events) から入力するeventsコレクションを表示するweeksコレクション (lib/mini-lt/firebase.tsのWeekData) に週 ID・開始時刻・発表一覧 (発表者・タイトル・概要・持ち時間) がすでにある提案する解決策
eventsコレクションには取り込みに備えて次のフィールドを用意してある (types/event.ts):source: "manual" | "mini-lt"sourceRef: string | null— mini LT の週 ID ("2026-W12")やること:
eventsドキュメントを作る関数 (lib/mini-lt/あたり)startAtはEVENT_CONFIGの曜日 +WeekData.eventStartTimeから日本時間で組むtitleは「mini LT (2026 / W12)」など、descriptionに発表者と発表タイトルを並べるsource: "mini-lt",sourceRef: weekIdを入れる。同じ週は 1 件だけになるようにsourceRefで upsert する/mini-lt/admin) の Discord イベント作成 (createWeekEvent) と同じタイミングで作るaddTalk/removeTalk) のたびにdescriptionを同期する (syncWeekEventDescriptionと同様)source === "mini-lt"をオレンジのチップで区別する表示がすでに入っている (components/events/event-item.tsxのEVENT_SOURCE_STYLES)代替案
weeksを直接読んで合成する (書き込みが要らないが、月ごとの範囲取得や過去分の扱いが複雑になる)関連Issue/PR