feat: IPAM improvements - server/node subnet binding, theme color fixes
- IPAM link-allocations: filter networks by proxmox_server_id and proxmox_node to prevent cross-server/cross-node IP assignment - IPAM link-allocations: add manual server+network selection modal before linking - IPAM add-network forms: add Proxmox server and node selectors with dynamic cluster-info loading (ipam_dashboard.html, ipam_networks.html) - models.py / schemas.py: add proxmox_node field to IPAMNetwork - migrations: migration #16 adds proxmox_node column to ipam_networks table - Theme fixes: replace all hardcoded rgba/color:#fff/color:white with CSS vars across base.html, virtual_machines.html, instance_detail.html, os_templates.html, proxmox_vms.html, ipam_network_detail.html, ipam_allocations.html - i18n: add proxmox_node, node selector, link-allocations modal keys (ru/en) - Version bump: 1.0.4 -> 1.0.5
This commit is contained in:
@@ -259,12 +259,12 @@
|
||||
|
||||
.vm-type-badge.qemu {
|
||||
background: var(--info);
|
||||
color: white;
|
||||
color: var(--text-on-info);
|
||||
}
|
||||
|
||||
.vm-type-badge.lxc {
|
||||
background: var(--purple);
|
||||
color: white;
|
||||
color: var(--text-on-primary);
|
||||
}
|
||||
|
||||
.vm-cluster-link {
|
||||
@@ -438,7 +438,7 @@
|
||||
gap: 1rem;
|
||||
padding: 0.75rem 1.5rem;
|
||||
background: var(--primary);
|
||||
color: white;
|
||||
color: var(--text-on-primary);
|
||||
animation: slideDown 0.2s ease;
|
||||
}
|
||||
|
||||
@@ -463,7 +463,7 @@
|
||||
border: 1px solid rgba(255,255,255,0.3);
|
||||
border-radius: 6px;
|
||||
background: rgba(255,255,255,0.1);
|
||||
color: white;
|
||||
color: var(--text-on-primary);
|
||||
cursor: pointer;
|
||||
font-size: 0.85rem;
|
||||
transition: all 0.15s ease;
|
||||
@@ -486,7 +486,7 @@
|
||||
.bulk-actions-bar .cancel-btn {
|
||||
background: none;
|
||||
border: none;
|
||||
color: white;
|
||||
color: var(--text-on-primary);
|
||||
cursor: pointer;
|
||||
padding: 0.25rem;
|
||||
opacity: 0.8;
|
||||
@@ -2830,7 +2830,7 @@ async function loadCreateLXCForm() {
|
||||
|
||||
<div style="display: flex; gap: 1rem; justify-content: flex-end; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border-color);">
|
||||
<button type="button" onclick="closeCreateLXCModal()" class="btn btn-secondary">{{ t('cancel') }}</button>
|
||||
<button type="submit" id="createLXCBtn" class="btn" style="background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white;"><i class="fa-solid fa-cube"></i> {{ t('create') }}</button>
|
||||
<button type="submit" id="createLXCBtn" class="btn" style="background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: var(--text-on-primary);"><i class="fa-solid fa-cube"></i> {{ t('create') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
`;
|
||||
@@ -3635,7 +3635,7 @@ window.addEventListener('beforeunload', () => {
|
||||
|
||||
.badge-info {
|
||||
background: var(--info);
|
||||
color: white;
|
||||
color: var(--text-on-info);
|
||||
padding: 0.2rem 0.5rem;
|
||||
border-radius: 4px;
|
||||
font-size: 0.75rem;
|
||||
@@ -3782,7 +3782,7 @@ window.addEventListener('beforeunload', () => {
|
||||
|
||||
.snapshot-queue-indicator .badge {
|
||||
background: var(--primary);
|
||||
color: white;
|
||||
color: var(--text-on-primary);
|
||||
padding: 0.15rem 0.5rem;
|
||||
border-radius: 10px;
|
||||
font-size: 0.75rem;
|
||||
|
||||
Reference in New Issue
Block a user