From 960f68b8ec0ee13a848723470c18621b2ae4e910 Mon Sep 17 00:00:00 2001 From: shats Date: Wed, 27 Aug 2025 19:05:11 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8E=20=D0=BF=D0=BE=20community=20=D0=B2=20=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=B4=D0=B6=D0=B5=D1=80=D0=B0=D1=85=20ASNs,=20Doma?= =?UTF-8?q?ins=20=D0=B8=20IPRanges,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=BE=D0=B4=D1=81=D0=BA=D0=B0=D0=B7=D0=BA=D0=B8?= =?UTF-8?q?=20=D1=81=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D0=BF=D1=86?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/ASNsNewManager.jsx | 25 +++++++++++++++++++++---- frontend/src/DomainsNewManager.jsx | 25 +++++++++++++++++++++---- frontend/src/IPRangesManager.jsx | 25 +++++++++++++++++++++---- 3 files changed, 63 insertions(+), 12 deletions(-) diff --git a/frontend/src/ASNsNewManager.jsx b/frontend/src/ASNsNewManager.jsx index 2aaca7b..f257b6c 100644 --- a/frontend/src/ASNsNewManager.jsx +++ b/frontend/src/ASNsNewManager.jsx @@ -572,11 +572,28 @@ function ASNsNewManager() {

Список ASN {items.length}

{/* Фильтр по community */} - { setFilterCommunity(e.target.value); setCurrentPage(1); }} + title={(() => { + const meta = communities.find(c => c.value === filterCommunity); + if (!meta) return 'Все community'; + const name = meta.name ? meta.name + ' — ' : ''; + const desc = meta.description || ''; + const tags = meta.tags && meta.tags.length ? ' (' + meta.tags.join(', ') + ')' : ''; + return name + desc + tags; + })()} + > - {allCommunities.map(community => ( - - ))} + {allCommunities.map(community => { + const meta = communities.find(c => c.value === community); + const label = meta && meta.name ? `${community} — ${meta.name}` : community; + const title = meta ? `${meta.name ? meta.name + ' — ' : ''}${meta.description || ''}${meta.tags && meta.tags.length ? ' (' + meta.tags.join(', ') + ')' : ''}` : community; + return ( + + ); + })} {/* Поиск */}
diff --git a/frontend/src/DomainsNewManager.jsx b/frontend/src/DomainsNewManager.jsx index 9b29cf2..798ff86 100644 --- a/frontend/src/DomainsNewManager.jsx +++ b/frontend/src/DomainsNewManager.jsx @@ -578,11 +578,28 @@ function DomainsNewManager() {

Список доменов {items.length}

{/* Фильтр по community */} - { setFilterCommunity(e.target.value); setCurrentPage(1); }} + title={(() => { + const meta = communities.find(c => c.value === filterCommunity); + if (!meta) return 'Все community'; + const name = meta.name ? meta.name + ' — ' : ''; + const desc = meta.description || ''; + const tags = meta.tags && meta.tags.length ? ' (' + meta.tags.join(', ') + ')' : ''; + return name + desc + tags; + })()} + > - {allCommunities.map(community => ( - - ))} + {allCommunities.map(community => { + const meta = communities.find(c => c.value === community); + const label = meta && meta.name ? `${community} — ${meta.name}` : community; + const title = meta ? `${meta.name ? meta.name + ' — ' : ''}${meta.description || ''}${meta.tags && meta.tags.length ? ' (' + meta.tags.join(', ') + ')' : ''}` : community; + return ( + + ); + })} {/* Поиск */}
diff --git a/frontend/src/IPRangesManager.jsx b/frontend/src/IPRangesManager.jsx index 51346af..cc5e7ac 100644 --- a/frontend/src/IPRangesManager.jsx +++ b/frontend/src/IPRangesManager.jsx @@ -828,11 +828,28 @@ function IPRangesManager() {

Список IP-диапазонов {items.length}

{/* Фильтр по community */} - { setFilterCommunity(e.target.value); setCurrentPage(1); }} + title={(() => { + const meta = communities.find(c => c.value === filterCommunity); + if (!meta) return 'Все community'; + const name = meta.name ? meta.name + ' — ' : ''; + const desc = meta.description || ''; + const tags = meta.tags && meta.tags.length ? ' (' + meta.tags.join(', ') + ')' : ''; + return name + desc + tags; + })()} + > - {allCommunities.map(community => ( - - ))} + {allCommunities.map(community => { + const meta = communities.find(c => c.value === community); + const label = meta && meta.name ? `${community} — ${meta.name}` : community; + const title = meta ? `${meta.name ? meta.name + ' — ' : ''}${meta.description || ''}${meta.tags && meta.tags.length ? ' (' + meta.tags.join(', ') + ')' : ''}` : community; + return ( + + ); + })} {/* Поиск */}