過去のnoteをSubstackに集めるツールを作っている
Kanae
Independent My life

今日、Chrome拡張のちょっとした見た目の問題を直しました。
Geminiの画面にパネルが開くと、入力欄が狭くなって、追加したボタンがぎゅうぎゅうに詰まってしまう。
だから、狭くなったらボタンを消そうと。
それだけのことなのに、最初の実装は30行のJavaScriptになりました。
幅を監視して、条件を判定して、ボタンを消して、広くなったら戻して。
ちゃんと動くはずだった。
でも、別のボタンまで巻き込んで消えてしまいました。
しかも「消えたり出たり」で不安定。
原因を調べると、タイミングの問題でした。
JavaScriptが「消そう」と判断する前に、ブラウザが先に「スペースが足りない」と判断していた。
ほんのわずかな隙間のせいで。
結局、CSSの仕組みで解決しました。
14行です。
JavaScriptのコードは全部消しました。
これは開発に限った話じゃないかもしれません。
何か問題があると、つい「仕組みを作ろう」「ルールを足そう」と考えてしまいます。
でも、複雑に作ったものほど、思わぬところで壊れます。
シンプルなものは壊れにくい。
壊れにくいものは、手がかからない。
手がかからないものは、ずっと使える。
最初から完璧に作ろうとするより、一番シンプルな方法を探す方が、結果的に長持ちするのかもしれません。