Files
Dwinzo_Demo/app/src/styles/components/footer/footer.scss

331 lines
7.2 KiB
SCSS

@use "../../abstracts/variables" as *;
@use "../../abstracts/mixins" as *;
.footer-container {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 3;
padding: 2px 12px;
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: none;
.footer-wrapper {
display: flex;
justify-content: space-between;
.selection-wrapper {
display: flex;
gap: 6px;
.selector-wrapper {
display: flex;
gap: 6px;
align-items: center;
background: var(--background-color);
padding: 3px 6px;
border-radius: #{$border-radius-large};
color: var(--text-color);
backdrop-filter: blur(14px);
.selector {
color: var(--text-color);
font-size: var(--font-size-small);
}
.icon {
height: 17px;
}
}
}
.logs-wrapper {
display: flex;
gap: 6px;
position: relative;
pointer-events: all;
// dummy
.bg-dummy {
background: var(--background-color-solid);
position: absolute;
z-index: -1;
}
.bg-dummy.left-top {
top: 1px;
left: 4px;
width: 60%;
height: 16px;
border-radius: #{$border-radius-extra-large};
}
.bg-dummy.right-bottom {
right: 68px;
bottom: 0;
width: 20%;
height: 100%;
border-radius: #{$border-radius-circle};
}
.log-container {
background: var(--background-color);
backdrop-filter: blur(20px);
border-radius: #{$border-radius-large};
@include flex-center;
overflow: hidden;
}
.logs-detail,
.version {
@include flex-center;
border-radius: #{$border-radius-extra-large};
padding: 3px 6px;
height: 100%;
color: var(--text-color);
gap: 6px;
cursor: pointer;
}
.logs-detail {
padding: 2px 12px;
cursor: pointer;
outline: 0 solid var(--border-color);
outline-offset: -1px;
.log-icon {
@include flex-center;
}
.log-message {
max-width: 40vw;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.version {
background: var(--background-color);
font-size: var(--font-size-tiny);
.icon {
@include flex-center;
}
}
.log {
background: var(--log-default-background-color);
outline-color: var(--default-text-color);
.log-message {
color: var(--default-text-color);
}
}
.info {
background: var(--log-info-background-color);
outline-color: var(--log-info-text-color);
.log-message {
color: var(--log-info-text-color);
}
}
.error {
background: var(--log-error-background-color);
outline-color: var(--log-error-text-color);
.log-message {
color: var(--log-error-text-color);
}
}
.warning {
background: var(--log-warn-background-color);
outline-color: var(--log-warn-text-color);
.log-message {
color: var(--log-warn-text-color);
}
}
.success {
background: var(--log-success-background-color);
.log-message {
color: var(--log-success-text-color);
}
}
}
}
.shortcut-helper-container {
min-height: 320px;
height: 320px;
border-radius: 18px;
pointer-events: all;
background: var(--background-color);
backdrop-filter: blur(20px);
.close-button {
position: absolute;
@include flex-center;
height: 26px;
width: 26px;
right: 12px;
top: 10px;
background: var(--background-color);
border-radius: #{$border-radius-medium};
outline: 1px solid var(--border-color);
&:hover{
background: var(--background-color-solid);
}
}
.header {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 10px;
padding: 12px 0;
.header-wrapper {
display: flex;
align-items: center;
button,
.type {
font-size: var(--font-size-small);
}
.type {
position: relative;
padding-left: 10px;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 1px;
height: 100%;
background: var(--text-color);
}
}
}
button {
padding: 4px 12px;
cursor: pointer;
border-radius: 4px;
background-color: transparent;
border: 1px solid transparent;
transition: background 0.2s;
&.active {
background: var(--background-color-button);
color: var(--icon-default-color-active);
border-radius: 18px;
}
}
}
.shortcut-wrapper {
padding: 16px 0;
margin: 0 12px;
height: calc(100% - 60px);
display: grid;
grid-template-columns: repeat(2, 350px);
justify-content: center;
align-content: start; // Align content to top
gap: 16px;
overflow-y: auto; // Allow scrolling if content is too tall
border-radius: 18px;
background: var(--background-color);
.shortcut-item {
min-width: 330px;
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 0px 16px;
border-radius: 6px;
box-sizing: border-box;
gap: 12px;
.shortcut-intro {
display: flex;
gap: 6px;
.value-wrapper {
.name {
font-size: var(--font-size-small);
}
.description {
font-size: var(--font-size-tiny);
}
}
}
.keys {
display: flex;
align-items: center;
gap: 6px;
flex-wrap: wrap;
.key {
background: linear-gradient(
135.11deg,
#656dc2 3.48%,
#9526e5 91.33%
);
@include flex-center;
padding: 4px 10px;
height: 25px;
border-radius: 4px;
font-family: monospace;
font-size: var(--font-size-tiny);
color: var(--icon-default-color-active);
&:last-child{
background: var(--background-color-button);
}
}
.key.add {
background: none;
padding: 0;
}
}
.description {
font-size: 14px;
color: var(--input-text-color);
line-height: 1.4;
}
}
}
.shortcut-wrapper.single-item {
display: flex;
justify-content: center;
align-items: flex-start;
/* or center if vertical centering is desired */
}
}
}
.shortcut-helper-overlay {
max-height: 0;
overflow: hidden;
transform: translateY(20px);
transition: all 0.3s ease-in-out;
&.visible {
max-height: 1000px; // adjust as needed
opacity: 1;
transform: translateY(0);
}
}