v8/tools/js/log-file-reader-template.html

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

118 lines
2.3 KiB
HTML
Raw Normal View History

<!-- Copyright 2021 the V8 project authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. -->
<head>
<link href="./index.css" rel="stylesheet" />
</head>
<style>
#fileReader {
height: 100px;
line-height: 100px;
text-align: center;
cursor: pointer;
transition: all 0.5s ease-in-out;
background-color: var(--surface-color);
border: solid 1px var(--file-reader-border-color);
border-radius: 5px;
}
#fileReader:hover {
background-color: var(--primary-color);
color: var(--on-primary-color);
}
.done #fileReader {
display: none;
}
.fail #fileReader {
background-color: var(--error-color);
}
.loading #fileReader {
cursor: wait;
}
#fileReader > input {
display: none;
}
#loader {
display: none;
will-change: rotate;
}
.loading #loader {
display: block;
position: fixed;
z-index: 9999;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: var(--file-reader-background-color);
}
#spinner, #progress, #progressText {
position: absolute;
width: 120px;
height: 120px;
top: 40%;
left: 50%;
margin-left: calc(-60px - 10px);
border-radius: 50%;
}
#spinner {
border: 20px solid var(--surface-color);
border-top: 20px solid var(--primary-color);
animation: spin 1s linear infinite;
will-change: transform;
transform: scale(1.1);
}
#progress, #progressText {
padding: 20px;
}
#progress {
transition: all 0.5s ease-in-out;
}
#progressText {
line-height: 120px;
font-size: 28px;
transform: scale(0.55);
text-align: center;
vertical-align: middle;
background-color: var(--surface-color);
}
#label {
user-select: none;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>
<div id="root">
<div id="fileReader" class="panel" tabindex="1">
<span id="label">
Drag and drop a v8.log file into this area, or click to choose from disk.
</span>
<input id="file" type="file" name="file" />
</div>
<div id="loader">
<div id="progress"></div>
<div id="spinner"></div>
<div id="progressText"></div>
</div>
</div>