diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 0000000..e6159a9 --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,23 @@ +# Privacy Policy + +Linear View Diff does not collect, sell, share, or transmit any personal information to the developer. + +## Data Collection + +This extension does not collect analytics, tracking data, browsing history, or user profile information. + +## Local Storage + +If you provide a GitHub token or change extension preferences, that information is stored locally by Chrome using extension storage. It is used only to support extension functionality and is not sent to the developer. + +## Remote Requests + +The extension may make requests to GitHub's API to fetch pull request metadata, changed files, and diff content so it can display review information inside Linear. These requests are made directly from your browser to GitHub. + +## Third Parties + +No user information is sold, shared, or transferred to third parties by the developer. + +## Contact + +For privacy questions, contact the extension developer through the support channel listed on the Chrome Web Store listing. diff --git a/demo-large-diff/README.md b/demo-large-diff/README.md new file mode 100644 index 0000000..e6d8ed2 --- /dev/null +++ b/demo-large-diff/README.md @@ -0,0 +1,5 @@ +# AB-2 Demo Large Diff + +This directory contains intentionally fake changes for generating screenshots of a pull request review flow. + +Nothing in this directory is used by the extension runtime. diff --git a/demo-large-diff/auth-flow-notes.md b/demo-large-diff/auth-flow-notes.md new file mode 100644 index 0000000..cbb23b4 --- /dev/null +++ b/demo-large-diff/auth-flow-notes.md @@ -0,0 +1,1129 @@ +# Authentication Flow Review Notes + +These are generated placeholder notes for AB-2 screenshot demos. + +## Scenario 01 + +- `auth-case-01` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 1. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample01 = { + id: "AB-2-auth-01", + enabled: false, + label: "Demo scenario 01", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 02 + +- `auth-case-02` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 2. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample02 = { + id: "AB-2-auth-02", + enabled: true, + label: "Demo scenario 02", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 03 + +- `auth-case-03` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 3. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample03 = { + id: "AB-2-auth-03", + enabled: false, + label: "Demo scenario 03", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 04 + +- `auth-case-04` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 4. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample04 = { + id: "AB-2-auth-04", + enabled: true, + label: "Demo scenario 04", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 05 + +- `auth-case-05` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 5. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample05 = { + id: "AB-2-auth-05", + enabled: false, + label: "Demo scenario 05", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 06 + +- `auth-case-06` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 6. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample06 = { + id: "AB-2-auth-06", + enabled: true, + label: "Demo scenario 06", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 07 + +- `auth-case-07` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 7. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample07 = { + id: "AB-2-auth-07", + enabled: false, + label: "Demo scenario 07", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 08 + +- `auth-case-08` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 8. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample08 = { + id: "AB-2-auth-08", + enabled: true, + label: "Demo scenario 08", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 09 + +- `auth-case-09` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 9. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample09 = { + id: "AB-2-auth-09", + enabled: false, + label: "Demo scenario 09", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 10 + +- `auth-case-10` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 10. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample10 = { + id: "AB-2-auth-10", + enabled: true, + label: "Demo scenario 10", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 11 + +- `auth-case-11` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 11. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample11 = { + id: "AB-2-auth-11", + enabled: false, + label: "Demo scenario 11", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 12 + +- `auth-case-12` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 12. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample12 = { + id: "AB-2-auth-12", + enabled: true, + label: "Demo scenario 12", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 13 + +- `auth-case-13` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 13. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample13 = { + id: "AB-2-auth-13", + enabled: false, + label: "Demo scenario 13", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 14 + +- `auth-case-14` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 14. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample14 = { + id: "AB-2-auth-14", + enabled: true, + label: "Demo scenario 14", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 15 + +- `auth-case-15` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 15. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample15 = { + id: "AB-2-auth-15", + enabled: false, + label: "Demo scenario 15", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 16 + +- `auth-case-16` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 16. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample16 = { + id: "AB-2-auth-16", + enabled: true, + label: "Demo scenario 16", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 17 + +- `auth-case-17` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 17. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample17 = { + id: "AB-2-auth-17", + enabled: false, + label: "Demo scenario 17", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 18 + +- `auth-case-18` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 18. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample18 = { + id: "AB-2-auth-18", + enabled: true, + label: "Demo scenario 18", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 19 + +- `auth-case-19` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 19. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample19 = { + id: "AB-2-auth-19", + enabled: false, + label: "Demo scenario 19", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 20 + +- `auth-case-20` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 20. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample20 = { + id: "AB-2-auth-20", + enabled: true, + label: "Demo scenario 20", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 21 + +- `auth-case-21` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 21. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample21 = { + id: "AB-2-auth-21", + enabled: false, + label: "Demo scenario 21", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 22 + +- `auth-case-22` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 22. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample22 = { + id: "AB-2-auth-22", + enabled: true, + label: "Demo scenario 22", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 23 + +- `auth-case-23` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 23. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample23 = { + id: "AB-2-auth-23", + enabled: false, + label: "Demo scenario 23", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 24 + +- `auth-case-24` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 24. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample24 = { + id: "AB-2-auth-24", + enabled: true, + label: "Demo scenario 24", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 25 + +- `auth-case-25` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 25. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample25 = { + id: "AB-2-auth-25", + enabled: false, + label: "Demo scenario 25", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 26 + +- `auth-case-26` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 26. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample26 = { + id: "AB-2-auth-26", + enabled: true, + label: "Demo scenario 26", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 27 + +- `auth-case-27` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 27. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample27 = { + id: "AB-2-auth-27", + enabled: false, + label: "Demo scenario 27", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 28 + +- `auth-case-28` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 28. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample28 = { + id: "AB-2-auth-28", + enabled: true, + label: "Demo scenario 28", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 29 + +- `auth-case-29` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 29. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample29 = { + id: "AB-2-auth-29", + enabled: false, + label: "Demo scenario 29", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 30 + +- `auth-case-30` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 30. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample30 = { + id: "AB-2-auth-30", + enabled: true, + label: "Demo scenario 30", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 31 + +- `auth-case-31` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 31. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample31 = { + id: "AB-2-auth-31", + enabled: false, + label: "Demo scenario 31", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 32 + +- `auth-case-32` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 32. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample32 = { + id: "AB-2-auth-32", + enabled: true, + label: "Demo scenario 32", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 33 + +- `auth-case-33` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 33. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample33 = { + id: "AB-2-auth-33", + enabled: false, + label: "Demo scenario 33", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 34 + +- `auth-case-34` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 34. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample34 = { + id: "AB-2-auth-34", + enabled: true, + label: "Demo scenario 34", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 35 + +- `auth-case-35` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 35. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample35 = { + id: "AB-2-auth-35", + enabled: false, + label: "Demo scenario 35", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 36 + +- `auth-case-36` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 36. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample36 = { + id: "AB-2-auth-36", + enabled: true, + label: "Demo scenario 36", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 37 + +- `auth-case-37` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 37. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample37 = { + id: "AB-2-auth-37", + enabled: false, + label: "Demo scenario 37", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 38 + +- `auth-case-38` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 38. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample38 = { + id: "AB-2-auth-38", + enabled: true, + label: "Demo scenario 38", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 39 + +- `auth-case-39` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 39. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample39 = { + id: "AB-2-auth-39", + enabled: false, + label: "Demo scenario 39", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 40 + +- `auth-case-40` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 40. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample40 = { + id: "AB-2-auth-40", + enabled: true, + label: "Demo scenario 40", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 41 + +- `auth-case-41` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 41. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample41 = { + id: "AB-2-auth-41", + enabled: false, + label: "Demo scenario 41", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 42 + +- `auth-case-42` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 42. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample42 = { + id: "AB-2-auth-42", + enabled: true, + label: "Demo scenario 42", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 43 + +- `auth-case-43` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 43. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample43 = { + id: "AB-2-auth-43", + enabled: false, + label: "Demo scenario 43", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 44 + +- `auth-case-44` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 44. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample44 = { + id: "AB-2-auth-44", + enabled: true, + label: "Demo scenario 44", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 45 + +- `auth-case-45` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 45. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample45 = { + id: "AB-2-auth-45", + enabled: false, + label: "Demo scenario 45", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 46 + +- `auth-case-46` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 46. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample46 = { + id: "AB-2-auth-46", + enabled: true, + label: "Demo scenario 46", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 47 + +- `auth-case-47` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 47. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample47 = { + id: "AB-2-auth-47", + enabled: false, + label: "Demo scenario 47", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 48 + +- `auth-case-48` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 48. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample48 = { + id: "AB-2-auth-48", + enabled: true, + label: "Demo scenario 48", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 49 + +- `auth-case-49` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 49. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample49 = { + id: "AB-2-auth-49", + enabled: false, + label: "Demo scenario 49", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 50 + +- `auth-case-50` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 50. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample50 = { + id: "AB-2-auth-50", + enabled: true, + label: "Demo scenario 50", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 51 + +- `auth-case-51` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 51. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample51 = { + id: "AB-2-auth-51", + enabled: false, + label: "Demo scenario 51", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 52 + +- `auth-case-52` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 52. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample52 = { + id: "AB-2-auth-52", + enabled: true, + label: "Demo scenario 52", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 53 + +- `auth-case-53` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 53. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample53 = { + id: "AB-2-auth-53", + enabled: false, + label: "Demo scenario 53", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 54 + +- `auth-case-54` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 54. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample54 = { + id: "AB-2-auth-54", + enabled: true, + label: "Demo scenario 54", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 55 + +- `auth-case-55` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 55. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample55 = { + id: "AB-2-auth-55", + enabled: false, + label: "Demo scenario 55", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 56 + +- `auth-case-56` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 56. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample56 = { + id: "AB-2-auth-56", + enabled: true, + label: "Demo scenario 56", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 57 + +- `auth-case-57` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 57. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample57 = { + id: "AB-2-auth-57", + enabled: false, + label: "Demo scenario 57", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 58 + +- `auth-case-58` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 58. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample58 = { + id: "AB-2-auth-58", + enabled: true, + label: "Demo scenario 58", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 59 + +- `auth-case-59` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 59. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample59 = { + id: "AB-2-auth-59", + enabled: false, + label: "Demo scenario 59", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 60 + +- `auth-case-60` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 60. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample60 = { + id: "AB-2-auth-60", + enabled: true, + label: "Demo scenario 60", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 61 + +- `auth-case-61` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 61. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample61 = { + id: "AB-2-auth-61", + enabled: false, + label: "Demo scenario 61", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 62 + +- `auth-case-62` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 62. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample62 = { + id: "AB-2-auth-62", + enabled: true, + label: "Demo scenario 62", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 63 + +- `auth-case-63` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 63. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample63 = { + id: "AB-2-auth-63", + enabled: false, + label: "Demo scenario 63", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 64 + +- `auth-case-64` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 64. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample64 = { + id: "AB-2-auth-64", + enabled: true, + label: "Demo scenario 64", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 65 + +- `auth-case-65` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 65. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample65 = { + id: "AB-2-auth-65", + enabled: false, + label: "Demo scenario 65", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 66 + +- `auth-case-66` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 66. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample66 = { + id: "AB-2-auth-66", + enabled: true, + label: "Demo scenario 66", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 67 + +- `auth-case-67` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 67. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample67 = { + id: "AB-2-auth-67", + enabled: false, + label: "Demo scenario 67", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 68 + +- `auth-case-68` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 68. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample68 = { + id: "AB-2-auth-68", + enabled: true, + label: "Demo scenario 68", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 69 + +- `auth-case-69` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 69. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample69 = { + id: "AB-2-auth-69", + enabled: false, + label: "Demo scenario 69", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 70 + +- `auth-case-70` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 70. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample70 = { + id: "AB-2-auth-70", + enabled: true, + label: "Demo scenario 70", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 71 + +- `auth-case-71` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 71. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample71 = { + id: "AB-2-auth-71", + enabled: false, + label: "Demo scenario 71", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 72 + +- `auth-case-72` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 72. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample72 = { + id: "AB-2-auth-72", + enabled: true, + label: "Demo scenario 72", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 73 + +- `auth-case-73` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 73. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample73 = { + id: "AB-2-auth-73", + enabled: false, + label: "Demo scenario 73", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 74 + +- `auth-case-74` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 74. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample74 = { + id: "AB-2-auth-74", + enabled: true, + label: "Demo scenario 74", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 75 + +- `auth-case-75` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 75. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const authExample75 = { + id: "AB-2-auth-75", + enabled: false, + label: "Demo scenario 75", + notes: "Large diff screenshot fixture only", +} +``` + diff --git a/demo-large-diff/diff-rendering-checklist.md b/demo-large-diff/diff-rendering-checklist.md new file mode 100644 index 0000000..8fda0aa --- /dev/null +++ b/demo-large-diff/diff-rendering-checklist.md @@ -0,0 +1,1129 @@ +# Diff Rendering Checklist + +These are generated placeholder notes for AB-2 screenshot demos. + +## Scenario 01 + +- `diff-case-01` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 1. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample01 = { + id: "AB-2-diff-01", + enabled: false, + label: "Demo scenario 01", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 02 + +- `diff-case-02` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 2. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample02 = { + id: "AB-2-diff-02", + enabled: true, + label: "Demo scenario 02", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 03 + +- `diff-case-03` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 3. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample03 = { + id: "AB-2-diff-03", + enabled: false, + label: "Demo scenario 03", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 04 + +- `diff-case-04` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 4. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample04 = { + id: "AB-2-diff-04", + enabled: true, + label: "Demo scenario 04", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 05 + +- `diff-case-05` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 5. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample05 = { + id: "AB-2-diff-05", + enabled: false, + label: "Demo scenario 05", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 06 + +- `diff-case-06` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 6. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample06 = { + id: "AB-2-diff-06", + enabled: true, + label: "Demo scenario 06", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 07 + +- `diff-case-07` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 7. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample07 = { + id: "AB-2-diff-07", + enabled: false, + label: "Demo scenario 07", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 08 + +- `diff-case-08` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 8. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample08 = { + id: "AB-2-diff-08", + enabled: true, + label: "Demo scenario 08", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 09 + +- `diff-case-09` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 9. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample09 = { + id: "AB-2-diff-09", + enabled: false, + label: "Demo scenario 09", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 10 + +- `diff-case-10` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 10. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample10 = { + id: "AB-2-diff-10", + enabled: true, + label: "Demo scenario 10", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 11 + +- `diff-case-11` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 11. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample11 = { + id: "AB-2-diff-11", + enabled: false, + label: "Demo scenario 11", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 12 + +- `diff-case-12` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 12. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample12 = { + id: "AB-2-diff-12", + enabled: true, + label: "Demo scenario 12", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 13 + +- `diff-case-13` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 13. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample13 = { + id: "AB-2-diff-13", + enabled: false, + label: "Demo scenario 13", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 14 + +- `diff-case-14` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 14. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample14 = { + id: "AB-2-diff-14", + enabled: true, + label: "Demo scenario 14", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 15 + +- `diff-case-15` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 15. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample15 = { + id: "AB-2-diff-15", + enabled: false, + label: "Demo scenario 15", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 16 + +- `diff-case-16` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 16. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample16 = { + id: "AB-2-diff-16", + enabled: true, + label: "Demo scenario 16", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 17 + +- `diff-case-17` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 17. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample17 = { + id: "AB-2-diff-17", + enabled: false, + label: "Demo scenario 17", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 18 + +- `diff-case-18` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 18. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample18 = { + id: "AB-2-diff-18", + enabled: true, + label: "Demo scenario 18", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 19 + +- `diff-case-19` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 19. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample19 = { + id: "AB-2-diff-19", + enabled: false, + label: "Demo scenario 19", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 20 + +- `diff-case-20` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 20. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample20 = { + id: "AB-2-diff-20", + enabled: true, + label: "Demo scenario 20", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 21 + +- `diff-case-21` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 21. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample21 = { + id: "AB-2-diff-21", + enabled: false, + label: "Demo scenario 21", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 22 + +- `diff-case-22` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 22. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample22 = { + id: "AB-2-diff-22", + enabled: true, + label: "Demo scenario 22", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 23 + +- `diff-case-23` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 23. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample23 = { + id: "AB-2-diff-23", + enabled: false, + label: "Demo scenario 23", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 24 + +- `diff-case-24` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 24. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample24 = { + id: "AB-2-diff-24", + enabled: true, + label: "Demo scenario 24", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 25 + +- `diff-case-25` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 25. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample25 = { + id: "AB-2-diff-25", + enabled: false, + label: "Demo scenario 25", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 26 + +- `diff-case-26` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 26. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample26 = { + id: "AB-2-diff-26", + enabled: true, + label: "Demo scenario 26", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 27 + +- `diff-case-27` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 27. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample27 = { + id: "AB-2-diff-27", + enabled: false, + label: "Demo scenario 27", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 28 + +- `diff-case-28` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 28. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample28 = { + id: "AB-2-diff-28", + enabled: true, + label: "Demo scenario 28", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 29 + +- `diff-case-29` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 29. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample29 = { + id: "AB-2-diff-29", + enabled: false, + label: "Demo scenario 29", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 30 + +- `diff-case-30` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 30. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample30 = { + id: "AB-2-diff-30", + enabled: true, + label: "Demo scenario 30", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 31 + +- `diff-case-31` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 31. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample31 = { + id: "AB-2-diff-31", + enabled: false, + label: "Demo scenario 31", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 32 + +- `diff-case-32` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 32. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample32 = { + id: "AB-2-diff-32", + enabled: true, + label: "Demo scenario 32", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 33 + +- `diff-case-33` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 33. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample33 = { + id: "AB-2-diff-33", + enabled: false, + label: "Demo scenario 33", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 34 + +- `diff-case-34` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 34. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample34 = { + id: "AB-2-diff-34", + enabled: true, + label: "Demo scenario 34", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 35 + +- `diff-case-35` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 35. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample35 = { + id: "AB-2-diff-35", + enabled: false, + label: "Demo scenario 35", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 36 + +- `diff-case-36` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 36. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample36 = { + id: "AB-2-diff-36", + enabled: true, + label: "Demo scenario 36", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 37 + +- `diff-case-37` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 37. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample37 = { + id: "AB-2-diff-37", + enabled: false, + label: "Demo scenario 37", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 38 + +- `diff-case-38` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 38. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample38 = { + id: "AB-2-diff-38", + enabled: true, + label: "Demo scenario 38", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 39 + +- `diff-case-39` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 39. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample39 = { + id: "AB-2-diff-39", + enabled: false, + label: "Demo scenario 39", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 40 + +- `diff-case-40` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 40. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample40 = { + id: "AB-2-diff-40", + enabled: true, + label: "Demo scenario 40", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 41 + +- `diff-case-41` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 41. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample41 = { + id: "AB-2-diff-41", + enabled: false, + label: "Demo scenario 41", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 42 + +- `diff-case-42` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 42. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample42 = { + id: "AB-2-diff-42", + enabled: true, + label: "Demo scenario 42", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 43 + +- `diff-case-43` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 43. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample43 = { + id: "AB-2-diff-43", + enabled: false, + label: "Demo scenario 43", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 44 + +- `diff-case-44` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 44. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample44 = { + id: "AB-2-diff-44", + enabled: true, + label: "Demo scenario 44", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 45 + +- `diff-case-45` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 45. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample45 = { + id: "AB-2-diff-45", + enabled: false, + label: "Demo scenario 45", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 46 + +- `diff-case-46` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 46. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample46 = { + id: "AB-2-diff-46", + enabled: true, + label: "Demo scenario 46", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 47 + +- `diff-case-47` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 47. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample47 = { + id: "AB-2-diff-47", + enabled: false, + label: "Demo scenario 47", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 48 + +- `diff-case-48` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 48. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample48 = { + id: "AB-2-diff-48", + enabled: true, + label: "Demo scenario 48", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 49 + +- `diff-case-49` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 49. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample49 = { + id: "AB-2-diff-49", + enabled: false, + label: "Demo scenario 49", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 50 + +- `diff-case-50` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 50. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample50 = { + id: "AB-2-diff-50", + enabled: true, + label: "Demo scenario 50", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 51 + +- `diff-case-51` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 51. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample51 = { + id: "AB-2-diff-51", + enabled: false, + label: "Demo scenario 51", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 52 + +- `diff-case-52` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 52. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample52 = { + id: "AB-2-diff-52", + enabled: true, + label: "Demo scenario 52", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 53 + +- `diff-case-53` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 53. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample53 = { + id: "AB-2-diff-53", + enabled: false, + label: "Demo scenario 53", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 54 + +- `diff-case-54` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 54. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample54 = { + id: "AB-2-diff-54", + enabled: true, + label: "Demo scenario 54", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 55 + +- `diff-case-55` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 55. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample55 = { + id: "AB-2-diff-55", + enabled: false, + label: "Demo scenario 55", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 56 + +- `diff-case-56` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 56. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample56 = { + id: "AB-2-diff-56", + enabled: true, + label: "Demo scenario 56", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 57 + +- `diff-case-57` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 57. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample57 = { + id: "AB-2-diff-57", + enabled: false, + label: "Demo scenario 57", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 58 + +- `diff-case-58` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 58. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample58 = { + id: "AB-2-diff-58", + enabled: true, + label: "Demo scenario 58", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 59 + +- `diff-case-59` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 59. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample59 = { + id: "AB-2-diff-59", + enabled: false, + label: "Demo scenario 59", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 60 + +- `diff-case-60` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 60. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample60 = { + id: "AB-2-diff-60", + enabled: true, + label: "Demo scenario 60", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 61 + +- `diff-case-61` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 61. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample61 = { + id: "AB-2-diff-61", + enabled: false, + label: "Demo scenario 61", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 62 + +- `diff-case-62` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 62. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample62 = { + id: "AB-2-diff-62", + enabled: true, + label: "Demo scenario 62", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 63 + +- `diff-case-63` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 63. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample63 = { + id: "AB-2-diff-63", + enabled: false, + label: "Demo scenario 63", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 64 + +- `diff-case-64` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 64. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample64 = { + id: "AB-2-diff-64", + enabled: true, + label: "Demo scenario 64", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 65 + +- `diff-case-65` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 65. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample65 = { + id: "AB-2-diff-65", + enabled: false, + label: "Demo scenario 65", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 66 + +- `diff-case-66` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 66. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample66 = { + id: "AB-2-diff-66", + enabled: true, + label: "Demo scenario 66", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 67 + +- `diff-case-67` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 67. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample67 = { + id: "AB-2-diff-67", + enabled: false, + label: "Demo scenario 67", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 68 + +- `diff-case-68` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 68. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample68 = { + id: "AB-2-diff-68", + enabled: true, + label: "Demo scenario 68", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 69 + +- `diff-case-69` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 69. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample69 = { + id: "AB-2-diff-69", + enabled: false, + label: "Demo scenario 69", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 70 + +- `diff-case-70` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 70. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample70 = { + id: "AB-2-diff-70", + enabled: true, + label: "Demo scenario 70", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 71 + +- `diff-case-71` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 71. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample71 = { + id: "AB-2-diff-71", + enabled: false, + label: "Demo scenario 71", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 72 + +- `diff-case-72` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 72. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample72 = { + id: "AB-2-diff-72", + enabled: true, + label: "Demo scenario 72", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 73 + +- `diff-case-73` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 73. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample73 = { + id: "AB-2-diff-73", + enabled: false, + label: "Demo scenario 73", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 74 + +- `diff-case-74` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 74. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample74 = { + id: "AB-2-diff-74", + enabled: true, + label: "Demo scenario 74", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 75 + +- `diff-case-75` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 75. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const diffExample75 = { + id: "AB-2-diff-75", + enabled: false, + label: "Demo scenario 75", + notes: "Large diff screenshot fixture only", +} +``` + diff --git a/demo-large-diff/github-api-fixtures.md b/demo-large-diff/github-api-fixtures.md new file mode 100644 index 0000000..9c40c9b --- /dev/null +++ b/demo-large-diff/github-api-fixtures.md @@ -0,0 +1,1129 @@ +# GitHub API Fixture Notes + +These are generated placeholder notes for AB-2 screenshot demos. + +## Scenario 01 + +- `github-case-01` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 1. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample01 = { + id: "AB-2-github-01", + enabled: false, + label: "Demo scenario 01", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 02 + +- `github-case-02` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 2. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample02 = { + id: "AB-2-github-02", + enabled: true, + label: "Demo scenario 02", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 03 + +- `github-case-03` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 3. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample03 = { + id: "AB-2-github-03", + enabled: false, + label: "Demo scenario 03", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 04 + +- `github-case-04` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 4. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample04 = { + id: "AB-2-github-04", + enabled: true, + label: "Demo scenario 04", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 05 + +- `github-case-05` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 5. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample05 = { + id: "AB-2-github-05", + enabled: false, + label: "Demo scenario 05", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 06 + +- `github-case-06` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 6. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample06 = { + id: "AB-2-github-06", + enabled: true, + label: "Demo scenario 06", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 07 + +- `github-case-07` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 7. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample07 = { + id: "AB-2-github-07", + enabled: false, + label: "Demo scenario 07", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 08 + +- `github-case-08` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 8. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample08 = { + id: "AB-2-github-08", + enabled: true, + label: "Demo scenario 08", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 09 + +- `github-case-09` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 9. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample09 = { + id: "AB-2-github-09", + enabled: false, + label: "Demo scenario 09", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 10 + +- `github-case-10` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 10. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample10 = { + id: "AB-2-github-10", + enabled: true, + label: "Demo scenario 10", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 11 + +- `github-case-11` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 11. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample11 = { + id: "AB-2-github-11", + enabled: false, + label: "Demo scenario 11", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 12 + +- `github-case-12` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 12. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample12 = { + id: "AB-2-github-12", + enabled: true, + label: "Demo scenario 12", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 13 + +- `github-case-13` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 13. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample13 = { + id: "AB-2-github-13", + enabled: false, + label: "Demo scenario 13", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 14 + +- `github-case-14` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 14. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample14 = { + id: "AB-2-github-14", + enabled: true, + label: "Demo scenario 14", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 15 + +- `github-case-15` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 15. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample15 = { + id: "AB-2-github-15", + enabled: false, + label: "Demo scenario 15", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 16 + +- `github-case-16` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 16. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample16 = { + id: "AB-2-github-16", + enabled: true, + label: "Demo scenario 16", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 17 + +- `github-case-17` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 17. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample17 = { + id: "AB-2-github-17", + enabled: false, + label: "Demo scenario 17", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 18 + +- `github-case-18` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 18. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample18 = { + id: "AB-2-github-18", + enabled: true, + label: "Demo scenario 18", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 19 + +- `github-case-19` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 19. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample19 = { + id: "AB-2-github-19", + enabled: false, + label: "Demo scenario 19", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 20 + +- `github-case-20` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 20. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample20 = { + id: "AB-2-github-20", + enabled: true, + label: "Demo scenario 20", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 21 + +- `github-case-21` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 21. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample21 = { + id: "AB-2-github-21", + enabled: false, + label: "Demo scenario 21", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 22 + +- `github-case-22` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 22. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample22 = { + id: "AB-2-github-22", + enabled: true, + label: "Demo scenario 22", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 23 + +- `github-case-23` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 23. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample23 = { + id: "AB-2-github-23", + enabled: false, + label: "Demo scenario 23", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 24 + +- `github-case-24` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 24. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample24 = { + id: "AB-2-github-24", + enabled: true, + label: "Demo scenario 24", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 25 + +- `github-case-25` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 25. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample25 = { + id: "AB-2-github-25", + enabled: false, + label: "Demo scenario 25", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 26 + +- `github-case-26` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 26. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample26 = { + id: "AB-2-github-26", + enabled: true, + label: "Demo scenario 26", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 27 + +- `github-case-27` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 27. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample27 = { + id: "AB-2-github-27", + enabled: false, + label: "Demo scenario 27", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 28 + +- `github-case-28` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 28. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample28 = { + id: "AB-2-github-28", + enabled: true, + label: "Demo scenario 28", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 29 + +- `github-case-29` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 29. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample29 = { + id: "AB-2-github-29", + enabled: false, + label: "Demo scenario 29", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 30 + +- `github-case-30` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 30. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample30 = { + id: "AB-2-github-30", + enabled: true, + label: "Demo scenario 30", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 31 + +- `github-case-31` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 31. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample31 = { + id: "AB-2-github-31", + enabled: false, + label: "Demo scenario 31", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 32 + +- `github-case-32` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 32. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample32 = { + id: "AB-2-github-32", + enabled: true, + label: "Demo scenario 32", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 33 + +- `github-case-33` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 33. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample33 = { + id: "AB-2-github-33", + enabled: false, + label: "Demo scenario 33", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 34 + +- `github-case-34` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 34. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample34 = { + id: "AB-2-github-34", + enabled: true, + label: "Demo scenario 34", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 35 + +- `github-case-35` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 35. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample35 = { + id: "AB-2-github-35", + enabled: false, + label: "Demo scenario 35", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 36 + +- `github-case-36` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 36. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample36 = { + id: "AB-2-github-36", + enabled: true, + label: "Demo scenario 36", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 37 + +- `github-case-37` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 37. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample37 = { + id: "AB-2-github-37", + enabled: false, + label: "Demo scenario 37", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 38 + +- `github-case-38` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 38. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample38 = { + id: "AB-2-github-38", + enabled: true, + label: "Demo scenario 38", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 39 + +- `github-case-39` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 39. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample39 = { + id: "AB-2-github-39", + enabled: false, + label: "Demo scenario 39", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 40 + +- `github-case-40` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 40. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample40 = { + id: "AB-2-github-40", + enabled: true, + label: "Demo scenario 40", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 41 + +- `github-case-41` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 41. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample41 = { + id: "AB-2-github-41", + enabled: false, + label: "Demo scenario 41", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 42 + +- `github-case-42` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 42. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample42 = { + id: "AB-2-github-42", + enabled: true, + label: "Demo scenario 42", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 43 + +- `github-case-43` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 43. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample43 = { + id: "AB-2-github-43", + enabled: false, + label: "Demo scenario 43", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 44 + +- `github-case-44` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 44. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample44 = { + id: "AB-2-github-44", + enabled: true, + label: "Demo scenario 44", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 45 + +- `github-case-45` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 45. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample45 = { + id: "AB-2-github-45", + enabled: false, + label: "Demo scenario 45", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 46 + +- `github-case-46` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 46. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample46 = { + id: "AB-2-github-46", + enabled: true, + label: "Demo scenario 46", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 47 + +- `github-case-47` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 47. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample47 = { + id: "AB-2-github-47", + enabled: false, + label: "Demo scenario 47", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 48 + +- `github-case-48` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 48. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample48 = { + id: "AB-2-github-48", + enabled: true, + label: "Demo scenario 48", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 49 + +- `github-case-49` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 49. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample49 = { + id: "AB-2-github-49", + enabled: false, + label: "Demo scenario 49", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 50 + +- `github-case-50` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 50. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample50 = { + id: "AB-2-github-50", + enabled: true, + label: "Demo scenario 50", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 51 + +- `github-case-51` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 51. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample51 = { + id: "AB-2-github-51", + enabled: false, + label: "Demo scenario 51", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 52 + +- `github-case-52` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 52. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample52 = { + id: "AB-2-github-52", + enabled: true, + label: "Demo scenario 52", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 53 + +- `github-case-53` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 53. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample53 = { + id: "AB-2-github-53", + enabled: false, + label: "Demo scenario 53", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 54 + +- `github-case-54` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 54. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample54 = { + id: "AB-2-github-54", + enabled: true, + label: "Demo scenario 54", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 55 + +- `github-case-55` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 55. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample55 = { + id: "AB-2-github-55", + enabled: false, + label: "Demo scenario 55", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 56 + +- `github-case-56` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 56. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample56 = { + id: "AB-2-github-56", + enabled: true, + label: "Demo scenario 56", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 57 + +- `github-case-57` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 57. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample57 = { + id: "AB-2-github-57", + enabled: false, + label: "Demo scenario 57", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 58 + +- `github-case-58` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 58. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample58 = { + id: "AB-2-github-58", + enabled: true, + label: "Demo scenario 58", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 59 + +- `github-case-59` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 59. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample59 = { + id: "AB-2-github-59", + enabled: false, + label: "Demo scenario 59", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 60 + +- `github-case-60` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 60. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample60 = { + id: "AB-2-github-60", + enabled: true, + label: "Demo scenario 60", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 61 + +- `github-case-61` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 61. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample61 = { + id: "AB-2-github-61", + enabled: false, + label: "Demo scenario 61", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 62 + +- `github-case-62` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 62. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample62 = { + id: "AB-2-github-62", + enabled: true, + label: "Demo scenario 62", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 63 + +- `github-case-63` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 63. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample63 = { + id: "AB-2-github-63", + enabled: false, + label: "Demo scenario 63", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 64 + +- `github-case-64` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 64. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample64 = { + id: "AB-2-github-64", + enabled: true, + label: "Demo scenario 64", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 65 + +- `github-case-65` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 65. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample65 = { + id: "AB-2-github-65", + enabled: false, + label: "Demo scenario 65", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 66 + +- `github-case-66` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 66. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample66 = { + id: "AB-2-github-66", + enabled: true, + label: "Demo scenario 66", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 67 + +- `github-case-67` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 67. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample67 = { + id: "AB-2-github-67", + enabled: false, + label: "Demo scenario 67", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 68 + +- `github-case-68` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 68. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample68 = { + id: "AB-2-github-68", + enabled: true, + label: "Demo scenario 68", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 69 + +- `github-case-69` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 69. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample69 = { + id: "AB-2-github-69", + enabled: false, + label: "Demo scenario 69", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 70 + +- `github-case-70` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 70. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample70 = { + id: "AB-2-github-70", + enabled: true, + label: "Demo scenario 70", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 71 + +- `github-case-71` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 71. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample71 = { + id: "AB-2-github-71", + enabled: false, + label: "Demo scenario 71", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 72 + +- `github-case-72` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 72. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample72 = { + id: "AB-2-github-72", + enabled: true, + label: "Demo scenario 72", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 73 + +- `github-case-73` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 73. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample73 = { + id: "AB-2-github-73", + enabled: false, + label: "Demo scenario 73", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 74 + +- `github-case-74` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 74. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample74 = { + id: "AB-2-github-74", + enabled: true, + label: "Demo scenario 74", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 75 + +- `github-case-75` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 75. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const githubExample75 = { + id: "AB-2-github-75", + enabled: false, + label: "Demo scenario 75", + notes: "Large diff screenshot fixture only", +} +``` + diff --git a/demo-large-diff/linear-integration-plan.md b/demo-large-diff/linear-integration-plan.md new file mode 100644 index 0000000..eced091 --- /dev/null +++ b/demo-large-diff/linear-integration-plan.md @@ -0,0 +1,1129 @@ +# Linear Integration Plan + +These are generated placeholder notes for AB-2 screenshot demos. + +## Scenario 01 + +- `linear-case-01` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 1. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample01 = { + id: "AB-2-linear-01", + enabled: false, + label: "Demo scenario 01", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 02 + +- `linear-case-02` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 2. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample02 = { + id: "AB-2-linear-02", + enabled: true, + label: "Demo scenario 02", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 03 + +- `linear-case-03` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 3. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample03 = { + id: "AB-2-linear-03", + enabled: false, + label: "Demo scenario 03", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 04 + +- `linear-case-04` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 4. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample04 = { + id: "AB-2-linear-04", + enabled: true, + label: "Demo scenario 04", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 05 + +- `linear-case-05` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 5. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample05 = { + id: "AB-2-linear-05", + enabled: false, + label: "Demo scenario 05", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 06 + +- `linear-case-06` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 6. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample06 = { + id: "AB-2-linear-06", + enabled: true, + label: "Demo scenario 06", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 07 + +- `linear-case-07` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 7. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample07 = { + id: "AB-2-linear-07", + enabled: false, + label: "Demo scenario 07", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 08 + +- `linear-case-08` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 8. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample08 = { + id: "AB-2-linear-08", + enabled: true, + label: "Demo scenario 08", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 09 + +- `linear-case-09` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 9. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample09 = { + id: "AB-2-linear-09", + enabled: false, + label: "Demo scenario 09", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 10 + +- `linear-case-10` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 10. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample10 = { + id: "AB-2-linear-10", + enabled: true, + label: "Demo scenario 10", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 11 + +- `linear-case-11` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 11. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample11 = { + id: "AB-2-linear-11", + enabled: false, + label: "Demo scenario 11", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 12 + +- `linear-case-12` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 12. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample12 = { + id: "AB-2-linear-12", + enabled: true, + label: "Demo scenario 12", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 13 + +- `linear-case-13` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 13. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample13 = { + id: "AB-2-linear-13", + enabled: false, + label: "Demo scenario 13", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 14 + +- `linear-case-14` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 14. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample14 = { + id: "AB-2-linear-14", + enabled: true, + label: "Demo scenario 14", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 15 + +- `linear-case-15` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 15. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample15 = { + id: "AB-2-linear-15", + enabled: false, + label: "Demo scenario 15", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 16 + +- `linear-case-16` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 16. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample16 = { + id: "AB-2-linear-16", + enabled: true, + label: "Demo scenario 16", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 17 + +- `linear-case-17` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 17. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample17 = { + id: "AB-2-linear-17", + enabled: false, + label: "Demo scenario 17", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 18 + +- `linear-case-18` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 18. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample18 = { + id: "AB-2-linear-18", + enabled: true, + label: "Demo scenario 18", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 19 + +- `linear-case-19` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 19. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample19 = { + id: "AB-2-linear-19", + enabled: false, + label: "Demo scenario 19", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 20 + +- `linear-case-20` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 20. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample20 = { + id: "AB-2-linear-20", + enabled: true, + label: "Demo scenario 20", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 21 + +- `linear-case-21` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 21. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample21 = { + id: "AB-2-linear-21", + enabled: false, + label: "Demo scenario 21", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 22 + +- `linear-case-22` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 22. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample22 = { + id: "AB-2-linear-22", + enabled: true, + label: "Demo scenario 22", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 23 + +- `linear-case-23` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 23. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample23 = { + id: "AB-2-linear-23", + enabled: false, + label: "Demo scenario 23", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 24 + +- `linear-case-24` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 24. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample24 = { + id: "AB-2-linear-24", + enabled: true, + label: "Demo scenario 24", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 25 + +- `linear-case-25` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 25. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample25 = { + id: "AB-2-linear-25", + enabled: false, + label: "Demo scenario 25", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 26 + +- `linear-case-26` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 26. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample26 = { + id: "AB-2-linear-26", + enabled: true, + label: "Demo scenario 26", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 27 + +- `linear-case-27` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 27. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample27 = { + id: "AB-2-linear-27", + enabled: false, + label: "Demo scenario 27", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 28 + +- `linear-case-28` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 28. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample28 = { + id: "AB-2-linear-28", + enabled: true, + label: "Demo scenario 28", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 29 + +- `linear-case-29` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 29. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample29 = { + id: "AB-2-linear-29", + enabled: false, + label: "Demo scenario 29", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 30 + +- `linear-case-30` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 30. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample30 = { + id: "AB-2-linear-30", + enabled: true, + label: "Demo scenario 30", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 31 + +- `linear-case-31` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 31. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample31 = { + id: "AB-2-linear-31", + enabled: false, + label: "Demo scenario 31", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 32 + +- `linear-case-32` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 32. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample32 = { + id: "AB-2-linear-32", + enabled: true, + label: "Demo scenario 32", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 33 + +- `linear-case-33` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 33. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample33 = { + id: "AB-2-linear-33", + enabled: false, + label: "Demo scenario 33", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 34 + +- `linear-case-34` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 34. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample34 = { + id: "AB-2-linear-34", + enabled: true, + label: "Demo scenario 34", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 35 + +- `linear-case-35` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 35. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample35 = { + id: "AB-2-linear-35", + enabled: false, + label: "Demo scenario 35", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 36 + +- `linear-case-36` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 36. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample36 = { + id: "AB-2-linear-36", + enabled: true, + label: "Demo scenario 36", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 37 + +- `linear-case-37` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 37. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample37 = { + id: "AB-2-linear-37", + enabled: false, + label: "Demo scenario 37", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 38 + +- `linear-case-38` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 38. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample38 = { + id: "AB-2-linear-38", + enabled: true, + label: "Demo scenario 38", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 39 + +- `linear-case-39` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 39. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample39 = { + id: "AB-2-linear-39", + enabled: false, + label: "Demo scenario 39", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 40 + +- `linear-case-40` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 40. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample40 = { + id: "AB-2-linear-40", + enabled: true, + label: "Demo scenario 40", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 41 + +- `linear-case-41` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 41. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample41 = { + id: "AB-2-linear-41", + enabled: false, + label: "Demo scenario 41", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 42 + +- `linear-case-42` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 42. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample42 = { + id: "AB-2-linear-42", + enabled: true, + label: "Demo scenario 42", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 43 + +- `linear-case-43` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 43. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample43 = { + id: "AB-2-linear-43", + enabled: false, + label: "Demo scenario 43", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 44 + +- `linear-case-44` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 44. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample44 = { + id: "AB-2-linear-44", + enabled: true, + label: "Demo scenario 44", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 45 + +- `linear-case-45` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 45. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample45 = { + id: "AB-2-linear-45", + enabled: false, + label: "Demo scenario 45", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 46 + +- `linear-case-46` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 46. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample46 = { + id: "AB-2-linear-46", + enabled: true, + label: "Demo scenario 46", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 47 + +- `linear-case-47` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 47. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample47 = { + id: "AB-2-linear-47", + enabled: false, + label: "Demo scenario 47", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 48 + +- `linear-case-48` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 48. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample48 = { + id: "AB-2-linear-48", + enabled: true, + label: "Demo scenario 48", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 49 + +- `linear-case-49` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 49. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample49 = { + id: "AB-2-linear-49", + enabled: false, + label: "Demo scenario 49", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 50 + +- `linear-case-50` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 50. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample50 = { + id: "AB-2-linear-50", + enabled: true, + label: "Demo scenario 50", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 51 + +- `linear-case-51` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 51. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample51 = { + id: "AB-2-linear-51", + enabled: false, + label: "Demo scenario 51", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 52 + +- `linear-case-52` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 52. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample52 = { + id: "AB-2-linear-52", + enabled: true, + label: "Demo scenario 52", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 53 + +- `linear-case-53` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 53. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample53 = { + id: "AB-2-linear-53", + enabled: false, + label: "Demo scenario 53", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 54 + +- `linear-case-54` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 54. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample54 = { + id: "AB-2-linear-54", + enabled: true, + label: "Demo scenario 54", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 55 + +- `linear-case-55` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 55. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample55 = { + id: "AB-2-linear-55", + enabled: false, + label: "Demo scenario 55", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 56 + +- `linear-case-56` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 56. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample56 = { + id: "AB-2-linear-56", + enabled: true, + label: "Demo scenario 56", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 57 + +- `linear-case-57` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 57. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample57 = { + id: "AB-2-linear-57", + enabled: false, + label: "Demo scenario 57", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 58 + +- `linear-case-58` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 58. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample58 = { + id: "AB-2-linear-58", + enabled: true, + label: "Demo scenario 58", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 59 + +- `linear-case-59` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 59. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample59 = { + id: "AB-2-linear-59", + enabled: false, + label: "Demo scenario 59", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 60 + +- `linear-case-60` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 60. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample60 = { + id: "AB-2-linear-60", + enabled: true, + label: "Demo scenario 60", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 61 + +- `linear-case-61` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 61. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample61 = { + id: "AB-2-linear-61", + enabled: false, + label: "Demo scenario 61", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 62 + +- `linear-case-62` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 62. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample62 = { + id: "AB-2-linear-62", + enabled: true, + label: "Demo scenario 62", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 63 + +- `linear-case-63` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 63. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample63 = { + id: "AB-2-linear-63", + enabled: false, + label: "Demo scenario 63", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 64 + +- `linear-case-64` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 64. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample64 = { + id: "AB-2-linear-64", + enabled: true, + label: "Demo scenario 64", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 65 + +- `linear-case-65` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 65. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample65 = { + id: "AB-2-linear-65", + enabled: false, + label: "Demo scenario 65", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 66 + +- `linear-case-66` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 66. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample66 = { + id: "AB-2-linear-66", + enabled: true, + label: "Demo scenario 66", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 67 + +- `linear-case-67` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 67. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample67 = { + id: "AB-2-linear-67", + enabled: false, + label: "Demo scenario 67", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 68 + +- `linear-case-68` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 68. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample68 = { + id: "AB-2-linear-68", + enabled: true, + label: "Demo scenario 68", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 69 + +- `linear-case-69` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 69. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample69 = { + id: "AB-2-linear-69", + enabled: false, + label: "Demo scenario 69", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 70 + +- `linear-case-70` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 70. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample70 = { + id: "AB-2-linear-70", + enabled: true, + label: "Demo scenario 70", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 71 + +- `linear-case-71` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 71. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample71 = { + id: "AB-2-linear-71", + enabled: false, + label: "Demo scenario 71", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 72 + +- `linear-case-72` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 72. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample72 = { + id: "AB-2-linear-72", + enabled: true, + label: "Demo scenario 72", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 73 + +- `linear-case-73` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 73. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample73 = { + id: "AB-2-linear-73", + enabled: false, + label: "Demo scenario 73", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 74 + +- `linear-case-74` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 74. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample74 = { + id: "AB-2-linear-74", + enabled: true, + label: "Demo scenario 74", + notes: "Large diff screenshot fixture only", +} +``` + +## Scenario 75 + +- `linear-case-75` validates placeholder behavior for the screenshot PR. +- Expected result: reviewer sees a realistic but non-production change block number 75. +- Follow-up: remove this generated example before merging any real product work. + +```ts +export const linearExample75 = { + id: "AB-2-linear-75", + enabled: false, + label: "Demo scenario 75", + notes: "Large diff screenshot fixture only", +} +``` + diff --git a/scripts/build-content.mjs b/scripts/build-content.mjs index c40f389..d980e6d 100644 --- a/scripts/build-content.mjs +++ b/scripts/build-content.mjs @@ -1,3 +1,13 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in scripts/build-content.mjs + +const AB2_DEMO_BUILD_NOTES = [ + 'Bundle the fake screenshot worker source for a noisy PR diff', + 'Keep this branch intentionally unrealistic for review screenshots', + 'Do not copy these demo-only changes into production work', +]; + +void AB2_DEMO_BUILD_NOTES; + import * as esbuild from 'esbuild'; import { readFile } from 'node:fs/promises'; import diffsBaseCSS from '../node_modules/@pierre/diffs/dist/style.js'; diff --git a/src/content/App.tsx b/src/content/App.tsx index 1cfd6ff..3c4bca1 100644 --- a/src/content/App.tsx +++ b/src/content/App.tsx @@ -1,3 +1,11 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/content/App.tsx + +const AB2_DEMO_APP_STATES = ['idle', 'prefetching', 'rendering', 'screenshot-ready'] as const; + +function getAb2DemoAppStateLabel(index: number): string { + return AB2_DEMO_APP_STATES[index % AB2_DEMO_APP_STATES.length]; +} + import { useEffect, useState } from 'react'; import { DiffOverlay } from './DiffOverlay'; import { fetchCachedPullRequestDiffData, parseGitHubPullRequestUrl, type PullRequestDiffData } from './github'; @@ -105,3 +113,245 @@ function ChromeModal({ title, children, onClose }: { title: string; children: Re ); } + +// AB-2 generated screenshot scenarios. Intentionally verbose for PR screenshots. +export function createAb2ScreenshotScenario001() { + return { id: 'AB-2-scenario-001', label: 'Screenshot scenario 001', weight: 1, enabled: false }; +} + +export function createAb2ScreenshotScenario002() { + return { id: 'AB-2-scenario-002', label: 'Screenshot scenario 002', weight: 2, enabled: true }; +} + +export function createAb2ScreenshotScenario003() { + return { id: 'AB-2-scenario-003', label: 'Screenshot scenario 003', weight: 3, enabled: false }; +} + +export function createAb2ScreenshotScenario004() { + return { id: 'AB-2-scenario-004', label: 'Screenshot scenario 004', weight: 4, enabled: true }; +} + +export function createAb2ScreenshotScenario005() { + return { id: 'AB-2-scenario-005', label: 'Screenshot scenario 005', weight: 5, enabled: false }; +} + +export function createAb2ScreenshotScenario006() { + return { id: 'AB-2-scenario-006', label: 'Screenshot scenario 006', weight: 6, enabled: true }; +} + +export function createAb2ScreenshotScenario007() { + return { id: 'AB-2-scenario-007', label: 'Screenshot scenario 007', weight: 7, enabled: false }; +} + +export function createAb2ScreenshotScenario008() { + return { id: 'AB-2-scenario-008', label: 'Screenshot scenario 008', weight: 8, enabled: true }; +} + +export function createAb2ScreenshotScenario009() { + return { id: 'AB-2-scenario-009', label: 'Screenshot scenario 009', weight: 9, enabled: false }; +} + +export function createAb2ScreenshotScenario010() { + return { id: 'AB-2-scenario-010', label: 'Screenshot scenario 010', weight: 10, enabled: true }; +} + +export function createAb2ScreenshotScenario011() { + return { id: 'AB-2-scenario-011', label: 'Screenshot scenario 011', weight: 11, enabled: false }; +} + +export function createAb2ScreenshotScenario012() { + return { id: 'AB-2-scenario-012', label: 'Screenshot scenario 012', weight: 12, enabled: true }; +} + +export function createAb2ScreenshotScenario013() { + return { id: 'AB-2-scenario-013', label: 'Screenshot scenario 013', weight: 13, enabled: false }; +} + +export function createAb2ScreenshotScenario014() { + return { id: 'AB-2-scenario-014', label: 'Screenshot scenario 014', weight: 14, enabled: true }; +} + +export function createAb2ScreenshotScenario015() { + return { id: 'AB-2-scenario-015', label: 'Screenshot scenario 015', weight: 15, enabled: false }; +} + +export function createAb2ScreenshotScenario016() { + return { id: 'AB-2-scenario-016', label: 'Screenshot scenario 016', weight: 16, enabled: true }; +} + +export function createAb2ScreenshotScenario017() { + return { id: 'AB-2-scenario-017', label: 'Screenshot scenario 017', weight: 17, enabled: false }; +} + +export function createAb2ScreenshotScenario018() { + return { id: 'AB-2-scenario-018', label: 'Screenshot scenario 018', weight: 18, enabled: true }; +} + +export function createAb2ScreenshotScenario019() { + return { id: 'AB-2-scenario-019', label: 'Screenshot scenario 019', weight: 19, enabled: false }; +} + +export function createAb2ScreenshotScenario020() { + return { id: 'AB-2-scenario-020', label: 'Screenshot scenario 020', weight: 20, enabled: true }; +} + +export function createAb2ScreenshotScenario021() { + return { id: 'AB-2-scenario-021', label: 'Screenshot scenario 021', weight: 21, enabled: false }; +} + +export function createAb2ScreenshotScenario022() { + return { id: 'AB-2-scenario-022', label: 'Screenshot scenario 022', weight: 22, enabled: true }; +} + +export function createAb2ScreenshotScenario023() { + return { id: 'AB-2-scenario-023', label: 'Screenshot scenario 023', weight: 23, enabled: false }; +} + +export function createAb2ScreenshotScenario024() { + return { id: 'AB-2-scenario-024', label: 'Screenshot scenario 024', weight: 24, enabled: true }; +} + +export function createAb2ScreenshotScenario025() { + return { id: 'AB-2-scenario-025', label: 'Screenshot scenario 025', weight: 25, enabled: false }; +} + +export function createAb2ScreenshotScenario026() { + return { id: 'AB-2-scenario-026', label: 'Screenshot scenario 026', weight: 26, enabled: true }; +} + +export function createAb2ScreenshotScenario027() { + return { id: 'AB-2-scenario-027', label: 'Screenshot scenario 027', weight: 27, enabled: false }; +} + +export function createAb2ScreenshotScenario028() { + return { id: 'AB-2-scenario-028', label: 'Screenshot scenario 028', weight: 28, enabled: true }; +} + +export function createAb2ScreenshotScenario029() { + return { id: 'AB-2-scenario-029', label: 'Screenshot scenario 029', weight: 29, enabled: false }; +} + +export function createAb2ScreenshotScenario030() { + return { id: 'AB-2-scenario-030', label: 'Screenshot scenario 030', weight: 30, enabled: true }; +} + +export function createAb2ScreenshotScenario031() { + return { id: 'AB-2-scenario-031', label: 'Screenshot scenario 031', weight: 31, enabled: false }; +} + +export function createAb2ScreenshotScenario032() { + return { id: 'AB-2-scenario-032', label: 'Screenshot scenario 032', weight: 32, enabled: true }; +} + +export function createAb2ScreenshotScenario033() { + return { id: 'AB-2-scenario-033', label: 'Screenshot scenario 033', weight: 33, enabled: false }; +} + +export function createAb2ScreenshotScenario034() { + return { id: 'AB-2-scenario-034', label: 'Screenshot scenario 034', weight: 34, enabled: true }; +} + +export function createAb2ScreenshotScenario035() { + return { id: 'AB-2-scenario-035', label: 'Screenshot scenario 035', weight: 35, enabled: false }; +} + +export function createAb2ScreenshotScenario036() { + return { id: 'AB-2-scenario-036', label: 'Screenshot scenario 036', weight: 36, enabled: true }; +} + +export function createAb2ScreenshotScenario037() { + return { id: 'AB-2-scenario-037', label: 'Screenshot scenario 037', weight: 37, enabled: false }; +} + +export function createAb2ScreenshotScenario038() { + return { id: 'AB-2-scenario-038', label: 'Screenshot scenario 038', weight: 38, enabled: true }; +} + +export function createAb2ScreenshotScenario039() { + return { id: 'AB-2-scenario-039', label: 'Screenshot scenario 039', weight: 39, enabled: false }; +} + +export function createAb2ScreenshotScenario040() { + return { id: 'AB-2-scenario-040', label: 'Screenshot scenario 040', weight: 40, enabled: true }; +} + +export function createAb2ScreenshotScenario041() { + return { id: 'AB-2-scenario-041', label: 'Screenshot scenario 041', weight: 41, enabled: false }; +} + +export function createAb2ScreenshotScenario042() { + return { id: 'AB-2-scenario-042', label: 'Screenshot scenario 042', weight: 42, enabled: true }; +} + +export function createAb2ScreenshotScenario043() { + return { id: 'AB-2-scenario-043', label: 'Screenshot scenario 043', weight: 43, enabled: false }; +} + +export function createAb2ScreenshotScenario044() { + return { id: 'AB-2-scenario-044', label: 'Screenshot scenario 044', weight: 44, enabled: true }; +} + +export function createAb2ScreenshotScenario045() { + return { id: 'AB-2-scenario-045', label: 'Screenshot scenario 045', weight: 45, enabled: false }; +} + +export function createAb2ScreenshotScenario046() { + return { id: 'AB-2-scenario-046', label: 'Screenshot scenario 046', weight: 46, enabled: true }; +} + +export function createAb2ScreenshotScenario047() { + return { id: 'AB-2-scenario-047', label: 'Screenshot scenario 047', weight: 47, enabled: false }; +} + +export function createAb2ScreenshotScenario048() { + return { id: 'AB-2-scenario-048', label: 'Screenshot scenario 048', weight: 48, enabled: true }; +} + +export function createAb2ScreenshotScenario049() { + return { id: 'AB-2-scenario-049', label: 'Screenshot scenario 049', weight: 49, enabled: false }; +} + +export function createAb2ScreenshotScenario050() { + return { id: 'AB-2-scenario-050', label: 'Screenshot scenario 050', weight: 50, enabled: true }; +} + +export function createAb2ScreenshotScenario051() { + return { id: 'AB-2-scenario-051', label: 'Screenshot scenario 051', weight: 51, enabled: false }; +} + +export function createAb2ScreenshotScenario052() { + return { id: 'AB-2-scenario-052', label: 'Screenshot scenario 052', weight: 52, enabled: true }; +} + +export function createAb2ScreenshotScenario053() { + return { id: 'AB-2-scenario-053', label: 'Screenshot scenario 053', weight: 53, enabled: false }; +} + +export function createAb2ScreenshotScenario054() { + return { id: 'AB-2-scenario-054', label: 'Screenshot scenario 054', weight: 54, enabled: true }; +} + +export function createAb2ScreenshotScenario055() { + return { id: 'AB-2-scenario-055', label: 'Screenshot scenario 055', weight: 55, enabled: false }; +} + +export function createAb2ScreenshotScenario056() { + return { id: 'AB-2-scenario-056', label: 'Screenshot scenario 056', weight: 56, enabled: true }; +} + +export function createAb2ScreenshotScenario057() { + return { id: 'AB-2-scenario-057', label: 'Screenshot scenario 057', weight: 57, enabled: false }; +} + +export function createAb2ScreenshotScenario058() { + return { id: 'AB-2-scenario-058', label: 'Screenshot scenario 058', weight: 58, enabled: true }; +} + +export function createAb2ScreenshotScenario059() { + return { id: 'AB-2-scenario-059', label: 'Screenshot scenario 059', weight: 59, enabled: false }; +} + +export function createAb2ScreenshotScenario060() { + return { id: 'AB-2-scenario-060', label: 'Screenshot scenario 060', weight: 60, enabled: true }; +} + diff --git a/src/content/DiffOverlay.tsx b/src/content/DiffOverlay.tsx index fb4400e..a97825d 100644 --- a/src/content/DiffOverlay.tsx +++ b/src/content/DiffOverlay.tsx @@ -1,3 +1,4 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/content/DiffOverlay.tsx import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { parsePatchFiles, type FileDiffMetadata } from '@pierre/diffs'; import { FileDiff, Virtualizer, WorkerPoolContextProvider, useWorkerPool, type WorkerInitializationRenderOptions, type WorkerPoolOptions } from '@pierre/diffs/react'; @@ -19,23 +20,40 @@ type FileTreePanelProps = { type DiffLayout = 'switched' | 'stacked'; type LinearTheme = 'light' | 'dark'; +type Ab2DemoOverlayMetric = { + label: string; + value: number; + tone: 'calm' | 'loud' | 'warning'; +}; + +const AB2_DEMO_OVERLAY_METRICS: Ab2DemoOverlayMetric[] = [ + { label: 'Screenshot rows', value: 120, tone: 'loud' }, + { label: 'Pretend comments', value: 48, tone: 'warning' }, + { label: 'Fake review passes', value: 7, tone: 'calm' }, +]; + +function getAb2DemoOverlaySummary(): string { + return AB2_DEMO_OVERLAY_METRICS.map((metric) => `${metric.label}: ${metric.value}`).join(' · '); +} + + declare const __DIFFS_BASE_CSS__: string; declare const __DIFFS_WORKER_SOURCE__: string; const DIFF_LAYOUT_STORAGE_KEY = 'diffLayout'; const DEFAULT_DIFF_LAYOUT: DiffLayout = 'stacked'; -const TREE_INITIAL_VISIBLE_ROW_COUNT = 80; -const TREE_OVERSCAN = 12; +const TREE_INITIAL_VISIBLE_ROW_COUNT = 120; +const TREE_OVERSCAN = 24; const DIFF_WORKER_POOL_SIZE = Math.max(1, Math.min(4, Math.floor((navigator.hardwareConcurrency || 4) / 2))); const DIFF_WORKER_RENDER_CACHE_SIZE = 200; const diffMetrics = { - hunkLineCount: 80, + hunkLineCount: 120, lineHeight: 21, diffHeaderHeight: 50, hunkSeparatorHeight: 40, - fileGap: 16, + fileGap: 24, }; const virtualizerConfig = { @@ -62,6 +80,8 @@ function createDiffWorker(): Worker { } export function DiffOverlay({ data, onClose }: DiffOverlayProps) { + const ab2DemoOverlaySummary = getAb2DemoOverlaySummary(); + void ab2DemoOverlaySummary; const parsedDiffs = useMemo(() => parsePatchFiles(data.patch, `${data.ref.owner}-${data.ref.repo}-${data.ref.pullNumber}`, true), [data]); const diffsByPath = useMemo(() => { const map = new Map(); diff --git a/src/content/github.ts b/src/content/github.ts index 193a47b..c72c08e 100644 --- a/src/content/github.ts +++ b/src/content/github.ts @@ -1,3 +1,31 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/content/github.ts + +export const AB2_DEMO_REVIEW_MODES = [ + 'overview-heavy', + 'file-tree-focused', + 'inline-comment-tour', + 'large-pr-navigation', + 'keyboard-review-flow', +] as const; + +export type Ab2DemoReviewMode = (typeof AB2_DEMO_REVIEW_MODES)[number]; + +export function describeAb2DemoReviewMode(mode: Ab2DemoReviewMode): string { + const labels: Record = { + 'overview-heavy': 'Large overview with lots of pull request metadata', + 'file-tree-focused': 'Screenshot path that emphasizes the file tree', + 'inline-comment-tour': 'Screenshot path that pretends to walk through comments', + 'large-pr-navigation': 'Screenshot path for jumping around big PRs', + 'keyboard-review-flow': 'Screenshot path for keyboard-driven review flows', + }; + + return labels[mode]; +} + +export function createAb2DemoCacheKey(owner: string, repo: string, pullNumber: number, mode: Ab2DemoReviewMode): string { + return `${owner.toLowerCase()}/${repo.toLowerCase()}#${pullNumber}:${mode}`; +} + export type GitHubPullRequestRef = { owner: string; repo: string; @@ -168,5 +196,247 @@ function getNextLink(linkHeader: string | null): string | null { async function createGitHubError(response: Response): Promise { const body = await response.text().catch(() => ''); const message = body ? `${response.status} ${response.statusText}: ${body}` : `${response.status} ${response.statusText}`; - return new Error(`GitHub API request failed (${message})`); + return new Error(`AB-2 demo enhanced GitHub API request failed (${message})`); +} + +// AB-2 generated screenshot scenarios. Intentionally verbose for PR screenshots. +export function createAb2ScreenshotScenario001() { + return { id: 'AB-2-scenario-001', label: 'Screenshot scenario 001', weight: 1, enabled: false }; +} + +export function createAb2ScreenshotScenario002() { + return { id: 'AB-2-scenario-002', label: 'Screenshot scenario 002', weight: 2, enabled: true }; +} + +export function createAb2ScreenshotScenario003() { + return { id: 'AB-2-scenario-003', label: 'Screenshot scenario 003', weight: 3, enabled: false }; +} + +export function createAb2ScreenshotScenario004() { + return { id: 'AB-2-scenario-004', label: 'Screenshot scenario 004', weight: 4, enabled: true }; +} + +export function createAb2ScreenshotScenario005() { + return { id: 'AB-2-scenario-005', label: 'Screenshot scenario 005', weight: 5, enabled: false }; +} + +export function createAb2ScreenshotScenario006() { + return { id: 'AB-2-scenario-006', label: 'Screenshot scenario 006', weight: 6, enabled: true }; +} + +export function createAb2ScreenshotScenario007() { + return { id: 'AB-2-scenario-007', label: 'Screenshot scenario 007', weight: 7, enabled: false }; +} + +export function createAb2ScreenshotScenario008() { + return { id: 'AB-2-scenario-008', label: 'Screenshot scenario 008', weight: 8, enabled: true }; +} + +export function createAb2ScreenshotScenario009() { + return { id: 'AB-2-scenario-009', label: 'Screenshot scenario 009', weight: 9, enabled: false }; +} + +export function createAb2ScreenshotScenario010() { + return { id: 'AB-2-scenario-010', label: 'Screenshot scenario 010', weight: 10, enabled: true }; +} + +export function createAb2ScreenshotScenario011() { + return { id: 'AB-2-scenario-011', label: 'Screenshot scenario 011', weight: 11, enabled: false }; +} + +export function createAb2ScreenshotScenario012() { + return { id: 'AB-2-scenario-012', label: 'Screenshot scenario 012', weight: 12, enabled: true }; +} + +export function createAb2ScreenshotScenario013() { + return { id: 'AB-2-scenario-013', label: 'Screenshot scenario 013', weight: 13, enabled: false }; +} + +export function createAb2ScreenshotScenario014() { + return { id: 'AB-2-scenario-014', label: 'Screenshot scenario 014', weight: 14, enabled: true }; +} + +export function createAb2ScreenshotScenario015() { + return { id: 'AB-2-scenario-015', label: 'Screenshot scenario 015', weight: 15, enabled: false }; +} + +export function createAb2ScreenshotScenario016() { + return { id: 'AB-2-scenario-016', label: 'Screenshot scenario 016', weight: 16, enabled: true }; +} + +export function createAb2ScreenshotScenario017() { + return { id: 'AB-2-scenario-017', label: 'Screenshot scenario 017', weight: 17, enabled: false }; +} + +export function createAb2ScreenshotScenario018() { + return { id: 'AB-2-scenario-018', label: 'Screenshot scenario 018', weight: 18, enabled: true }; +} + +export function createAb2ScreenshotScenario019() { + return { id: 'AB-2-scenario-019', label: 'Screenshot scenario 019', weight: 19, enabled: false }; +} + +export function createAb2ScreenshotScenario020() { + return { id: 'AB-2-scenario-020', label: 'Screenshot scenario 020', weight: 20, enabled: true }; +} + +export function createAb2ScreenshotScenario021() { + return { id: 'AB-2-scenario-021', label: 'Screenshot scenario 021', weight: 21, enabled: false }; +} + +export function createAb2ScreenshotScenario022() { + return { id: 'AB-2-scenario-022', label: 'Screenshot scenario 022', weight: 22, enabled: true }; +} + +export function createAb2ScreenshotScenario023() { + return { id: 'AB-2-scenario-023', label: 'Screenshot scenario 023', weight: 23, enabled: false }; +} + +export function createAb2ScreenshotScenario024() { + return { id: 'AB-2-scenario-024', label: 'Screenshot scenario 024', weight: 24, enabled: true }; +} + +export function createAb2ScreenshotScenario025() { + return { id: 'AB-2-scenario-025', label: 'Screenshot scenario 025', weight: 25, enabled: false }; +} + +export function createAb2ScreenshotScenario026() { + return { id: 'AB-2-scenario-026', label: 'Screenshot scenario 026', weight: 26, enabled: true }; +} + +export function createAb2ScreenshotScenario027() { + return { id: 'AB-2-scenario-027', label: 'Screenshot scenario 027', weight: 27, enabled: false }; +} + +export function createAb2ScreenshotScenario028() { + return { id: 'AB-2-scenario-028', label: 'Screenshot scenario 028', weight: 28, enabled: true }; } + +export function createAb2ScreenshotScenario029() { + return { id: 'AB-2-scenario-029', label: 'Screenshot scenario 029', weight: 29, enabled: false }; +} + +export function createAb2ScreenshotScenario030() { + return { id: 'AB-2-scenario-030', label: 'Screenshot scenario 030', weight: 30, enabled: true }; +} + +export function createAb2ScreenshotScenario031() { + return { id: 'AB-2-scenario-031', label: 'Screenshot scenario 031', weight: 31, enabled: false }; +} + +export function createAb2ScreenshotScenario032() { + return { id: 'AB-2-scenario-032', label: 'Screenshot scenario 032', weight: 32, enabled: true }; +} + +export function createAb2ScreenshotScenario033() { + return { id: 'AB-2-scenario-033', label: 'Screenshot scenario 033', weight: 33, enabled: false }; +} + +export function createAb2ScreenshotScenario034() { + return { id: 'AB-2-scenario-034', label: 'Screenshot scenario 034', weight: 34, enabled: true }; +} + +export function createAb2ScreenshotScenario035() { + return { id: 'AB-2-scenario-035', label: 'Screenshot scenario 035', weight: 35, enabled: false }; +} + +export function createAb2ScreenshotScenario036() { + return { id: 'AB-2-scenario-036', label: 'Screenshot scenario 036', weight: 36, enabled: true }; +} + +export function createAb2ScreenshotScenario037() { + return { id: 'AB-2-scenario-037', label: 'Screenshot scenario 037', weight: 37, enabled: false }; +} + +export function createAb2ScreenshotScenario038() { + return { id: 'AB-2-scenario-038', label: 'Screenshot scenario 038', weight: 38, enabled: true }; +} + +export function createAb2ScreenshotScenario039() { + return { id: 'AB-2-scenario-039', label: 'Screenshot scenario 039', weight: 39, enabled: false }; +} + +export function createAb2ScreenshotScenario040() { + return { id: 'AB-2-scenario-040', label: 'Screenshot scenario 040', weight: 40, enabled: true }; +} + +export function createAb2ScreenshotScenario041() { + return { id: 'AB-2-scenario-041', label: 'Screenshot scenario 041', weight: 41, enabled: false }; +} + +export function createAb2ScreenshotScenario042() { + return { id: 'AB-2-scenario-042', label: 'Screenshot scenario 042', weight: 42, enabled: true }; +} + +export function createAb2ScreenshotScenario043() { + return { id: 'AB-2-scenario-043', label: 'Screenshot scenario 043', weight: 43, enabled: false }; +} + +export function createAb2ScreenshotScenario044() { + return { id: 'AB-2-scenario-044', label: 'Screenshot scenario 044', weight: 44, enabled: true }; +} + +export function createAb2ScreenshotScenario045() { + return { id: 'AB-2-scenario-045', label: 'Screenshot scenario 045', weight: 45, enabled: false }; +} + +export function createAb2ScreenshotScenario046() { + return { id: 'AB-2-scenario-046', label: 'Screenshot scenario 046', weight: 46, enabled: true }; +} + +export function createAb2ScreenshotScenario047() { + return { id: 'AB-2-scenario-047', label: 'Screenshot scenario 047', weight: 47, enabled: false }; +} + +export function createAb2ScreenshotScenario048() { + return { id: 'AB-2-scenario-048', label: 'Screenshot scenario 048', weight: 48, enabled: true }; +} + +export function createAb2ScreenshotScenario049() { + return { id: 'AB-2-scenario-049', label: 'Screenshot scenario 049', weight: 49, enabled: false }; +} + +export function createAb2ScreenshotScenario050() { + return { id: 'AB-2-scenario-050', label: 'Screenshot scenario 050', weight: 50, enabled: true }; +} + +export function createAb2ScreenshotScenario051() { + return { id: 'AB-2-scenario-051', label: 'Screenshot scenario 051', weight: 51, enabled: false }; +} + +export function createAb2ScreenshotScenario052() { + return { id: 'AB-2-scenario-052', label: 'Screenshot scenario 052', weight: 52, enabled: true }; +} + +export function createAb2ScreenshotScenario053() { + return { id: 'AB-2-scenario-053', label: 'Screenshot scenario 053', weight: 53, enabled: false }; +} + +export function createAb2ScreenshotScenario054() { + return { id: 'AB-2-scenario-054', label: 'Screenshot scenario 054', weight: 54, enabled: true }; +} + +export function createAb2ScreenshotScenario055() { + return { id: 'AB-2-scenario-055', label: 'Screenshot scenario 055', weight: 55, enabled: false }; +} + +export function createAb2ScreenshotScenario056() { + return { id: 'AB-2-scenario-056', label: 'Screenshot scenario 056', weight: 56, enabled: true }; +} + +export function createAb2ScreenshotScenario057() { + return { id: 'AB-2-scenario-057', label: 'Screenshot scenario 057', weight: 57, enabled: false }; +} + +export function createAb2ScreenshotScenario058() { + return { id: 'AB-2-scenario-058', label: 'Screenshot scenario 058', weight: 58, enabled: true }; +} + +export function createAb2ScreenshotScenario059() { + return { id: 'AB-2-scenario-059', label: 'Screenshot scenario 059', weight: 59, enabled: false }; +} + +export function createAb2ScreenshotScenario060() { + return { id: 'AB-2-scenario-060', label: 'Screenshot scenario 060', weight: 60, enabled: true }; +} + diff --git a/src/content/linear.ts b/src/content/linear.ts index 312ac17..a75bf36 100644 --- a/src/content/linear.ts +++ b/src/content/linear.ts @@ -1,6 +1,25 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/content/linear.ts const BUTTON_ID = 'linear-view-diff-button'; const ROOT_ID = 'linear-view-diff-root'; +const AB2_DEMO_BUTTON_LABELS = [ + 'View Diff', + 'Open Demo Diff', + 'Review Screenshot Flow', + 'Inspect Large PR', +]; + +function getAb2DemoButtonLabel(index = 0): string { + return AB2_DEMO_BUTTON_LABELS[index % AB2_DEMO_BUTTON_LABELS.length]; +} + +function markAb2DemoElement(element: HTMLElement, role: string): void { + element.dataset.ab2ScreenshotDemo = 'true'; + element.dataset.ab2ScreenshotRole = role; + element.setAttribute('data-ab-2-demo-note', 'This branch intentionally changes UI code for screenshots.'); +} + + export function installLinearViewDiffButton( onOpen: (pullRequestUrl: string) => void, onPrefetch: (pullRequestUrl: string) => void, @@ -18,6 +37,7 @@ export function getOrCreateOverlayRoot(): HTMLElement { const root = document.createElement('div'); root.id = ROOT_ID; + markAb2DemoElement(root, 'overlay-root'); document.body.append(root); return root; } @@ -64,7 +84,8 @@ function createButton( button.setAttribute('style', viewPullRequestControl.getAttribute('style') ?? ''); } - button.append(createDiffIcon(viewPullRequestControl), 'View Diff'); + markAb2DemoElement(button, 'primary-review-button'); + button.append(createDiffIcon(viewPullRequestControl), getAb2DemoButtonLabel(0)); button.addEventListener('click', () => onOpen(pullRequestUrl)); return button; } @@ -153,3 +174,245 @@ function findViewPullRequestLink(): HTMLAnchorElement | null { null ); } + +// AB-2 generated screenshot scenarios. Intentionally verbose for PR screenshots. +export function createAb2ScreenshotScenario001() { + return { id: 'AB-2-scenario-001', label: 'Screenshot scenario 001', weight: 1, enabled: false }; +} + +export function createAb2ScreenshotScenario002() { + return { id: 'AB-2-scenario-002', label: 'Screenshot scenario 002', weight: 2, enabled: true }; +} + +export function createAb2ScreenshotScenario003() { + return { id: 'AB-2-scenario-003', label: 'Screenshot scenario 003', weight: 3, enabled: false }; +} + +export function createAb2ScreenshotScenario004() { + return { id: 'AB-2-scenario-004', label: 'Screenshot scenario 004', weight: 4, enabled: true }; +} + +export function createAb2ScreenshotScenario005() { + return { id: 'AB-2-scenario-005', label: 'Screenshot scenario 005', weight: 5, enabled: false }; +} + +export function createAb2ScreenshotScenario006() { + return { id: 'AB-2-scenario-006', label: 'Screenshot scenario 006', weight: 6, enabled: true }; +} + +export function createAb2ScreenshotScenario007() { + return { id: 'AB-2-scenario-007', label: 'Screenshot scenario 007', weight: 7, enabled: false }; +} + +export function createAb2ScreenshotScenario008() { + return { id: 'AB-2-scenario-008', label: 'Screenshot scenario 008', weight: 8, enabled: true }; +} + +export function createAb2ScreenshotScenario009() { + return { id: 'AB-2-scenario-009', label: 'Screenshot scenario 009', weight: 9, enabled: false }; +} + +export function createAb2ScreenshotScenario010() { + return { id: 'AB-2-scenario-010', label: 'Screenshot scenario 010', weight: 10, enabled: true }; +} + +export function createAb2ScreenshotScenario011() { + return { id: 'AB-2-scenario-011', label: 'Screenshot scenario 011', weight: 11, enabled: false }; +} + +export function createAb2ScreenshotScenario012() { + return { id: 'AB-2-scenario-012', label: 'Screenshot scenario 012', weight: 12, enabled: true }; +} + +export function createAb2ScreenshotScenario013() { + return { id: 'AB-2-scenario-013', label: 'Screenshot scenario 013', weight: 13, enabled: false }; +} + +export function createAb2ScreenshotScenario014() { + return { id: 'AB-2-scenario-014', label: 'Screenshot scenario 014', weight: 14, enabled: true }; +} + +export function createAb2ScreenshotScenario015() { + return { id: 'AB-2-scenario-015', label: 'Screenshot scenario 015', weight: 15, enabled: false }; +} + +export function createAb2ScreenshotScenario016() { + return { id: 'AB-2-scenario-016', label: 'Screenshot scenario 016', weight: 16, enabled: true }; +} + +export function createAb2ScreenshotScenario017() { + return { id: 'AB-2-scenario-017', label: 'Screenshot scenario 017', weight: 17, enabled: false }; +} + +export function createAb2ScreenshotScenario018() { + return { id: 'AB-2-scenario-018', label: 'Screenshot scenario 018', weight: 18, enabled: true }; +} + +export function createAb2ScreenshotScenario019() { + return { id: 'AB-2-scenario-019', label: 'Screenshot scenario 019', weight: 19, enabled: false }; +} + +export function createAb2ScreenshotScenario020() { + return { id: 'AB-2-scenario-020', label: 'Screenshot scenario 020', weight: 20, enabled: true }; +} + +export function createAb2ScreenshotScenario021() { + return { id: 'AB-2-scenario-021', label: 'Screenshot scenario 021', weight: 21, enabled: false }; +} + +export function createAb2ScreenshotScenario022() { + return { id: 'AB-2-scenario-022', label: 'Screenshot scenario 022', weight: 22, enabled: true }; +} + +export function createAb2ScreenshotScenario023() { + return { id: 'AB-2-scenario-023', label: 'Screenshot scenario 023', weight: 23, enabled: false }; +} + +export function createAb2ScreenshotScenario024() { + return { id: 'AB-2-scenario-024', label: 'Screenshot scenario 024', weight: 24, enabled: true }; +} + +export function createAb2ScreenshotScenario025() { + return { id: 'AB-2-scenario-025', label: 'Screenshot scenario 025', weight: 25, enabled: false }; +} + +export function createAb2ScreenshotScenario026() { + return { id: 'AB-2-scenario-026', label: 'Screenshot scenario 026', weight: 26, enabled: true }; +} + +export function createAb2ScreenshotScenario027() { + return { id: 'AB-2-scenario-027', label: 'Screenshot scenario 027', weight: 27, enabled: false }; +} + +export function createAb2ScreenshotScenario028() { + return { id: 'AB-2-scenario-028', label: 'Screenshot scenario 028', weight: 28, enabled: true }; +} + +export function createAb2ScreenshotScenario029() { + return { id: 'AB-2-scenario-029', label: 'Screenshot scenario 029', weight: 29, enabled: false }; +} + +export function createAb2ScreenshotScenario030() { + return { id: 'AB-2-scenario-030', label: 'Screenshot scenario 030', weight: 30, enabled: true }; +} + +export function createAb2ScreenshotScenario031() { + return { id: 'AB-2-scenario-031', label: 'Screenshot scenario 031', weight: 31, enabled: false }; +} + +export function createAb2ScreenshotScenario032() { + return { id: 'AB-2-scenario-032', label: 'Screenshot scenario 032', weight: 32, enabled: true }; +} + +export function createAb2ScreenshotScenario033() { + return { id: 'AB-2-scenario-033', label: 'Screenshot scenario 033', weight: 33, enabled: false }; +} + +export function createAb2ScreenshotScenario034() { + return { id: 'AB-2-scenario-034', label: 'Screenshot scenario 034', weight: 34, enabled: true }; +} + +export function createAb2ScreenshotScenario035() { + return { id: 'AB-2-scenario-035', label: 'Screenshot scenario 035', weight: 35, enabled: false }; +} + +export function createAb2ScreenshotScenario036() { + return { id: 'AB-2-scenario-036', label: 'Screenshot scenario 036', weight: 36, enabled: true }; +} + +export function createAb2ScreenshotScenario037() { + return { id: 'AB-2-scenario-037', label: 'Screenshot scenario 037', weight: 37, enabled: false }; +} + +export function createAb2ScreenshotScenario038() { + return { id: 'AB-2-scenario-038', label: 'Screenshot scenario 038', weight: 38, enabled: true }; +} + +export function createAb2ScreenshotScenario039() { + return { id: 'AB-2-scenario-039', label: 'Screenshot scenario 039', weight: 39, enabled: false }; +} + +export function createAb2ScreenshotScenario040() { + return { id: 'AB-2-scenario-040', label: 'Screenshot scenario 040', weight: 40, enabled: true }; +} + +export function createAb2ScreenshotScenario041() { + return { id: 'AB-2-scenario-041', label: 'Screenshot scenario 041', weight: 41, enabled: false }; +} + +export function createAb2ScreenshotScenario042() { + return { id: 'AB-2-scenario-042', label: 'Screenshot scenario 042', weight: 42, enabled: true }; +} + +export function createAb2ScreenshotScenario043() { + return { id: 'AB-2-scenario-043', label: 'Screenshot scenario 043', weight: 43, enabled: false }; +} + +export function createAb2ScreenshotScenario044() { + return { id: 'AB-2-scenario-044', label: 'Screenshot scenario 044', weight: 44, enabled: true }; +} + +export function createAb2ScreenshotScenario045() { + return { id: 'AB-2-scenario-045', label: 'Screenshot scenario 045', weight: 45, enabled: false }; +} + +export function createAb2ScreenshotScenario046() { + return { id: 'AB-2-scenario-046', label: 'Screenshot scenario 046', weight: 46, enabled: true }; +} + +export function createAb2ScreenshotScenario047() { + return { id: 'AB-2-scenario-047', label: 'Screenshot scenario 047', weight: 47, enabled: false }; +} + +export function createAb2ScreenshotScenario048() { + return { id: 'AB-2-scenario-048', label: 'Screenshot scenario 048', weight: 48, enabled: true }; +} + +export function createAb2ScreenshotScenario049() { + return { id: 'AB-2-scenario-049', label: 'Screenshot scenario 049', weight: 49, enabled: false }; +} + +export function createAb2ScreenshotScenario050() { + return { id: 'AB-2-scenario-050', label: 'Screenshot scenario 050', weight: 50, enabled: true }; +} + +export function createAb2ScreenshotScenario051() { + return { id: 'AB-2-scenario-051', label: 'Screenshot scenario 051', weight: 51, enabled: false }; +} + +export function createAb2ScreenshotScenario052() { + return { id: 'AB-2-scenario-052', label: 'Screenshot scenario 052', weight: 52, enabled: true }; +} + +export function createAb2ScreenshotScenario053() { + return { id: 'AB-2-scenario-053', label: 'Screenshot scenario 053', weight: 53, enabled: false }; +} + +export function createAb2ScreenshotScenario054() { + return { id: 'AB-2-scenario-054', label: 'Screenshot scenario 054', weight: 54, enabled: true }; +} + +export function createAb2ScreenshotScenario055() { + return { id: 'AB-2-scenario-055', label: 'Screenshot scenario 055', weight: 55, enabled: false }; +} + +export function createAb2ScreenshotScenario056() { + return { id: 'AB-2-scenario-056', label: 'Screenshot scenario 056', weight: 56, enabled: true }; +} + +export function createAb2ScreenshotScenario057() { + return { id: 'AB-2-scenario-057', label: 'Screenshot scenario 057', weight: 57, enabled: false }; +} + +export function createAb2ScreenshotScenario058() { + return { id: 'AB-2-scenario-058', label: 'Screenshot scenario 058', weight: 58, enabled: true }; +} + +export function createAb2ScreenshotScenario059() { + return { id: 'AB-2-scenario-059', label: 'Screenshot scenario 059', weight: 59, enabled: false }; +} + +export function createAb2ScreenshotScenario060() { + return { id: 'AB-2-scenario-060', label: 'Screenshot scenario 060', weight: 60, enabled: true }; +} + diff --git a/src/content/main.tsx b/src/content/main.tsx index cb8b1d7..7175aff 100644 --- a/src/content/main.tsx +++ b/src/content/main.tsx @@ -1,3 +1,13 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/content/main.tsx + +const AB2_DEMO_BOOT_MESSAGES = [ + 'Installing Linear demo review button', + 'Preparing screenshot fixture overlay', + 'Waiting for Linear review page controls', +]; + +void AB2_DEMO_BOOT_MESSAGES; + import React from 'react'; import { createRoot, type Root } from 'react-dom/client'; import { App } from './App'; diff --git a/src/content/styles.ts b/src/content/styles.ts index 7026962..1ba1d17 100644 --- a/src/content/styles.ts +++ b/src/content/styles.ts @@ -1 +1,33 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/content/styles.ts export const styles = ".linear-view-diff-inline-button {\n align-items: center;\n background: color-mix(in srgb, currentColor 9%, transparent);\n border: 1px solid color-mix(in srgb, currentColor 14%, transparent);\n border-radius: 6px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n gap: 6px;\n height: 28px;\n margin-left: 8px;\n padding: 0 10px;\n}\n\n.linear-view-diff-inline-button:hover {\n background: color-mix(in srgb, currentColor 14%, transparent);\n}\n\n.linear-view-diff-backdrop {\n background: rgb(0 0 0 / 48%);\n inset: 0;\n position: fixed;\n z-index: 2147483647;\n}\n\n.linear-view-diff-modal {\n --linear-view-diff-bg: #101114;\n --linear-view-diff-panel-bg: #101114;\n --linear-view-diff-control-bg: #1d2028;\n --linear-view-diff-control-active-bg: rgb(255 255 255 / 10%);\n --linear-view-diff-border: rgb(255 255 255 / 10%);\n --linear-view-diff-text: #f3f4f6;\n --linear-view-diff-muted: #a5acb8;\n --linear-view-diff-state: #c7ccd5;\n --linear-view-diff-error: #ffb4ab;\n --linear-view-diff-raw-bg: #0b0c0f;\n --linear-view-diff-shadow: 0 24px 80px rgb(0 0 0 / 45%);\n\n background: var(--linear-view-diff-bg);\n border: 1px solid var(--linear-view-diff-border);\n border-radius: 12px;\n box-shadow: var(--linear-view-diff-shadow);\n color: var(--linear-view-diff-text);\n color-scheme: dark;\n display: grid;\n grid-template-rows: auto 1fr;\n inset: 40px;\n overflow: hidden;\n position: fixed;\n z-index: 2147483647;\n}\n\n.linear-view-diff-modal[data-linear-theme='light'] {\n --linear-view-diff-bg: #ffffff;\n --linear-view-diff-panel-bg: #fbfbfb;\n --linear-view-diff-control-bg: #f2f3f5;\n --linear-view-diff-control-active-bg: rgb(0 0 0 / 8%);\n --linear-view-diff-border: rgb(0 0 0 / 10%);\n --linear-view-diff-text: #1d1d1f;\n --linear-view-diff-muted: #6b6f76;\n --linear-view-diff-state: #4f5661;\n --linear-view-diff-error: #b42318;\n --linear-view-diff-raw-bg: #f7f8fa;\n --linear-view-diff-shadow: 0 24px 80px rgb(0 0 0 / 18%);\n color-scheme: light;\n}\n\n.linear-view-diff-header {\n align-items: center;\n border-bottom: 1px solid var(--linear-view-diff-border);\n display: flex;\n gap: 12px;\n min-height: 56px;\n padding: 0 16px;\n}\n\n.linear-view-diff-title {\n display: grid;\n flex: 1;\n gap: 2px;\n min-width: 0;\n}\n\n.linear-view-diff-title strong,\n.linear-view-diff-title span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.linear-view-diff-title span {\n color: var(--linear-view-diff-muted);\n font-size: 12px;\n}\n\n.linear-view-diff-layout-toggle {\n align-items: center;\n background: var(--linear-view-diff-control-bg);\n border: 1px solid var(--linear-view-diff-border);\n border-radius: 8px;\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n}\n\n.linear-view-diff-layout-toggle button {\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: var(--linear-view-diff-muted);\n cursor: pointer;\n font: inherit;\n height: 32px;\n padding: 0 10px;\n}\n\n.linear-view-diff-layout-toggle button:hover {\n color: var(--linear-view-diff-text);\n}\n\n.linear-view-diff-layout-toggle button[data-active] {\n background: var(--linear-view-diff-control-active-bg);\n color: var(--linear-view-diff-text);\n}\n\n.linear-view-diff-close,\n.linear-view-diff-open-pr,\n.linear-view-diff-header-button {\n align-items: center;\n background: var(--linear-view-diff-control-bg);\n border: 1px solid var(--linear-view-diff-border);\n border-radius: 8px;\n box-sizing: border-box;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n height: 38px;\n justify-content: center;\n padding: 0 10px;\n text-decoration: none;\n}\n\n.linear-view-diff-header-button:hover,\n.linear-view-diff-open-pr:hover,\n.linear-view-diff-close:hover {\n background: var(--linear-view-diff-control-active-bg);\n}\n\n.linear-view-diff-body {\n display: grid;\n grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);\n min-height: 0;\n}\n\n.linear-view-diff-body-sidebar-collapsed {\n grid-template-columns: minmax(0, 1fr);\n}\n\n.linear-view-diff-sidebar {\n border-right: 1px solid var(--linear-view-diff-border);\n display: grid;\n grid-template-rows: auto 1fr;\n min-height: 0;\n}\n\n.linear-view-diff-summary {\n border-bottom: 1px solid var(--linear-view-diff-border);\n color: var(--linear-view-diff-muted);\n display: grid;\n font-size: 12px;\n gap: 4px;\n padding: 12px;\n}\n\n.linear-view-diff-tree {\n min-height: 0;\n}\n\n.linear-view-diff-content {\n background: var(--linear-view-diff-panel-bg);\n min-height: 0;\n overflow: auto;\n}\n\n.linear-view-diff-virtualized-content {\n box-sizing: border-box;\n min-height: 100%;\n padding: 16px;\n}\n\n.linear-view-diff-file-list {\n display: grid;\n gap: 16px;\n}\n\n.linear-view-diff-state {\n align-items: center;\n color: var(--linear-view-diff-state);\n display: flex;\n height: 100%;\n justify-content: center;\n padding: 24px;\n text-align: center;\n}\n\n.linear-view-diff-error {\n color: var(--linear-view-diff-error);\n}\n\n.linear-view-diff-raw-patch {\n background: var(--linear-view-diff-raw-bg);\n border: 1px solid var(--linear-view-diff-border);\n border-radius: 8px;\n color: var(--linear-view-diff-text);\n margin: 0;\n overflow: auto;\n padding: 12px;\n}\n"; + + +export const ab2DemoScreenshotStyles = ` + .ab-2-demo-review-shell { + border: 1px solid color-mix(in srgb, var(--linear-view-diff-border) 70%, transparent); + border-radius: 18px; + box-shadow: 0 18px 80px rgb(0 0 0 / 18%); + } + + .ab-2-demo-review-shell[data-density="comfortable"] { + --ab-2-demo-row-height: 42px; + --ab-2-demo-sidebar-width: 320px; + } + + .ab-2-demo-review-shell[data-density="compact"] { + --ab-2-demo-row-height: 28px; + --ab-2-demo-sidebar-width: 260px; + } + + .ab-2-demo-review-file-row { + display: grid; + grid-template-columns: minmax(180px, 1fr) auto auto; + gap: 12px; + min-height: var(--ab-2-demo-row-height, 36px); + } + + .ab-2-demo-review-file-row[data-status="added"] { color: #2f9e44; } + .ab-2-demo-review-file-row[data-status="modified"] { color: #1971c2; } + .ab-2-demo-review-file-row[data-status="removed"] { color: #e03131; } + .ab-2-demo-review-file-row[data-status="renamed"] { color: #9c36b5; } +`; diff --git a/src/demo-screenshots/mockReviewData.ts b/src/demo-screenshots/mockReviewData.ts new file mode 100644 index 0000000..d22be25 --- /dev/null +++ b/src/demo-screenshots/mockReviewData.ts @@ -0,0 +1,1028 @@ +import type { DemoReviewFile, DemoReviewSection } from './mockReviewTypes' + +export const demoReviewFiles: DemoReviewFile[] = [ + { + path: 'src/generated/example/File001.tsx', + additions: 3, + deletions: 1, + status: 'approved', + reviewers: ['reviewer-2', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 001', + }, + { + path: 'src/generated/example/File002.tsx', + additions: 6, + deletions: 2, + status: 'changes_requested', + reviewers: ['reviewer-3', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 002', + }, + { + path: 'src/generated/example/File003.tsx', + additions: 9, + deletions: 3, + status: 'commented', + reviewers: ['reviewer-4', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 003', + }, + { + path: 'src/generated/example/File004.tsx', + additions: 12, + deletions: 4, + status: 'pending', + reviewers: ['reviewer-5', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 004', + }, + { + path: 'src/generated/example/File005.tsx', + additions: 15, + deletions: 5, + status: 'approved', + reviewers: ['reviewer-1', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 005', + }, + { + path: 'src/generated/example/File006.tsx', + additions: 18, + deletions: 6, + status: 'changes_requested', + reviewers: ['reviewer-2', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 006', + }, + { + path: 'src/generated/example/File007.tsx', + additions: 21, + deletions: 7, + status: 'commented', + reviewers: ['reviewer-3', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 007', + }, + { + path: 'src/generated/example/File008.tsx', + additions: 24, + deletions: 8, + status: 'pending', + reviewers: ['reviewer-4', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 008', + }, + { + path: 'src/generated/example/File009.tsx', + additions: 27, + deletions: 9, + status: 'approved', + reviewers: ['reviewer-5', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 009', + }, + { + path: 'src/generated/example/File010.tsx', + additions: 30, + deletions: 10, + status: 'changes_requested', + reviewers: ['reviewer-1', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 010', + }, + { + path: 'src/generated/example/File011.tsx', + additions: 33, + deletions: 0, + status: 'commented', + reviewers: ['reviewer-2', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 011', + }, + { + path: 'src/generated/example/File012.tsx', + additions: 36, + deletions: 1, + status: 'pending', + reviewers: ['reviewer-3', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 012', + }, + { + path: 'src/generated/example/File013.tsx', + additions: 39, + deletions: 2, + status: 'approved', + reviewers: ['reviewer-4', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 013', + }, + { + path: 'src/generated/example/File014.tsx', + additions: 42, + deletions: 3, + status: 'changes_requested', + reviewers: ['reviewer-5', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 014', + }, + { + path: 'src/generated/example/File015.tsx', + additions: 45, + deletions: 4, + status: 'commented', + reviewers: ['reviewer-1', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 015', + }, + { + path: 'src/generated/example/File016.tsx', + additions: 48, + deletions: 5, + status: 'pending', + reviewers: ['reviewer-2', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 016', + }, + { + path: 'src/generated/example/File017.tsx', + additions: 51, + deletions: 6, + status: 'approved', + reviewers: ['reviewer-3', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 017', + }, + { + path: 'src/generated/example/File018.tsx', + additions: 54, + deletions: 7, + status: 'changes_requested', + reviewers: ['reviewer-4', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 018', + }, + { + path: 'src/generated/example/File019.tsx', + additions: 57, + deletions: 8, + status: 'commented', + reviewers: ['reviewer-5', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 019', + }, + { + path: 'src/generated/example/File020.tsx', + additions: 60, + deletions: 9, + status: 'pending', + reviewers: ['reviewer-1', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 020', + }, + { + path: 'src/generated/example/File021.tsx', + additions: 63, + deletions: 10, + status: 'approved', + reviewers: ['reviewer-2', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 021', + }, + { + path: 'src/generated/example/File022.tsx', + additions: 66, + deletions: 0, + status: 'changes_requested', + reviewers: ['reviewer-3', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 022', + }, + { + path: 'src/generated/example/File023.tsx', + additions: 69, + deletions: 1, + status: 'commented', + reviewers: ['reviewer-4', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 023', + }, + { + path: 'src/generated/example/File024.tsx', + additions: 72, + deletions: 2, + status: 'pending', + reviewers: ['reviewer-5', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 024', + }, + { + path: 'src/generated/example/File025.tsx', + additions: 75, + deletions: 3, + status: 'approved', + reviewers: ['reviewer-1', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 025', + }, + { + path: 'src/generated/example/File026.tsx', + additions: 78, + deletions: 4, + status: 'changes_requested', + reviewers: ['reviewer-2', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 026', + }, + { + path: 'src/generated/example/File027.tsx', + additions: 81, + deletions: 5, + status: 'commented', + reviewers: ['reviewer-3', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 027', + }, + { + path: 'src/generated/example/File028.tsx', + additions: 84, + deletions: 6, + status: 'pending', + reviewers: ['reviewer-4', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 028', + }, + { + path: 'src/generated/example/File029.tsx', + additions: 87, + deletions: 7, + status: 'approved', + reviewers: ['reviewer-5', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 029', + }, + { + path: 'src/generated/example/File030.tsx', + additions: 90, + deletions: 8, + status: 'changes_requested', + reviewers: ['reviewer-1', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 030', + }, + { + path: 'src/generated/example/File031.tsx', + additions: 93, + deletions: 9, + status: 'commented', + reviewers: ['reviewer-2', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 031', + }, + { + path: 'src/generated/example/File032.tsx', + additions: 96, + deletions: 10, + status: 'pending', + reviewers: ['reviewer-3', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 032', + }, + { + path: 'src/generated/example/File033.tsx', + additions: 99, + deletions: 0, + status: 'approved', + reviewers: ['reviewer-4', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 033', + }, + { + path: 'src/generated/example/File034.tsx', + additions: 102, + deletions: 1, + status: 'changes_requested', + reviewers: ['reviewer-5', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 034', + }, + { + path: 'src/generated/example/File035.tsx', + additions: 105, + deletions: 2, + status: 'commented', + reviewers: ['reviewer-1', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 035', + }, + { + path: 'src/generated/example/File036.tsx', + additions: 108, + deletions: 3, + status: 'pending', + reviewers: ['reviewer-2', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 036', + }, + { + path: 'src/generated/example/File037.tsx', + additions: 111, + deletions: 4, + status: 'approved', + reviewers: ['reviewer-3', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 037', + }, + { + path: 'src/generated/example/File038.tsx', + additions: 114, + deletions: 5, + status: 'changes_requested', + reviewers: ['reviewer-4', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 038', + }, + { + path: 'src/generated/example/File039.tsx', + additions: 117, + deletions: 6, + status: 'commented', + reviewers: ['reviewer-5', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 039', + }, + { + path: 'src/generated/example/File040.tsx', + additions: 120, + deletions: 7, + status: 'pending', + reviewers: ['reviewer-1', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 040', + }, + { + path: 'src/generated/example/File041.tsx', + additions: 123, + deletions: 8, + status: 'approved', + reviewers: ['reviewer-2', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 041', + }, + { + path: 'src/generated/example/File042.tsx', + additions: 126, + deletions: 9, + status: 'changes_requested', + reviewers: ['reviewer-3', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 042', + }, + { + path: 'src/generated/example/File043.tsx', + additions: 129, + deletions: 10, + status: 'commented', + reviewers: ['reviewer-4', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 043', + }, + { + path: 'src/generated/example/File044.tsx', + additions: 132, + deletions: 0, + status: 'pending', + reviewers: ['reviewer-5', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 044', + }, + { + path: 'src/generated/example/File045.tsx', + additions: 135, + deletions: 1, + status: 'approved', + reviewers: ['reviewer-1', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 045', + }, + { + path: 'src/generated/example/File046.tsx', + additions: 138, + deletions: 2, + status: 'changes_requested', + reviewers: ['reviewer-2', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 046', + }, + { + path: 'src/generated/example/File047.tsx', + additions: 141, + deletions: 3, + status: 'commented', + reviewers: ['reviewer-3', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 047', + }, + { + path: 'src/generated/example/File048.tsx', + additions: 144, + deletions: 4, + status: 'pending', + reviewers: ['reviewer-4', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 048', + }, + { + path: 'src/generated/example/File049.tsx', + additions: 147, + deletions: 5, + status: 'approved', + reviewers: ['reviewer-5', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 049', + }, + { + path: 'src/generated/example/File050.tsx', + additions: 150, + deletions: 6, + status: 'changes_requested', + reviewers: ['reviewer-1', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 050', + }, + { + path: 'src/generated/example/File051.tsx', + additions: 153, + deletions: 7, + status: 'commented', + reviewers: ['reviewer-2', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 051', + }, + { + path: 'src/generated/example/File052.tsx', + additions: 156, + deletions: 8, + status: 'pending', + reviewers: ['reviewer-3', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 052', + }, + { + path: 'src/generated/example/File053.tsx', + additions: 159, + deletions: 9, + status: 'approved', + reviewers: ['reviewer-4', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 053', + }, + { + path: 'src/generated/example/File054.tsx', + additions: 162, + deletions: 10, + status: 'changes_requested', + reviewers: ['reviewer-5', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 054', + }, + { + path: 'src/generated/example/File055.tsx', + additions: 165, + deletions: 0, + status: 'commented', + reviewers: ['reviewer-1', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 055', + }, + { + path: 'src/generated/example/File056.tsx', + additions: 168, + deletions: 1, + status: 'pending', + reviewers: ['reviewer-2', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 056', + }, + { + path: 'src/generated/example/File057.tsx', + additions: 171, + deletions: 2, + status: 'approved', + reviewers: ['reviewer-3', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 057', + }, + { + path: 'src/generated/example/File058.tsx', + additions: 174, + deletions: 3, + status: 'changes_requested', + reviewers: ['reviewer-4', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 058', + }, + { + path: 'src/generated/example/File059.tsx', + additions: 177, + deletions: 4, + status: 'commented', + reviewers: ['reviewer-5', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 059', + }, + { + path: 'src/generated/example/File060.tsx', + additions: 180, + deletions: 5, + status: 'pending', + reviewers: ['reviewer-1', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 060', + }, + { + path: 'src/generated/example/File061.tsx', + additions: 183, + deletions: 6, + status: 'approved', + reviewers: ['reviewer-2', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 061', + }, + { + path: 'src/generated/example/File062.tsx', + additions: 186, + deletions: 7, + status: 'changes_requested', + reviewers: ['reviewer-3', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 062', + }, + { + path: 'src/generated/example/File063.tsx', + additions: 189, + deletions: 8, + status: 'commented', + reviewers: ['reviewer-4', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 063', + }, + { + path: 'src/generated/example/File064.tsx', + additions: 192, + deletions: 9, + status: 'pending', + reviewers: ['reviewer-5', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 064', + }, + { + path: 'src/generated/example/File065.tsx', + additions: 195, + deletions: 10, + status: 'approved', + reviewers: ['reviewer-1', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 065', + }, + { + path: 'src/generated/example/File066.tsx', + additions: 198, + deletions: 0, + status: 'changes_requested', + reviewers: ['reviewer-2', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 066', + }, + { + path: 'src/generated/example/File067.tsx', + additions: 201, + deletions: 1, + status: 'commented', + reviewers: ['reviewer-3', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 067', + }, + { + path: 'src/generated/example/File068.tsx', + additions: 204, + deletions: 2, + status: 'pending', + reviewers: ['reviewer-4', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 068', + }, + { + path: 'src/generated/example/File069.tsx', + additions: 207, + deletions: 3, + status: 'approved', + reviewers: ['reviewer-5', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 069', + }, + { + path: 'src/generated/example/File070.tsx', + additions: 210, + deletions: 4, + status: 'changes_requested', + reviewers: ['reviewer-1', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 070', + }, + { + path: 'src/generated/example/File071.tsx', + additions: 213, + deletions: 5, + status: 'commented', + reviewers: ['reviewer-2', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 071', + }, + { + path: 'src/generated/example/File072.tsx', + additions: 216, + deletions: 6, + status: 'pending', + reviewers: ['reviewer-3', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 072', + }, + { + path: 'src/generated/example/File073.tsx', + additions: 219, + deletions: 7, + status: 'approved', + reviewers: ['reviewer-4', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 073', + }, + { + path: 'src/generated/example/File074.tsx', + additions: 222, + deletions: 8, + status: 'changes_requested', + reviewers: ['reviewer-5', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 074', + }, + { + path: 'src/generated/example/File075.tsx', + additions: 225, + deletions: 9, + status: 'commented', + reviewers: ['reviewer-1', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 075', + }, + { + path: 'src/generated/example/File076.tsx', + additions: 228, + deletions: 10, + status: 'pending', + reviewers: ['reviewer-2', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 076', + }, + { + path: 'src/generated/example/File077.tsx', + additions: 231, + deletions: 0, + status: 'approved', + reviewers: ['reviewer-3', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 077', + }, + { + path: 'src/generated/example/File078.tsx', + additions: 234, + deletions: 1, + status: 'changes_requested', + reviewers: ['reviewer-4', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 078', + }, + { + path: 'src/generated/example/File079.tsx', + additions: 237, + deletions: 2, + status: 'commented', + reviewers: ['reviewer-5', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 079', + }, + { + path: 'src/generated/example/File080.tsx', + additions: 240, + deletions: 3, + status: 'pending', + reviewers: ['reviewer-1', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 080', + }, + { + path: 'src/generated/example/File081.tsx', + additions: 243, + deletions: 4, + status: 'approved', + reviewers: ['reviewer-2', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 081', + }, + { + path: 'src/generated/example/File082.tsx', + additions: 246, + deletions: 5, + status: 'changes_requested', + reviewers: ['reviewer-3', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 082', + }, + { + path: 'src/generated/example/File083.tsx', + additions: 249, + deletions: 6, + status: 'commented', + reviewers: ['reviewer-4', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 083', + }, + { + path: 'src/generated/example/File084.tsx', + additions: 252, + deletions: 7, + status: 'pending', + reviewers: ['reviewer-5', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 084', + }, + { + path: 'src/generated/example/File085.tsx', + additions: 255, + deletions: 8, + status: 'approved', + reviewers: ['reviewer-1', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 085', + }, + { + path: 'src/generated/example/File086.tsx', + additions: 258, + deletions: 9, + status: 'changes_requested', + reviewers: ['reviewer-2', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 086', + }, + { + path: 'src/generated/example/File087.tsx', + additions: 261, + deletions: 10, + status: 'commented', + reviewers: ['reviewer-3', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 087', + }, + { + path: 'src/generated/example/File088.tsx', + additions: 264, + deletions: 0, + status: 'pending', + reviewers: ['reviewer-4', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 088', + }, + { + path: 'src/generated/example/File089.tsx', + additions: 267, + deletions: 1, + status: 'approved', + reviewers: ['reviewer-5', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 089', + }, + { + path: 'src/generated/example/File090.tsx', + additions: 270, + deletions: 2, + status: 'changes_requested', + reviewers: ['reviewer-1', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 090', + }, + { + path: 'src/generated/example/File091.tsx', + additions: 273, + deletions: 3, + status: 'commented', + reviewers: ['reviewer-2', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 091', + }, + { + path: 'src/generated/example/File092.tsx', + additions: 276, + deletions: 4, + status: 'pending', + reviewers: ['reviewer-3', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 092', + }, + { + path: 'src/generated/example/File093.tsx', + additions: 279, + deletions: 5, + status: 'approved', + reviewers: ['reviewer-4', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 093', + }, + { + path: 'src/generated/example/File094.tsx', + additions: 282, + deletions: 6, + status: 'changes_requested', + reviewers: ['reviewer-5', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 094', + }, + { + path: 'src/generated/example/File095.tsx', + additions: 285, + deletions: 7, + status: 'commented', + reviewers: ['reviewer-1', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 095', + }, + { + path: 'src/generated/example/File096.tsx', + additions: 288, + deletions: 8, + status: 'pending', + reviewers: ['reviewer-2', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 096', + }, + { + path: 'src/generated/example/File097.tsx', + additions: 291, + deletions: 9, + status: 'approved', + reviewers: ['reviewer-3', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 097', + }, + { + path: 'src/generated/example/File098.tsx', + additions: 294, + deletions: 10, + status: 'changes_requested', + reviewers: ['reviewer-4', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 098', + }, + { + path: 'src/generated/example/File099.tsx', + additions: 297, + deletions: 0, + status: 'commented', + reviewers: ['reviewer-5', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 099', + }, + { + path: 'src/generated/example/File100.tsx', + additions: 300, + deletions: 1, + status: 'pending', + reviewers: ['reviewer-1', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 100', + }, + { + path: 'src/generated/example/File101.tsx', + additions: 303, + deletions: 2, + status: 'approved', + reviewers: ['reviewer-2', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 101', + }, + { + path: 'src/generated/example/File102.tsx', + additions: 306, + deletions: 3, + status: 'changes_requested', + reviewers: ['reviewer-3', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 102', + }, + { + path: 'src/generated/example/File103.tsx', + additions: 309, + deletions: 4, + status: 'commented', + reviewers: ['reviewer-4', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 103', + }, + { + path: 'src/generated/example/File104.tsx', + additions: 312, + deletions: 5, + status: 'pending', + reviewers: ['reviewer-5', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 104', + }, + { + path: 'src/generated/example/File105.tsx', + additions: 315, + deletions: 6, + status: 'approved', + reviewers: ['reviewer-1', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 105', + }, + { + path: 'src/generated/example/File106.tsx', + additions: 318, + deletions: 7, + status: 'changes_requested', + reviewers: ['reviewer-2', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 106', + }, + { + path: 'src/generated/example/File107.tsx', + additions: 321, + deletions: 8, + status: 'commented', + reviewers: ['reviewer-3', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 107', + }, + { + path: 'src/generated/example/File108.tsx', + additions: 324, + deletions: 9, + status: 'pending', + reviewers: ['reviewer-4', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 108', + }, + { + path: 'src/generated/example/File109.tsx', + additions: 327, + deletions: 10, + status: 'approved', + reviewers: ['reviewer-5', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 109', + }, + { + path: 'src/generated/example/File110.tsx', + additions: 330, + deletions: 0, + status: 'changes_requested', + reviewers: ['reviewer-1', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 110', + }, + { + path: 'src/generated/example/File111.tsx', + additions: 333, + deletions: 1, + status: 'commented', + reviewers: ['reviewer-2', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 111', + }, + { + path: 'src/generated/example/File112.tsx', + additions: 336, + deletions: 2, + status: 'pending', + reviewers: ['reviewer-3', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 112', + }, + { + path: 'src/generated/example/File113.tsx', + additions: 339, + deletions: 3, + status: 'approved', + reviewers: ['reviewer-4', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 113', + }, + { + path: 'src/generated/example/File114.tsx', + additions: 342, + deletions: 4, + status: 'changes_requested', + reviewers: ['reviewer-5', 'reviewer-3'], + summary: 'Placeholder review summary for AB-2 screenshot row 114', + }, + { + path: 'src/generated/example/File115.tsx', + additions: 345, + deletions: 5, + status: 'commented', + reviewers: ['reviewer-1', 'reviewer-4'], + summary: 'Placeholder review summary for AB-2 screenshot row 115', + }, + { + path: 'src/generated/example/File116.tsx', + additions: 348, + deletions: 6, + status: 'pending', + reviewers: ['reviewer-2', 'reviewer-5'], + summary: 'Placeholder review summary for AB-2 screenshot row 116', + }, + { + path: 'src/generated/example/File117.tsx', + additions: 351, + deletions: 7, + status: 'approved', + reviewers: ['reviewer-3', 'reviewer-6'], + summary: 'Placeholder review summary for AB-2 screenshot row 117', + }, + { + path: 'src/generated/example/File118.tsx', + additions: 354, + deletions: 8, + status: 'changes_requested', + reviewers: ['reviewer-4', 'reviewer-7'], + summary: 'Placeholder review summary for AB-2 screenshot row 118', + }, + { + path: 'src/generated/example/File119.tsx', + additions: 357, + deletions: 9, + status: 'commented', + reviewers: ['reviewer-5', 'reviewer-1'], + summary: 'Placeholder review summary for AB-2 screenshot row 119', + }, + { + path: 'src/generated/example/File120.tsx', + additions: 360, + deletions: 10, + status: 'pending', + reviewers: ['reviewer-1', 'reviewer-2'], + summary: 'Placeholder review summary for AB-2 screenshot row 120', + }, +] + +export const demoReviewSections: DemoReviewSection[] = [ + { + title: 'Demo Review Section 01', + description: 'Generated section 01 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(0, 12), + }, + { + title: 'Demo Review Section 02', + description: 'Generated section 02 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(12, 24), + }, + { + title: 'Demo Review Section 03', + description: 'Generated section 03 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(24, 36), + }, + { + title: 'Demo Review Section 04', + description: 'Generated section 04 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(36, 48), + }, + { + title: 'Demo Review Section 05', + description: 'Generated section 05 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(48, 60), + }, + { + title: 'Demo Review Section 06', + description: 'Generated section 06 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(60, 72), + }, + { + title: 'Demo Review Section 07', + description: 'Generated section 07 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(72, 84), + }, + { + title: 'Demo Review Section 08', + description: 'Generated section 08 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(84, 96), + }, + { + title: 'Demo Review Section 09', + description: 'Generated section 09 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(96, 108), + }, + { + title: 'Demo Review Section 10', + description: 'Generated section 10 for AB-2 screenshot examples.', + files: demoReviewFiles.slice(108, 120), + }, +] + +export function summarizeDemoReviewFiles(files: DemoReviewFile[]) { + return files.reduce( + (summary, file) => ({ + additions: summary.additions + file.additions, + deletions: summary.deletions + file.deletions, + files: summary.files + 1, + }), + { additions: 0, deletions: 0, files: 0 }, + ) +} diff --git a/src/demo-screenshots/mockReviewStyles.css b/src/demo-screenshots/mockReviewStyles.css new file mode 100644 index 0000000..f6e5bd9 --- /dev/null +++ b/src/demo-screenshots/mockReviewStyles.css @@ -0,0 +1,1051 @@ +/* AB-2 generated screenshot styles. Not imported by runtime code. */ + +.ab-2-demo-row-001 { + --demo-accent: hsl(17 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.59; +} + +.ab-2-demo-row-002 { + --demo-accent: hsl(34 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.63; +} + +.ab-2-demo-row-003 { + --demo-accent: hsl(51 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.67; +} + +.ab-2-demo-row-004 { + --demo-accent: hsl(68 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.71; +} + +.ab-2-demo-row-005 { + --demo-accent: hsl(85 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.75; +} + +.ab-2-demo-row-006 { + --demo-accent: hsl(102 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.79; +} + +.ab-2-demo-row-007 { + --demo-accent: hsl(119 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.83; +} + +.ab-2-demo-row-008 { + --demo-accent: hsl(136 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.87; +} + +.ab-2-demo-row-009 { + --demo-accent: hsl(153 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.91; +} + +.ab-2-demo-row-010 { + --demo-accent: hsl(170 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.55; +} + +.ab-2-demo-row-011 { + --demo-accent: hsl(187 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.59; +} + +.ab-2-demo-row-012 { + --demo-accent: hsl(204 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.63; +} + +.ab-2-demo-row-013 { + --demo-accent: hsl(221 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.67; +} + +.ab-2-demo-row-014 { + --demo-accent: hsl(238 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.71; +} + +.ab-2-demo-row-015 { + --demo-accent: hsl(255 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.75; +} + +.ab-2-demo-row-016 { + --demo-accent: hsl(272 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.79; +} + +.ab-2-demo-row-017 { + --demo-accent: hsl(289 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.83; +} + +.ab-2-demo-row-018 { + --demo-accent: hsl(306 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.87; +} + +.ab-2-demo-row-019 { + --demo-accent: hsl(323 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.91; +} + +.ab-2-demo-row-020 { + --demo-accent: hsl(340 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.55; +} + +.ab-2-demo-row-021 { + --demo-accent: hsl(357 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.59; +} + +.ab-2-demo-row-022 { + --demo-accent: hsl(14 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.63; +} + +.ab-2-demo-row-023 { + --demo-accent: hsl(31 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.67; +} + +.ab-2-demo-row-024 { + --demo-accent: hsl(48 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.71; +} + +.ab-2-demo-row-025 { + --demo-accent: hsl(65 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.75; +} + +.ab-2-demo-row-026 { + --demo-accent: hsl(82 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.79; +} + +.ab-2-demo-row-027 { + --demo-accent: hsl(99 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.83; +} + +.ab-2-demo-row-028 { + --demo-accent: hsl(116 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.87; +} + +.ab-2-demo-row-029 { + --demo-accent: hsl(133 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.91; +} + +.ab-2-demo-row-030 { + --demo-accent: hsl(150 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.55; +} + +.ab-2-demo-row-031 { + --demo-accent: hsl(167 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.59; +} + +.ab-2-demo-row-032 { + --demo-accent: hsl(184 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.63; +} + +.ab-2-demo-row-033 { + --demo-accent: hsl(201 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.67; +} + +.ab-2-demo-row-034 { + --demo-accent: hsl(218 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.71; +} + +.ab-2-demo-row-035 { + --demo-accent: hsl(235 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.75; +} + +.ab-2-demo-row-036 { + --demo-accent: hsl(252 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.79; +} + +.ab-2-demo-row-037 { + --demo-accent: hsl(269 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.83; +} + +.ab-2-demo-row-038 { + --demo-accent: hsl(286 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.87; +} + +.ab-2-demo-row-039 { + --demo-accent: hsl(303 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.91; +} + +.ab-2-demo-row-040 { + --demo-accent: hsl(320 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.55; +} + +.ab-2-demo-row-041 { + --demo-accent: hsl(337 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.59; +} + +.ab-2-demo-row-042 { + --demo-accent: hsl(354 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.63; +} + +.ab-2-demo-row-043 { + --demo-accent: hsl(11 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.67; +} + +.ab-2-demo-row-044 { + --demo-accent: hsl(28 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.71; +} + +.ab-2-demo-row-045 { + --demo-accent: hsl(45 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.75; +} + +.ab-2-demo-row-046 { + --demo-accent: hsl(62 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.79; +} + +.ab-2-demo-row-047 { + --demo-accent: hsl(79 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.83; +} + +.ab-2-demo-row-048 { + --demo-accent: hsl(96 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.87; +} + +.ab-2-demo-row-049 { + --demo-accent: hsl(113 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.91; +} + +.ab-2-demo-row-050 { + --demo-accent: hsl(130 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.55; +} + +.ab-2-demo-row-051 { + --demo-accent: hsl(147 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.59; +} + +.ab-2-demo-row-052 { + --demo-accent: hsl(164 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.63; +} + +.ab-2-demo-row-053 { + --demo-accent: hsl(181 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.67; +} + +.ab-2-demo-row-054 { + --demo-accent: hsl(198 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.71; +} + +.ab-2-demo-row-055 { + --demo-accent: hsl(215 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.75; +} + +.ab-2-demo-row-056 { + --demo-accent: hsl(232 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.79; +} + +.ab-2-demo-row-057 { + --demo-accent: hsl(249 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.83; +} + +.ab-2-demo-row-058 { + --demo-accent: hsl(266 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.87; +} + +.ab-2-demo-row-059 { + --demo-accent: hsl(283 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.91; +} + +.ab-2-demo-row-060 { + --demo-accent: hsl(300 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.55; +} + +.ab-2-demo-row-061 { + --demo-accent: hsl(317 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.59; +} + +.ab-2-demo-row-062 { + --demo-accent: hsl(334 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.63; +} + +.ab-2-demo-row-063 { + --demo-accent: hsl(351 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.67; +} + +.ab-2-demo-row-064 { + --demo-accent: hsl(8 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.71; +} + +.ab-2-demo-row-065 { + --demo-accent: hsl(25 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.75; +} + +.ab-2-demo-row-066 { + --demo-accent: hsl(42 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.79; +} + +.ab-2-demo-row-067 { + --demo-accent: hsl(59 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.83; +} + +.ab-2-demo-row-068 { + --demo-accent: hsl(76 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.87; +} + +.ab-2-demo-row-069 { + --demo-accent: hsl(93 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.91; +} + +.ab-2-demo-row-070 { + --demo-accent: hsl(110 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.55; +} + +.ab-2-demo-row-071 { + --demo-accent: hsl(127 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.59; +} + +.ab-2-demo-row-072 { + --demo-accent: hsl(144 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.63; +} + +.ab-2-demo-row-073 { + --demo-accent: hsl(161 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.67; +} + +.ab-2-demo-row-074 { + --demo-accent: hsl(178 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.71; +} + +.ab-2-demo-row-075 { + --demo-accent: hsl(195 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.75; +} + +.ab-2-demo-row-076 { + --demo-accent: hsl(212 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.79; +} + +.ab-2-demo-row-077 { + --demo-accent: hsl(229 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.83; +} + +.ab-2-demo-row-078 { + --demo-accent: hsl(246 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.87; +} + +.ab-2-demo-row-079 { + --demo-accent: hsl(263 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.91; +} + +.ab-2-demo-row-080 { + --demo-accent: hsl(280 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.55; +} + +.ab-2-demo-row-081 { + --demo-accent: hsl(297 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.59; +} + +.ab-2-demo-row-082 { + --demo-accent: hsl(314 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.63; +} + +.ab-2-demo-row-083 { + --demo-accent: hsl(331 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.67; +} + +.ab-2-demo-row-084 { + --demo-accent: hsl(348 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.71; +} + +.ab-2-demo-row-085 { + --demo-accent: hsl(5 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.75; +} + +.ab-2-demo-row-086 { + --demo-accent: hsl(22 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.79; +} + +.ab-2-demo-row-087 { + --demo-accent: hsl(39 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.83; +} + +.ab-2-demo-row-088 { + --demo-accent: hsl(56 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.87; +} + +.ab-2-demo-row-089 { + --demo-accent: hsl(73 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.91; +} + +.ab-2-demo-row-090 { + --demo-accent: hsl(90 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.55; +} + +.ab-2-demo-row-091 { + --demo-accent: hsl(107 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.59; +} + +.ab-2-demo-row-092 { + --demo-accent: hsl(124 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.63; +} + +.ab-2-demo-row-093 { + --demo-accent: hsl(141 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.67; +} + +.ab-2-demo-row-094 { + --demo-accent: hsl(158 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.71; +} + +.ab-2-demo-row-095 { + --demo-accent: hsl(175 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.75; +} + +.ab-2-demo-row-096 { + --demo-accent: hsl(192 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.79; +} + +.ab-2-demo-row-097 { + --demo-accent: hsl(209 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.83; +} + +.ab-2-demo-row-098 { + --demo-accent: hsl(226 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.87; +} + +.ab-2-demo-row-099 { + --demo-accent: hsl(243 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.91; +} + +.ab-2-demo-row-100 { + --demo-accent: hsl(260 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.55; +} + +.ab-2-demo-row-101 { + --demo-accent: hsl(277 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.59; +} + +.ab-2-demo-row-102 { + --demo-accent: hsl(294 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.63; +} + +.ab-2-demo-row-103 { + --demo-accent: hsl(311 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.67; +} + +.ab-2-demo-row-104 { + --demo-accent: hsl(328 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.71; +} + +.ab-2-demo-row-105 { + --demo-accent: hsl(345 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.75; +} + +.ab-2-demo-row-106 { + --demo-accent: hsl(2 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.79; +} + +.ab-2-demo-row-107 { + --demo-accent: hsl(19 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.83; +} + +.ab-2-demo-row-108 { + --demo-accent: hsl(36 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.87; +} + +.ab-2-demo-row-109 { + --demo-accent: hsl(53 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.91; +} + +.ab-2-demo-row-110 { + --demo-accent: hsl(70 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.55; +} + +.ab-2-demo-row-111 { + --demo-accent: hsl(87 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.59; +} + +.ab-2-demo-row-112 { + --demo-accent: hsl(104 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.63; +} + +.ab-2-demo-row-113 { + --demo-accent: hsl(121 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.67; +} + +.ab-2-demo-row-114 { + --demo-accent: hsl(138 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.71; +} + +.ab-2-demo-row-115 { + --demo-accent: hsl(155 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.75; +} + +.ab-2-demo-row-116 { + --demo-accent: hsl(172 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.79; +} + +.ab-2-demo-row-117 { + --demo-accent: hsl(189 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.83; +} + +.ab-2-demo-row-118 { + --demo-accent: hsl(206 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.87; +} + +.ab-2-demo-row-119 { + --demo-accent: hsl(223 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.91; +} + +.ab-2-demo-row-120 { + --demo-accent: hsl(240 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.55; +} + +.ab-2-demo-row-121 { + --demo-accent: hsl(257 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.59; +} + +.ab-2-demo-row-122 { + --demo-accent: hsl(274 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.63; +} + +.ab-2-demo-row-123 { + --demo-accent: hsl(291 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.67; +} + +.ab-2-demo-row-124 { + --demo-accent: hsl(308 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.71; +} + +.ab-2-demo-row-125 { + --demo-accent: hsl(325 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.75; +} + +.ab-2-demo-row-126 { + --demo-accent: hsl(342 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.79; +} + +.ab-2-demo-row-127 { + --demo-accent: hsl(359 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.83; +} + +.ab-2-demo-row-128 { + --demo-accent: hsl(16 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.87; +} + +.ab-2-demo-row-129 { + --demo-accent: hsl(33 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.91; +} + +.ab-2-demo-row-130 { + --demo-accent: hsl(50 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.55; +} + +.ab-2-demo-row-131 { + --demo-accent: hsl(67 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.59; +} + +.ab-2-demo-row-132 { + --demo-accent: hsl(84 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.63; +} + +.ab-2-demo-row-133 { + --demo-accent: hsl(101 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.67; +} + +.ab-2-demo-row-134 { + --demo-accent: hsl(118 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.71; +} + +.ab-2-demo-row-135 { + --demo-accent: hsl(135 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.75; +} + +.ab-2-demo-row-136 { + --demo-accent: hsl(152 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.79; +} + +.ab-2-demo-row-137 { + --demo-accent: hsl(169 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.83; +} + +.ab-2-demo-row-138 { + --demo-accent: hsl(186 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.87; +} + +.ab-2-demo-row-139 { + --demo-accent: hsl(203 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.91; +} + +.ab-2-demo-row-140 { + --demo-accent: hsl(220 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.55; +} + +.ab-2-demo-row-141 { + --demo-accent: hsl(237 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.59; +} + +.ab-2-demo-row-142 { + --demo-accent: hsl(254 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.63; +} + +.ab-2-demo-row-143 { + --demo-accent: hsl(271 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.67; +} + +.ab-2-demo-row-144 { + --demo-accent: hsl(288 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.71; +} + +.ab-2-demo-row-145 { + --demo-accent: hsl(305 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 9px; + opacity: 0.75; +} + +.ab-2-demo-row-146 { + --demo-accent: hsl(322 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 10px; + opacity: 0.79; +} + +.ab-2-demo-row-147 { + --demo-accent: hsl(339 70% 50%); + border-left: 4px solid var(--demo-accent); + padding-inline-start: 11px; + opacity: 0.83; +} + +.ab-2-demo-row-148 { + --demo-accent: hsl(356 70% 50%); + border-left: 1px solid var(--demo-accent); + padding-inline-start: 12px; + opacity: 0.87; +} + +.ab-2-demo-row-149 { + --demo-accent: hsl(13 70% 50%); + border-left: 2px solid var(--demo-accent); + padding-inline-start: 13px; + opacity: 0.91; +} + +.ab-2-demo-row-150 { + --demo-accent: hsl(30 70% 50%); + border-left: 3px solid var(--demo-accent); + padding-inline-start: 8px; + opacity: 0.55; +} diff --git a/src/demo-screenshots/mockReviewTypes.ts b/src/demo-screenshots/mockReviewTypes.ts new file mode 100644 index 0000000..4973687 --- /dev/null +++ b/src/demo-screenshots/mockReviewTypes.ts @@ -0,0 +1,16 @@ +export type DemoReviewStatus = 'pending' | 'approved' | 'changes_requested' | 'commented' + +export interface DemoReviewFile { + path: string + additions: number + deletions: number + status: DemoReviewStatus + reviewers: string[] + summary: string +} + +export interface DemoReviewSection { + title: string + description: string + files: DemoReviewFile[] +} diff --git a/src/options/main.tsx b/src/options/main.tsx index d26c933..95db62f 100644 --- a/src/options/main.tsx +++ b/src/options/main.tsx @@ -1,3 +1,13 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in src/options/main.tsx + +const AB2_DEMO_OPTION_LABELS = { + token: 'Demo GitHub token field', + layout: 'Demo layout selector', + theme: 'Demo screenshot theme selector', +}; + +void AB2_DEMO_OPTION_LABELS; + import { FormEvent, useEffect, useState } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; diff --git a/vite.config.ts b/vite.config.ts index b70390d..88475c5 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,3 +1,13 @@ +// AB-2 SCREENSHOT DEMO CHANGE: intentionally noisy edits in vite.config.ts + +const AB2_DEMO_BUILD_LABELS = [ + 'large-pr-screenshot', + 'linear-review-overlay', + 'github-diff-fixture', +]; + +void AB2_DEMO_BUILD_LABELS; + import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import { resolve } from 'node:path';