* feat: desktop revamp * feat: refactor system monitor * fix linter CI * remove unused import component * added responsive and resizeable component * responsive and resizeable local server page * finalize responsive and resizeable component * fix scroll custom ui * remove react scroll to bottom from modal troubleshoot * fix modal troubleshoot ui * fix setting gpu list * text area custom scroll bar * fix padding message input * cleanup classname * update inference engine model dropdown * update loader style * update quick ask ui * prepare theme provider * update dark theme * remove update hotkey list model and navigation * fix: cleanup hardcode classname * fix: update feedback * Set native theme electron * update destop ui revamp from feedback * update button icon component insider icon chat input message * update model dropdown ui * update tranaparent baclground * update logo model provider * fix: set background material acrylic support to blur background windows * fix: update tranparent left and right panel * fix: linter CI * update app using frameless window * styling custom style minimize, maximize and close app * temporary hidden maximize window * fix: responsive left and right panel * fix: enable click outside when leftpanel responsive * fix: remove unused import * update transparent variable css windows * fix: ui import model * feat: Support Theme system (#2946) * feat: update support theme system * update select component * feat: add theme folder in root project * fix: padding left and right center panel * fix: update padding left and right * chore: migrate themes * fix: rmdirsync error * chore: update gitignore * fix: cp recursive * fix: files electron package json * fix: migration * fix: update fgit ignore --------- Co-authored-by: Louis <louis@jan.ai> * fix: update feedback missing state when refrash app * fix: error test CI * chore: refactor useLoadThemes * chore: cleanup unused vars * fix: revert back menubar windows * fix minor ui * fix: minor ui --------- Co-authored-by: Louis <louis@jan.ai>
137 lines
2.6 KiB
SCSS
137 lines
2.6 KiB
SCSS
.loader {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
.loader-inner {
|
|
transform: translateY(-50%);
|
|
top: 50%;
|
|
position: absolute;
|
|
width: 100%;
|
|
color: white;
|
|
padding: 0 100px;
|
|
text-align: center;
|
|
}
|
|
|
|
.loader-inner label {
|
|
opacity: 0;
|
|
display: inline-block;
|
|
margin: 0 4px;
|
|
}
|
|
|
|
@keyframes loaderDot {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(-300px);
|
|
}
|
|
33% {
|
|
opacity: 1;
|
|
transform: translateX(0px);
|
|
}
|
|
66% {
|
|
opacity: 1;
|
|
transform: translateX(0px);
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateX(300px);
|
|
}
|
|
}
|
|
|
|
.loader-inner label:nth-child(6) {
|
|
-webkit-animation: loaderDot 3s infinite ease-in-out;
|
|
animation: loaderDot 3s infinite ease-in-out;
|
|
}
|
|
|
|
.loader-inner label:nth-child(5) {
|
|
-webkit-animation: loaderDot 3s 100ms infinite ease-in-out;
|
|
animation: loaderDot 3s 100ms infinite ease-in-out;
|
|
}
|
|
|
|
.loader-inner label:nth-child(4) {
|
|
-webkit-animation: loaderDot 3s 200ms infinite ease-in-out;
|
|
animation: loaderDot 3s 200ms infinite ease-in-out;
|
|
}
|
|
|
|
.loader-inner label:nth-child(3) {
|
|
-webkit-animation: loaderDot 3s 300ms infinite ease-in-out;
|
|
animation: loaderDot 3s 300ms infinite ease-in-out;
|
|
}
|
|
|
|
.loader-inner label:nth-child(2) {
|
|
-webkit-animation: loaderDot 3s 400ms infinite ease-in-out;
|
|
animation: loaderDot 3s 400ms infinite ease-in-out;
|
|
}
|
|
|
|
.loader-inner label:nth-child(1) {
|
|
-webkit-animation: loaderDot 3s 500ms infinite ease-in-out;
|
|
animation: loaderDot 3s 500ms infinite ease-in-out;
|
|
}
|
|
|
|
.bubble-loader {
|
|
position: relative;
|
|
margin-top: 8px;
|
|
height: 32px;
|
|
background-color: hsla(var(--app-secondary-bg));
|
|
border-radius: 20px;
|
|
width: 56px;
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.bubble-loader span {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
position: absolute;
|
|
left: 50%;
|
|
margin-left: -4px;
|
|
animation: 3s infinite linear;
|
|
}
|
|
|
|
.bubble-loader span:nth-child(1) {
|
|
background-color: hsla(var(--app-secondary-bg));
|
|
animation: DotLeft 1.5s infinite linear;
|
|
}
|
|
.bubble-loader span:nth-child(2) {
|
|
background-color: hsla(var(--app-secondary-bg));
|
|
z-index: 100;
|
|
}
|
|
.bubble-loader span:nth-child(3) {
|
|
background-color: hsla(var(--app-secondary-bg));
|
|
animation: DotRight 1.5s infinite linear;
|
|
}
|
|
|
|
@keyframes DotRight {
|
|
0% {
|
|
-webkit-transform: translateX(14px);
|
|
}
|
|
|
|
50% {
|
|
-webkit-transform: translateX(-14px);
|
|
}
|
|
|
|
100% {
|
|
-webkit-transform: translateX(14px);
|
|
z-index: 200;
|
|
}
|
|
}
|
|
|
|
@keyframes DotLeft {
|
|
0% {
|
|
-webkit-transform: translateX(-14px);
|
|
z-index: 200;
|
|
}
|
|
50% {
|
|
-webkit-transform: translateX(14px);
|
|
}
|
|
100% {
|
|
-webkit-transform: translateX(-14px);
|
|
}
|
|
}
|