@sleep2agi/agent-network-dashboard 0.5.3-preview.186 → 0.5.3-preview.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +5 -5
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.html +1 -1
- package/.next/server/app/admin.rsc +1 -1
- package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes.html +1 -1
- package/.next/server/app/nodes.rsc +1 -1
- package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{07py_zy_er3i~.js → 0..6a1jzwijd5.js} +3 -3
- package/.next/static/chunks/{0s9~nswsqvevm.js → 01f8g_ktr-98g.js} +1 -1
- package/.next/static/chunks/{0sxiu57k8epp7.js → 08equ99sf9htj.js} +1 -1
- package/.next/static/chunks/{0slaeid2yti61.js → 148q~v23p6v23.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +66 -4
- package/package.json +1 -1
- package/scripts/topo-layout-toggle-halo-layers-test.mjs +95 -0
- package/scripts/topo-zoom-in-out-halo-layers-test.mjs +97 -0
- /package/.next/static/{RFt0RLWCI45qxmhQraHjM → XoMSWuAAT14npNaWjLHA9}/_buildManifest.js +0 -0
- /package/.next/static/{RFt0RLWCI45qxmhQraHjM → XoMSWuAAT14npNaWjLHA9}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{RFt0RLWCI45qxmhQraHjM → XoMSWuAAT14npNaWjLHA9}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* Round 674 — chrome Layout Ring/Grid toggle pair gain multi-layer
|
|
2
|
+
* halo on hover via new hoveredLayout state ('ring'|'grid'|null).
|
|
3
|
+
* Pre-R674 these buttons had only Tailwind hover:brightness-[1.15]
|
|
4
|
+
* (R597). Post-R674 inline filter uses the same 2+4 stride at pal.
|
|
5
|
+
* legendAccent tint as R667/R668/R673 chrome-control siblings,
|
|
6
|
+
* completing the chrome toggle-controls family closure.
|
|
7
|
+
*
|
|
8
|
+
* 33rd anchor in multi-layer halo family (paired sibling extension).
|
|
9
|
+
*
|
|
10
|
+
* Source assertions:
|
|
11
|
+
* - useState<'ring'|'grid'|null>
|
|
12
|
+
* - both buttons' onMouseEnter/Leave wired with value-typed setter
|
|
13
|
+
* - both inline filters use pal.legendAccent 2+4 stride alpha 80/40
|
|
14
|
+
* - data-topo-chrome-layout-{ring,grid}-halo-layers attrs toggle '2'/'0'
|
|
15
|
+
*
|
|
16
|
+
* Runtime assertions:
|
|
17
|
+
* - both buttons present in DOM
|
|
18
|
+
* - rest state: halo-layers='0' on both
|
|
19
|
+
*/
|
|
20
|
+
import { chromium } from 'playwright';
|
|
21
|
+
import { readFileSync } from 'node:fs';
|
|
22
|
+
|
|
23
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
24
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
25
|
+
|
|
26
|
+
const browser = await chromium.launch({ headless: true });
|
|
27
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
28
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
29
|
+
await ctx.addInitScript(() => {
|
|
30
|
+
try {
|
|
31
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
32
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
33
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
34
|
+
} catch {}
|
|
35
|
+
});
|
|
36
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
37
|
+
const r = await route.fetch();
|
|
38
|
+
const b = await r.json();
|
|
39
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
40
|
+
const mk = (alias) => ({
|
|
41
|
+
alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
42
|
+
network_id: nid, project_dir: null,
|
|
43
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
44
|
+
});
|
|
45
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
|
|
46
|
+
});
|
|
47
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
48
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
49
|
+
const page = await ctx.newPage();
|
|
50
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
51
|
+
await page.waitForSelector('[data-topo-chrome-layout-ring-halo-layers]', { timeout: 15000, state: 'attached' });
|
|
52
|
+
await page.waitForTimeout(500);
|
|
53
|
+
|
|
54
|
+
const restState = await page.evaluate(() => {
|
|
55
|
+
const ring = document.querySelector('[data-topo-chrome-layout="ring"]');
|
|
56
|
+
const grid = document.querySelector('[data-topo-chrome-layout="grid"]');
|
|
57
|
+
return {
|
|
58
|
+
ring_present: !!ring,
|
|
59
|
+
grid_present: !!grid,
|
|
60
|
+
ring_layers: ring?.getAttribute('data-topo-chrome-layout-ring-halo-layers'),
|
|
61
|
+
grid_layers: grid?.getAttribute('data-topo-chrome-layout-grid-halo-layers'),
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
await browser.close();
|
|
66
|
+
|
|
67
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
68
|
+
const sourceState = /const \[hoveredLayout, setHoveredLayout\] = useState<'ring' \| 'grid' \| null>\(null\);/.test(src);
|
|
69
|
+
const sourceRingHandler = /onMouseEnter=\{\(\) => setHoveredLayout\('ring'\)\}/.test(src) &&
|
|
70
|
+
/onMouseLeave=\{\(\) => setHoveredLayout\(\(prev\) => prev === 'ring' \? null : prev\)\}/.test(src);
|
|
71
|
+
const sourceGridHandler = /onMouseEnter=\{\(\) => setHoveredLayout\('grid'\)\}/.test(src) &&
|
|
72
|
+
/onMouseLeave=\{\(\) => setHoveredLayout\(\(prev\) => prev === 'grid' \? null : prev\)\}/.test(src);
|
|
73
|
+
const sourceRingFilter = /filter: hoveredLayout === 'ring' \? `drop-shadow\(0 0 2px \$\{pal\.legendAccent\}80\) drop-shadow\(0 0 4px \$\{pal\.legendAccent\}40\) brightness\(1\.15\)` : undefined/.test(src);
|
|
74
|
+
const sourceGridFilter = /filter: hoveredLayout === 'grid' \? `drop-shadow\(0 0 2px \$\{pal\.legendAccent\}80\) drop-shadow\(0 0 4px \$\{pal\.legendAccent\}40\) brightness\(1\.15\)` : undefined/.test(src);
|
|
75
|
+
const sourceRingAttr = /data-topo-chrome-layout-ring-halo-layers=\{hoveredLayout === 'ring' \? '2' : '0'\}/.test(src);
|
|
76
|
+
const sourceGridAttr = /data-topo-chrome-layout-grid-halo-layers=\{hoveredLayout === 'grid' \? '2' : '0'\}/.test(src);
|
|
77
|
+
|
|
78
|
+
const results = {
|
|
79
|
+
ring_present: restState.ring_present,
|
|
80
|
+
grid_present: restState.grid_present,
|
|
81
|
+
rest_ring_layers_0: restState.ring_layers === '0',
|
|
82
|
+
rest_grid_layers_0: restState.grid_layers === '0',
|
|
83
|
+
source_state: sourceState,
|
|
84
|
+
source_ring_handler: sourceRingHandler,
|
|
85
|
+
source_grid_handler: sourceGridHandler,
|
|
86
|
+
source_ring_filter: sourceRingFilter,
|
|
87
|
+
source_grid_filter: sourceGridFilter,
|
|
88
|
+
source_ring_attr: sourceRingAttr,
|
|
89
|
+
source_grid_attr: sourceGridAttr,
|
|
90
|
+
};
|
|
91
|
+
const ok = Object.values(results).every(Boolean);
|
|
92
|
+
console.log(`${ok ? '✅' : '❌'} R674 chrome Layout ring/grid toggle multi-layer halo:`,
|
|
93
|
+
JSON.stringify(results, null, 2),
|
|
94
|
+
`\n rest: ${JSON.stringify(restState)}`);
|
|
95
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/* Round 673 — chrome zoom-in + zoom-out buttons gain multi-layer
|
|
2
|
+
* halo on hover via new hoveredZoomIn / hoveredZoomOut state. Pre-
|
|
3
|
+
* R673 these buttons had only Tailwind hover:brightness-[1.15] (R596)
|
|
4
|
+
* — a single-axis paint lift. Post-R673 inline filter uses the same
|
|
5
|
+
* 2+4 stride at pal.legendAccent tint as R667 reset+fullscreen and
|
|
6
|
+
* R668 zoom-level pill. The chrome zoom-strip (zoom-out + zoom-level
|
|
7
|
+
* + zoom-in) is now FULLY halo-extended at all 3 controls.
|
|
8
|
+
*
|
|
9
|
+
* 32nd anchor in multi-layer halo family (paired sibling extension).
|
|
10
|
+
*
|
|
11
|
+
* Source assertions:
|
|
12
|
+
* - useState pair for hoveredZoomIn / hoveredZoomOut
|
|
13
|
+
* - both buttons' onMouseEnter/Leave wired
|
|
14
|
+
* - both inline filters use pal.legendAccent 2+4 stride alpha 80/40
|
|
15
|
+
* - data-topo-chrome-zoom-{in,out}-halo-layers attrs toggle '2'/'0'
|
|
16
|
+
*
|
|
17
|
+
* Runtime assertions:
|
|
18
|
+
* - both buttons present in DOM
|
|
19
|
+
* - rest state: halo-layers='0' on both
|
|
20
|
+
*/
|
|
21
|
+
import { chromium } from 'playwright';
|
|
22
|
+
import { readFileSync } from 'node:fs';
|
|
23
|
+
|
|
24
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
25
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
26
|
+
|
|
27
|
+
const browser = await chromium.launch({ headless: true });
|
|
28
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
29
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
30
|
+
await ctx.addInitScript(() => {
|
|
31
|
+
try {
|
|
32
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
33
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
34
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
35
|
+
} catch {}
|
|
36
|
+
});
|
|
37
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
38
|
+
const r = await route.fetch();
|
|
39
|
+
const b = await r.json();
|
|
40
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
41
|
+
const mk = (alias) => ({
|
|
42
|
+
alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
43
|
+
network_id: nid, project_dir: null,
|
|
44
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
45
|
+
});
|
|
46
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
|
|
47
|
+
});
|
|
48
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
49
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
50
|
+
const page = await ctx.newPage();
|
|
51
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
52
|
+
await page.waitForSelector('[data-topo-chrome-zoom-in-halo-layers]', { timeout: 15000, state: 'attached' });
|
|
53
|
+
await page.waitForTimeout(500);
|
|
54
|
+
|
|
55
|
+
const restState = await page.evaluate(() => {
|
|
56
|
+
const zin = document.querySelector('[data-topo-chrome-zoom-in-halo-layers]');
|
|
57
|
+
const zout = document.querySelector('[data-topo-chrome-zoom-out-halo-layers]');
|
|
58
|
+
return {
|
|
59
|
+
zin_present: !!zin,
|
|
60
|
+
zout_present: !!zout,
|
|
61
|
+
zin_layers: zin?.getAttribute('data-topo-chrome-zoom-in-halo-layers'),
|
|
62
|
+
zout_layers: zout?.getAttribute('data-topo-chrome-zoom-out-halo-layers'),
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
await browser.close();
|
|
67
|
+
|
|
68
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
69
|
+
const sourceState = /const \[hoveredZoomIn, setHoveredZoomIn\] = useState\(false\);/.test(src) &&
|
|
70
|
+
/const \[hoveredZoomOut, setHoveredZoomOut\] = useState\(false\);/.test(src);
|
|
71
|
+
const sourceZinHandler = /onMouseEnter=\{\(\) => setHoveredZoomIn\(true\)\}/.test(src) &&
|
|
72
|
+
/onMouseLeave=\{\(\) => setHoveredZoomIn\(false\)\}/.test(src);
|
|
73
|
+
const sourceZoutHandler = /onMouseEnter=\{\(\) => setHoveredZoomOut\(true\)\}/.test(src) &&
|
|
74
|
+
/onMouseLeave=\{\(\) => setHoveredZoomOut\(false\)\}/.test(src);
|
|
75
|
+
const sourceZinFilter = /filter: hoveredZoomIn \? `drop-shadow\(0 0 2px \$\{pal\.legendAccent\}80\) drop-shadow\(0 0 4px \$\{pal\.legendAccent\}40\) brightness\(1\.15\)` : undefined/.test(src);
|
|
76
|
+
const sourceZoutFilter = /filter: hoveredZoomOut \? `drop-shadow\(0 0 2px \$\{pal\.legendAccent\}80\) drop-shadow\(0 0 4px \$\{pal\.legendAccent\}40\) brightness\(1\.15\)` : undefined/.test(src);
|
|
77
|
+
const sourceZinAttr = /data-topo-chrome-zoom-in-halo-layers=\{hoveredZoomIn \? '2' : '0'\}/.test(src);
|
|
78
|
+
const sourceZoutAttr = /data-topo-chrome-zoom-out-halo-layers=\{hoveredZoomOut \? '2' : '0'\}/.test(src);
|
|
79
|
+
|
|
80
|
+
const results = {
|
|
81
|
+
zin_present: restState.zin_present,
|
|
82
|
+
zout_present: restState.zout_present,
|
|
83
|
+
rest_zin_layers_0: restState.zin_layers === '0',
|
|
84
|
+
rest_zout_layers_0: restState.zout_layers === '0',
|
|
85
|
+
source_state: sourceState,
|
|
86
|
+
source_zin_handler: sourceZinHandler,
|
|
87
|
+
source_zout_handler:sourceZoutHandler,
|
|
88
|
+
source_zin_filter: sourceZinFilter,
|
|
89
|
+
source_zout_filter: sourceZoutFilter,
|
|
90
|
+
source_zin_attr: sourceZinAttr,
|
|
91
|
+
source_zout_attr: sourceZoutAttr,
|
|
92
|
+
};
|
|
93
|
+
const ok = Object.values(results).every(Boolean);
|
|
94
|
+
console.log(`${ok ? '✅' : '❌'} R673 chrome zoom-in/-out multi-layer halo (completes chrome zoom-strip trio):`,
|
|
95
|
+
JSON.stringify(results, null, 2),
|
|
96
|
+
`\n rest: ${JSON.stringify(restState)}`);
|
|
97
|
+
process.exit(ok ? 0 : 1);
|
|
File without changes
|
/package/.next/static/{RFt0RLWCI45qxmhQraHjM → XoMSWuAAT14npNaWjLHA9}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|