PythonGallery/onlylegs/static/sass/components/upload-panel.sass

230 lines
4.7 KiB
Sass

.upload-panel
position: fixed
left: 3.5rem
bottom: 0
display: none
width: calc(100% - 3.5rem)
height: 100vh
background-color: transparent
color: var(--foreground-white)
overflow: hidden
z-index: 68
transition: background-color 0.25s var(--animation-smooth)
h3
margin: 0
padding: 0
font-size: 1.5rem
font-weight: 700
p
margin: 0
padding: 0
font-size: 1rem
font-weight: 400
form
margin: 0
padding: 0
width: 100%
display: flex
flex-direction: column
align-items: center
gap: 0.5rem
input, button
width: 100%
.click-off
position: absolute
top: 0
left: 0
width: 100%
height: 100%
z-index: +1
.container
padding: 1rem
position: absolute
bottom: 0
left: -27rem
width: 27rem
height: 100%
display: flex
flex-direction: column
gap: 1rem
background-color: var(--background-200)
z-index: +2
transition: left 0.25s var(--animation-smooth), bottom 0.25s var(--animation-smooth)
#dragIndicator
display: none
position: absolute
top: 0
left: 0
width: 100%
height: 5rem
z-index: +1
&::after
content: ''
width: 6rem
height: 3px
position: absolute
top: 0.5rem
left: 50%
transform: translate(-50%, -50%)
background-color: var(--background-400)
border-radius: calc(var(--rad) / 2)
transition: width 0.25s var(--animation-smooth)
&.dragging #dragIndicator::after
width: 9rem
background-color: var(--primary)
.upload-jobs
display: flex
flex-direction: column
gap: 0.5rem
border-radius: var(--rad)
overflow-y: auto
.job
width: 100%
height: 5rem
min-height: 5rem
position: relative
display: flex
align-items: center
gap: 0.5rem
background-color: var(--background-200)
border-radius: var(--rad)
overflow: hidden
img
position: absolute
top: 0
left: 0
width: 100%
height: 5rem
object-fit: cover
.img-filter
position: absolute
top: 0
left: 0
width: 100%
height: 100%
background-image: linear-gradient(to right, var(--background-100), transparent)
.job__status
margin: 0
padding: 0
position: absolute
top: 0.5rem
left: 0.5rem
font-size: 1rem
font-weight: 600
color: var(--foreground-white)
z-index: +3
transition: color 0.25s var(--animation-smooth)
.progress
width: 100%
height: calc(var(--rad) / 2)
position: absolute
bottom: 0
left: -100%
background-color: var(--primary)
animation: uploadingLoop 1s var(--animation-smooth) infinite
z-index: +5
transition: left 1s var(--animation-smooth)
&.critical
.job__status, .progress
color: var(--critical)
&.success
.job__status
color: var(--success)
.progress
height: 0
animation: none
&.warning
.job__status, .progress
color: var(--warning)
&.critical, &.success, &.warning
.progress
height: 0
&.open
background-color: var(--background-shade)
.container
left: 0
@media (max-width: 800px)
.upload-panel
width: 100%
height: calc(100vh - 3.5rem)
height: calc(100dvh - 3.5rem)
left: 0
bottom: 3.5rem
.container
width: 100%
height: 95%
left: 0
bottom: -100vh
border-radius: var(--rad) var(--rad) 0 0
#dragIndicator
display: block
&.open
.container
left: 0
bottom: 0