「F-NAV for Mobile」のフォークに関するクイックアップデート:バックボタン、カスタムサブメニュー、表示制御機能を追加
このフォークを作成した理由
- トピックページに、一般的なモバイルアプリのUXを模倣したヘッダー「戻る」ボタンを提供する
- 設定可能なサブメニューを開く「customMenu」タブタイプを提供する(複数の宛先へのリンクに最適。カスタムの事前入力済み「新規トピック」リンクを追加するために使用しています)
- タブとメニュー項目のグループベースの表示を追加し、特定の項目をスタッフのみに表示するなど、柔軟な制御を可能にする
- 一部の非推奨事項の修正と、スタイル/アクセシビリティの微調整
新機能の概要
- ヘッダーの戻るアイコン(オプション)
- トピックページでヘッダーのホームロゴを戻る矢印に置き換えます
- 動作:履歴があれば戻り、なければ「/」にルーティングします
- 設定で切り替え可能:
header_back_icon_enabled
- カスタムサブメニュータブタイプ
- 新しいf_nav_tabs関数:customMenu
- 新しい設定:f_nav_submenu_items
- ラベルとURL(オプションでアイコン)でメニュー項目を設定します
- 1つのタブから複数のページに素早くアクセスするのに最適です
- グループベースの表示制御
- タブ、サブメニュー項目、profile_extra_itemsは、選択したグループに限定できます
- 動作:
- グループが空の場合 => 全員に表示
- グループが設定されている場合 => 選択したグループの少なくとも1つのメンバーのみが表示可能
- 未ログインユーザーは制限された項目を表示できません
- オプション:トピックページでナビゲーションバーを非表示にする
- 設定で切り替え可能:hide_nav_in_topic
- ZIP圧縮された「ビルド」成果物とテストドキュメント
- builds/の下に便利なビルド成果物(v1–v5)を提供します
- 手動検証を文書化したTESTING_GUIDE.mdとTEST_RESULTS.md
既存機能の強化
- F‑NAV項目とタブ
- グループ表示を尊重するvisibleTabsゲッターを追加しました
- 新しいCustomSubmenuコンポーネントをFNavItemフローに統合しました
- ヘッダーアバター/プロファイルメニュー
- モバイルビューの検出をコンポーネント内に移動し、動作を改善し、警告を解決しました
- プロファイル追加項目でグループベースの表示をサポートするようになりました
- スタイリングとアクセシビリティ
- カスタムサブメニューと戻るアイコン用の新しいSCSS
- 一貫したホバー/アクティブ/フォーカス可能な状態
- コア変数との一貫したボーダー半径。パディング/スペーシングを調整しました(例:戻るボタンのパディングを0に設定)
バグ修正とメンテナンス
- 初期化処理からコンポーネントレンダリングにチェックを移動することで、site.mobileViewの非推奨警告を解決しました
- ブロックから関数を移動することで、レンダリングのエッジケースを修正しました
- Discourseのヘッダー動作(ホバー/アクティブ状態、不透明度遷移)に合わせるためのマイナーな調整
- 小さなCSSの整理(例:戻るボタンのパディングがゼロであることを確認、意図しないサイズ変更を防ぐ)
全体的な比較(オリジナル vs フォークブランチ)
- オリジナル(main):F‑NAVモバイルタブ + チャットのオプションインポート。戻るボタンやカスタムサブメニューなし
- フォーク(feat/home-logo-arrow-back):
- ルーティングフォールバックを備えたヘッダー戻るアイコン機能を追加
- 設定可能なサブメニュー項目を持つ「customMenu」タブ機能を紹介
- タブ、サブメニュー項目、プロファイル項目に対するグループ制限表示を追加
- オプションでトピックページでF‑NAVを非表示にする
- インタラクション状態のアクセシビリティと一貫性を向上
- テストドキュメントとパッケージ化されたビルドを提供する
注意点:
- このコンポーネントは、Discourse Plugin APIレベル1.14以降をサポートする最近のDiscourseバージョンを対象としています(初期化処理で示されています)。
- グループベースの表示に依存している場合は、まずグループとメンバーシップが正しく設定されていることを確認してください。
警告:私はコーダーではないため、注意してテストしてください。TCはAIによって作成およびテストされました。3.6beta1で最もよく機能します。
この素晴らしいコンポーネントを作成したDonに感謝します。素晴らしい追加機能です!![]()