Improve Ollama setup and model endpoint handling
This commit is contained in:
131
static/style.css
131
static/style.css
@@ -2578,6 +2578,26 @@ body.bg-pattern-sparkles {
|
||||
animation: picker-roll-down 0.15s ease-in forwards;
|
||||
}
|
||||
.model-picker-menu.hidden { display: none; }
|
||||
.model-picker-search-row {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) 30px;
|
||||
gap: 4px;
|
||||
align-items: center;
|
||||
margin-bottom: 4px;
|
||||
transition: grid-template-columns 0.18s ease, gap 0.18s ease;
|
||||
}
|
||||
.model-picker-menu.no-models .model-picker-search-row {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.model-picker-search-row.searching {
|
||||
grid-template-columns: minmax(0, 1fr) 0px;
|
||||
gap: 0;
|
||||
}
|
||||
.model-picker-search-row.searching .model-picker-action-btn {
|
||||
opacity: 0;
|
||||
transform: translateX(10px) scale(0.88);
|
||||
pointer-events: none;
|
||||
}
|
||||
.model-picker-menu input[type="text"] {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
@@ -2589,8 +2609,8 @@ body.bg-pattern-sparkles {
|
||||
color: var(--fg);
|
||||
font-family: inherit;
|
||||
outline: none;
|
||||
margin-bottom: 4px;
|
||||
transition: border-color 0.15s;
|
||||
min-width: 0;
|
||||
transition: border-color 0.15s, padding 0.18s ease, background 0.18s ease;
|
||||
}
|
||||
.model-picker-menu input[type="text"]:focus {
|
||||
border-color: var(--red);
|
||||
@@ -2598,10 +2618,51 @@ body.bg-pattern-sparkles {
|
||||
.model-picker-menu input[type="text"]::placeholder {
|
||||
color: color-mix(in srgb, var(--fg) 30%, transparent);
|
||||
}
|
||||
.model-picker-action-btn {
|
||||
appearance: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
background: color-mix(in srgb, var(--fg) 4%, transparent);
|
||||
color: color-mix(in srgb, var(--fg) 66%, transparent);
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
transform: translateX(0) scale(1);
|
||||
transition: opacity 0.16s ease, transform 0.18s ease, border-color 0.15s, color 0.15s, background 0.15s;
|
||||
}
|
||||
.model-picker-action-btn:hover,
|
||||
.model-picker-action-btn:focus-visible {
|
||||
border-color: var(--red);
|
||||
color: var(--fg);
|
||||
background: color-mix(in srgb, var(--red) 10%, var(--panel));
|
||||
outline: none;
|
||||
}
|
||||
.model-picker-action-btn.primary {
|
||||
color: var(--red);
|
||||
background: color-mix(in srgb, var(--red) 8%, transparent);
|
||||
}
|
||||
.model-picker-action-btn svg {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
transition: transform 0.28s ease;
|
||||
}
|
||||
.model-picker-action-btn:hover svg,
|
||||
.model-picker-action-btn:focus-visible svg {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.model-picker-list {
|
||||
max-height: min(280px, 50dvh);
|
||||
overflow-y: auto;
|
||||
}
|
||||
.model-picker-list.is-empty {
|
||||
max-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.model-picker-list .model-switch-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -2615,6 +2676,14 @@ body.bg-pattern-sparkles {
|
||||
.model-picker-list .model-switch-item:hover {
|
||||
background: color-mix(in srgb, var(--red) 8%, transparent);
|
||||
}
|
||||
.model-picker-list .model-switch-empty {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 5px 8px;
|
||||
color: color-mix(in srgb, var(--fg) 50%, transparent);
|
||||
font-size: 0.82em;
|
||||
}
|
||||
.model-picker-list .mp-section-label {
|
||||
font-size: 0.72em;
|
||||
text-transform: uppercase;
|
||||
@@ -13102,9 +13171,54 @@ body:has(.doc-version-panel:not(.hidden)) .hamburger-btn {
|
||||
/* Collapsed: hide the form body and point the caret right. */
|
||||
.adm-add-section.collapsed .admin-model-form { display: none; }
|
||||
.adm-add-section.collapsed .adm-section-caret { transform: rotate(-90deg); }
|
||||
.adm-quickstart-section {
|
||||
margin-top: 7px;
|
||||
}
|
||||
.adm-quickstart-toggle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
opacity: 0.72;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 6px;
|
||||
padding: 4px 8px;
|
||||
font-size: 11px;
|
||||
background: color-mix(in srgb, var(--fg) 3%, transparent);
|
||||
}
|
||||
.adm-quickstart-toggle:hover {
|
||||
opacity: 1;
|
||||
border-color: var(--red);
|
||||
}
|
||||
.adm-quickstart-section:not(.collapsed) .adm-quickstart-toggle {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.adm-quickstart-body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
border: 1px solid var(--border);
|
||||
border-top: 0;
|
||||
border-radius: 0 0 6px 6px;
|
||||
padding: 6px 8px;
|
||||
}
|
||||
.adm-quickstart-section.collapsed .adm-quickstart-body { display: none; }
|
||||
.adm-quickstart-section.collapsed .adm-section-caret { transform: rotate(-90deg); }
|
||||
|
||||
/* Custom provider picker (logo + name) replacing the native <select> */
|
||||
.adm-provider-picker { position: relative; margin-bottom: 6px; }
|
||||
.adm-provider-combo {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
}
|
||||
.adm-provider-combo input {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.adm-provider-btn {
|
||||
width: 100%;
|
||||
display: flex; align-items: center; gap: 8px;
|
||||
@@ -13113,6 +13227,14 @@ body:has(.doc-version-panel:not(.hidden)) .hamburger-btn {
|
||||
padding: 5px 8px; font-family: inherit; font-size: 12px;
|
||||
cursor: pointer; text-align: left;
|
||||
}
|
||||
.adm-provider-combo .adm-provider-btn {
|
||||
width: 128px;
|
||||
flex-shrink: 0;
|
||||
border-left: 0;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.adm-provider-btn:hover { border-color: color-mix(in srgb, var(--fg) 30%, var(--border)); }
|
||||
.adm-provider-current { flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; }
|
||||
.adm-provider-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
||||
@@ -13343,6 +13465,11 @@ body:has(.doc-version-panel:not(.hidden)) .hamburger-btn {
|
||||
gap: 6px;
|
||||
}
|
||||
.admin-model-form-row input { flex: 1; }
|
||||
.adm-ep-inline-msg {
|
||||
min-height: 16px;
|
||||
margin-top: 5px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
/* Endpoint items */
|
||||
.admin-ep-item {
|
||||
|
||||
Reference in New Issue
Block a user