Integrate probe endpoint into frontend
- Add ProbeAPI client (js/api/probe.js) - Add reusable modal component (js/ui/modal.js) with overlay, animations - Call GET /api/v1/probe after Check Address click - Auto-fill Camera Model with vendor from ARP/OUI lookup - Show modal on unreachable device with Change IP / Continue Anyway buttons - Add modal CSS styles matching existing dark theme
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
export class ProbeAPI {
|
||||
constructor(baseURL = '') {
|
||||
this.baseURL = baseURL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Probe a device at the given IP address.
|
||||
* Returns device info: reachable status, vendor, hostname, mDNS data.
|
||||
* @param {string} ip - IP address to probe
|
||||
* @returns {Promise<Object>} Probe response
|
||||
*/
|
||||
async probe(ip) {
|
||||
const response = await fetch(
|
||||
`${this.baseURL}api/v1/probe?ip=${encodeURIComponent(ip)}`
|
||||
);
|
||||
|
||||
if (!response.ok) {
|
||||
const text = await response.text();
|
||||
throw new Error(text || `HTTP ${response.status}`);
|
||||
}
|
||||
|
||||
return await response.json();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user