376 lines
5.9 KiB
CSS
376 lines
5.9 KiB
CSS
.mainList{
|
|
height: 100vh;
|
|
scroll-behavior: smooth;
|
|
border: solid gray 5px;
|
|
width:100%;
|
|
word-wrap:break-word;
|
|
white-space:pre;
|
|
overflow: auto;
|
|
font-family: monospace;
|
|
text-rendering: auto;
|
|
color: fieldtext;
|
|
letter-spacing: normal;
|
|
word-spacing: normal;
|
|
line-height: normal;
|
|
text-transform: none;
|
|
text-indent: 0px;
|
|
text-shadow: none;
|
|
display: inline-block;
|
|
text-align: start;
|
|
appearance: auto;
|
|
-webkit-rtl-ordering: logical;
|
|
resize: vertical;
|
|
cursor: text;
|
|
background-color: field;
|
|
column-count: initial !important;
|
|
writing-mode: horizontal-tb !important;
|
|
box-sizing: border-box;
|
|
margin: 0em;
|
|
/* border-width: 1px; */
|
|
/* border-style: solid; */
|
|
/* border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133)); */
|
|
/* border-image: initial; */
|
|
padding: 5px;
|
|
/* position: relative; */
|
|
}
|
|
|
|
.inputSearch{
|
|
position: sticky;
|
|
top:0;
|
|
right: 0;
|
|
text-align: right;
|
|
}
|
|
|
|
.inputSearch input{
|
|
width: 30%;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
font-family: "Segoe UI", Roboto, sans-serif;
|
|
background: #f4f6f9;
|
|
}
|
|
|
|
.layout {
|
|
display: flex;
|
|
height: 100vh;
|
|
}
|
|
|
|
/* ===== SIDEBAR ===== */
|
|
.sidebar {
|
|
width: 530px;
|
|
background: #ffffff;
|
|
border-right: 1px solid #e5e7eb;
|
|
padding: 20px;
|
|
}
|
|
|
|
.sidebar h2,
|
|
.sidebar h3 {
|
|
margin-top: 0;
|
|
color: #111827;
|
|
margin-bottom: 0;
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.fileList {
|
|
margin-top: 20px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
height: 72vh;
|
|
}
|
|
|
|
.fileItem {
|
|
padding: 10px 12px;
|
|
margin-bottom: 6px;
|
|
text-decoration: none;
|
|
color: #374151;
|
|
border-radius: 8px;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.fileItem:hover {
|
|
background: #f3f4f6;
|
|
color: #111827;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* ===== MAIN CONTENT ===== */
|
|
.content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: #ffffff;
|
|
}
|
|
|
|
/* ===== TOP BAR ===== */
|
|
.topBar {
|
|
display: flex;
|
|
align-items: center;
|
|
padding-bottom: 15px;
|
|
}
|
|
|
|
.inputContainer {
|
|
padding-bottom: 15px;
|
|
background: #ffffff;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
|
|
.inputContainerRun {
|
|
padding: 15px 20px;
|
|
background: #ffffff;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
|
|
/* ===== BUTTONS ===== */
|
|
.btn {
|
|
padding: 8px 14px;
|
|
background: #2563eb;
|
|
border: none;
|
|
color: white;
|
|
cursor: pointer;
|
|
border-radius: 8px;
|
|
font-weight: 500;
|
|
transition: 0.2s;
|
|
}
|
|
|
|
.btn:hover {
|
|
background: #1d4ed8;
|
|
}
|
|
|
|
.btn.success {
|
|
background: #16a34a;
|
|
}
|
|
|
|
.btn.success:hover {
|
|
background: #15803d;
|
|
}
|
|
|
|
.btn.full {
|
|
width: 100%;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
/* ===== INPUT ===== */
|
|
.input {
|
|
padding: 8px 10px;
|
|
border-radius: 8px;
|
|
border: 1px solid #d1d5db;
|
|
outline: none;
|
|
transition: 0.2s;
|
|
width: 300px;
|
|
}
|
|
|
|
.input:focus {
|
|
border-color: #2563eb;
|
|
box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
|
|
}
|
|
|
|
/* ===== TERMINAL (Search Result) ===== */
|
|
.terminal {
|
|
height: 130px;
|
|
background: #f9fafb;
|
|
color: #111827;
|
|
padding: 15px;
|
|
font-family: monospace;
|
|
border: none;
|
|
resize: none;
|
|
}
|
|
|
|
/* ===== LOG VIEWER ===== */
|
|
.logViewer {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 15px 20px;
|
|
font-family: monospace;
|
|
background: #fafafa;
|
|
max-width: 66vw;
|
|
}
|
|
|
|
.logLine {
|
|
display: flex;
|
|
padding: 3px 0;
|
|
border-bottom: 1px solid #f0f0f0;
|
|
}
|
|
|
|
.logLine:hover {
|
|
background: #f3f4f6;
|
|
}
|
|
|
|
.lineNumber {
|
|
width: 40px;
|
|
color: #9ca3af;
|
|
user-select: none;
|
|
}
|
|
|
|
/* ===== ISSUE PANEL ===== */
|
|
.issuePanel {
|
|
padding: 15px 20px;
|
|
background: #fff7ed;
|
|
border-bottom: 1px solid #fde68a;
|
|
}
|
|
|
|
.issueItem a {
|
|
color: #b91c1c;
|
|
text-decoration: none;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.issueItem a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.dangerTitle {
|
|
color: #dc2626;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
/* ===== FILE NAME ===== */
|
|
.fileName {
|
|
padding: 8px;
|
|
background: #f3f4f6;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.activeFile {
|
|
background: #e0f2fe;
|
|
font-weight: 600;
|
|
color: #0369a1;
|
|
}
|
|
|
|
.loading {
|
|
padding: 20px;
|
|
font-weight: 500;
|
|
color: #2563eb;
|
|
}
|
|
|
|
.detectedPanel {
|
|
padding: 15px 20px;
|
|
background: #f9fafb;
|
|
border-bottom: 1px solid #e5e7eb;
|
|
}
|
|
|
|
.detectedTitle {
|
|
font-weight: 600;
|
|
margin-top: 10px;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.detectedTitle.info {
|
|
color: #2563eb;
|
|
}
|
|
|
|
.detectedTitle.danger {
|
|
color: #dc2626;
|
|
}
|
|
|
|
.detectedItem {
|
|
display: flex;
|
|
align-items: center;
|
|
/* gap: 10px; */
|
|
padding: 6px 8px;
|
|
border-radius: 6px;
|
|
margin-bottom: 4px;
|
|
background: #ffffff;
|
|
border: 1px solid #e5e7eb;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.dangerItem {
|
|
background: #fff1f2;
|
|
border-color: #fecaca;
|
|
}
|
|
|
|
.lineNumberSmall {
|
|
font-size: 12px;
|
|
color: #6b7280;
|
|
width: 30px;
|
|
}
|
|
|
|
.jumpLink {
|
|
margin-left: auto;
|
|
font-size: 12px;
|
|
color: #2563eb;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.jumpLink:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.noIssue {
|
|
padding: 10px;
|
|
background: #ecfdf5;
|
|
border: 1px solid #a7f3d0;
|
|
border-radius: 6px;
|
|
color: #065f46;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.itemDetected{
|
|
margin-left: 4px;
|
|
}
|
|
|
|
.itemDetectedModel {
|
|
margin-left: 4px;
|
|
background-color: rgb(155, 223, 240);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.itemDetectedModel:hover {
|
|
background-color: rgba(151, 190, 216, 0.583);
|
|
}
|
|
|
|
.pagination {
|
|
margin-top: 15px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.pageBtn {
|
|
padding: 6px 10px;
|
|
border: 1px solid #d1d5db;
|
|
background: white;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.pageBtn:hover:not(:disabled) {
|
|
background: #f3f4f6;
|
|
}
|
|
|
|
.pageBtn:disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.pageInfo {
|
|
font-size: 13px;
|
|
color: #6b7280;
|
|
}
|
|
|
|
.isDisabled {
|
|
pointer-events: none;
|
|
opacity: 0.7;
|
|
-moz-user-focus: none;
|
|
-webkit-user-focus: none;
|
|
-ms-user-focus: none;
|
|
-moz-user-modify: read-only;
|
|
-webkit-user-modify: read-only;
|
|
-ms-user-modify: read-only;
|
|
-moz-user-select: none;
|
|
-webkit-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
cursor: not-allowed;
|
|
} |