'use client'; import { useState, useEffect } from 'react'; import { AddigyDevice } from '@/lib/types/addigy'; export default function AddigyDevicesPage() { const [devices, setDevices] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [filterOnline, setFilterOnline] = useState(false); useEffect(() => { fetchDevices(); }, [filterOnline]); const fetchDevices = async () => { setLoading(true); setError(null); try { const url = filterOnline ? '/api/addigy-devices?online=true' : '/api/addigy-devices'; const response = await fetch(url); const result = await response.json(); if (result.success) { setDevices(result.data); } else { setError(result.error || 'Failed to fetch devices'); } } catch (err) { setError(err instanceof Error ? err.message : 'Unknown error'); } finally { setLoading(false); } }; return (

Addigy Devices

{error && (
Error: {error}
)} {loading ? (

Loading devices...

) : ( <>
Found {devices.length} device{devices.length !== 1 ? 's' : ''}
{devices.map((device) => ( ))}
Device Name Model OS Version Current User Status Free Disk Security
{device['Device Name']}
{device['Serial Number'] || 'N/A'}
{device['Device Model Name'] || 'Unknown'} {device['MAC OS X Version'] || device['iOS Version'] || 'N/A'} {device['Current User'] || 'N/A'} {device.online ? 'Online' : 'Offline'} {device['Free Disk Percentage'] !== undefined ? (
{device['Free Disk Percentage']}%
) : ( 'N/A' )}
FW: {device['Firewall Enabled'] ? '✓' : '✗'} FV: {device['FileVault Enabled'] ? '✓' : '✗'}
)}
); }