AI生成ファイル紹介まわりの改善記録
— 管理・問い合わせ・ナビの統一
「AI生成ファイル紹介」の管理者機能・作者向け機能・問い合わせの仕組みを整え、あわせてサイトと Cursor のナビゲーションを統一しました。今日行った変更の要点をまとめます。追加分は §10 追記(追加履歴) を参照してください(形式は 異世界衰弱(不具合の修正) の追記ルールに合わせています)。
1. はじめに
管理しやすさ、作者(アップロードした人)の運用、閲覧者と作者をつなぐ問い合わせ、そして全コンテンツで「戻る」やナビのルールを揃えることを目的に作業しました。
2. 管理者機能の整理
- 違反報告一覧:チェックボックスで選択し、「選択した報告を削除」でまとめて削除できるようにしました。
- 全アイテム一覧:新しい順に10件ずつ表示し、10件を超える分はページネーション(前へ・次へ)で見られるようにしました。
- 管理者ログイン・ログアウト:画面左メニューの一番下に「管理者ログイン」ボタンを追加。Basic 認証で入り、ログアウトは「管理者ログアウト」から。ログアウト後はトップページへ遷移するようにしました。
- 編集画面での削除:管理者が編集画面(例:/share/2/edit)から登録情報を削除できるようにしました。削除ボタン(赤)を押すと「この登録情報を削除しますか?」の確認(はい・いいえ)を表示してから削除します。
3. 作者(ログイン利用者)向けの機能
- 作品を管理:Google ログイン後、左メニューのログイン状態の下に「作品を管理」ボタンを追加。クリックすると自分がアップロードしたアイテム一覧が表示され、各件から編集画面へ飛べるようにしました。
- 作者による削除:編集画面で、作者本人も自分の登録を削除できるようにしました。作者用は黄色の「削除」ボタンで、同じく「はい・いいえ」の確認のあと削除。削除後は「作品を管理」一覧へ戻ります。
- 作者専用ボタンの色:「内容を編集」「作品を管理」「問い合わせ一覧」「編集」など、作者だけが操作するボタンはすべて黄色の背景で統一しました。
4. 「作者に問い合わせ」の追加
- 登録項目の変更:「連絡先」を「メールアドレス」に変更。詳細ページ(/share/2 など)ではメールアドレスは表示せず、非公開にしました。
- 作者に問い合わせボタン:詳細ページの「違反報告」の右隣に「作者に問い合わせ」を追加。クリックすると問い合わせフォーム(自分のメールアドレス・内容)が表示され、送信すると作者に届くようにしました。
- 問い合わせ一覧:ログイン中の作者は左メニューから「問い合わせ一覧」を開けます。問い合わせ内容と相手のメールアドレスを確認でき、不要になったものはチェックボックスで選択して削除できます。
- メッセージ表示の整理:「問い合わせを送信しました。作者から折り返し連絡がある場合があります。」は送信した人(閲覧者)向けに詳細ページで表示。作者が「問い合わせ一覧」を開いたときは「新しい問い合わせが〇件あります。」と表示するようにしました。
5. ログイン・ログアウトまわり
- Googleアカウントでログイン:トップページなど左メニューの一番上付近に「Googleアカウントでログイン」ボタンを追加しました。
- ログイン・ログアウト後の戻り先:ログインまたはログアウトしたあと、押したときのページ(トップ・サイト・Cursor など)に戻るようにしました。問い合わせ一覧からログアウトした場合は、ログイン必須ページには戻さず一覧へ遷移するようにしています。
- フラッシュメッセージ:問い合わせ一覧や share のページでは「ログインしてください」「ログアウトしました」の表示を出さず、状態は左メニューの表示だけにしました。
6. 詳細・編集画面の調整
- ボタン配置:詳細ページ(/share/2 など)で、「内容を編集」がある行の右側に「ZIPをダウンロード」「作者に問い合わせ」「違反報告」を並べました。
- 編集画面:アップロード済みのサムネイル画像を表示するようにし、フォーム内で Enter キーを押しても送信されないようにしました。
7. ナビゲーション統一
サイト系ページ(立ち上げストーリー・プログラム構築の記録・デプロイの記録・ログイン設定の記録)と Cursor 系ページ(メニュー操作ガイド・画面構成・AIモデル説明)で、「戻る」リンクを「← トップページに戻る」に統一し、各コンテンツの上部ナビのルールを決めました。今後の追加用ルールは、Cursor の追加用ルールとして .cursor/rules/content-navigation.mdc に適用しています。
8. モバイル表示の統一と並び順・問い合わせまわり
- モバイル表示の統一:サイト全体で、スマートフォン時は固定ヘッダー(48px)+メインエリアのスクロール(main-area-scroll)に統一。Cursor バッジと重ならないよう、メインエリアに padding-bottom: 72px を確保しました。
- 並び順:AI生成ファイル紹介の一覧で「登録が新しい順」「更新が新しい順」「人気順」を選べるようにしました。
- 問い合わせ一覧のスマホ表示:作者向けの問い合わせ一覧を、スマートフォンではテーブルではなくカード形式で表示するようにし、横スクロールや列のはみ出しを防ぎました。
- 問い合わせ・違反報告の完了通知:作者に問い合わせを送信したあと、および違反報告を送信したあとに、画面上で「送信しました」「報告を受け付けました」などの完了メッセージを表示するようにしました。
- ジャンル・並び順の1行配置(スマホ):AI生成ファイル紹介の一覧で、スマートフォンではジャンルと並び順の選択を1行にまとめて表示し、ツールバーまわりをコンパクトにしました。
9. おわりに
管理者・作者・閲覧者の役割に応じた操作と、問い合わせの流れを整理しました。コンテンツを増やすときも、content-navigation.mdc のルールに従ってナビと戻るリンクを揃えていきます。
10. 追記(追加履歴)
【追記】2026-03-24(レイアウト・管理画面・フォーム枠)
- サイドバー(ロゴ・スクロール・背景) — ロゴ幅を 180px(縦横比維持)に揃え、ホバー時の opacity 低下を廃止。#sidebar を縦 flex にしロゴ行は固定・.sidebar-nav のみスクロール。ロゴ帯背景は PNG 左上に合わせ --sidebar-brand-bg(例 #fcfcfc)。差し替え時は python scripts/build_aiaicursor_logo.py の表示値と CSS を整合。
- 角枠パネル .u-panel-bordered — main-layout.css に1か所定義し、事業者登録フォーム・/stock の RSS 一覧・検索結果カードで併用。RSS 関連と結果カード用スタイルを index.html の <style> から main-layout.css へ移動。--ja-bg を :root に追加。
- 管理者 /share/admin — tab=share で「非公開にする」「選択した報告を削除」を btn-danger、報告削除の余白を .u-table-toolbar に。tab=jobs / tab=offers の一括削除をテーブル直上+赤ボタンに。tab=fantasy_exchange で「差し戻し」を btn-author、「削除」を btn-danger に。
- キャッシュ・ゲームレイアウト — templates/_main_layout_css.html と _game_pages_css.html のクエリで CSS キャッシュを更新。game-pages.css もサイドバー挙動を同期。
- 変更ファイルの一覧 — docs/session-changes-2026-03-24-sidebar-panels-share-admin.md を参照。
← 立ち上げストーリー
← プログラム構築の記録
← デプロイの記録
← ボタン1つデプロイの記録
← デプロイでまたハマった話
← ログイン設定の記録
← ファイル紹介の使い方
← OGP・SEOの記録
← 統合ログインの設計・経緯
← Search Console・サイトマップ
← 環境変数・.env の管理
← Git 入門・インストール
← インストール後に Git で行う設定
← カード神経衰弱の記録
← 異世界シューティングの記録
← 異世界シューティングの難易度
← 異世界戦記(全画面・迷路レイアウト)の記録
← 複数人でのゲーム進行
← 異世界衰弱(不具合の修正)
← 異世界衰弱(機能別フローチャート)
← 異世界ポイントの活用について
← 異世界ポイント市場の実装記録