diff --git a/web/sidebar/community-picker.css b/web/sidebar/community-picker.css index 777ac72bc..15450b5f9 100644 --- a/web/sidebar/community-picker.css +++ b/web/sidebar/community-picker.css @@ -1,42 +1,53 @@ .container { display: flex; flex-direction: column; - align-items: center; - width: 84px; background: var(--community-bg); padding: 24px 0 32px 0; border-right: 1px solid var(--border-color); flex-grow: 1; + overflow: auto; + width: 400px; } .spacer { flex-grow: 1; } -.container button { - color: var(--fg); -} - -.container svg { - color: var(--fg); - padding: 0; -} - .activeContainer { display: flex; - justify-content: center; width: 100%; box-sizing: border-box; border-left: 8px solid var(--community-settings-selected); border-right: 8px solid transparent; + padding-left: 12px; + height: 40px; + align-items: center; +} + +.inactiveContainer { + display: flex; + padding-left: 20px; + height: 40px; + align-items: center; +} + +.inactiveContainer svg, +.activeContainer svg { + color: var(--fg); + padding: 0; } .settingsIcon { display: flex; align-items: center; justify-content: center; background: var(--settings-btn-bg); width: 30px; height: 30px; border-radius: 50%; } + +.drawerWrapper { + align-self: flex-start; + width: 100%; +} diff --git a/web/sidebar/community-picker.react.js b/web/sidebar/community-picker.react.js index afe66a270..b921ab25c 100644 --- a/web/sidebar/community-picker.react.js +++ b/web/sidebar/community-picker.react.js @@ -1,66 +1,72 @@ // @flow import classNames from 'classnames'; import * as React from 'react'; import { useDispatch } from 'react-redux'; import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; +import CommunityDrawer from './community-drawer.react.js'; import css from './community-picker.css'; import { updateNavInfoActionType } from '../redux/action-types.js'; import { useSelector } from '../redux/redux-utils.js'; function CommunityPicker(): React.Node { const dispatch = useDispatch(); const openAccountSettings = React.useCallback( (event: SyntheticEvent) => { event.preventDefault(); dispatch({ type: updateNavInfoActionType, payload: { tab: 'settings', settingsSection: 'account' }, }); }, [dispatch], ); const isSettingsOpen = useSelector(state => state.navInfo.tab === 'settings'); const settingsButtonContainerClass = classNames({ [css.activeContainer]: isSettingsOpen, + [css.inactiveContainer]: !isSettingsOpen, }); const openChat = React.useCallback( (event: SyntheticEvent) => { event.preventDefault(); dispatch({ type: updateNavInfoActionType, payload: { tab: 'chat' }, }); }, [dispatch], ); const isInboxOpen = useSelector( state => state.navInfo.tab === 'chat' || state.navInfo.tab === 'apps' || state.navInfo.tab === 'calendar', ); const inboxButtonContainerClass = classNames({ [css.activeContainer]: isInboxOpen, + [css.inactiveContainer]: !isInboxOpen, }); return (
+
+ +
); } export default CommunityPicker; diff --git a/web/sidebar/left-layout-aside.css b/web/sidebar/left-layout-aside.css index 69a00c17d..13ac1f178 100644 --- a/web/sidebar/left-layout-aside.css +++ b/web/sidebar/left-layout-aside.css @@ -1,64 +1,65 @@ .container { grid-area: sBar; background: var(--bg); border-right: 1px solid var(--border-color); display: flex; + width: 560px; } .navigationPanelContainer { width: 160px; margin-top: 12px; } .navigationPanelTab { display: flex; flex-direction: row; padding: 12px 0 12px 28px; cursor: pointer; } .navigationPanelTab svg { padding-right: 12px; color: var(--color-disabled); stroke: var(--color-disabled); fill: var(--color-disabled); } .navigationPanelTab p { color: var(--color-disabled); } .navigationPanelTab:hover p, .navigationPanelTab:hover svg, div.current_tab p, div.current_tab svg { color: var(--fg); stroke: var(--fg); fill: var(--fg); } .container p { display: flex; align-content: center; } .chatIconWrapper { position: relative; } span.chatBadge { position: absolute; top: -4px; left: 13px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; color: var(--fg); background: var(--unread-bg); border-radius: 13px; font-size: 8px; line-height: 1.25; } diff --git a/web/style.css b/web/style.css index 35db2e964..4047d2c1f 100644 --- a/web/style.css +++ b/web/style.css @@ -1,218 +1,218 @@ *, *:before, *:after { padding: 0; margin: 0; -ms-overflow-style: -ms-autohiding-scrollbar; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } html { height: 100%; font-size: 62.5%; } body { font-family: var(--font-stack); background: var(--bg); height: 100%; overflow: hidden; font-size: 1.6rem; } a { text-decoration: none; color: #2a5db0; cursor: pointer; } button { cursor: pointer; } img, iframe { display: block; } input[type='text'], input[type='password'], textarea { -webkit-appearance: none; -moz-appearance: none; -webkit-border-radius: 0; border: 1px solid #dddddd; border-radius: 1px; font-family: var(--font-stack); } button svg { vertical-align: top; } :global(#react-root) { display: flex; flex-direction: column; height: 100%; } div.layout { height: 100vh; display: grid; - grid-template-columns: 244px repeat(12, 1fr); + grid-template-columns: 560px repeat(12, 1fr); grid-template-rows: 65px calc(100vh - 65px); grid-template-areas: 'nav nav nav nav nav nav nav nav nav nav nav nav nav' 'sBar app app app app app app app app app app app app'; } header.header { background: var(--bg); z-index: 1; grid-area: nav; } div.main-header { height: 64px; background: var(--bg); display: flex; align-items: center; border-bottom: 1px solid var(--border-color); } div.main-header > .wordmark { color: var(--fg); padding-left: 92px; font-family: var(--font-logo); line-height: var(--line-height-text); font-weight: var(--semi-bold); font-size: var(--logo-font-22); margin-right: 40px; } .wordmark > a { color: inherit; } .electron-draggable { -webkit-app-region: drag; } .electron-non-draggable { -webkit-app-region: no-drag; } div.main-content-container { position: relative; grid-area: app; display: flex; overflow: hidden; } div.main-content { display: flex; flex: 1; overflow: hidden; } div.upper-right { position: absolute; top: 0; right: 0; padding: 15px 16px; } span.loading-indicator-loading { display: inline-block; } @keyframes loading-indicator-loading { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } span.loading-indicator-loading-medium:after { content: ' '; display: block; width: 15px; height: 15px; border-radius: 50%; border: 3px solid #fff; border-color: #fff transparent #fff transparent; animation-name: loading-indicator-loading; animation-duration: 1.2s; animation-iteration-count: infinite; animation-timing-function: linear; } span.loading-indicator-loading-large:after { content: ' '; display: block; width: 25px; height: 25px; border-radius: 50%; border: 3px solid #fff; border-color: #fff transparent #fff transparent; animation-name: loading-indicator-loading; animation-duration: 1.2s; animation-iteration-count: infinite; animation-timing-function: linear; } span.loading-indicator-loading-small:after { content: ' '; display: block; width: 9px; height: 9px; border-radius: 50%; border: 2px solid #fff; border-color: #fff transparent #fff transparent; animation-name: loading-indicator-loading; animation-duration: 1.2s; animation-iteration-count: infinite; animation-timing-function: linear; } span.loading-indicator-black:after { border-color: #000 transparent #000 transparent; } span.loading-indicator-error { font-weight: bold; color: white; line-height: 0; } span.loading-indicator-error-black { font-weight: bold; color: red; line-height: 0; } .hidden { display: none; } .italic { font-style: italic; } span.page-loading { margin-top: 5px; margin-right: 12px; float: left; } span.page-error { margin: 15px; font-size: 42px; float: left; color: red; } @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 320dpi), only screen and (min-resolution: 2dppx) { header.header, header.main-header, div.splash-header-container, div.splash-top-container, div.splash-bottom, div.calendar-filters-container { background: var(--bg); } } @media (hover: none) { div.splash-header-container, div.splash-top-container, div.splash-bottom { background-attachment: initial; } }