✅whiteListにないページとカードは表示しない (takker99/ScrapBubble)
役割
重複を避ける
[A]→[B]←[A]→[B]←[A]→[B]←……などのように循環してbubbleを無限に表示できてしまうのを避ける
何度も同じ情報が出てくるとうざったいので、表示しないようにしている
条件
親の<Page />で表示した、whiteListと現在projectにおける全ての同名ページ
<Card />だけで表示したページは重複してもいい
External Linksで表示したwhiteListにないprojectのカードは重複除去しない
やれたらやりたいこと
単体テストで計算が正しいか判定したい
が、hooks中に埋め込まれているため、このままではテストできない
ロジックだけ純粋函数として抜き出すか?
2023-01-11
12:04:48 だいたい直ったと思うのでmergeする 11:49:43 External Linksをhoverすると、少し間を置いてなぜかカードが消えたり戻ったりしていた
そのうちやる
09:20:25 Bubbleの更新処理がおかしいみたい
linkedとprojectLinkedが表示されない
この2つは常に新しい方を採用するしかないか
checkedの値が変わらないのが気になる
10:12:49 update()を書き直した
更新日時で大雑把にチェック
更新日時が新しくなければ、lines, linked, projectLinked, checkedのみを更新する
checkedのみの更新は、object参照を壊さない
不要な再レンダリングを抑制する
external linksを取得するとき、whiteListに属するprojectで親とタイトルが一致するページカードがあったときに除外すればいい
||にしてしまったせいで、現在projectでない全てのページカードが非表示になってしまった
2023-01-11
17:45:32 whiteListにないページの<Page />が表示されてしまっていた
表示しないようにする
あと内部リンク経由の関連ページも、whiteListにないものを除外する
間違えてmainに直接pushしてしまった……
17:56:54 設定項目が見つからなかった
18:58:25 エッジケース発見
https://gyazo.com/ce93a941c3f0f2188daf0a39b1424a42
External links経由だと、親と同じページが表示されてしまう
まあ、カードが表示されるだけで本文まで2回も3回も表示されるわけじゃないから、別にいいか。
それより、whitelistに入っているのに、カードをhoverしてもなにも表示されないのが気になる
後日調べる