UPDATES

更新情報

本ページではcabaguideの更新情報を掲載します。

2026/01/17 15:44:25

1000件以上のキャストが登録されていたエリアの1001件目以上のキャスト非表示問題を解消した

2026/01/17 15:44:25

Admin店舗詳細での削除機能

2026/01/12 00:08:35

ホーム画面のカルーセル&導線レイアウト刷新

ホーム上での情報の見やすさ・操作感を高めるため、トップカルーセルと各セクションのレイアウトを調整しました。

## 変更内容

  • 全国ベスト10カルーセルに常設の左右ボタンを追加し、横スクロール操作を廃止して確実に切り替えできる UI へ。
  • ボタンは幅を抑えつつカード外側に配置し、PC/SP どちらでもカード全体が視認できるよう調整。
  • ヒーロー→「エリアから探す」、全国ベスト10→BOTTOM バナーの間隔を揃えるため、各セクションに compact モード・スペーサーを追加。
  • `AreaSearchCTA` の余白をコンパクトに切り替えられるようにし、ヒーロー直下の導線とランキング下の導線で統一感を持たせています。

2026/01/12 00:08:35

全国ベスト10: Supabase 上限対策

  • `getTopCasts` が利用する `fetchAllCastRows` を 1,000 件ずつのページング取得に変更し、Supabase のデフォルト上限で 1,001 件目以降が欠ける問題を解消。
  • `created_at` → `id` の順に並べ替えてから `.range()` を呼ぶことでチャンク間の取得順が安定し、重複・抜け漏れなく全件を集計できるようにした。

2026/01/10 13:26:59

全国ベスト10のカルーセル化・見出しデザインの変更

2026/01/10 12:49:14

1st Viewの修正

2026/01/10 11:42:00

キャストの年齢を管理画面で修正できるようにし、キャスト詳細ページで年齢を表示するようにした

2026/01/02 15:56:13

タイトルタグからCreate Next Appを削除して、Google検索結果でどんなサイトかわかりやすくした

2026/01/01 21:57:39

コンポーネントの区切りを線ベースに変更

2026/01/01 18:50:44

キャストカードのフォントを切り替え

2026/01/01 18:12:10

キャストカードのスライドイン表示

2026/01/01 17:51:04

広告エリアのスライドイン

2026/01/01 16:00:28

エリアから探すコンポーネントの表示方法変更

2026/01/01 15:21:30

PageFrameコンポーネントの修正

  • PageFrameコンポーネントの枠線を高速で、点滅・走査。
  • 枠線を2重に。
  • cabaguideの文字にパルスアニメーション、残光とストローク。
  • 「この子でよかった」と思える夜へのコピー色をシアンに変更

2026/01/01 14:42:02

UI刷新 - ホームランディング前のローディング変更

  • グリッジデザインに変更

2025/12/24 14:27:25

/admin/casts/[id] 管理機能の拡張

  • キャスト詳細ページで所属店舗を変更できるようにし、store-options API から取得した店舗一覧を使って別店舗へ付け替えられるようになりました。
  • SNS リンクは登録済みの各行で「編集」「削除」が可能になり、プラットフォームやURLを更新できます。
  • フォロワー履歴一覧をインライン編集・削除できるようにし、誤登録の修正や不要履歴の整理が可能になりました。
  • API 側では `/api/admin/casts/[id]` で storeId の更新、`followers` API に PATCH/DELETE、`social-links` API に PATCH を追加し、フロントからの編集操作を支えています。

2025/12/24 13:36:06

