MAp management and helpers

This commit is contained in:
2026-06-02 00:16:08 +02:00
parent 49423f40f5
commit efe37b8a96
22 changed files with 1163 additions and 71 deletions
+453 -3
View File
@@ -366,7 +366,92 @@ button.btn-calculate:hover,
font-size: 0.78em;
}
.mgt2-sector-map-share {
.mgt2-sector-map-search {
position: relative;
flex-shrink: 0;
}
.mgt2-sector-map-input {
width: 180px;
padding: 4px 8px;
font-size: 0.8em;
border: 1px solid #555;
border-radius: 3px;
background: #2c2c3e;
color: #d9b24c;
outline: none;
}
.mgt2-sector-map-input::placeholder {
color: #7a755a;
}
.mgt2-sector-map-input:focus {
border-color: #c9a227;
}
.mgt2-sector-map-results {
position: absolute;
top: 100%;
left: 0;
right: 0;
max-height: 280px;
overflow-y: auto;
background: #2c2c3e;
border: 1px solid #c9a227;
border-top: none;
border-radius: 0 0 4px 4px;
z-index: 999;
list-style: none;
margin: 0;
padding: 0;
}
.mgt2-sector-map-results li {
padding: 5px 8px;
cursor: pointer;
font-size: 0.78em;
color: #d8c79a;
border-bottom: 1px solid #3a3a50;
display: flex;
gap: 6px;
align-items: baseline;
}
.mgt2-sector-map-results li:last-child {
border-bottom: none;
}
.mgt2-sector-map-results li:hover {
background: #3a3a50;
}
.mgt2-sector-map-results .no-result {
color: #7a755a;
font-style: italic;
cursor: default;
}
.mgt2-sector-map-results .world-name {
font-weight: bold;
color: #d9b24c;
}
.mgt2-sector-map-results .world-uwp {
font-family: 'Courier New', monospace;
font-size: 0.9em;
color: #a99c7a;
}
.mgt2-sector-map-results .world-sector {
margin-left: auto;
color: #7a755a;
font-size: 0.9em;
}
.mgt2-sector-map-share,
.mgt2-sector-map-sync,
.mgt2-sector-map-travel {
background: #c9a227;
color: #1a1a2e;
border: none;
@@ -378,7 +463,9 @@ button.btn-calculate:hover,
flex-shrink: 0;
}
.mgt2-sector-map-share:hover {
.mgt2-sector-map-share:hover,
.mgt2-sector-map-sync:hover,
.mgt2-sector-map-travel:hover {
background: #d9b24c;
}
@@ -492,7 +579,36 @@ button.btn-calculate:hover,
}
.mgt2-world-card-body summary:hover {
background: rgba(201, 162, 39, 0.08);
background: #eae4d4;
}
.mgt2-world-card-actions {
padding: 6px 12px 8px;
text-align: right;
border-top: 1px solid #ddd0bc;
}
.mgt2-world-commerce {
display: inline-block;
padding: 4px 14px;
background: #c9a227;
color: #fff;
border-radius: 3px;
font-size: 0.85em;
font-weight: 600;
cursor: pointer;
text-decoration: none;
transition: background 0.15s;
}
.mgt2-world-commerce:hover {
background: #b89020;
color: #fff;
text-decoration: none;
}
.mgt2-world-commerce i {
margin-right: 4px;
}
.fold-label {
@@ -604,3 +720,337 @@ button.btn-calculate:hover,
max-width: 100%;
height: auto;
}
/* ══════════════════════════════════════════════════════
Travel Dialog (planificateur de voyage)
══════════════════════════════════════════════════════ */
#mgt2-travel-dialog .window-content {
background: #f5f0e8;
font-family: 'Signika', sans-serif;
color: #222;
padding: 12px;
}
.travel-form {
display: flex;
flex-direction: column;
gap: 12px;
height: 100%;
}
.travel-worlds {
display: flex;
align-items: flex-end;
gap: 10px;
}
.travel-world-block {
flex: 1;
min-width: 0;
}
.travel-world-block label {
display: block;
font-weight: 600;
margin-bottom: 4px;
font-size: 0.9em;
color: #444;
}
.travel-world-block label i {
margin-right: 4px;
color: #c9a227;
}
.travel-search-widget input {
width: 100%;
padding: 6px 8px;
border: 1px solid #b5a68b;
border-radius: 3px;
background: #fff;
color: #222;
font-size: 0.9em;
box-sizing: border-box;
}
.travel-search-widget input:focus {
outline: none;
border-color: #c9a227;
box-shadow: 0 0 4px rgba(201, 162, 39, 0.4);
}
.travel-search-widget {
position: relative;
}
.travel-from-results,
.travel-to-results {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 100;
background: #fff;
border: 1px solid #b5a68b;
border-top: none;
max-height: 200px;
overflow-y: auto;
list-style: none;
margin: 0;
padding: 0;
border-radius: 0 0 3px 3px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.travel-from-results li,
.travel-to-results li {
padding: 6px 8px;
cursor: pointer;
display: flex;
gap: 8px;
align-items: baseline;
font-size: 0.85em;
color: #222;
border-bottom: 1px solid #eee;
}
.travel-from-results li:last-child,
.travel-to-results li:last-child {
border-bottom: none;
}
.travel-from-results li:hover,
.travel-to-results li:hover {
background: #e8e0d0;
}
.travel-from-results .no-result,
.travel-to-results .no-result {
color: #888;
cursor: default;
font-style: italic;
}
.travel-from-results .world-name,
.travel-to-results .world-name {
font-weight: 600;
white-space: nowrap;
}
.travel-from-results .world-sector,
.travel-to-results .world-sector {
color: #666;
font-size: 0.85em;
white-space: nowrap;
}
.travel-from-results .world-hex,
.travel-to-results .world-hex {
color: #888;
font-size: 0.8em;
font-family: monospace;
margin-left: auto;
}
.travel-jump-selector {
flex: 0 0 80px;
text-align: center;
}
.travel-jump-selector label {
display: block;
font-weight: 600;
margin-bottom: 4px;
font-size: 0.9em;
color: #444;
}
.travel-jump-selector select {
width: 100%;
padding: 6px;
border: 1px solid #b5a68b;
border-radius: 3px;
background: #fff;
color: #222;
font-size: 0.9em;
text-align: center;
}
.travel-actions {
text-align: center;
}
.travel-actions button {
padding: 8px 24px;
background: #c9a227;
color: #fff;
border: none;
border-radius: 4px;
font-size: 1em;
font-weight: 600;
cursor: pointer;
transition: background 0.15s;
}
.travel-actions button:hover {
background: #b89020;
}
.travel-actions button i {
margin-right: 6px;
}
.travel-results {
flex: 1;
overflow-y: auto;
min-height: 60px;
border-top: 1px solid #d4c9b8;
padding-top: 12px;
}
.travel-loading {
text-align: center;
color: #888;
padding: 20px;
font-style: italic;
}
.travel-loading i {
margin-right: 8px;
}
.travel-error {
padding: 12px 16px;
background: #fce4e4;
border: 1px solid #e8b4b4;
border-radius: 4px;
color: #a33;
font-size: 0.9em;
}
.travel-route-summary {
padding: 10px 14px;
background: #e4eed4;
border: 1px solid #b8d498;
border-radius: 4px;
font-size: 1em;
margin-bottom: 8px;
}
.travel-route-summary i {
margin-right: 6px;
color: #5a8a2a;
}
.travel-route-duration {
padding: 6px 14px;
font-size: 0.9em;
color: #666;
margin-bottom: 8px;
}
.travel-route-duration i {
margin-right: 6px;
}
.travel-jump-list {
list-style: none;
margin: 0;
padding: 0;
}
.travel-jump-list li {
padding: 6px 0;
border-bottom: 1px solid #e8e0d0;
}
.travel-jump-list li:last-child {
border-bottom: none;
}
.jump-segment {
display: flex;
align-items: center;
gap: 8px;
}
.jump-world {
flex: 1;
min-width: 0;
}
.jump-world-name {
display: block;
font-weight: 600;
font-size: 0.95em;
}
.jump-world-detail {
display: block;
font-size: 0.8em;
color: #888;
}
.jump-to {
text-align: right;
}
.jump-arrow {
flex: 0 0 24px;
text-align: center;
color: #c9a227;
font-size: 1.1em;
}
.jump-distance {
flex: 0 0 60px;
text-align: center;
font-weight: 700;
font-size: 0.9em;
padding: 2px 8px;
background: #eee8d8;
border-radius: 3px;
color: #555;
}
/* Journal de trajet */
.travel-journal-actions {
text-align: center;
padding-top: 8px;
border-top: 1px solid #d4c9b8;
margin-top: 8px;
}
.travel-journal-actions button {
padding: 8px 24px;
background: #5a7a2a;
color: #fff;
border: none;
border-radius: 4px;
font-size: 1em;
font-weight: 600;
cursor: pointer;
transition: background 0.15s;
}
.travel-journal-actions button:hover {
background: #4a6822;
}
.travel-journal-actions button i {
margin-right: 6px;
}
a.mgt2-world-link {
color: #6a3a8a;
font-weight: 600;
cursor: pointer;
text-decoration: underline;
text-decoration-style: dotted;
}
a.mgt2-world-link:hover {
color: #8a4aaa;
}