mv element.io @types __mocks__/ debian docker module_system/ playwright res src test webapp Dockerfile .dockerignore .eslintignore .stylelintrc.cjs babel.config.cjs recorder-worklet-loader.cjs .modernizr.json components.json config.json config.sample.json package.json project.json tsconfig.json tsconfig.module_system.json jest.config.ts playwright.config.ts webpack.config.ts build_config.sample.yaml apps/web/

mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts

And a couple of gitignore tweaks

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski
2026-02-24 15:43:58 +00:00
parent e7509c92a1
commit 91a3cb03c1
3408 changed files with 28 additions and 32 deletions
@@ -0,0 +1,41 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
/*
* These used to live in General User Settings. These components are horribly duplicative
* but share the same styles. For now I'm putting them here so I can renamed the general
* tab sensibly and before I can refactor these components.
*/
.mx_AddRemoveThreepids_existing {
display: flex;
align-items: center;
}
.mx_AddRemoveThreepids_existing_address,
.mx_AddRemoveThreepids_existing_promptText {
flex: 1;
margin-right: 10px;
}
.mx_AddRemoveThreepids_existing_button {
margin-left: 5px;
}
.mx_EmailAddressesPhoneNumbers_verify {
display: flex;
}
.mx_EmailAddressesPhoneNumbers_existing_button {
justify-content: right;
}
.mx_EmailAddressesPhoneNumbers_verify_instructions {
flex: 1;
}
@@ -0,0 +1,12 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_CurrentDeviceSection_deviceDetails {
/* align with text of session tile */
margin-left: 56px;
}
@@ -0,0 +1,51 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_DeviceDetailHeading {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.mx_DeviceDetailHeading_renameCta {
flex-shrink: 0;
}
.mx_DeviceDetailHeading_renameForm {
display: grid;
gap: $spacing-16;
justify-content: left;
grid-template-columns: 100%;
}
.mx_DeviceDetailHeading_renameFormButtons {
display: flex;
flex-direction: row;
gap: $spacing-8;
.mx_Spinner {
width: auto;
flex-grow: 0;
}
}
.mx_DeviceDetailHeading_renameFormInput {
/* override field styles */
margin: 0 0 $spacing-4 0 !important;
}
.mx_DeviceDetailHeading_renameFormHeading {
margin: 0;
}
.mx_DeviceDetailHeading_renameFormError {
color: $alert;
padding-right: $spacing-4;
display: block;
}
@@ -0,0 +1,88 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_DeviceDetails {
display: flex;
flex-direction: column;
box-sizing: border-box;
margin-top: $spacing-16;
padding: $spacing-24;
border-radius: 8px;
border: 1px solid $quinary-content;
}
.mx_DeviceDetails_section {
padding-bottom: $spacing-20;
margin-bottom: $spacing-20;
border-bottom: 1px solid $quinary-content;
display: grid;
gap: $spacing-24;
justify-content: left;
grid-template-columns: 100%;
&:last-child {
padding-bottom: 0;
border-bottom: 0;
margin-bottom: 0;
}
}
.mx_DeviceDetails_sectionHeading {
margin: 0;
.mx_DeviceDetails_sectionSubheading {
display: block;
font-size: $font-12px;
color: $secondary-content;
line-height: $font-14px;
margin-top: $spacing-4;
}
}
.mx_DeviceDetails_metadataTable {
font: var(--cpd-font-body-sm-regular);
color: $secondary-content;
width: 100%;
border-spacing: 0;
th {
text-transform: uppercase;
font-weight: normal;
text-align: left;
}
td {
padding-top: $spacing-8;
}
.mxDeviceDetails_metadataLabel {
width: 160px;
}
.mxDeviceDetails_metadataValue {
color: $primary-content;
}
}
.mx_DeviceDetails_signOutButtonContent {
display: flex;
flex-direction: row;
align-items: center;
gap: $spacing-4;
}
.mx_DeviceDetails_pushNotifications {
display: block;
.mx_ToggleSwitch {
float: right;
}
}
@@ -0,0 +1,41 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_DeviceExpandDetailsButton {
height: 32px;
width: 32px;
background: transparent;
border-radius: 4px;
color: $icon-button-color;
--icon-transform: rotate(-90deg);
&:hover {
background: $quinary-content;
}
}
.mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded {
--icon-transform: rotate(0deg);
background: $system;
&:hover {
background: $quinary-content;
}
}
.mx_DeviceExpandDetailsButton_icon {
height: 24px;
width: 24px;
transition: all 0.3s;
transform: var(--icon-transform);
transform-origin: center;
}
@@ -0,0 +1,66 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_DeviceSecurityCard {
width: 100%;
display: flex;
flex-direction: row;
align-items: flex-start;
box-sizing: border-box;
padding: $spacing-16;
border: 1px solid $quinary-content;
border-radius: 8px;
}
.mx_DeviceSecurityCard_icon {
flex: 0 0 40px;
display: flex;
align-items: center;
justify-content: center;
margin-right: $spacing-16;
border-radius: 8px;
height: 40px;
width: 40px;
color: var(--icon-color);
background-color: var(--background-color);
&.Verified {
--icon-color: $e2e-verified-color;
--background-color: $e2e-verified-color-light;
}
&.Unverified {
--icon-color: $e2e-warning-color;
--background-color: $e2e-warning-color-light;
}
&.Inactive {
--icon-color: $secondary-content;
--background-color: $panels;
}
}
.mx_DeviceSecurityCard_content {
flex: 1 1;
}
.mx_DeviceSecurityCard_heading {
margin: 0 0 $spacing-4 0;
}
.mx_DeviceSecurityCard_description {
margin: 0;
font: var(--cpd-font-body-sm-regular);
color: $secondary-content;
}
.mx_DeviceSecurityCard_actions {
margin-top: $spacing-16;
}
@@ -0,0 +1,41 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_DeviceTile {
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
}
.mx_DeviceTile_interactive {
cursor: pointer;
}
.mx_DeviceTile_info {
flex: 1 1 0;
}
.mx_DeviceTile_metadata {
margin-top: $spacing-4;
font: var(--cpd-font-body-sm-regular);
color: $secondary-content;
}
.mx_DeviceTile_inactiveIcon {
height: 14px;
margin-right: $spacing-8;
vertical-align: middle;
}
.mx_DeviceTile_actions {
display: grid;
gap: $spacing-8;
grid-auto-flow: column;
margin-left: $spacing-8;
}
@@ -0,0 +1,63 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_DeviceTypeIcon {
flex: 0 0 auto;
position: relative;
margin-right: $spacing-8;
/* creates space for verification icon to overlap */
padding: 0 $spacing-8 $spacing-8 0;
}
.mx_DeviceTypeIcon_deviceIconWrapper {
--background-color: $panels;
--icon-color: $secondary-content;
height: 40px;
width: 40px;
box-sizing: border-box;
border: $spacing-8 solid var(--background-color);
border-radius: 50%;
color: var(--icon-color);
background-color: var(--background-color);
}
.mx_DeviceTypeIcon_selected .mx_DeviceTypeIcon_deviceIconWrapper {
--background-color: $primary-content;
--icon-color: $background;
}
.mx_DeviceTypeIcon_deviceIcon {
height: 24px;
width: 24px;
}
.mx_DeviceTypeIcon_verificationIcon {
position: absolute;
bottom: 0;
right: 0;
height: 24px;
width: 24px;
box-sizing: border-box;
padding: $spacing-4;
border: 1px solid $quinary-content;
border-radius: 50%;
background-color: $background;
color: var(--v-icon-color);
&.verified {
--v-icon-color: $e2e-verified-color;
}
&.unverified {
--v-icon-color: $e2e-warning-color;
}
}
@@ -0,0 +1,49 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_FilteredDeviceList {
.mx_Dropdown {
flex: 1 0 80px;
}
}
.mx_FilteredDeviceList_list {
list-style-type: none;
display: grid;
gap: $spacing-16;
margin: 0;
padding: 0 $spacing-16;
}
.mx_FilteredDeviceList_listItem {
display: flex;
flex-direction: column;
}
.mx_FilteredDeviceList_securityCard {
margin-bottom: $spacing-32;
}
.mx_FilteredDeviceList_noResults {
width: 100%;
text-align: center;
margin-bottom: $spacing-32;
}
.mx_FilteredDeviceList_headerButton {
flex-shrink: 0;
/* override inline button styling */
display: flex !important;
flex-direction: row;
gap: $spacing-8;
}
.mx_FilteredDeviceList_deviceDetails {
/* align with text of session tile */
margin-left: 88px;
}
@@ -0,0 +1,33 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_FilteredDeviceListHeader {
display: flex;
flex-direction: row;
align-items: center;
box-sizing: border-box;
gap: $spacing-16;
width: 100%;
height: 48px;
padding: 0 $spacing-16;
margin-bottom: $spacing-32;
background-color: $panels;
border-radius: 8px;
color: $secondary-content;
/* Higher specificity selector to override the flex-start value */
.mx_AccessibleButton.mx_AccessibleButton_hasKind {
align-self: center;
}
}
.mx_FilteredDeviceListHeader_label {
flex: 1 1 100%;
}
@@ -0,0 +1,11 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_SecurityRecommendations_spacing {
height: $spacing-16;
}
@@ -0,0 +1,24 @@
/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_SelectableDeviceTile {
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
}
.mx_SelectableDeviceTile_checkbox {
flex: 1 0;
> div {
margin-top: auto;
margin-bottom: auto;
margin-right: var(--cpd-space-1x);
}
}
@@ -0,0 +1,10 @@
/*
* Copyright 2025 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details.
*/
.mx_KeyStoragePanel_toggleRow {
flex-direction: row;
}
@@ -0,0 +1,73 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_SettingsSubsection {
width: 100%;
box-sizing: border-box;
&.mx_SettingsSubsection_newUi {
display: flex;
flex-direction: column;
gap: var(--cpd-space-6x);
}
*[role="separator"] {
/**
* The gap between subsections is 32px and inside the subsection is 24px.
* The separator separates the subsections, so it should have the same gap as the subsections.
* We add 12px and the separator spacing (8px) to the top margin to make the separator visually centered between the subsections.
* !important because it's overriding compound margin.
*/
margin-top: var(--cpd-space-5x) !important;
}
}
.mx_SettingsSubsection_description {
margin-top: $spacing-8;
}
.mx_SettingsSubsection_text {
width: 100%;
box-sizing: inherit;
color: $secondary-content;
}
.mx_SettingsSubsection_content {
width: 100%;
display: grid;
gap: var(--cpd-space-4x);
/* setting minwidth 0 makes columns definitely sized fixing horizontal overflow */
grid-template-columns: minmax(0, 1fr);
justify-items: flex-start;
margin-top: $spacing-24;
summary {
color: $accent;
}
details[open] {
summary {
margin-bottom: $spacing-8;
}
}
&.mx_SettingsSubsection_contentStretch {
justify-items: stretch;
}
&.mx_SettingsSubsection_noHeading {
margin-top: 0;
}
&.mx_SettingsSubsection_content_newUi {
gap: var(--cpd-space-6x);
margin-top: 0;
}
.mx_SettingsSubsection_dropdown {
min-width: 360px;
}
}
@@ -0,0 +1,18 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_SettingsSubsectionHeading {
display: flex;
flex-direction: row;
gap: $spacing-8;
}
.mx_SettingsSubsectionHeading_heading {
flex: 1 1 100%;
}