MM-56975 UI Incremental Refinements (#26407)

* updated styles to include rounded corners and updated backgrounds/containers

* updated snapshots

* removed background from app bar top

* removed top padding from lhs

* updated name of container to better match the grid name in css

* fixed lint issue with css

* update snapshot

* adjusted padding/margin

* use radius variables

* remove margin and border radius from plabooks for now

* fixed tasklist

* minor tweaks to menus

* add global border variables and use in key places

* fixed grid issues with login page and backstage

* use border variable

* adjust padding in global header

* fixed type issues

* tweaks to spacing

* fixed margin issue on backstage

* fixed padding on global header

* minor tweaks to header and apps bar

* removed background from apps bar

* updates to header and app bar and team icon

* updated more borders and radii to use variables

* fixed style lint issue

* adjust letter spacing on category labels

* fix lint issue

* fixed position of popover

* address UX feedback
Этот коммит содержится в:
Matthew Birtch
2024-05-08 11:28:38 -04:00
коммит произвёл GitHub
родитель f00efe58fd
Коммит 8fa6757949
37 изменённых файлов: 365 добавлений и 248 удалений

Просмотреть файл

@@ -4,7 +4,7 @@
@import 'utils/mixins';
$app-bar-icon-size: 24px;
$app-bar-width: 48px;
$app-bar-width: 44px;
.app-bar {
// Do not show App Bar if on mobile
@@ -12,11 +12,10 @@ $app-bar-width: 48px;
display: none;
}
position: relative;
display: flex;
min-height: 0;
flex-flow: column;
border-left: solid 1px rgba(var(--center-channel-color-rgb), 0.12);
background-color: var(--center-channel-bg);
&__top {
position: relative;
@@ -25,7 +24,6 @@ $app-bar-width: 48px;
flex: 1;
flex-flow: column;
padding-top: 15px;
background-color: rgba(var(--center-channel-color-rgb), 0.04);
-ms-overflow-style: none;
overflow-x: hidden;
overflow-y: scroll;
@@ -49,7 +47,7 @@ $app-bar-width: 48px;
left: 0;
width: 3px;
height: $app-bar-icon-size;
border-radius: 0 2px 2px 0;
border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
background-color: var(--sidebar-text-active-border);
content: '';
}
@@ -71,18 +69,18 @@ $app-bar-width: 48px;
overflow: hidden;
width: $app-bar-icon-size;
height: $app-bar-icon-size;
border-radius: 50%;
border-radius: var(--radius-full);
margin: 0 auto;
line-height: 1;
&:hover {
box-shadow: 0 0 0 2px rgba(var(--center-channel-color-rgb), 0.16);
box-shadow: 0 0 0 2px rgba(var(--sidebar-text-rgb), 0.16);
}
img {
width: $app-bar-icon-size;
height: $app-bar-icon-size;
border-radius: 50%;
border-radius: var(--radius-full);
}
}
@@ -105,11 +103,11 @@ $app-bar-width: 48px;
}
.app-bar__old-icon {
color: rgba(var(--center-channel-color-rgb), 0.64);
color: rgba(var(--sidebar-text-rgb), 0.64);
&:hover,
&--active {
color: rgba(var(--center-channel-color-rgb), 0.8);
color: rgba(var(--sidebar-text-rgb), 0.8);
}
}
@@ -121,7 +119,7 @@ $app-bar-width: 48px;
.app-bar__divider {
width: 28px;
border-top: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border-top: 1px solid rgba(var(--sidebar-text-rgb), 0.16);
margin-top: 0;
margin-bottom: 19px;
}
@@ -140,11 +138,17 @@ $app-bar-width: 48px;
align-items: center;
padding-top: 24px;
padding-bottom: 36px;
background-color: rgba(var(--center-channel-color-rgb), 0.04);
.app_bar__marketplace_button {
@include icon-button;
@include icon-button-small-compact;
color: rgba(var(--sidebar-text-rgb), 0.64);
&:hover {
background-color: rgba(var(--sidebar-text-rgb), 0.08);
color: rgba(var(--sidebar-text-rgb), 0.72);
}
}
}
}

Просмотреть файл

