Improve graph/map UX and move contact editing to dedicated pages.

Add viewport controls, collapsible panels with persisted state, filters modal, and refined context menus; preserve map layout on navigation and let contacts be edited with relations on /contacts/:id instead of list modals.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
gitrusprus
2026-07-06 15:15:45 +03:00
co-authored by Cursor
parent 10e7d65a00
commit 986d36ff51
22 changed files with 1638 additions and 623 deletions
+9 -12
View File
@@ -18,16 +18,10 @@
</div>
<div class="network-map-actions">
<slot name="toolbar" />
<button class="btn btn-secondary btn-sm" @click="$emit('fit')">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" />
</svg>
По центру
</button>
</div>
</div>
<div v-show="!collapsed" class="network-map-legend">
<div v-show="!collapsed && showLegend" class="network-map-legend">
<slot name="legend" />
</div>
</div>
@@ -41,25 +35,28 @@ defineProps({
type: String,
default: '',
},
showLegend: { type: Boolean, default: true },
})
defineEmits(['toggle-collapse', 'fit'])
defineEmits(['toggle-collapse'])
</script>
<style scoped>
.network-map-top-panel {
position: relative;
z-index: 5;
border-bottom: 1px solid var(--border);
flex-shrink: 0;
padding-bottom: 10px;
}
.network-map-top-panel.collapsed {
min-height: 0;
border-bottom: none;
min-height: 28px;
padding-bottom: 10px;
}
.panel-toggle-btn {
position: absolute;
bottom: -11px;
bottom: 4px;
left: 50%;
z-index: 4;
z-index: 6;
width: 28px;
height: 20px;
margin-left: -14px;