/* tenroin-top/magazine-weekly.jsx — 週刊READING LIFE の放送局の頁（`/magazine/weekly`・②）
   出典＝2026/9/7 15:36 CTO ②。意匠は 9/6 の意匠手帳「放送局 ── READING LIFE 局の編成表」
   （第十二の型）から写す。近似を作らない。

   🔴**この頁でいちばん大事なこと ── 配信リンクは一本も実在しない。**
     `WEEKLY.episodes` は第0回の一件だけで `video` は null、`upcoming.href` も null。
     ＝ **「視聴する」「いま配信中」を置かない。**手帳の大画面には再生の丸が在るが、
       押す先が無いので**置かない**（押せない釦を広告の着地面に出さない）。
     ＝ 実在する住所は、第0回の**記事の頁** `/magazine/weekly-0` だけ。

   ★数を焼かない ── 回数は `nextOnAirNo()`（掛かっている放送から導く）、
     次の水曜は `fmtNextWed()`、日刊の一枚は台帳の口（`gate.note`）。
   ★API は増やしていない。`WEEKLY` と `/api/magazine/daily/latest` を読むだけ。 */
function WeeklyStation(){
  const gate = (typeof useDailyGate === 'function') ? useDailyGate() : null;
  const W = (window.MAG && window.MAG.WEEKLY) || { episodes: [] };
  const eps = (W.episodes || []).slice().sort(function(a,b){ return (b.no||0) - (a.no||0); });
  const next = (typeof nextOnAirLabel === 'function') ? nextOnAirLabel() : 'NEXT ON AIR';
  const wed  = (typeof fmtNextWed === 'function') ? fmtNextWed() : null;

  return (
    <main className="station">
      {/* 上の帯。⚠️手帳は「ON AIR ●（朱の点）」だが、いま流れている番組は無いので置かない。
          代わりに次の放送を出す。校了は規則（毎晩 22:00）であって、刻の数え上げではない。 */}
      <div className="st-bar">
        <span className="brand">READING LIFE</span>
        <span className="next">{next}{wed ? ' ── ' + wed + ' 20:00' : ''}</span>
        <span className="clock">日刊 ── 毎晩 22:00 校了</span>
      </div>

      <div className="st-main">
        <div className="st-hero" style={{backgroundImage:"url('assets/rl-weekly-hero.jpg')"}}>
          <div className="st-hero-text">
            <span className="st-kicker">週刊READING LIFE ── 次回</span>
            <h1 className="st-hero-title">{(W.upcoming && W.upcoming.title) || '公開編集会議、そのまま番組。'}</h1>
            <span className="st-hero-meta">{next}{wed ? ' ── ' + wed + ' 20:00' : ''} ── 公開の編集会議</span>
            {/* 🔴配信の住所が台帳に入るまで、押せる釦は置かない */}
            <span className="st-hero-note">配信のリンクは、放送の日にここへ掛かります。</span>
          </div>
        </div>

        <aside className="st-guide">
          <h4>編成</h4>
          <div><span className="t">水曜 20:00</span><div><b>週刊READING LIFE</b><span>{next} ── 公開編集会議</span></div></div>
          <div><span className="t">毎晩 22:00</span><div><b>日刊の校了</b><span>{gate && gate.kind === 'gate' ? gate.line : gate && gate.kind === 'issue' ? gate.line + 'を組んでいます' : 'その日に載った作を綴じます'}</span></div></div>
          <div><span className="t">毎週</span><div><b>番付</b><span>楽市グランプリ ── 今場所の星取り</span></div></div>
          <div><span className="t">季刊</span><div><b>本誌</b><span>週刊で読まれた作から、編集部が選びます</span></div></div>
          <div><span className="t">常設</span><div><b>楽市 ／ ラウンジ</b><span>本の市 ── 会員の間</span></div></div>
        </aside>
      </div>

      <div className="st-rows">
        <div className="st-col">
          <h4>これまでの放送</h4>
          {eps.length ? (
            <div className="st-vids">
              {eps.map(function(e){
                return (
                  <a key={e.slug} href={'/magazine/' + e.slug} data-cta="wk-ep">
                    <div className="th" style={e.img ? {backgroundImage:"url('" + e.img + "')"} : null}></div>
                    <div>
                      <b>第{e.no}回 ── {e.title}</b>
                      <small>{e.date}{e.preview ? ' ／ 試し放送' : ''}</small>
                    </div>
                    {/* ⚠️尺（24:10 等）は台帳に無い。空札にしない＝出さない */}
                  </a>
                );
              })}
            </div>
          ) : <p className="st-empty">放送はまだ掛かっていません。</p>}
          <p className="st-note">映像は、放送のあとにそれぞれの回へ掛かります。</p>
        </div>

        <div className="st-col">
          <h4>日刊 READING LIFE</h4>
          <div className="st-daily">
            <div>
              <b>{gate && (gate.kind === 'gate' || gate.kind === 'issue') ? gate.line : '創刊にむけて、支度中です。'}</b>
              <span>その日に載った作を、毎晩まとめて綴じます。</span>
            </div>
          </div>
          <p className="st-note"><a href="/magazine/daily" data-cta="wk-daily">今日の紙面をひらく</a></p>
        </div>

        <div className="st-col">
          <h4>戸口</h4>
          <div className="st-list">
            <a href="/magazine" data-cta="wk-shelf"><span>誌面の棚</span><em>三誌</em></a>
            <a href="/creators/market" data-cta="wk-market"><span>天狼院楽市 ── 本の市</span><em>作家の店</em></a>
            <a href="/reading-club" data-cta="wk-club"><span>会員の間 ── 読書クラブ</span><em>入口</em></a>
          </div>
        </div>
      </div>

      <div className="st-foot">
        <span>あなたの欄 → 日刊 → 週刊 → 本誌</span>
        <span>日刊に載るのは、検印と編集部の預かりを通った作品です。</span>
      </div>
    </main>
  );
}

(function(){
  const el = document.getElementById('wk-root');
  if (el && window.ReactDOM && window.ReactDOM.createRoot) {
    window.ReactDOM.createRoot(el).render(<WeeklyStation/>);
  }
})();