/stores/[storeId] に所属キャスト一覧を追加

  • 店舗詳細ページの時間帯別料金セクションの下に、当該店舗に紐づくキャスト一覧を追加しました。Home/ランキングと同じ `CastCard` を使い、SNSフォロワー数順に表示します。
  • API 側では `getCastsByStoreId` を導入し、ストア ID から最新フォロワー数付きのキャストカードデータを取得できるようにしました。
  • キャスト詳細ページは `from=store` クエリに対応し、店舗ページから遷移した場合は「店舗詳細に戻る」リンクが表示されます。
  • STORE 情報ブロックのスタイルを見直し、電話・Google Map・店舗HPリンクはいずれも水色テキストで表現。電話番号はタップで発信できるリンクとし、余計なラベルや矢印アイコンを排除して色でリンク遷移を示すようにしました。

2025/12/24 12:03:55

/admin/casts フィルター挙動の改善

  • `/api/admin/casts` に `prefecture` / `areaId` クエリを追加し、全キャストをチャンク取得できるようにしてフィルター条件に合致するキャストを漏れなく返すようにしました。
  • 管理画面のキャスト一覧はデフォルトでは表示せず、都道府県(任意で繁華街)を選択したときだけ対象キャストを描画する仕様に変更しました。
  • フィルター操作時にスクロール位置を保存・復元することで、結果描画後も都道府県/繁華街のプルダウン付近が表示されたままになります。
  • 繁華街プルダウンは先に都道府県を選択しないと操作できず、項目ラベルは繁華街名のみ(都道府県名なし)で表示されます。

2025/12/17 08:57:48

/admin/casts/[castId] でキャスト情報の編集・削除が可能に

  • キャスト登録後、管理画面で店舗・年齢・メイン画像 URL を更新できず、再登録が必要でした。
  • `/admin/casts/[castId]` にキャスト情報編集フォームを追加し、店舗プルダウン(`area_id` 昇順)、年齢、メイン画像 URL の更新に対応しました。
  • 既存のキャスト名編集 UI から共通の `PATCH` API を用いて複数項目を一括更新できるようにし、成功・エラー表示を行います。
  • キャスト削除ボタンを設置し、削除時にはフォロワー履歴や SNS リンクも含めてキャストを安全に削除し、一覧へ戻ります。

2025/12/16 19:54:41

/admin/casts で全キャストを表示し、都道府県・繁華街フィルターを追加

  • これまで管理画面 `/admin/casts` に表示されるキャストは最新 50 件に制限され、登録済み全キャストを確認できませんでした。
  • API の取得件数制限を撤廃し、登録したキャストをすべて取得・表示できるようにしました。
  • 併せて都道府県・繁華街によるフィルターを導入し、対象エリアのキャストを素早く絞り込めます(プルダウンは `area_id` の昇順で並びます)。

2025/12/16 19:37:12

ランキングの補足を1行に

2025/12/15 17:14:03

管理者画面でキャスト名をクリックすると編集フォームが表示され、保存・キャンセル・状態メッセージが扱えるようになりました

2025/12/15 16:01:46

管理者ページでキャストの店舗を登録しやすくする

  • キャストの店舗を登録する際のプルダウンで同名店舗や目当ての店舗を見つけづらい状況がありました。
  • プルダウン内を都道府県 繁華街名 店舗名で並べ、店舗を見つけやすくしました。

2025/12/15 15:50:58

コンセプトをわかりやすく修正

2025/12/15 11:24:09

SEO対策

  • ゴール: 「歌舞伎町 キャバクラ ランキング」で検索1位を獲得するためのSEO施策を実施。
  • 背景: 広告費順ランキングしかない大手ポータルに対し、CabaguideはSNSフォロワー数という客観データで差別化し、Googleからの評価獲得を狙う。
  • 実施内容
  • Titleや導入文で「SNSフォロワー数に基づくランキング」と明記し、根拠あるランキングであることをGoogle/ユーザー双方に説明。
  • 「キャストランキング」に加え、「店舗ランキング」も作成。店舗在籍キャストのフォロワー合計値で順位を決め、検索意図が「キャバクラ店探し」のユーザーにも対応。
  • 内部SEO対策
  • ランキングUIで1〜3位にエンブレム表示、更新日表示、構造化データ(ItemList)出力を行い、検索結果でのリッチリザルト獲得を目指す。
  • ランキング説明文に「Instagram・TikTok・有名」といった関連キーワードを組み込み、ロングテールワードもカバー。

