feat(next): version view overhaul (#12027)

#11769 improved the lexical version view diff component. This PR
improves the rest of the version view.

## What changed

- Column layout when selecting a version:
	- Previously: Selected version on the left, latest version on the left
- Now: Previous version on the left, previous version on the right
(mimics behavior of GitHub)
- Locale selector now displayed in pill selector, rather than
react-select
- Smoother, more reliable locale, modifiedOnly and version selection.
Now uses clean event callbacks rather than useEffects
- React-diff-viewer-continued has been replaced with the html differ we
use in lexical
- Updated Design for all field diffs
- Version columns now have a clearly defined separator line
- Fixed collapsibles showing in version view despite having no modified
fields if modifiedOnly is true
- New, redesigned header
	

## Screenshots

### Before

![CleanShot 2025-04-11 at 20 10
03@2x](https://github.com/user-attachments/assets/a93a500a-3cdd-4cf0-84dd-cf5481aac2b3)

![CleanShot 2025-04-11 at 20 10
28@2x](https://github.com/user-attachments/assets/59bc5885-cbaf-49ea-8d1d-8d145463fd80)

### After

![Screenshot 2025-06-09 at 17 43
49@2x](https://github.com/user-attachments/assets/f6ff0369-76c9-4c1c-9aa7-cbd88806ddc1)

![Screenshot 2025-06-09 at 17 44
50@2x](https://github.com/user-attachments/assets/db93a3db-48d6-4e5d-b080-86a34fff5d22)

![Screenshot 2025-06-09 at 17 45
19@2x](https://github.com/user-attachments/assets/27b6c720-05fe-4957-85af-1305d6b65cfd)

![Screenshot 2025-06-09 at 17 45
34@2x](https://github.com/user-attachments/assets/6d42f458-515a-4611-b27a-f4d6bafbf555)
This commit is contained in:
Alessio Gravili
2025-06-16 04:58:03 -07:00
committed by GitHub
parent 9943b3508d
commit 4e2e4d2aed
182 changed files with 4795 additions and 2211 deletions

View File

@@ -84,7 +84,7 @@ describe('Text', () => {
const { columnContainer } = await openListColumns(page, {})
await expect(
columnContainer.locator('.column-selector__column', {
columnContainer.locator('.pill-selector__pill', {
hasText: exactText('Hidden Text Field'),
}),
).toBeHidden()
@@ -110,7 +110,7 @@ describe('Text', () => {
const { columnContainer } = await openListColumns(page, {})
await expect(
columnContainer.locator('.column-selector__column', {
columnContainer.locator('.pill-selector__pill', {
hasText: exactText('Disabled Text Field'),
}),
).toBeHidden()
@@ -138,7 +138,7 @@ describe('Text', () => {
const { columnContainer } = await openListColumns(page, {})
await expect(
columnContainer.locator('.column-selector__column', {
columnContainer.locator('.pill-selector__pill', {
hasText: exactText('Admin Hidden Text Field'),
}),
).toBeVisible()
@@ -184,7 +184,7 @@ describe('Text', () => {
await page.goto(url.list)
await openListColumns(page, {})
await expect(
page.locator(`.column-selector .column-selector__column`, {
page.locator(`.pill-selector .pill-selector__pill`, {
hasText: exactText('Disable List Column Text'),
}),
).toBeHidden()
@@ -200,7 +200,7 @@ describe('Text', () => {
await toggleColumn(page, {
targetState: 'on',
columnLabel: 'Text en',
columnName: 'localizedText',
columnName: 'i18nText',
})
const textCell = page.locator('.row-1 .cell-i18nText')