​​React​CSS Grid,Playwright,TypeScript

Thumbnail of post image 018

月曜から日曜を列、5分を1行にした CSS Grid に、開始と終了の時刻から求めた grid-row で予定を置きます。週の月曜日は Date.UTC で数えた日数から求め、時間が重なる予定は列を等分して横に並べました。

​​React​Playwright,TypeScript,useEffect,Web Crypto API,Web Worker

Thumbnail of post image 139

選んだファイルの SHA-256 などのハッシュ値を、React でブラウザだけで計算して表示します。crypto.subtle.digest の使い方、選び直したときに前の結果で上書きされない書き方、大きいファイルを Worker ...

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

Thumbnail of post image 196

文字色と背景色を選ぶと、WCAG のコントラスト比と AA・AAA の判定を表示する React のコードです。表示は小数第2位で切り捨て、判定は計算したままの値で行います。カラーコードの入力欄と色の input を、入力途中の文字を ...

​​React​Intl.NumberFormat,Playwright,TypeScript,フォーム

Thumbnail of post image 121

センチとインチのように、どの欄に打ってもほかの欄が換算される入力欄を React で作りました。state に持つものを「最後に打った欄と、打ったままの文字列」に絞る理由と、文字列を数にするとき・計算結果を表示するときの注意を確かめて ...

​​React​Intl.NumberFormat,Playwright,TypeScript,フォーム

Thumbnail of post image 150

打つたびに「1,234,567」のように3桁区切りで表示される金額の入力欄を、React で作りました。type=”number” を使わない理由、IME で変換中の扱い、フォームで区切りのない数を送る方法を確 ...

​​React​Playwright,TypeScript,useEffect,useReducer

Thumbnail of post image 060

お手本の文を1文字ずつ打ち、まちがえた文字をピンクで示し、最後に時間と正確率を出すタイピング練習の画面を React で作りました。2文字目から進まない、Shift をミスに数える、Space でボタンが押される書き方とも比べています ...

​​React​CSS,Playwright,TypeScript

Thumbnail of post image 070

1〜15のタイルを空きマスへ滑らせてそろえる15パズルを、React と TypeScript で作りました。半分が解けない並びになる混ぜ方の直し方、段の端をまたいで動いてしまう隣の判定、下へ動かしたタイルが滑らずに飛ぶ描き方を、書き ...

​​React​CSS,Playwright,TypeScript

Thumbnail of post image 036

12枚のカードから同じ絵柄の2枚を探す神経衰弱を、React で作りました。偏らないシャッフル、2枚めくったときの判定と裏に戻すタイマー、連打や同じカードの2度押しへの対策、「もう一度」で前のゲームのタイマーと表の面を残さない方法を、 ...

​​CSS​HTML,Playwright

Thumbnail of post image 104

カードの角に「NEW」のような斜めのリボンを付けるには、カードに position: relative と overflow: hidden を付け、細長い要素を絶対配置して45度回します。角からの距離とリボンの長さの決め方を、画素を ...

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

Thumbnail of post image 139

パンくずリストの各リンクを clip-path の polygon() で矢印の形に切り抜き、左へずらして前の矢印の先を次のくぼみに入れます。重なった部分のクリック、切れて見えなくなるフォーカスの枠、折り返したときのはみ出しも確かめま ...