2025/12/15 11:24:09

GA4の導入

  • GA4を導入し、MAUを収集できるようにしました。

2025/12/15 11:24:09

管理画面・店舗ページまわりの改善概要

  • 店舗登録/編集画面で繁華街リストが表示されず登録できない不具合を解消しました。これにより管理者は従来通りの手順で店舗エリアを選択できます。
  • 店舗詳細ページで HP の登録がない場合はボタンを非表示にしました。
  • HP 情報の整合性チェックをバックエンド側にも入れたため、将来的にデータが欠けていても同様の事象が起きません。

2025/12/13 01:33:56

Supabase のエリアテーブルに移行

  • これまで `src/data/areas.ts` で管理していたエリアマスタを削除し、Supabase `areas` テーブルから読み込むように統一。
  • `groupAreasByPrefecture`, `findDowntownsByPrefecture`, `getAreaById` などのエリア関連 API をすべて非同期に変更し、最新データが常に反映されるようにした。
  • 都道府県/繁華街選択ページ、キャスト・店舗の各ページ、管理画面を含む全てのエリア参照コードを新 API に合わせて更新。
  • キャストカードや店舗ページの繁華街表示が Supabase 由来の値と一致するため、管理画面でのエリア更新が即フロントに反映される。

2025/12/13 00:52:05

Null許容の料金データ対応とインポート改善

## 概要

  • 店舗基本料金の `nomination_price` / `service_fee_rate` を DB・API・UI のすべてで null を許容するよう調整し、サービス料率が未設定でも正しく表示・計算できるようにしました。
  • `/data/*.csv` を読み込んで本番 Supabase に反映する `scripts/import-store-data.mjs` を強化し、実行時に `--reset` で既存データをクリアしてから再投入したり、CSV の `"NULL"` 文字列や時間帯重複を安全に処理できるようにしました。
  • Supabase には `20250304001_allow_null_service_fee_rate.sql` / `20250304002_allow_null_nomination_price.sql` を追加し、`store_base_pricings` の該当カラムの NOT NULL 制約を解除しています。

2025/12/13 00:52:05

管理者ページの店舗一覧をフィルターできるようにした

  • 1000以上ある店舗を都道府県、繁華街でフィルターできるようにしました。
  • 任意の店舗を更新、削除できるようにするためです。

2025/12/12 15:24:56

サービス料率ピッカーの調整

  • 管理画面のサービス料率セレクトを0.10〜0.50の0.01刻みで選択できるようにしました。
  • 直接DBを更新した値でもUIで表示できる範囲が広がり、未設定扱いになるケースを防ぎます。

2025/12/12 15:24:56

複数の変更

  • トップページの広告訴求文をシンプルにしました。
  • 店舗ページに公式HPのリンクを設置しました。
  • 管理者ページを各種更新しました。

2025/12/11 11:50:43

利用規約画面・導線の追加

  • 利用規約を記載した画面を作成しました。
  • FOOTERから遷移することができます。

2025/12/10 18:34:22

Updatesページの更新時刻のDB反映

  • DBに登録された時刻がフロントエンドに反映されているか確認。

2025/12/10 18:32:59

Updateページのテスト

  • 2つの更新情報が反映されることのテストです。

2025/12/10 18:32:59

Updateページの作成

  • フッターの更新情報押下後の/updatesページを作成。
  • このページでは/docs/updates配下に記載したmdが反映される。

2025/12/10 18:32:59

Inqueryページの作成

  • /inqueryページに問い合わせ導線を設置する。
  • /adsページと同様にメールテンプレートを設置し、メールでの問い合わせを促す。

2025/12/10 18:32:59

FAQページの実装

  • /faqページを作成する
  • このページではdocs/faq/faq.mdに記載されている内容をページ内に反映する