mirror of
https://github.com/revoltchat/revite.git
synced 2024-11-29 02:10:59 -05:00
Merge branch 'ui/glass-header' of https://github.com/revoltchat/revite into ui/glass-header
This commit is contained in:
commit
b936d4462d
3 changed files with 40 additions and 22 deletions
2
external/lang
vendored
2
external/lang
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 0ac705b5599bf9ddf538f3ada1bffd67b2206b57
|
Subproject commit 1d3e85e7f6d0ad7a590854e240d7c47291f3e2cf
|
|
@ -20,19 +20,20 @@ interface Props {
|
||||||
}
|
}
|
||||||
|
|
||||||
const ServerBanner = styled.div<Omit<Props, "server">>`
|
const ServerBanner = styled.div<Omit<Props, "server">>`
|
||||||
background-color: var(--secondary-header);
|
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
|
|
||||||
background-size: cover !important;
|
background-size: cover;
|
||||||
background-position: center center !important;
|
background-repeat: norepeat;
|
||||||
|
background-position: center center;
|
||||||
|
|
||||||
${(props) =>
|
${(props) =>
|
||||||
props.background &&
|
props.background
|
||||||
css`
|
? css`
|
||||||
height: 120px;
|
height: 120px;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
0deg,
|
0deg,
|
||||||
|
@ -40,6 +41,9 @@ const ServerBanner = styled.div<Omit<Props, "server">>`
|
||||||
transparent
|
transparent
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
`
|
||||||
|
: css`
|
||||||
|
background-color: var(--secondary-header);
|
||||||
`}
|
`}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
|
@ -70,10 +74,7 @@ export default observer(({ server }: Props) => {
|
||||||
<ServerBanner
|
<ServerBanner
|
||||||
background={typeof bannerURL !== "undefined"}
|
background={typeof bannerURL !== "undefined"}
|
||||||
style={{
|
style={{
|
||||||
backgroundSize: "cover",
|
backgroundImage: bannerURL ? `url('${bannerURL}')` : undefined,
|
||||||
backgroundPosition: "center",
|
|
||||||
backgroundRepeat: "no-repeat",
|
|
||||||
background: bannerURL ? `url('${bannerURL}')` : undefined,
|
|
||||||
}}>
|
}}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
{server.flags && server.flags & 1 ? (
|
{server.flags && server.flags & 1 ? (
|
||||||
|
|
|
@ -5,6 +5,9 @@ import styled, { css } from "styled-components";
|
||||||
import ContextMenus from "../lib/ContextMenus";
|
import ContextMenus from "../lib/ContextMenus";
|
||||||
import { isTouchscreenDevice } from "../lib/isTouchscreenDevice";
|
import { isTouchscreenDevice } from "../lib/isTouchscreenDevice";
|
||||||
|
|
||||||
|
import { useApplicationState } from "../mobx/State";
|
||||||
|
import { SIDEBAR_CHANNELS } from "../mobx/stores/Layout";
|
||||||
|
|
||||||
import Popovers from "../context/intermediate/Popovers";
|
import Popovers from "../context/intermediate/Popovers";
|
||||||
import Notifications from "../context/revoltjs/Notifications";
|
import Notifications from "../context/revoltjs/Notifications";
|
||||||
import StateMonitor from "../context/revoltjs/StateMonitor";
|
import StateMonitor from "../context/revoltjs/StateMonitor";
|
||||||
|
@ -45,12 +48,16 @@ const StatusBar = styled.div`
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const Routes = styled.div.attrs({ "data-component": "routes" })`
|
const Routes = styled.div.attrs({ "data-component": "routes" })<{
|
||||||
|
borders: boolean;
|
||||||
|
}>`
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
background: var(--primary-background);
|
background: var(--primary-background);
|
||||||
|
|
||||||
/*background-color: rgba(
|
/*background-color: rgba(
|
||||||
var(--primary-background-rgb),
|
var(--primary-background-rgb),
|
||||||
max(var(--min-opacity), 0.75)
|
max(var(--min-opacity), 0.75)
|
||||||
|
@ -62,10 +69,17 @@ const Routes = styled.div.attrs({ "data-component": "routes" })`
|
||||||
css`
|
css`
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
`}
|
`}
|
||||||
|
|
||||||
|
${(props) =>
|
||||||
|
props.borders &&
|
||||||
|
css`
|
||||||
|
border-start-start-radius: 8px;
|
||||||
|
`}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
const path = useLocation().pathname;
|
const path = useLocation().pathname;
|
||||||
|
const layout = useApplicationState().layout;
|
||||||
const fixedBottomNav =
|
const fixedBottomNav =
|
||||||
path === "/" || path === "/settings" || path.startsWith("/friends");
|
path === "/" || path === "/settings" || path.startsWith("/friends");
|
||||||
const inChannel = path.includes("/channel");
|
const inChannel = path.includes("/channel");
|
||||||
|
@ -107,7 +121,10 @@ export default function App() {
|
||||||
height: 50,
|
height: 50,
|
||||||
}}
|
}}
|
||||||
docked={isTouchscreenDevice ? Docked.None : Docked.Left}>
|
docked={isTouchscreenDevice ? Docked.None : Docked.Left}>
|
||||||
<Routes>
|
<Routes
|
||||||
|
borders={
|
||||||
|
!layout.getSectionState(SIDEBAR_CHANNELS, true)
|
||||||
|
}>
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route
|
<Route
|
||||||
path="/server/:server/channel/:channel/settings/:page"
|
path="/server/:server/channel/:channel/settings/:page"
|
||||||
|
|
Loading…
Reference in a new issue