@@ -245,7 +245,7 @@ const BackstageGlobalStyle = createGlobalStyle`
#root {
> #global-header,
> .team-sidebar,
> .sidebar--right,
> .main-wrapper .sidebar--right,
> .app-bar {
display: none;
}

Просмотреть файл

@@ -9,8 +9,8 @@
overflow: hidden;
max-height: calc(100vh - 240px);
flex-direction: column;
border: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border-radius: 12px;
border: var(--border-default);
border-radius: var(--radius-l);
box-shadow: var(--elevation-6);
}
@@ -21,7 +21,7 @@
.modal-header {
border: none;
border-bottom: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
border-bottom: var(--border-light);
background: none;
}
@@ -44,7 +44,7 @@
align-items: center;
justify-content: flex-end;
padding: 24px 32px;
border-top: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
border-top: var(--border-light);
gap: 8px;
}
@@ -73,7 +73,7 @@
}
&__divider {
border-bottom: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
border-bottom: var(--border-light);
}
@media screen and (max-width: 768px) {

Просмотреть файл

@@ -2,10 +2,8 @@
// See LICENSE.txt for license information.
.Drafts {
--border: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
&__header {
border-bottom: var(--border);
border-bottom: var(--border-default);
grid-area: header;
}
@@ -44,7 +42,7 @@
}
.Header {
border-top: var(--border);
border-top: var(--border-default);
}
}
}

Просмотреть файл

@@ -22,11 +22,9 @@ const GlobalHeaderContainer = styled.header`
flex-shrink: 0;
align-items: center;
justify-content: space-between;
height: 40px;
background: var(--global-header-background);
border-bottom: solid 1px rgba(var(--center-channel-color-rgb), 0.08);
color: rgba(var(--global-header-text-rgb), 0.64);
padding: 0 12px;
height: 44px;
color: rgba(var(--sidebar-text-rgb), 0.64);
padding: 0 4px 0 8px;
z-index: 99;
> * + * {

Просмотреть файл

@@ -11,7 +11,7 @@
min-height: 100%;
flex-direction: column;
margin: 0 auto;
grid-area: center;
grid-area: main;
.header-footer-route-container {
display: flex;

Просмотреть файл

@@ -22,7 +22,7 @@ export const MuiMenuStyled = styled(MuiMenu, {
backgroundColor: 'var(--center-channel-bg)',
boxShadow: `${
asSubMenu ? 'var(--elevation-5)' : 'var(--elevation-4)'
}, 0 0 0 1px rgba(var(--center-channel-color-rgb), 0.16) inset`,
}, 0 0 0 1px rgba(var(--center-channel-color-rgb), 0.12) inset`,
minWidth: '114px',
maxWidth: '496px',
maxHeight: '80vh',

Просмотреть файл

@@ -43,7 +43,7 @@ import {TaskListPopover} from './onboarding_tasklist_popover';
import {Task} from './onboarding_tasklist_task';
const TaskItems = styled.div`
border-radius: 4px;
border-radius: var(--radius-m);
border: solid 1px rgba(var(--center-channel-color-rgb), 0.16);
background-color: var(--center-channel-bg);
width: 352px;
@@ -91,9 +91,9 @@ const Button = styled.button<{open: boolean}>(({open}) => {
width: 36px;
height: 36px;
padding: 7px;
border-radius: 50%;
left: 20px;
bottom: 20px;
border-radius: var(--radius-full);
left: 15px;
bottom: 15px;
position: fixed;
z-index: 101;
display: flex;
@@ -113,15 +113,15 @@ const Button = styled.button<{open: boolean}>(({open}) => {
width: 20px;
height: 16px;
background: var(--button-bg);
position: fixed;
position: absolute;
display: ${open ? 'none' : 'block'};
border-radius: 12px;
color: var(--button-color);
font-weight: bold;
font-size: 11px;
line-height: 16px;
bottom: 47px;
left: 41px;
bottom: 22px;
left: 22px;
}
`;
});
@@ -130,7 +130,7 @@ const PlayButton = styled.button`
padding: 10px 0;
max-width: 175px;
background: var(--button-bg);
border-radius: 4px;
border-radius: var(--radius-s);
color: var(--button-color);
border: none;
font-weight: bold;

Просмотреть файл

@@ -3,7 +3,7 @@
import type {Placement} from 'popper.js';
import React from 'react';
import type {RefObject} from 'react';
import type {RefObject, CSSProperties} from 'react';
import {usePopper} from 'react-popper';
import {CSSTransition} from 'react-transition-group';
import styled from 'styled-components';
@@ -83,8 +83,11 @@ export const TaskListPopover = ({
],
});
const style = {
...popper,
zIndex: isVisible ? 100 : -1,
container: {
...popper,
zIndex: isVisible ? 100 : -1,
position: 'fixed',
} as CSSProperties,
};
return (
<>
@@ -101,7 +104,7 @@ export const TaskListPopover = ({
</CSSTransition>
<div
ref={setPopperElement}
style={style}
style={style.container}
{...attributes.popper}
>
{children}

Просмотреть файл

@@ -99,33 +99,37 @@ exports[`components/Root Routes Should mount public product routes 1`] = `
<GlobalHeader />
<CloudEffectsWrapper />
<withRouter(Connect(TeamSidebar)) />
<Switch>
<Route
key="productwithpublic-public"
path="/productwithpublic/public"
render={[Function]}
<div
className="main-wrapper"
>
<Switch>
<Route
key="productwithpublic-public"
path="/productwithpublic/public"
render={[Function]}
/>
<Route
key="productwithpublic"
path="/productwithpublic"
render={[Function]}
/>
<Route
key="productwithoutpublic"
path="/productwithoutpublic"
render={[Function]}
/>
<LoggedInRoute
component={[Function]}
path="/:team([a-z0-9\\\\-_]+)"
theme={Object {}}
/>
<Connect(RootRedirect) />
</Switch>
<Connect(Pluggable)
pluggableName="Global"
/>
<Route
key="productwithpublic"
path="/productwithpublic"
render={[Function]}
/>
<Route
key="productwithoutpublic"
path="/productwithoutpublic"
render={[Function]}
/>
<LoggedInRoute
component={[Function]}
path="/:team([a-z0-9\\\\-_]+)"
theme={Object {}}
/>
<Connect(RootRedirect) />
</Switch>
<Connect(Pluggable)
pluggableName="Global"
/>
<withRouter(Connect(SidebarRight)) />
<withRouter(Connect(SidebarRight)) />
</div>
<AppBar />
<Connect(Component) />
</CompassThemeProvider>

Просмотреть файл

@@ -549,75 +549,77 @@ export default class Root extends React.PureComponent<Props, State> {
<GlobalHeader/>
<CloudEffects/>
<TeamSidebar/>
<Switch>
{this.props.products?.filter((product) => Boolean(product.publicComponent)).map((product) => (
<Route
key={`${product.id}-public`}
path={`${product.baseURL}/public`}
render={(props) => {
return (
<Pluggable
pluggableName={'Product'}
subComponentName={'publicComponent'}
pluggableId={product.id}
css={{gridArea: 'center'}}
{...props}
/>
);
}}
/>
))}
{this.props.products?.map((product) => (
<Route
key={product.id}
path={product.baseURL}
render={(props) => {
let pluggable = (
<Pluggable
pluggableName={'Product'}
subComponentName={'mainComponent'}
pluggableId={product.id}
webSocketClient={webSocketClient}
css={product.wrapped ? undefined : {gridArea: 'center'}}
/>
);
if (product.wrapped) {
pluggable = (
<div className={classNames(['product-wrapper', {wide: !product.showTeamSidebar}])}>
{pluggable}
</div>
<div className='main-wrapper'>
<Switch>
{this.props.products?.filter((product) => Boolean(product.publicComponent)).map((product) => (
<Route
key={`${product.id}-public`}
path={`${product.baseURL}/public`}
render={(props) => {
return (
<Pluggable
pluggableName={'Product'}
subComponentName={'publicComponent'}
pluggableId={product.id}
css={{gridArea: 'center'}}
{...props}
/>
);
}
return (
<LoggedIn {...props}>
{pluggable}
</LoggedIn>
);
}}
}}
/>
))}
{this.props.products?.map((product) => (
<Route
key={product.id}
path={product.baseURL}
render={(props) => {
let pluggable = (
<Pluggable
pluggableName={'Product'}
subComponentName={'mainComponent'}
pluggableId={product.id}
webSocketClient={webSocketClient}
css={product.wrapped ? undefined : {gridArea: 'center'}}
/>
);
if (product.wrapped) {
pluggable = (
<div className={classNames(['product-wrapper', {wide: !product.showTeamSidebar}])}>
{pluggable}
</div>
);
}
return (
<LoggedIn {...props}>
{pluggable}
</LoggedIn>
);
}}
/>
))}
{this.props.plugins?.map((plugin) => (
<Route
key={plugin.id}
path={'/plug/' + (plugin as any).route}
render={() => (
<Pluggable
pluggableName={'CustomRouteComponent'}
pluggableId={plugin.id}
css={{gridArea: 'center'}}
/>
)}
/>
))}
<LoggedInRoute
theme={this.props.theme}
path={`/:team(${TEAM_NAME_PATH_PATTERN})`}
component={TeamController}
/>
))}
{this.props.plugins?.map((plugin) => (
<Route
key={plugin.id}
path={'/plug/' + (plugin as any).route}
render={() => (
<Pluggable
pluggableName={'CustomRouteComponent'}
pluggableId={plugin.id}
css={{gridArea: 'center'}}
/>
)}
/>
))}
<LoggedInRoute
theme={this.props.theme}
path={`/:team(${TEAM_NAME_PATH_PATTERN})`}
component={TeamController}
/>
<RootRedirect/>
</Switch>
<Pluggable pluggableName='Global'/>
<SidebarRight/>
<RootRedirect/>
</Switch>
<Pluggable pluggableName='Global'/>
<SidebarRight/>
</div>
<AppBar/>
<SidebarRightMenu/>
</CompassThemeProvider>

Просмотреть файл

@@ -9,11 +9,20 @@
}
}
.GlobalThreads {
--border: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
.rhs-open #channel_view.channel-view {
&:has(.GlobalThreads) {
padding-right: 0;
.ThreadPane,
.no-results__holder {
padding-right: 18px;
}
}
}
.GlobalThreads {
.GlobalThreads___header {
border-bottom: var(--border);
border-bottom: var(--border-default);
grid-area: header;
}
@@ -23,13 +32,14 @@
}
.ThreadList {
border-right: var(--border);
grid-area: list;
}
.ThreadPane,
.ThreadList + .no-results__holder {
box-shadow: var(--elevation-2);
grid-area: pane;
outline: var(--border-light);
}
> .no-results__holder {
@@ -59,19 +69,15 @@
display: grid;
overflow: hidden;
grid-template-areas:
'header header'
'list pane';
grid-template-areas: 'list pane';
// 2-column
grid-template-columns: var(--list) var(--pane);
grid-template-rows: 56px 1fr;
grid-template-rows: 1fr;
// single column
@media screen and (max-width: 1020px) {
grid-template-areas:
'header header'
'main main';
grid-template-areas: 'main main';
&:not(.thread-selected) {
.ThreadList {
@@ -111,7 +117,7 @@
}
.Header {
border-top: var(--border);
border-top: var(--border-default);
}
}

Просмотреть файл

@@ -29,7 +29,6 @@ import LocalStorageStore from 'stores/local_storage_store';
import LoadingScreen from 'components/loading_screen';
import NoResultsIndicator from 'components/no_results_indicator';
import Header from 'components/widgets/header';
import {Constants, PreviousViewedTypes} from 'utils/constants';
@@ -153,19 +152,6 @@ const GlobalThreads = () => {
id='app-content'
className={classNames('GlobalThreads app__content', {'thread-selected': Boolean(selectedThread)})}
>
<Header
level={2}
className={'GlobalThreads___header'}
heading={formatMessage({
id: 'globalThreads.heading',
defaultMessage: 'Followed threads',
})}
subtitle={formatMessage({
id: 'globalThreads.subtitle',
defaultMessage: 'Threads youre participating in will automatically show here',
})}
/>
{isLoading || isEmptyList ? (
<div className='no-results__holder'>
{isLoading ? (

Просмотреть файл

@@ -4,8 +4,6 @@
@import "sass/utils/_mixins";
.ThreadItem {
--border: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
position: relative;
padding: 18px 18px 18px 28px;
cursor: pointer;

Просмотреть файл

@@ -18,8 +18,8 @@ exports[`components/threading/global_threads/thread_list should match snapshot 1
onClick={[Function]}
>
<Memo(MemoizedFormattedMessage)
defaultMessage="All your threads"
id="threading.filters.allThreads"
defaultMessage="Followed threads"
id="globalThreads.heading"
/>
</Memo(Button)>
</div>

Просмотреть файл

@@ -9,7 +9,7 @@
.Header {
padding-right: 12px;
padding-left: 12px;
border-bottom: var(--border);
border-bottom: var(--border-default);
color: rgba(var(--center-channel-color-rgb), 0.75);
grid-area: header;
@@ -69,7 +69,7 @@
}
.ThreadItem {
border-bottom: var(--border);
border-bottom: var(--border-default);
}
.virtualized-thread-list {

Просмотреть файл

@@ -205,8 +205,8 @@ const ThreadList = ({
onClick={handleRead}
>
<FormattedMessage
id='threading.filters.allThreads'
defaultMessage='All your threads'
id='globalThreads.heading'
defaultMessage='Followed threads'
/>
</Button>
</div>

Просмотреть файл

@@ -1,7 +1,6 @@
.ThreadPane {
display: grid;
overflow: hidden;
grid-template-areas:
'header'
'pane';
@@ -13,7 +12,7 @@
align-items: center;
justify-content: space-between;
padding: 12px 16px;
border-bottom: var(--border);
border-bottom: var(--border-default);
grid-area: header;
--button-separator-height: 24px;

Просмотреть файл

@@ -26,7 +26,7 @@
line-height: 16px;
}
.content-container {
.main-wrapper {
display: flex;
flex-direction: column;
margin-right: 24px;

Просмотреть файл

@@ -7,7 +7,10 @@
max-width: 270px;
max-height: 80vh;
padding: 8px 0;
border-radius: 4px;
border: solid 1px rgba(var(--center-channel-color-rgb), 0.12);
border-radius: var(--radius-s);
background-color: var(--center-channel-bg);
box-shadow: var(--elevation-4);
ul {
padding: 8px 0;

Просмотреть файл

@@ -95,7 +95,7 @@
padding: 0 3px;
margin-right: 4px;
margin-bottom: 2px;
color: rgba(var(--center-channel-color-rgb), 0.72);
color: rgba(var(--center-channel-color-rgb), 0.64);
vertical-align: middle;
&::before {

Просмотреть файл

@@ -2,7 +2,7 @@
display: flex;
align-items: center;
padding: 20px 20px 20px 32px;
border-bottom: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
border-bottom: var(--border-light);
background: none;
gap: 8px;

Просмотреть файл

@@ -18,7 +18,7 @@
align-items: center;
padding: 8px 12px;
border: none;
border-radius: 4px;
border-radius: var(--radius-s);
background: none;
color: rgba(var(--center-channel-color-rgb), 0.56);
gap: 8px;

Просмотреть файл

@@ -17,6 +17,8 @@
}
.TeamIcon__initials {
font-family: Metropolis, sans-serif;
letter-spacing: 0.02em;
user-select: none;
&.TeamIcon__initials__lg {

Просмотреть файл

@@ -3757,7 +3757,6 @@
"globalThreads.searchGuidance.subtitle": "If youre looking for older conversations, try searching with {searchShortcut}",
"globalThreads.searchGuidance.title": "Thats the end of the list",
"globalThreads.sidebarLink": "Threads",
"globalThreads.subtitle": "Threads youre participating in will automatically show here",
"globalThreads.threadList.noUnreadThreads": "No unread threads",
"globalThreads.threadPane.unreadMessageLink": "You have {numUnread, plural, =0 {no unread threads} =1 {<link>{numUnread} thread</link>} other {<link>{numUnread} threads</link>}} {numUnread, plural, =0 {} other {with unread messages}}",
"globalThreads.threadPane.unselectedTitle": "{numUnread, plural, =0 {Looks like youre all caught up} other {Catch up on your threads}}",
@@ -5117,7 +5116,6 @@
"textbox.quote": ">quote",
"textbox.strike": "strike",
"threadFromArchivedChannelMessage": "You are viewing a thread from an **archived channel**. New messages cannot be posted.",
"threading.filters.allThreads": "All your threads",
"threading.filters.unreads": "Unreads",
"threading.following": "Following",
"threading.footer.lastReplyAt": "Last reply {formatted}",

Просмотреть файл

@@ -78,7 +78,7 @@
--elevation-5: 0 12px 32px 0 rgba(0, 0, 0, 0.12);
--elevation-6: 0 20px 32px 0 rgba(0, 0, 0, 0.12);
//Corner Radius variables
// Corner Radius variables
--radius-xs: 2px;
--radius-s: 4px;
--radius-m: 8px;
@@ -86,6 +86,11 @@
--radius-xl: 16px;
--radius-full: 50%;
// Border variables
--border-default: solid 1px rgba(var(--center-channel-color-rgb), 0.12);
--border-light: solid 1px rgba(var(--center-channel-color-rgb), 0.08);
--border-dark: solid 1px rgba(var(--center-channel-color-rgb), 0.16);
// Global Header variables
--global-header-background: var(--sidebar-teambar-bg);
--global-header-text: var(--sidebar-header-text-color);

Просмотреть файл

@@ -92,17 +92,46 @@ body.app__body #root {
display: grid;
overflow: hidden;
--columns: min-content min-content minmax(385px, 1fr) minmax(0, auto) min-content;
grid-template:
'announcement announcement announcement announcement announcement' min-content
'header header header header header' min-content
'team-sidebar lhs center rhs app-sidebar'
'footer footer footer footer footer' min-content
/ var(--columns);
'header' min-content
'main'
'footer' min-content
;
&.channel-view {
background-color: var(--sidebar-header-bg);
--columns: min-content minmax(385px, 1fr) min-content;
grid-template:
'announcement announcement announcement' min-content
'header header header' min-content
'team-sidebar main app-sidebar'
'footer footer footer' min-content
/ var(--columns);
;
&:has(.backstage-body){
background-color: $bg--gray;
}
}
&.console__root {
background-color: inherit;
padding-bottom: 0;
padding-right: 0;
grid-template:
'announcement announcement' min-content
'header header' min-content
'lhs center'
'footer footer' min-content
;
grid-template-columns: min-content auto;
}
&.container-fluid {
background: none;
display: block;
}
> :only-child {
grid-area: center;
width: 100%;
}
@@ -114,52 +143,123 @@ body.app__body #root {
#global-header {
grid-area: header;
}
.team-sidebar {
grid-area: team-sidebar;
}
.main-wrapper {
position: relative;
display: grid;
overflow:hidden;
background-color: var(--sidebar-bg);
border: var(--border-light);
margin: 0 4px 4px 4px;
border-radius: var(--radius-l);
grid-area: main;
grid-template:
'lhs center rhs'
;
grid-template-columns: min-content minmax(385px, 1fr) min-content;
&:has(.backstage-body){
background: inherit;
padding: 0;
margin:0;
border-radius: 0;
grid-template:
'header' min-content
'main'
;
}
&:has(#playbooks-backstageRoot){
margin:0;
border-radius: 0;
}
}
&:has(.app-bar){
.main-wrapper {
margin-right:0;
}
}
&:has(.team-sidebar){
.main-wrapper {
margin-left: 0;
}
}
#SidebarContainer {
grid-area: lhs;
}
#channel_view,
.product-wrapper {
grid-area: center;
overflow: hidden;
}
.sidebar--right--width-holder {
grid-area: rhs;
}
#sidebar-right {
grid-area: rhs;
top: 0;
right: 0;
@media screen and (min-width: 768px) {
position: absolute;
right: 0;
}
}
.app-bar {
grid-area: app-sidebar;
}
&:not(.console__root) {
@media screen and (max-width: 768px) {
padding-bottom: 0;
padding-right: 0;
z-index: 17;
grid-template:
'announcement' min-content
'header' min-content
'center'
'main' auto
'footer' min-content
/ auto
;
.team-sidebar,
#SidebarContainer,
#channel_view,
.product-wrapper,
#sidebar-right,
.app-bar {
grid-area: center;
grid-area: main;
}
#SidebarContainer.move--right {
position: relative;
}
.main-wrapper {
margin: 0;
grid-template:
'main'
;
padding:0;
border-radius: 0;
#channel_view,
#SidebarContainer,
.product-wrapper,
#sidebar-right {
grid-area: main;
border-radius: 0;
}
.channel-view {
border-radius: 0;
border: none;
box-shadow: none;
}
}
}
}
@@ -169,10 +269,12 @@ body.app__body #root {
display: none;
}
#sidebar-right {
position: relative;
position: absolute;
width: 100%;
grid-area: center;
transition: width .25s ease-in-out;
}
--columns: min-content min-content 0 1fr min-content;
--columns: min-content auto min-content;
}
#sidebar-right {
transition: none;
@@ -183,7 +285,19 @@ body.app__body #root {
/* stylelint-enable -- grid-template indentation */
#channel_view.channel-view {
overflow: hidden;
border-radius: var(--radius-l);
border-left: var(--border-light);
background: var(--center-channel-bg);
box-shadow: var(--elevation-1);
}
.rhs-open #channel_view.channel-view,
.rhs-open-expanded #channel_view.channel.view {
@media screen and (min-width: 1200px) {
padding-right: 20px;
margin-right: -20px;
}
}
img {

Просмотреть файл

@@ -46,8 +46,8 @@
color: rgb(var(--center-channel-color-rgb));
.modal-content {
border: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border-radius: 12px;
border: var(--border-default);
border-radius: var(--radius-l);
background: var(--center-channel-bg);
}
}
@@ -150,7 +150,7 @@
grid-row-gap: 8px;
&.divider {
border-top: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
border-top: var(--border-light);
}
&.modal-footer--invisible {
@@ -260,7 +260,7 @@
background: transparent;
&.divider {
border-bottom: 1px solid rgba(var(--center-channel-color-rgb), 0.12);
border-bottom: var(--border-light);
}
&::before,
@@ -283,7 +283,7 @@
right: 18px;
width: 40px;
height: 40px;
border-radius: 4px;
border-radius: var(--radius-s);
color: rgba(var(--center-channel-color-rgb), 0.64);
font-size: 30px;
font-weight: 400;
@@ -332,8 +332,8 @@
}
.modal-content {
border: 1px solid rgba(var(--sys-center-channel-color-rgb), 0.16);
border-radius: 12px;
border: var(--border-default);
border-radius: var(--radius-l);
background: var(--sys-center-channel-bg);
}
@@ -996,7 +996,7 @@
.filter-controls {
padding: 24px 32px;
border-top: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border-top: var(--border-default);
.filter-control__next {
float: right;

Просмотреть файл

@@ -111,7 +111,7 @@
}
&.bottom {
margin-top: -30px;
margin-top: -25px;
}
}

Просмотреть файл

@@ -11,7 +11,6 @@
.post-right-comments-container {
position: relative;
margin-right: 5px;
.post {
&:hover {

Просмотреть файл

@@ -6,7 +6,7 @@
width: 100%;
max-height: 56px;
padding: 12px;
border-bottom: 1px solid rgba(var(--center-channel-color-rgb), 0.12);
border-bottom: var(--border-default);
background: v(center-channel-bg);
font-size: 14px;

Просмотреть файл

@@ -7,7 +7,7 @@ $sidebarOpacityAnimationDuration: 0.15s;
#TeamSidebar {
z-index: 13;
display: flex;
width: 65px;
width: 64px;
height: 100%;
flex-direction: column;
background-color: var(--sidebar-header-bg);
@@ -28,17 +28,17 @@ $sidebarOpacityAnimationDuration: 0.15s;
z-index: 16;
left: 0;
display: flex;
width: var(--overrideLhsWidth, 240px);
min-width: 240px;
max-width: 240px;
height: 100%;
flex-direction: column;
border-right: 1px solid rgba(var(--center-channel-color-rgb), 0.12);
background-color: var(--sidebar-bg);
@media screen and (min-width: 769px) {
width: var(--overrideLhsWidth, 264px);
min-width: 200px;
max-width: 264px;
background: none;
}
@media screen and (min-width: 1201px) {
@@ -109,8 +109,6 @@ $sidebarOpacityAnimationDuration: 0.15s;
}
.SidebarHeader {
background-color: var(--sidebar-header-bg);
.header__info {
color: var(--sidebar-header-text-color);
@@ -832,6 +830,7 @@ $sidebarOpacityAnimationDuration: 0.15s;
font-family: 'Open Sans', sans-serif;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.05em;
text-align: left;
text-transform: uppercase;
transition: box-shadow 0.25s ease-in-out;

Просмотреть файл

@@ -43,25 +43,6 @@
padding: 0;
transform: translateX(100%);
&.is-open {
body:not(.layout-changing) & {
transition: width 0.25s 0s ease-in, z-index 0.25s 0s step-end;
}
}
&.expanded {
z-index: 13;
box-shadow: 0 8px 24px alpha-color($black, 0.24);
.sidebar-right__body {
overflow: hidden;
}
body:not(.layout-changing) & {
transition: width 0.25s 0s ease-in, z-index 0.15s 0.1s step-start;
}
}
.sidebar-right__table {
display: table;
@@ -92,8 +73,7 @@
height: 100%;
flex: 1 1 auto;
flex-direction: column;
border-left: 1px solid rgba(var(--center-channel-color-rgb), 0.12);
background: v(center-channel-bg);
background: var(--center-channel-bg);
.info-card {
padding: 5px 15px 60px 15px;
@@ -152,7 +132,7 @@
overflow: hidden;
height: 2.4rem;
padding: 0 8px;
border-left: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border-left: var(--border-light);
margin: 0 0 0 8px;
color: rgba(var(--center-channel-color-rgb), 0.75);
cursor: pointer;
@@ -180,7 +160,7 @@
overflow: hidden;
height: 2.4rem;
padding: 0 8px;
border-left: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border-left: var(--border-default);
margin: 0 0 0 8px;
color: rgba(var(--center-channel-color-rgb), 0.75);
font-family: "Open Sans", sans-serif;
@@ -205,8 +185,7 @@
align-items: center;
justify-content: space-between;
padding: 0 16px 0 0;
border-bottom: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
background: rgba(var(--center-channel-color-rgb), 0.04);
border-bottom: var(--border-default);
color: inherit;
white-space: nowrap;
@@ -296,6 +275,29 @@
}
}
#sidebar-right {
overflow: hidden;
height: 100%;
border-left: var(--border-default);
box-shadow: var(--elevation-2);
&.expanded {
position: absolute;
z-index: 20;
box-shadow: var(--elevation-4);
.sidebar-right__body {
overflow: hidden;
}
}
body:not(.layout-changing) & {
transition-duration: 250ms;
transition-property: width, z-index, box-shadow;
transition-timing-function: ease-in-out;
}
}
// global header style adjustments
@media screen and (min-width: 769px) {
// adjust RHS position and height
@@ -303,7 +305,7 @@
// If this is changed, the interaction with the App Bar icons must be tested
//(see .app-bar__icon in components/app_bar/app_bar.scss)
z-index: 20;
top: 0;
box-shadow: var(--elevation-2);
.sidebar-right-container {
height: 100%;

Просмотреть файл

@@ -4,7 +4,7 @@
width: 65px;
height: 100%;
flex-direction: column;
background: var(--sidebar-teambar-bg);
background-color: var(--sidebar-header-bg);
text-align: center;
.fa {
@@ -21,7 +21,6 @@
width: 100%;
flex: 0 0 auto;
padding: 16px 0 6px;
background-color: var(--sidebar-teambar-bg);
}
.team-wrapper {
@@ -29,7 +28,6 @@
overflow: hidden;
height: 100%;
flex: 1 1 auto;
background-color: var(--sidebar-teambar-bg);
-webkit-overflow-scrolling: touch;
.draggable-team-container {
@@ -127,7 +125,7 @@
}
.scrollbar--view {
padding-top: 15px;
padding-top: 4px;
}
.team-container a:hover {
@@ -139,12 +137,11 @@
@media screen and (min-width: 769px) {
// global header style adjustments
.team-sidebar {
background: none;
// use sidebar header variables for team sidebar
--sidebar-teambar-bg: var(--sidebar-header-bg);
--sidebar-header-text-color: var(--sidebar-text);
--sidebar-teambar-bg-rgb: var(--sidebar-header-bg-rgb);
--sidebar-header-text-color-rgb: var(--sidebar-text-rgb);
border-right: solid 1px rgba(var(--center-channel-color-rgb), 0.08);
}
}

Просмотреть файл

@@ -1797,7 +1797,7 @@
left: 0;
&.move--right {
left: 65px;
left: 64px;
}
}

Просмотреть файл

@@ -28,7 +28,7 @@
overflow: auto;
width: 100%;
background-color: $bg--gray;
grid-area: center;
grid-area: main;
}
.backstage-content {

Просмотреть файл

@@ -23,13 +23,13 @@
padding: 0;
&.divider {
border-top: 1px solid rgba(var(--center-channel-color-rgb), 0.08);
border-top: var(--border-light);
}
.form-control {
height: 40px;
box-sizing: border-box;
border: 1px solid rgba(var(--center-channel-color-rgb), 0.16);
border: var(--border-default);
border-radius: 4px;
&:focus {
@@ -96,7 +96,7 @@
border: 1px solid rgba(var(--dnd-indicator-rgb), 0.16);
margin-bottom: 24px;
background: rgba(var(--dnd-indicator-rgb), 0.08);
border-radius: 4px;
border-radius: var(--radius-s);
span {
color: var(--center-channel-color);