FKB Pro - ソーシャルテーマ

FKB Pro v2 - 新機能とは?

アナウンスが少し遅れてしまいました。v2 のリリースは約2週間前でしたが、遅くてもいいから何もしないよりまし、というものです。:slightly_smiling_face:

FKB Pro v2 は、内部構造においてかなり大きな更新となっています。全体的な見た目や雰囲気は以前と変わっていませんが、テーマの多くの部分が再設計、最適化、そして整理されました。

:desktop_computer: デスクトップ用レイアウトの改善

デスクトップのトピックリストは、Discourse のサイドバーや FKB Pro 独自のパネルとの相性がはるかに良くなった、より柔軟なレイアウトを使用するようになりました。

レイアウトは利用可能なスペースの変化に合わせて自動的に適応し、小さな画面やモバイルデバイス用の専用のブレークポイントが用意されています。

:triangular_ruler: より優れたレスポンシブ動作

狭いレイアウトやコンテンツのオーバーフロー処理に多くの労力が費やされました。

長いトピックタイトル、ユーザー名、タグ、その他のコンテンツは、レイアウトが利用可能な幅を超えて押し広げられることがなくなり、はるかに確実に処理されるようになりました。

モバイルレイアウトも、ビューポートベースのサイズ指定に頼るのではなく、実際のコンテナ幅に合わせて動作するように調整されました。

:high_voltage: トピックリストのパフォーマンス向上

トピックリストにもパフォーマンスの最適化が施されました。

オフスクリーンのトピックカードは、適切な場合にブラウザによってスキップされるようになり、トピック画像とそのコンテナはより優れたコンテインメントルールを使用するようになりました。

これは特に長いトピックリストにおいて有用です。

:locked_with_key: FKB パネルのキャッシュ改善

FKB パネルは、ユーザー固有のバージョン管理されたキャッシュキーを使用するようになりました。

一般的なキャッシュエントリを共有するのではなく、ユーザーデータは現在の Discourse ユーザーに対して保存されるため、同じブラウザ内でユーザーを切り替えた際に、キャッシュされた情報がアカウント間で漏洩することを防止します。

また、キャッシュの有効期限切れや無効なエントリの処理もより確実にされるようになりました。

:high_voltage: パネルの読み込み高速化

ユーザーサマリーとカードデータは、1つのリクエストが完了するまで待たずに次を開始するのではなく、並行して要求されるようになりました。

また、アクティブユーザーが変更された後、古いリクエストがデータを上書きするのを防ぐための追加の保護も実装されています。

:control_knobs: 新しいパネル状態管理

FKB パネルの表示/非表示状態は、専用の状態管理サービスに移行されました。

これにより、動作がより予測可能になり、メンテナンスしやすくなるだけでなく、パネルのトグル自体も以下のように改善されました:

  • 適切な aria-expanded 状態
  • 説明的なラベル
  • ダイナミックなアイコン
  • 永続的な表示/非表示状態

:wheelchair_symbol: アクセシビリティの改善

いくつかのインタラクティブな要素、特に FKB パネルのコントロール周辺で、より良いアクセシビリティサポートが施されました。

パネルのトグルは、支援技術に対してその状態を正しく公開し、より有用なラベルやタイトルを提供するようになりました。

:mobile_phone: モバイル環境の改善

トピックリスト、カテゴリ、プライベートメッセージ、ユーザーページ、グループ、トピックなど、様々なモバイルレイアウトが整理され、より堅牢になりました。

その目標は、Discourse のレスポンシブレイアウトと戦うのではなく、その中でより自然に動作するように FKB Pro をすることでした。

:puzzle_piece: よりモジュール化されたコード

今回の更新の大きな部分の一つは、コードベースのメンテナンスしやすさ向上でもありました。

FKB パネルは、ユーザー情報、統計、バッジ、訪問者などのために、より小さなコンポーネントに分割されました。

トピックリストのカードも、ヘッダー、ボディ、メタ、リストセクションといった個別のコンポーネントに再編成されました。

これは必ずしもユーザーが見るものを変えるわけではありませんが、将来の開発をかなり容易にします。

まとめ

FKB Pro v2 は単なるビジュアル更新ではありません。テーマのいくつかの部分に対するかなり大規模な書き換えであり、より優れたレスポンシブ動作、パフォーマンス、キャッシュ、アクセシビリティ、そしてメンテナンス性に焦点を当てています。

FKB Pro を利用し、問題を報告したり改善を提案してくださったすべての人に感謝します。:heart:

> ./support --coffee :heart:

「いいね!」 2