extract reusable styled live beacon icon (#8103)
* extract reusable styles live beacon icon Signed-off-by: Kerry Archibald <kerrya@element.io> * add secondary live lcation color Signed-off-by: Kerry Archibald <kerrya@element.io>
This commit is contained in:
parent
8cd805ad23
commit
0b80755fb8
9 changed files with 67 additions and 11 deletions
|
@ -5,6 +5,7 @@
|
||||||
@import "./_font-weights.scss";
|
@import "./_font-weights.scss";
|
||||||
@import "./_spacing.scss";
|
@import "./_spacing.scss";
|
||||||
@import "./components/views/beacon/_LeftPanelLiveShareWarning.scss";
|
@import "./components/views/beacon/_LeftPanelLiveShareWarning.scss";
|
||||||
|
@import "./components/views/beacon/_StyledLiveBeaconIcon.scss";
|
||||||
@import "./components/views/location/_LiveDurationDropdown.scss";
|
@import "./components/views/location/_LiveDurationDropdown.scss";
|
||||||
@import "./components/views/location/_LocationShareMenu.scss";
|
@import "./components/views/location/_LocationShareMenu.scss";
|
||||||
@import "./components/views/location/_MapError.scss";
|
@import "./components/views/location/_MapError.scss";
|
||||||
|
|
30
res/css/components/views/beacon/_StyledLiveBeaconIcon.scss
Normal file
30
res/css/components/views/beacon/_StyledLiveBeaconIcon.scss
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
Copyright 2022 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.mx_StyledLiveBeaconIcon {
|
||||||
|
flex-grow: 0;
|
||||||
|
flex-shrink: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-width: 2px;
|
||||||
|
border-style: solid;
|
||||||
|
border-radius: 50%;
|
||||||
|
|
||||||
|
background-color: $location-live-color;
|
||||||
|
border-color: $location-live-secondary-color;
|
||||||
|
padding: 2px;
|
||||||
|
// colors icon
|
||||||
|
color: white;
|
||||||
|
}
|
|
@ -83,19 +83,12 @@ limitations under the License.
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|
||||||
|
// Live is styled by StyledLiveBeaconIcon
|
||||||
|
|
||||||
&.Own {
|
&.Own {
|
||||||
border-color: $accent;
|
border-color: $accent;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.Live {
|
|
||||||
background-color: $location-live-color;
|
|
||||||
// 20% brightness $location-live-color
|
|
||||||
border-color: #deddfd;
|
|
||||||
padding: 2px;
|
|
||||||
// colors icon
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.Pin {
|
&.Pin {
|
||||||
border-color: $accent;
|
border-color: $accent;
|
||||||
background-color: $accent;
|
background-color: $accent;
|
||||||
|
|
|
@ -185,6 +185,7 @@ $video-feed-secondary-background: $system;
|
||||||
// Location sharing
|
// Location sharing
|
||||||
// ********************
|
// ********************
|
||||||
$location-live-color: #5c56f5;
|
$location-live-color: #5c56f5;
|
||||||
|
$location-live-secondary-color: #deddfd;
|
||||||
// ********************
|
// ********************
|
||||||
|
|
||||||
// Location sharing
|
// Location sharing
|
||||||
|
|
|
@ -192,6 +192,7 @@ $eventbubble-reply-color: #C1C6CD;
|
||||||
// ********************
|
// ********************
|
||||||
$location-marker-color: #ffffff;
|
$location-marker-color: #ffffff;
|
||||||
$location-live-color: #5c56f5;
|
$location-live-color: #5c56f5;
|
||||||
|
$location-live-secondary-color: #deddfd;
|
||||||
// ********************
|
// ********************
|
||||||
|
|
||||||
// ***** Mixins! *****
|
// ***** Mixins! *****
|
||||||
|
|
|
@ -288,6 +288,7 @@ $groupFilterPanel-divider-color: $tertiary-content;
|
||||||
// ********************
|
// ********************
|
||||||
$location-marker-color: #ffffff;
|
$location-marker-color: #ffffff;
|
||||||
$location-live-color: #5c56f5;
|
$location-live-color: #5c56f5;
|
||||||
|
$location-live-secondary-color: #deddfd;
|
||||||
// ********************
|
// ********************
|
||||||
|
|
||||||
// ***** Mixins! *****
|
// ***** Mixins! *****
|
||||||
|
|
|
@ -302,6 +302,7 @@ $copy-button-url: "$(res)/img/feather-customised/clipboard.svg";
|
||||||
// ********************
|
// ********************
|
||||||
$location-marker-color: #ffffff;
|
$location-marker-color: #ffffff;
|
||||||
$location-live-color: #5c56f5;
|
$location-live-color: #5c56f5;
|
||||||
|
$location-live-secondary-color: #deddfd;
|
||||||
// ********************
|
// ********************
|
||||||
|
|
||||||
// Mixins
|
// Mixins
|
||||||
|
|
28
src/components/views/beacon/StyledLiveBeaconIcon.tsx
Normal file
28
src/components/views/beacon/StyledLiveBeaconIcon.tsx
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
Copyright 2022 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 React from 'react';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
|
||||||
|
import { Icon as LiveLocationIcon } from '../../../../res/img/location/live-location.svg';
|
||||||
|
|
||||||
|
const StyledLiveBeaconIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({ className, ...props }) =>
|
||||||
|
<LiveLocationIcon
|
||||||
|
{...props}
|
||||||
|
className={classNames('mx_StyledLiveBeaconIcon', className)}
|
||||||
|
/>;
|
||||||
|
|
||||||
|
export default StyledLiveBeaconIcon;
|
|
@ -23,8 +23,8 @@ import BaseAvatar from '../avatars/BaseAvatar';
|
||||||
import AccessibleButton from '../elements/AccessibleButton';
|
import AccessibleButton from '../elements/AccessibleButton';
|
||||||
import Heading from '../typography/Heading';
|
import Heading from '../typography/Heading';
|
||||||
import { Icon as LocationIcon } from '../../../../res/img/element-icons/location.svg';
|
import { Icon as LocationIcon } from '../../../../res/img/element-icons/location.svg';
|
||||||
import { Icon as LiveLocationIcon } from '../../../../res/img/location/live-location.svg';
|
|
||||||
import { LocationShareType } from './shareLocation';
|
import { LocationShareType } from './shareLocation';
|
||||||
|
import StyledLiveBeaconIcon from '../beacon/StyledLiveBeaconIcon';
|
||||||
|
|
||||||
const UserAvatar = () => {
|
const UserAvatar = () => {
|
||||||
const matrixClient = useContext(MatrixClientContext);
|
const matrixClient = useContext(MatrixClientContext);
|
||||||
|
@ -59,7 +59,7 @@ const ShareTypeOption: React.FC<ShareTypeOptionProps> = ({
|
||||||
{ shareType === LocationShareType.Pin &&
|
{ shareType === LocationShareType.Pin &&
|
||||||
<LocationIcon className={`mx_ShareType_option-icon ${LocationShareType.Pin}`} /> }
|
<LocationIcon className={`mx_ShareType_option-icon ${LocationShareType.Pin}`} /> }
|
||||||
{ shareType === LocationShareType.Live &&
|
{ shareType === LocationShareType.Live &&
|
||||||
<LiveLocationIcon className={`mx_ShareType_option-icon ${LocationShareType.Live}`} /> }
|
<StyledLiveBeaconIcon className={`mx_ShareType_option-icon ${LocationShareType.Live}`} /> }
|
||||||
|
|
||||||
{ label }
|
{ label }
|
||||||
</AccessibleButton>;
|
</AccessibleButton>;
|
||||||
|
|
Loading…
Reference in a new issue