ADR 11 : サイドメニューの状態保持方法について
Status : 🟢承認
Context
サイドメニューの開閉状態を保持する場合において、強制的にサイドメニューを閉じる場所(日記書き込み)などがあり、それをどのように保持するか
Decision
SvelteKitのstoreでisSideMenuOpen,isSideMenuOpenTmpをbooleanで保存する
- isSideMenuOpenを基本使う(PCでのみ使う)
- 強制サイドメニュー閉じにおいてはisSideMenuOpenを上書きがするが、強制上書きされる前の状態に戻せるように、isSIdeMneuOpenTmpに値を対比した上で行う
- 強制サイドメニュー閉じから抜けるとisSideMenuOpenTmpからisSideMenuOpenに値を戻す
これにより、強制サイドメニュー閉じページ中で開閉を調整しても、抜けたときにその部分は無視しつつ、ユーザーが普段使っているものが復元できる
Consequences
Pros
- ユーザーの普段使いを適切に保持できる
- クライアントで完結するので、端末に応じて使い分けが可能
Cons
- tmpでおくと値の復元を忘れてバグの温床になりうる