Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QuestionDialogの文字色を修正、StorybookのVRTを改善 #2314

Merged

Conversation

sevenc-nanashi
Copy link
Member

@sevenc-nanashi sevenc-nanashi commented Oct 23, 2024

内容

タイトル通りです。
VRTは以下のような変更を行っています:

  • ダークモードでも撮るように
  • 範囲を限定
  • no-vrtタグの追加
  • PUSH_PAT secretが存在したらそれでpushするように(これで自動的にpull_requestのCIが回るはず)

関連 Issue

スクリーンショット・動画など

(なし)

その他

(なし)

@sevenc-nanashi sevenc-nanashi requested a review from a team as a code owner October 23, 2024 11:40
@sevenc-nanashi sevenc-nanashi requested review from Hiroshiba and removed request for a team October 23, 2024 11:40
@sevenc-nanashi sevenc-nanashi changed the title QuestionDialogの文字色を修正、StorybookのVRTをダークテーマでも行うように QuestionDialogの文字色を修正、StorybookのVRTを改善 Oct 23, 2024
@sevenc-nanashi sevenc-nanashi marked this pull request as draft October 23, 2024 13:06
@sevenc-nanashi sevenc-nanashi marked this pull request as ready for review October 23, 2024 14:34
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

良さそう!!!

ちょっとまだ全部見切ってないのですが、一旦コメントまで!!

README.md Outdated Show resolved Hide resolved
package.json Show resolved Hide resolved
tests/e2e/storybook/スクリーンショット.spec.mts Outdated Show resolved Hide resolved
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ほぼLGTMです!!!

主に案内周りなど、ちょっとしたメンテナンス性向上のためのコメントをいっぱいしてしまいました。
面倒だったらこっちに丸投げしちゃっていただければ!!!
(良いOSSを作れるメンテナとして切磋琢磨したい気持ちがあり、こうやって研鑽を積んでいる・・・つもりです)

.github/workflows/test.yml Outdated Show resolved Hide resolved
.github/workflows/test.yml Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
docs/res/Fine-granted_Tokensの作成.png Outdated Show resolved Hide resolved
tests/e2e/storybook/スクリーンショット.spec.mts Outdated Show resolved Hide resolved
Comment on lines 75 to 90
const root = page.locator("#storybook-root");
const dialogRoot = page.locator("div[id^=q-portal--dialog--]");
const firstVisible = await Promise.race([
root.waitFor({ state: "visible" }).then(() => "root"),
dialogRoot.waitFor({ state: "attached" }).then(() => "dialog"),
]);

// ダイアログの場合はダイアログのスクリーンショットを、そうでない場合は#storybook-rootのスクリーンショットを撮る。
// q-portal-dialogはそのまま撮るとvisible扱いにならずtoHaveScreenshotが失敗するので、
// 子要素にある実際のダイアログ(.q-dialog)を撮る。
if (firstVisible === "dialog") {
const dialog = dialogRoot.locator(".q-dialog");
await expect(dialog).toHaveScreenshot(`${story.id}-${theme}.png`);
} else {
await expect(root).toHaveScreenshot(`${story.id}-${theme}.png`);
}
Copy link
Member

@Hiroshiba Hiroshiba Oct 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

かなりライブラリの実装依存なので、後から修正できるように丁寧に作っておきたいですねぇ。

  • Quasarは後々依存をやめると踏んで、ダイアログ→Quasarダイアログに呼び方を一部変える
  • 最初にダイアログ用かどうかで全コードを分岐するようにする
    • たぶんfirstVisible変数は無くせる(dialogRootの有無で分岐できる)

感じにしてみるのはどうでしょう。

Copy link
Member

@Hiroshiba Hiroshiba Oct 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

雰囲気こんな感じのコード?

// Quasarダイアログの場合はダイアログのスクリーンショットを、そうでない場合は#storybook-rootのスクリーンショットを撮る。
const root: Locater;

const dialogRoot = page.locator("div[id^=q-portal--dialog--]");
if (dialogRootがある) {
  // q-portal-dialogはそのまま撮るとvisible扱いにならずtoHaveScreenshotが失敗するので、
  // 子要素にある実際のダイアログ(.q-dialog)を撮る。
  await dialogRoot.waitFor({ state: "attached" })
  root = dialogRoot.locator(".q-dialog")
}
else {
  await root.waitFor({ state: "visible" })
  root = page.locator("#storybook-root");
}

await expect(root).toHaveScreenshot(`${story.id}-${theme}.png`);

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ちょっと変えました。

README.md Outdated Show resolved Hide resolved
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!!

ますます便利になりましたね!!!

ちょっとドキュメントを微調整させていただいたあとマージしたいと思います!
なんか微妙になってたらすみません!!!

.github/workflows/test.yml Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
.github/workflows/test.yml Outdated Show resolved Hide resolved
tests/e2e/storybook/スクリーンショット.spec.mts Outdated Show resolved Hide resolved
Copy link
Member

@Hiroshiba Hiroshiba Oct 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あれ、そういえばダークモードだとボタンがprimary colorなんですね

@Hiroshiba Hiroshiba merged commit 64e44dc into VOICEVOX:main Oct 24, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ダークテーマの時に保存確認ダイアログのボタンが見えなくなる
2 participants