Files
clash-verge-rev/src/assets/styles/layout.scss
T

364 lines
7.2 KiB
SCSS

.layout {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
.layout-content {
/* New container for the flex layout */
display: flex;
flex: 1; /* Take remaining height */
overflow: hidden;
&__left {
flex: 1 0 200px;
display: flex;
height: 100%;
width: 100%;
padding: 0 0 8px;
flex-direction: column;
align-self: stretch;
box-sizing: border-box;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
overflow: hidden;
border-right: 1px solid var(--divider-color);
.the-logo {
position: relative;
flex: 1 0 58px;
display: flex;
height: 100%;
padding: 0 20px;
flex-direction: column;
justify-content: center;
align-items: flex-start;
align-self: stretch;
box-sizing: border-box;
img,
svg {
width: 100%;
height: 100%;
pointer-events: none;
}
.the-newbtn {
position: absolute;
right: 10px;
top: 15px;
border-radius: 8px;
padding: 2px 4px;
transform: scale(0.8);
}
}
.the-menu {
flex: 1 1 80%;
overflow-y: auto;
margin-bottom: 0px;
padding-top: 4px;
scrollbar-width: none;
&::-webkit-scrollbar {
width: 0;
height: 0;
}
}
.the-traffic {
flex: 0 0 60px;
> div {
margin: 0 auto;
padding: 0 20px;
}
}
}
&__right {
position: relative;
flex: 1 1 100%;
height: 100%;
.the-bar {
height: 36px;
display: flex;
justify-content: end;
box-sizing: border-box;
z-index: 2;
.the-dragbar {
margin-top: 5px;
app-region: drag;
}
}
.the-content {
position: absolute;
top: 0;
left: 0;
right: 1px;
bottom: 0px;
}
}
}
}
.window-resize-handles {
--resize-edge-size: 6px;
--resize-corner-size: 12px;
position: fixed;
inset: 0;
z-index: 10000;
pointer-events: none;
.window-resize-handle {
position: absolute;
pointer-events: auto;
touch-action: none;
&--north,
&--south {
right: var(--resize-corner-size);
left: var(--resize-corner-size);
height: var(--resize-edge-size);
cursor: ns-resize;
}
&--north {
top: 0;
}
&--south {
bottom: 0;
}
&--east,
&--west {
top: var(--resize-corner-size);
bottom: var(--resize-corner-size);
width: var(--resize-edge-size);
cursor: ew-resize;
}
&--east {
right: 0;
}
&--west {
left: 0;
}
&--north-east,
&--north-west,
&--south-east,
&--south-west {
width: var(--resize-corner-size);
height: var(--resize-corner-size);
}
&--north-east,
&--south-west {
cursor: nesw-resize;
}
&--north-west,
&--south-east {
cursor: nwse-resize;
}
&--north-east,
&--north-west {
top: 0;
}
&--south-east,
&--south-west {
bottom: 0;
}
&--north-east,
&--south-east {
right: 0;
}
&--north-west,
&--south-west {
left: 0;
}
}
}
.linux,
.windows,
.unknown {
&.layout {
.the_titlebar {
width: 100%;
display: flex;
justify-content: flex-end;
padding: 10px;
box-sizing: border-box;
height: 36px;
border-bottom: 1px solid var(--divider-color);
&-drag-region {
align-self: stretch;
flex: 1 1 auto;
}
}
.layout-content__left .the-logo {
flex: 1 0 58px;
margin-top: 10px;
margin-left: 10px;
padding-top: 5px;
padding-left: 10px;
padding-right: 20px;
padding-bottom: 16px;
}
.layout-content__right .the-content {
top: 5px;
}
}
}
.macos {
&.layout {
.the_titlebar {
width: 100%;
display: flex;
justify-content: flex-start;
padding: 10px;
box-sizing: border-box;
height: 36px;
border-bottom: 1px solid var(--divider-color);
&-drag-region {
align-self: stretch;
flex: 1 1 auto;
order: 1;
}
}
.layout-content__left {
padding-top: 5px;
}
.layout-content__right .the-content {
top: 5px;
}
.layout-content__left .the-newbtn {
right: 9px;
top: 2px;
}
}
}
.layout.layout--nav-collapsed {
--layout-nav-collapsed-width: 72px;
--layout-nav-item-size: 52px;
--layout-nav-item-radius: 12px;
--layout-nav-logo-size: 56px;
.layout-content {
&__left {
flex: 0 0 var(--layout-nav-collapsed-width) !important;
width: var(--layout-nav-collapsed-width) !important;
min-width: var(--layout-nav-collapsed-width) !important;
max-width: var(--layout-nav-collapsed-width) !important;
border-right: none !important;
.the-traffic {
display: none !important;
}
> .MuiBox-root {
display: none !important;
}
.the-logo {
flex: 0 0 var(--layout-nav-logo-size) !important;
height: var(--layout-nav-logo-size) !important;
margin: 8px 0 4px !important;
padding: 0 !important;
align-items: center !important;
justify-content: center !important;
}
.the-logo > div {
width: 100% !important;
height: 100% !important;
align-items: center !important;
justify-content: center !important;
}
.the-logo > div > svg:last-child {
display: none !important;
}
.the-logo .MuiSvgIcon-root {
margin: 0 !important;
}
.the-logo .the-newbtn {
display: none !important;
}
.the-menu {
width: var(--layout-nav-collapsed-width) !important;
overflow-x: hidden;
scrollbar-width: none;
&::-webkit-scrollbar {
width: 0;
height: 0;
}
li:last-child {
border-bottom: none;
}
.MuiListItem-root {
max-width: 100% !important;
padding: 0 !important;
}
.MuiListItemButton-root {
justify-content: center !important;
width: var(--layout-nav-item-size) !important;
height: var(--layout-nav-item-size) !important;
min-height: var(--layout-nav-item-size) !important;
max-width: var(--layout-nav-item-size) !important;
flex: 0 0 var(--layout-nav-item-size) !important;
flex-grow: 0 !important;
flex-shrink: 0 !important;
margin: 6px auto !important;
padding: 0 !important;
border-radius: var(--layout-nav-item-radius) !important;
}
.MuiListItemIcon-root {
min-width: auto !important;
margin: 0 !important;
margin-left: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
.MuiListItemText-root {
display: none !important;
}
}
}
}
}