Commit Graph

172 Commits

Author SHA1 Message Date
Robin
6eafe0e5a8
Refine styles of controls to match Compound (#12299)
This changes the styles of buttons, other form controls, and tabs in settings to:

1. Improve their usage of semantic colors, so that they adapt correctly to custom themes
2. Make them more visually coherent with the new Compound design system, as we integrate more of it into the app

This is a re-introduction of https://github.com/matrix-org/matrix-react-sdk/pull/12241 with the difference that we're now using our branding colors again on form colors, and buttons have become rounded to match the appearance of new Compound buttons.
2024-03-05 04:25:47 +00:00
Timo
e26d3e9b68
Update element call embedding UI (#12056)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-12-20 12:39:57 +00:00
Germain
38d24f164a
Compound color pass (#11079)
* Integrate compound design tokens

The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here

* Pareto color pass on the light theme

* bugfixes in the light color pass

* Compound color pass dark theme

* Compound color pass high contrast

* Fix typo

* fix tooltip

* Fix PR feedback

* fix composer button mixin

* Normalise some of the auth page colors

* Update based on figma feedback

* lintfix

* regenerate theme index

* Fix cypress tests

Removed the CSS assertions in the room header as it overlaps with the Percy snapshot

* fix more e2e tests

* update colors based on feedback

* fix color pass

* Fix theme overrides

* Restore -transparent

* fix color mapping

* Final colour pass update

* Do not consume compound colors directly

* rethemedex

* Update pass

* Final tweaks

* a11y pass

* scope opacity to checkbox and not label

* Add missing customisations var for theming

* lintfix

* remove unwanted test
2023-07-12 17:46:49 +00:00
Germain
9c7d935aae
Compound Typography pass (#11103)
* Integrate compound design tokens

The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here

* Delete unused or incorrect - sass variables

* Typography pass

* Deprecate _font-weights.pcss and use Compound instead

* lint fix

* Fix snapshot

* Fix typography pass feedback

* Remove unwanted e2e test

cypress tests should test functionality not visual output. And we should not test visual output by inspecting CSS properties

* lintfix

* Migration script for baseFontSize

* Updates after design review

* Update font scaling panel to use min/max size

* Fix custom font

* Fix font slider e2e test

* Update custom font

* Update new baseFontSizeV2

* Disambiguate heading props

* Fix appearance test

* change max font size

* fix e2ee test

* fix tests

* test baseFontSize migration code

* typescript strict

* Migrate baseFontSize account setting

* Change assertion for font size

* Fix font size controller test
2023-06-29 10:30:25 +00:00
Suguru Hirahara
5162cefa78
Replace Sass variables with CSS custom properties - $container-gap-width and $container-border-width (#10776)
* Replace a Sass variable with a CSS custom property - $container-gap-width

* Replace a Sass variable with a CSS custom property - $container-border-width
2023-05-03 09:24:41 +00:00
Suguru Hirahara
92906c2130
Replace Sass variables with custom properties on _font-weights.pcss (#10554)
* Replace `$font-normal` and `$font-semi-bold`

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace `font-weight: 600` with the custom property

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace the existing variables

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-04-21 14:16:00 +00:00
Robin
6152c1762d
Prevent call durations from breaking onto multiple lines (#9944) 2023-01-20 08:45:55 -05:00
Robin
da30b3069c
Tweak call lobby buttons to more closely match designs (#9943) 2023-01-20 08:45:27 -05:00
Robin
cb1af0d3de
Redesign the picture-in-picture window (#9800)
* Remove unnecessary PipContainer component

* Redesign the picture-in-picture window

* Add a hover effect to the controls

* Clarify that WidgetPip has call-specific behavior
2023-01-04 04:44:38 +00:00
Michael Weimann
ecb3e7a197
Use compound Mic icons everywhere (#9849) 2023-01-02 13:36:58 +00:00
Michael Weimann
c257e137aa
Allow call and broadcast PiP at the same time (#9829) 2022-12-28 13:43:44 +00:00
Robin
8660293424
Make call tiles look less broken in the right panel (#9808) 2022-12-21 18:59:02 +00:00
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Robin
ad090ac4cd
Fix the background color flashing when joining a call (#9640)
Because the persisted widget element takes an extra layout tick to be moved into place, you would briefly see the background color of the call view flash into view when joining a call. Giving the widget tile a background fixes this.
2022-11-28 23:23:11 -05:00
Robin
06dbea6255
New group call experience: Room header and PiP designs (#9351)
* Update our cancel icon

The cancel icon we're using in the app has drifted out of sync with the ones used in our designs. We also had two identical-looking icons, so this consolidates them into one.

I've simultaneously updated our chevron icons, since in the case of the 'jump to unread' timeline button, it became clear that the weight of the new close icon did not match the thinner chevron.

* Don't squish bottom/top-aligned tooltips near the edge of the screen

* Close the timeline panel when returning to the fullscreen timeline view

* Add layout switching capabilities to ElementCall

* Bring the room header in line with the group call designs

* Bring the PiP header in line with the group call designs

* Fix lints

* Clarify tooltip CSS calculations

* Test PipView

* Expand RoomHeader test coverage

* Test PipView more
2022-10-07 02:27:28 +00:00
Robin
ff59f68a9f
New group call experience: Call tiles (#9332)
* Add call tiles

* Factor CallDuration out into a reusable component

* Correct the separator character in LiveContentSummary
2022-09-30 19:26:08 +00:00
Robin
ace6591f43
New group call experience: Starting and ending calls (#9318)
* Create m.room calls in video rooms, and m.prompt calls otherwise

* Terminate a call when the last person leaves

* Hook up the room header button to a unified CallView component

* Write more tests
2022-09-27 07:54:51 -04:00
Robin
0d6a550c33
Prepare for Element Call integration (#9224)
* Improve accessibility and testability of Tooltip

Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.

* Make the ReadyWatchingStore constructor safer

The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.

* Rename 1:1 call components to 'LegacyCall'

to reflect the fact that they're slated for removal, and to not clash
with the new Call code.

* Refactor VideoChannelStore into Call and CallStore

Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.

* Remove WidgetReady, ClientReady, and ForceHangupCall hacks

These are no longer used by the new Jitsi call implementation, and can
be removed.

* yarn i18n

* Delete call map entries instead of inserting nulls

* Allow multiple active calls and consolidate call listeners

* Fix a race condition when creating a video room

* Un-hardcode the media device fallback labels

* Apply misc code review fixes

* yarn i18n

* Disconnect from calls more politely on logout

* Fix some strict mode errors

* Fix another updateRoom race condition
2022-08-30 15:13:39 -04:00
Germain
72c24af5c0
Disallow invalid inline style comments in stylesheets (#9099) 2022-07-27 14:39:29 +01:00
Michael Telatynski
01f4bb8c78
Rename PostCSS files to .pcss (#9013)
* Rename PostCSS files to `.pcss`

* Make Stylelint happy

* Delint

* Rename new files too

* delint

* Fix bad comment placement
2022-07-15 14:53:23 +01:00
Suguru Hirahara
731776d189
Improve link buttons and inline link buttons styling (#8238)
* Set padding: 0 to both "link" and "link_inline"

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _SpotlightDialog.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - JoinRuleSettings

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _ViewSourceEvent.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _RoomDirectory.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _InviteDialog.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - ServerOfflineDialog

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - UpdateCheckButton

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - NonUrgentEchoFailureToast

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - CallView

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove unused styles - _RoomSettingsDialogBridges.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace "link" with "link_inline" for inline links

- src/components/structures/UserMenu.tsx
- src/components/views/dialogs/BetaFeedbackDialog.tsx
- src/components/views/dialogs/FeedbackDialog.tsx
- src/components/views/rooms/NewRoomIntro.tsx
- src/components/views/settings/tabs/room/NotificationSettingsTab.tsx
- src/components/views/settings/tabs/user/PreferencesUserSettingsTab.tsx
- src/components/views/spaces/SpaceCreateMenu.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace "link_inline" with "link" for links not inline

- src/async-components/views/dialogs/security/CreateKeyBackupDialog.tsx
- src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx
- src/components/structures/auth/ForgotPassword.tsx
- src/components/structures/auth/Registration.tsx
- src/components/views/auth/InteractiveAuthEntryComponents.tsx
- src/components/views/dialogs/security/AccessSecretStorageDialog.tsx
- src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx
- src/components/views/messages/TileErrorBoundary.tsx
- src/components/views/messages/ViewSourceEvent.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _SetupEncryptionBody.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _ReplyChain.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _EventTile.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove an obsolete style block - _RoomPreviewCard.scss

The block was transferred from _SpaceRoomView.scss with ec24dc661edb6979ba901936067e5bc731dafa59

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _SecurityUserSettingsTab.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove element='span' - NewRoomIntro.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant declarations - _ServerPicker.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace 'link' with 'link_inline' - AnalyticsToast.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-29 22:37:34 +00:00
Suguru Hirahara
ed2c79051e
Fix dropdown button size for picture-in-picture CallView (#8680) 2022-05-24 17:49:04 +02:00
Suguru Hirahara
e980c146ff
Create a mixin of cancel button (#8526) 2022-05-07 21:08:00 +02:00
Šimon Brandner
c79596cfe6
Add a way to maximize/pin widget from the PiP view (#7672) 2022-05-05 10:57:10 +02:00
Šimon Brandner
a5b795c934
Improve UI/UX in calls (#7791) 2022-05-04 17:16:38 +02:00
Šimon Brandner
3c36a7f704
Add ability to change audio and video devices during a call (#7173) 2022-05-04 16:41:56 +02:00
Robin
6e86a14cc9
Show a lobby screen in video rooms (#8287)
* Show a lobby screen in video rooms

* Add connecting state

* Test VideoRoomView

* Test VideoLobby

* Get the local video stream with useAsyncMemo

* Clean up code review nits

* Explicitly state what !important is overriding

* Use spacing variables

* Wait for video channel messaging

* Update join button copy

* Show frame on both the lobby and widget

* Force dark theme for video lobby

* Wait for the widget to be ready

* Make VideoChannelStore constructor private

* Allow video lobby to shrink

* Add invite button to video room header

* Show connected members on lobby screen

* Make avatars in video lobby clickable

* Increase video channel store timeout

* Fix Jitsi Meet getting wedged on startup in Chrome and Safari

* Revert "Fix Jitsi Meet getting wedged on startup in Chrome and Safari"

This reverts commit 9f77b8c227c1a5bffa5d91b0c48bf3bbc44d4cec.

* Disable device buttons while connecting

* Factor RoomFacePile into a separate file

* Fix i18n lint

* Fix switching video channels while connected

* Properly limit number of connected members in face pile

* Fix CSS lint
2022-04-20 11:03:33 -04:00
Robin
1f64835fab
Update video rooms to new design specs (#8207)
* Remove radio component

* "Voice room" → "video room"

* Remove interactivity from video room tiles

* Update connection state when joining via widget

* Simplify room header buttons for video rooms

* Split out video room creation into a separate menu option

* Simplify room options for video rooms

* Update video room tile layout

* Tell the Jitsi widget whether it's a video channel

* Update tests

* "Voice" → "video" in more places

* Fix tests

* Re-add frame to immersive Jitsi widgets

* Comment ack

* Make updateDevices more readable

* Type FacePile
2022-04-01 14:36:10 +00:00
Robin
cfabcdda35
Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Šimon Brandner
b5d11336f7
Add ability to switch between voice & video in calls (#7155) 2022-01-24 12:48:35 +00:00
Kerry
50de35cd1a
truncate room name on pip header (#7538)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-14 10:37:30 +00:00
Timo
ef95644e23
Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided (#7450)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-13 12:10:41 +01:00
Michael Telatynski
44d7d74949
Call view accessibility fixes (#7439) 2022-01-04 08:57:46 +00:00
Timo
9bcb82d6dc
Add CSS variable to make the UI gaps consistent and fix the resize handle position (#7234)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-12-06 13:10:52 +01:00
Timo
a156ba8be9
Fix video call container size inconsistencies (#7170) 2021-11-23 11:13:51 +01:00
Šimon Brandner
816136de97
Make double-clicking the PiP take you to the call room (#7142) 2021-11-17 12:49:43 +00:00
Šimon Brandner
bafeb38472
Improve VoIP UI/UX (#7048)
* Remove speaking indicator

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove mic icon for primary feed

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove caching as it doesn't seem to be neccessary

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add call view buttons colors

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Refactor button code

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update call view button icons

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* i18n

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add dialpad icon

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix button sizing in PiP

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix secondary voice video feed color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-15 17:24:11 +00:00
Šimon Brandner
9abb2f5ff4
Color cleanup 8 (#7108)
* $accent-color -> $accent

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $accent-bg-color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* $notice-primary-color -> $alert

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $notice-primary-bg-color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $accent-50pct

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* $warning-color -> $alert

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $accent-darker

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $orange-warning-color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $warning-bg-color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove $info-bg-color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-11 13:37:29 +00:00
Šimon Brandner
5c66bd6c7b
Add max-empty-lines and no-eol-whitespace to stylelint (#7034) 2021-10-26 08:23:23 +01:00
Travis Ralston
dc32df1ba5
Merge pull request #6639 from SimonBrandner/feature/voice-activity
Add active speaker indicators
2021-08-25 09:16:37 -06:00
Šimon Brandner
b6ea75b681
Merge remote-tracking branch 'upstream/develop' into task/colors-2
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-24 08:57:12 +02:00
Šimon Brandner
1c93e18c0a
Move CallPreview CSS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-22 15:22:21 +02:00
Šimon Brandner
d29a18b182
Fix some sizing issue on video feeds
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-22 10:10:05 +02:00
Šimon Brandner
cb7e44f4f5
Always show a transparent border to avoid icon jumps
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-22 09:08:33 +02:00
Šimon Brandner
abab31c33b
Add a speaking indicator
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-19 11:42:43 +02:00
Šimon Brandner
0ee59a17de
Fix PiP of held calls
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-13 18:42:55 +02:00
Šimon Brandner
8e610e5947
$dialpad-button-bg-color -> $quinary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:19:31 +02:00
Šimon Brandner
10bc85724a
$secondary-fg-color -> $secondary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:19:26 +02:00
Šimon Brandner
e5fd19c332
$primary-fg-color -> $primary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:18:18 +02:00
Šimon Brandner
9ecd3b03f1
$quaternary-fg-color -> $quaternary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:17:37 +02:00