Web client refinement (#16)

* fix(files/handler): add base64 decode for content

* fix(singleuser): pick user name from jwt token and encode content

* fix(singleuser): add public path check, abstract user info from token

* fix(singleuser): update singleuser client

* fix(server): fix test and enable auth by default

* feat(client/web): add web client

* fix(client/web): refine css styles

* fix(client/web): refine styles

* fix(client/web): refine styles, add test and fix bugs

* test(client/web): add web client tests

* fix(client/web): refactor client interface and enhance the robustness

* chore(client/web): ignore js bundles

* test(files): call sync before check

Co-authored-by: Jia He <jiah@nvidia.com>
This commit is contained in:
Hexxa 2020-12-16 23:39:26 +08:00 committed by GitHub
parent 0265baf1b1
commit ba6a5373d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 9192 additions and 158 deletions

View file

@ -0,0 +1,99 @@
@charset "utf-8";
.anm-rotate {
animation: rotate 1s infinite linear;
}
@keyframes rotate {
20% {
transform: rotate(72deg);
}
40% {
transform: rotate(144deg);
}
60% {
transform: rotate(216deg);
}
80% {
transform: rotate(288deg);
}
100% {
transform: rotate(360deg);
}
}
.fade-in {
/* animation-direction: reverse; */
animation: fade-in 0.2s 1 linear;
opacity: 0.5;
/* padding: 0; */
transform: translate(0, 0.4rem);
}
@keyframes fade-in {
0% {
opacity: 0.5;
transform: translate(0, 0.4rem);
/* padding: 0.4rem 0; */
}
100% {
opacity: 1;
transform: translate(0, 0);
/* transform: translate(0, 0.4rem); */
/* padding: 0; */
}
}
.notification-resize {
animation: resize 2s 1 linear;
/* transform: translate(100%, 0%); */
}
@keyframes resize {
0% {
/* transform: translate(0, 0); */
opacity: 0;
transform: scale(1, 0);
}
5% {
/* transform: translate(0, 8rem); */
opacity: 0.8;
transform: scale(1, 1);
}
95% {
/* transform: translate(0, 8rem); */
opacity: 0.8;
transform: scale(1, 1);
}
100% {
/* transform: translate(0, 0rem); */
opacity: 0;
transform: scale(1, 0);
}
}
@keyframes fade {
0% {
opacity: 1;
}
100% {
opacity: 0.8;
}
}
.notification-cool-down {
animation: cooldown 0.3s 1 linear;
}
@keyframes cooldown {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.opacity-trans {
transition: opacity 0.15s linear;
}