Improved models dirs, search & ui.

This commit is contained in:
Christian Bastian
2023-12-30 21:03:49 -05:00
parent e7e14764b4
commit c2c46515a2
6 changed files with 610 additions and 249 deletions

View File

@@ -1,8 +1,9 @@
/* comfy table */
.comfy-table {
width: 100%;
table-layout: fixed;
border-collapse: collapse;
table-layout: auto;
border-collapse: separate;
border-spacing: 0;
}
.comfy-table .table-head tr {
@@ -11,36 +12,36 @@
/* comfy tabs */
.comfy-tabs {
color: #fff;
color: var(--fg-color);
}
.comfy-tabs-head {
display: flex;
gap: 8px;
flex-wrap: wrap;
border-bottom: 1px solid #6a6a6a;
border-bottom: 2px solid var(--border-color);
}
.comfy-tabs-head .head-item {
padding: 8px 12px;
border: 1px solid #6a6a6a;
border: 2px solid var(--border-color);
border-bottom: none;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
cursor: pointer;
margin-bottom: -1px;
margin-bottom: 0px;
}
.comfy-tabs-head .head-item.active {
background-color: #2e2e2e;
background-color: var(--comfy-input-bg);
cursor: default;
position: relative;
z-index: 1;
}
.comfy-tabs-body {
background-color: #2e2e2e;
border: 1px solid #6a6a6a;
background-color: var(--comfy-input-bg);
border: 2px solid var(--border-color);
border-top: none;
padding: 16px 0px;
}
@@ -58,21 +59,42 @@
height: 345px;
text-align: center;
overflow: hidden;
border-radius: 8px;
}
.comfy-grid .item img {
width: 100%;
height: 100%;
object-fit: contain;
object-fit: cover;
}
.comfy-grid .item p {
position: absolute;
bottom: 0px;
background-color: #000a;
width: 100%;
margin: 0;
padding: 9px 0px;
.comfy-grid .item div {
background-color: #000a;
width: 100%;
height: 2.2rem;
position: absolute;
bottom: 0;
text-align: center;
line-height: 2.2rem;
}
.comfy-grid .item div > p {
width: calc(100% - 2rem);
overflow-x: scroll;
white-space: nowrap;
display: inline-block;
vertical-align: middle;
margin: 0;
}
.comfy-grid .item div {
scrollbar-width: none;
-ms-overflow-style: none;
}
.comfy-grid .item div ::-webkit-scrollbar {
width: 0;
height: 0;
}
/* comfy radio group */
@@ -87,12 +109,26 @@
gap: 4px;
padding: 4px 8px;
color: var(--input-text);
border: 1px solid var(--border-color);
border: 2px solid var(--comfy-input-bg);
border-radius: 8px;
background-color: var(--comfy-input-bg);
font-size: 18px;
}
.comfy-radio:has(> input[type="radio"]:checked) {
border-color: var(--border-color);
background-color: var(--comfy-menu-bg);
}
.comfy-radio input[type="radio"]:checked + label {
color: var(--fg-color);
}
.radio-input {
opacity: 0;
position: absolute;
}
/* model manager */
.model-manager {
box-sizing: border-box;
@@ -101,7 +137,7 @@
max-width: unset;
max-height: unset;
padding: 10px;
color: #fff;
color: var(--bg-color);
z-index: 2000;
}
@@ -116,12 +152,13 @@
.model-manager input {
padding: 4px 8px;
margin: 0;
border: 2px solid var(--border-color);
}
.model-manager button:disabled,
.model-manager select:disabled,
.model-manager input:disabled {
background-color: #6a6a6a;
background-color: var(--comfy-menu-bg);
filter: brightness(1.2);
cursor: not-allowed;
}
@@ -136,7 +173,7 @@
}
.model-manager ::-webkit-scrollbar {
width: 6px;
width: 16px;
}
.model-manager ::-webkit-scrollbar-track {
@@ -150,6 +187,23 @@
border-radius: 3px;
}
.model-manager .search-text-area::-webkit-input-placeholder {
font-style: italic;
}
.model-manager .search-text-area:-moz-placeholder {
font-style: italic;
}
.model-manager .search-text-area::-moz-placeholder {
font-style: italic;
}
.model-manager .search-text-area:-ms-input-placeholder {
font-style: italic;
}
.icon-button {
aspect-ratio: 1;
}
/* model manager row */
.model-manager .row {
display: flex;
@@ -173,7 +227,7 @@
position: relative;
max-height: 100%;
padding: 0 16px;
overflow-x: hidden;
overflow-x: auto;
}
/* model manager special */
@@ -189,18 +243,33 @@
padding-top: 2px;
margin-top: -2px;
padding-bottom: 18px;
margin-bottom: -2px;
top: 0px;
background-color: #2e2e2e;
margin-bottom: 1px;
top: -1px;
background-color: var(--comfy-input-bg);
z-index: 1;
}
.model-manager [data-name="Install"] input {
flex-grow: 1;
overflow-x: clip;
}
.model-manager .table-head {
position: sticky;
top: 52px;
position: sticky;
top: 116px;
z-index: 1;
}
.model-manager div[data-name="Model List"] .row {
align-items: flex-start;
.model-manager .tab-header {
display: block;
}
.model-manager .tab-header-flex-block {
width: 100%;
}
.model-manager .search-text-area,
.model-manager .source-text-area,
.model-manager .model-type-dropdown {
flex: 1;
}