​​React​dialog,localStorage,Playwright,TypeScript,アクセシビリティ,カスタムフック

Thumbnail of post image 009

操作がないまま一定時間たつと自動でログアウトする画面に、残り時間を出す警告のダイアログと「ログインを続ける」ボタンを付けます。期限と現在時刻の差で状態を決めるフックを作り、警告中の操作や複数のタブでの動きを検証環境で確かめました。

​​React​HTML,Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 187

​

孫まで続くチェックボックスで、子が一部だけ選ばれた親に横線を出す書き方です。選べる項目を「すべて」で全選択する、絞り込みの一覧にも使えます。選んだ項目の id だけを state に持ち、親の表示は毎回数えて決めます。横線を出す in ...

​​React​Playwright,Pointer Events,SVG,TypeScript,アクセシビリティ

Thumbnail of post image 122

マウスや指でつまみを回して音量などの値を変えるダイヤルを、ライブラリを使わずに React で作りました。ポインターの向きを Math.atan2 で求め、前回からの差を足していくと、真下を越えても値が飛びません。キーボードでも操作で ...

​​React​CSS,Playwright,TypeScript

Thumbnail of post image 027

角度と色の位置をスライダーで、色を色選びの欄で変えながら、CSS の linear-gradient() を作って確かめるツールを React と TypeScript で作りました。CSS の文字列は state から作り、色の位置 ...

​​React​CSS,Playwright,TypeScript

Thumbnail of post image 074

textarea の文字の一部だけに色を付けるには、同じ文字を色付きで描いた div を後ろに重ね、textarea の文字を透明にします。#タグと文字数の上限を超えた部分に色を付ける入力欄を React と TypeScript で ...

​​React​Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 128

選んだ絵文字をテキストエリアのキャレットの位置に入れるピッカーを React と TypeScript で作りました。Ctrl+Z で戻せる入れ方、矢印キーでの選び方、最近使った絵文字の保存を Chromium で確かめました。

​​React​Playwright,TypeScript

Thumbnail of post image 058

1/100秒まで表示し、ラップタイムを記録できるストップウォッチを React と TypeScript で作りました。ラップは押した時点の通算で持ち、表示の単位に切り捨ててから引くので、表に並んだラップを足すと通算と一致します。

​​React​Canvas API,Playwright,TypeScript,カスタムフック

Thumbnail of post image 181

画像を小さく canvas に描き、getImageData で読んだピクセルの色を数えて、いちばん多い色を代表色にする React のコードです。平均色との違い、色をまとめる段階の数、透明な部分、別のオリジンの画像で起きるエラーも確 ...

​​React​Playwright,TypeScript,フォーム

Thumbnail of post image 147

​

ログインの2段階認証(多要素認証、MFA)で、SMS やメール、認証アプリから受け取った6桁の確認コードを1桁ずつの欄に入れる React のコンポーネントです。打つと次の欄へ進み、Backspace で戻り、貼り付けたコードは6つの ...

​​React​AbortController,TanStack Query,TypeScript,useEffectEvent,useSyncExternalStore,カスタムフック

Thumbnail of post image 005

2秒ごとにサーバーへ問い合わせる画面で、別のタブを見ているあいだは問い合わせを止め、戻った瞬間に1回問い合わせ直すフックを作りました。setInterval のままの書き方や、TanStack Query の設定による違いも、Chro ...

カテゴリー