This repository has been archived by the owner on Sep 11, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 828
New theme ui in user settings #12576
Merged
florianduros
merged 51 commits into
develop
from
florianduros/settings-appearance-theme
Jun 26, 2024
Merged
Changes from 50 commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
aca8b19
Add hook to get the theme
florianduros 2d303c4
Adapt subsection settings to new ui
florianduros 908c7bf
WIP new theme subsection
florianduros e89eb41
Add theme selection
florianduros 5407a56
Fix test types
florianduros 9de33b0
Disabled theme selector when system theme is used
florianduros 800baa4
Update compound to `4.4.1`
florianduros 7855896
Merge branch 'refs/heads/develop' into florianduros/settings-appearan…
florianduros ccaa56e
Merge branch 'refs/heads/develop' into florianduros/settings-appearan…
florianduros 130b213
Add custom theme support
florianduros 183c7b9
Remove old ThemChoicePanel
florianduros 5ff7662
Fix QuickThemeSwitcher-test.tsx
florianduros 651deaa
Fix AppearanceUserSettingsTab-test.tsx
florianduros 1abdbc4
Update i18n
florianduros 27188d8
Fix ThemeChoicePanel-test.tsx
florianduros cb917de
Update `@vector-im/compound-web`
florianduros c92325d
Small tweaks
florianduros 61a7988
Fix CSS comments and use compound variable
florianduros 41ba88c
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros a9b6d2e
Remove custom theme title
florianduros a81dd1f
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros e3666f3
i18n: update
florianduros 5016eb3
test: add tests to theme selection
florianduros 2ba8070
test: update AppearanceUserSettingsTab-test snapshot
florianduros f109672
test: rework custom theme
florianduros b0dd73a
playwright: fix audio-player.spec.ts
florianduros ef6f436
playwright: appearance tab
florianduros 08aeedd
test: update snapshot
florianduros febc2a4
playright: add custom theme
florianduros 9cf287a
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros f74d97b
i18n: use correct char for ellipsis
florianduros 587717f
a11y: add missing aria-label to delete button
florianduros 0bf4712
dialog: update close button tooltip
florianduros aba5eb0
theme: remove local state and handle custom delete
florianduros ad73b11
theme: don't add twice the same custom theme
florianduros 75264cc
test: update snapshot
florianduros 8ad39fa
playwright: update snapshot
florianduros 2230343
custom theme: add background to custom theme list
florianduros ead34fb
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros 774782d
Merge branch 'refs/heads/develop' into florianduros/settings-appearan…
florianduros 5af55d3
update compound web
florianduros 6905e8e
Use new destructive property on `IconButton` of theme panel
florianduros af26ea5
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros f85bf6c
test: update snapshots
florianduros f2eae02
rename new ui into legacy
florianduros 1ea9a7b
remove wrong constructor doc
florianduros df66c29
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros 35411cf
fix theme selector padding
florianduros 9f6ae52
theme selector: fix key
florianduros aa55e9a
Merge branch 'develop' into florianduros/settings-appearance-theme
florianduros 2272691
test: fix e2e
florianduros File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
139 changes: 139 additions & 0 deletions
139
playwright/e2e/settings/appearance-user-settings-tab/index.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
/* | ||
* Copyright 2024 The Matrix.org Foundation C.I.C. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
import { Page } from "@playwright/test"; | ||
|
||
import { ElementAppPage } from "../../../pages/ElementAppPage"; | ||
import { test as base, expect } from "../../../element-web-test"; | ||
import { SettingLevel } from "../../../../src/settings/SettingLevel"; | ||
|
||
export { expect }; | ||
|
||
/** | ||
* Set up for the appearance tab test | ||
*/ | ||
export const test = base.extend<{ | ||
util: Helpers; | ||
}>({ | ||
util: async ({ page, app }, use) => { | ||
await use(new Helpers(page, app)); | ||
}, | ||
}); | ||
|
||
/** | ||
* A collection of helper functions for the appearance tab test | ||
* The goal is to make easier to get and interact with the button, input, or other elements of the appearance tab | ||
*/ | ||
class Helpers { | ||
private CUSTOM_THEME_URL = "http://custom.theme"; | ||
private CUSTOM_THEME = { | ||
name: "Custom theme", | ||
isDark: false, | ||
colors: {}, | ||
}; | ||
|
||
constructor( | ||
private page: Page, | ||
private app: ElementAppPage, | ||
) {} | ||
|
||
/** | ||
* Open the appearance tab | ||
*/ | ||
openAppearanceTab() { | ||
return this.app.settings.openUserSettings("Appearance"); | ||
} | ||
|
||
// Theme Panel | ||
|
||
/** | ||
* Disable in the settings the system theme | ||
*/ | ||
disableSystemTheme() { | ||
return this.app.settings.setValue("use_system_theme", null, SettingLevel.DEVICE, false); | ||
} | ||
|
||
/** | ||
* Return the theme section | ||
*/ | ||
getThemePanel() { | ||
return this.page.getByTestId("themePanel"); | ||
} | ||
|
||
/** | ||
* Return the system theme toggle | ||
*/ | ||
getMatchSystemThemeCheckbox() { | ||
return this.page.getByRole("checkbox", { name: "Match system theme" }); | ||
} | ||
|
||
/** | ||
* Return the theme radio button | ||
* @param theme - the theme to select | ||
* @private | ||
*/ | ||
private getThemeRadio(theme: string) { | ||
return this.page.getByRole("radio", { name: theme }); | ||
} | ||
|
||
/** | ||
* Return the light theme radio button | ||
*/ | ||
getLightTheme() { | ||
return this.getThemeRadio("Light"); | ||
} | ||
|
||
/** | ||
* Return the dark theme radio button | ||
*/ | ||
getDarkTheme() { | ||
return this.getThemeRadio("Dark"); | ||
} | ||
|
||
/** | ||
* Return the custom theme radio button | ||
*/ | ||
getCustomTheme() { | ||
return this.getThemeRadio(this.CUSTOM_THEME.name); | ||
} | ||
|
||
/** | ||
* Return the high contrast theme radio button | ||
*/ | ||
getHighContrastTheme() { | ||
return this.getThemeRadio("High contrast"); | ||
} | ||
|
||
/** | ||
* Add a custom theme | ||
* Mock the request to the custom and return a fake local custom theme | ||
*/ | ||
async addCustomTheme() { | ||
await this.page.route(this.CUSTOM_THEME_URL, (route) => | ||
route.fulfill({ body: JSON.stringify(this.CUSTOM_THEME) }), | ||
); | ||
await this.page.getByRole("textbox", { name: "Add custom theme" }).fill(this.CUSTOM_THEME_URL); | ||
await this.page.getByRole("button", { name: "Add custom theme" }).click(); | ||
await this.page.unroute(this.CUSTOM_THEME_URL); | ||
} | ||
|
||
/** | ||
* Remove the custom theme | ||
*/ | ||
removeCustomTheme() { | ||
return this.getThemePanel().getByRole("listitem", { name: this.CUSTOM_THEME.name }).getByRole("button").click(); | ||
} | ||
} |
Binary file modified
BIN
-541 Bytes
(93%)
playwright/snapshots/editing/editing.spec.ts/message-edit-history-dialog-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+48.7 KB
...user-settings-tab/appearance-user-settings-tab.spec.ts/appearance-tab-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+16.9 KB
...b/appearance-user-settings-tab.spec.ts/theme-panel-custom-theme-added-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+14.3 KB
...ngs-tab/appearance-user-settings-tab.spec.ts/theme-panel-custom-theme-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+8.51 KB
...er-settings-tab/appearance-user-settings-tab.spec.ts/theme-panel-dark-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+8.95 KB
...r-settings-tab/appearance-user-settings-tab.spec.ts/theme-panel-light-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+8.17 KB
...appearance-user-settings-tab.spec.ts/theme-panel-match-system-enabled-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+64.2 KB
...ce-user-settings-tab/appearance-user-settings-tab.spec.ts/window-12px-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tooltip is on the bottom instead of the right so it's appearing now on the snapshot.