From d3dbd1e33af8e31378de75b74c78f416acb1c115 Mon Sep 17 00:00:00 2001 From: Joshua Higgins Date: Sun, 4 Jan 2026 00:38:04 -0500 Subject: [PATCH] v1.0.0 --- LICENSE | 21 + README.md | 112 +-- app.json | 5 +- app/(tabs)/_layout.tsx | 19 +- app/(tabs)/index.tsx | 367 +++++++--- app/(tabs)/settings.tsx | 454 ++++++------ app/_layout.tsx | 94 ++- app/add-device.tsx | 236 ------ app/devices/[id].tsx | 350 --------- app/index.tsx | 21 + app/login.tsx | 358 +++++----- app/scan-devices.tsx | 753 +++++++++----------- assets/images/splash-icon.png | Bin 17547 -> 271280 bytes assets/remotewol-ios.icon/Assets/gopher.svg | 114 +++ assets/remotewol-ios.icon/icon.json | 37 + package-lock.json | 35 + package.json | 1 + src/context/AuthContext.tsx | 19 +- src/services/api.ts | 423 +++++------ src/types/index.ts | 72 +- 20 files changed, 1622 insertions(+), 1869 deletions(-) create mode 100644 LICENSE delete mode 100644 app/add-device.tsx delete mode 100644 app/devices/[id].tsx create mode 100644 app/index.tsx create mode 100644 assets/remotewol-ios.icon/Assets/gopher.svg create mode 100644 assets/remotewol-ios.icon/icon.json diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0c86b2d --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Joshua Higgins + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 76b1807..0343f01 100644 --- a/README.md +++ b/README.md @@ -17,24 +17,23 @@ A React Native Expo app that connects to an UpSnap server and provides mobile ac - Node.js installed - Expo CLI installed (`npm install -g expo-cli`) -- An UpSnap server instance running (e.g., https://wol.f6knight.duckdns.org/) +- An UpSnap server instance running ### Installation 1. Install dependencies: ```bash -npm install +npm i ``` 2. Start the development server: ```bash -npm start +npx expo run ``` 3. Run on your preferred platform: - - iOS: Press `i` in the terminal or run `npm run ios` - - Android: Press `a` in the terminal or run `npm run android` - - Web: Press `w` in the terminal or run `npm run web` + - iOS: Press `i` in the terminal or run `npx expo run:ios` + - Android: Press `a` in the terminal or run `npx expo run:android` ## Usage @@ -42,25 +41,15 @@ npm start 1. Open the app 2. Enter your UpSnap server credentials: + - Server Address - Username or Email - Password - - Check "Login as Admin" if you're an admin user 3. Tap "Login" ### Device Management #### Adding a Device -1. Tap the "+ Add" button in the Devices screen -2. Fill in the required fields: - - Device Name (e.g., "My PC") - - MAC Address (format: XX:XX:XX:XX:XX:XX) - - IP Address - - Optional: Netmask, Broadcast Address, SecureOn Password, Port -3. Tap "Add Device" - -#### Scanning for Devices - 1. Tap the "Scan" button in the Devices screen 2. Wait for the network scan to complete 3. Tap on a discovered device to add it to your list @@ -68,7 +57,6 @@ npm start #### Managing Devices - **View Devices**: Scroll through the list on the main screen -- **Device Details**: Tap on a device card to view and edit details - **Wake Device**: Tap the green "Wake" button on a device card - **Sleep Device**: Tap the orange "Sleep" button - **Reboot Device**: Tap the blue "Reboot" button @@ -80,93 +68,8 @@ npm start - 🔴 Red dot: Device is offline - 🟠 Orange dot: Status unknown -## Screens - -### Login Screen -- Username/email and password fields -- Admin login option -- Persistent authentication using AsyncStorage - -### Devices Screen -- List of all devices with status indicators -- Quick action buttons for each device -- Pull-to-refresh for updating status -- Add device and scan network buttons - -### Device Details Screen -- View all device information -- Edit device details -- Delete device option - -### Add Device Screen -- Manual device entry form -- All required and optional fields -- Input validation - -### Scan Devices Screen -- Network scanning functionality -- List of discovered devices -- Quick add to device list - -### Settings Screen -- User information display -- Server configuration -- Logout option -- Clear data option - -## API Integration - -The app connects to an UpSnap server via its REST API: - -- **Authentication**: `/api/collections/users/auth-with-password` or `/api/collections/_superusers/auth-with-password` -- **Devices**: `/api/collections/devices/records` -- **Wake**: `/api/upsnap/wake/:id` -- **Sleep**: `/api/collections/upsnap/sleep/:id` -- **Reboot**: `/api/upsnap/reboot/:id` -- **Shutdown**: `/api/upsnap/shutdown/:id` -- **Scan**: `/api/upsnap/scan` - -## Project Structure - -``` -src/ -├── components/ # Reusable components -├── context/ # React context providers (AuthContext) -├── navigation/ # Navigation setup -├── screens/ # All app screens -│ ├── LoginScreen.tsx -│ ├── DeviceListScreen.tsx -│ ├── DeviceDetailsScreen.tsx -│ ├── AddDeviceScreen.tsx -│ ├── ScanDevicesScreen.tsx -│ └── SettingsScreen.tsx -├── services/ # API service -│ └── api.ts -└── types/ # TypeScript type definitions - └── index.ts -``` - -## Tech Stack - -- **React Native**: Cross-platform mobile framework -- **Expo**: Development platform -- **TypeScript**: Type safety -- **React Navigation**: Navigation library -- **AsyncStorage**: Local data persistence - -## Server Configuration - -The app is pre-configured to connect to: -- Server URL: `https://wol.f6knight.duckdns.org` -- API Base: `/api` - -To change the server URL, modify the `API_BASE_URL` constant in `src/services/api.ts`. - ## Security Notes -- Authentication tokens are stored securely in AsyncStorage -- All API calls require authentication -- Destructive actions (sleep, reboot, shutdown) require confirmation - Never expose your UpSnap server to the open web without proper security measures ## Troubleshooting @@ -174,7 +77,6 @@ To change the server URL, modify the `API_BASE_URL` constant in `src/services/ap ### Login Issues - Verify your username/email and password are correct -- Check if you need to log in as admin - Ensure your UpSnap server is accessible ### Network Scan Issues @@ -192,7 +94,7 @@ To change the server URL, modify the `API_BASE_URL` constant in `src/services/ap ## License -This project is a mobile companion to UpSnap, which is licensed under the MIT License. +This project is licensed under the MIT License. ## Credits diff --git a/app.json b/app.json index fca5712..34426dd 100644 --- a/app.json +++ b/app.json @@ -1,6 +1,6 @@ { "expo": { - "name": "remote-wol", + "name": "Remote WoL", "slug": "remote-wol", "version": "1.0.0", "orientation": "portrait", @@ -10,7 +10,8 @@ "newArchEnabled": true, "ios": { "supportsTablet": true, - "bundleIdentifier": "com.anonymous.remote-wol" + "icon": "./assets/remotewol-ios.icon", + "bundleIdentifier": "com.abunchofknowitalls.remotewol-upsnap" }, "android": { "adaptiveIcon": { diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 4ee0119..b72288a 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -1,11 +1,14 @@ -import React from "react"; import { Ionicons } from "@expo/vector-icons"; import { useRouter } from "expo-router"; -import { View, TouchableOpacity, StyleSheet } from "react-native"; -import { NativeTabs, Icon, Label } from "expo-router/unstable-native-tabs"; +import { Icon, Label, NativeTabs } from "expo-router/unstable-native-tabs"; +import React from "react"; +import { StyleSheet, TouchableOpacity, View } from "react-native"; +import { useColorScheme } from "../../hooks/use-color-scheme"; export function DevicesHeader() { const router = useRouter(); + const isDark = useColorScheme() === "dark"; + const activityColor = isDark ? "#0A84FF" : "#007AFF"; return ( @@ -13,7 +16,7 @@ export function DevicesHeader() { onPress={() => router.push("/scan-devices")} style={styles.headerButton} > - + ); @@ -23,12 +26,12 @@ export default function TabsLayout() { return ( - - + + - - + + ); diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 222a990..5321b75 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -1,66 +1,111 @@ -import React, { useState, useEffect } from "react"; -import { - View, - Text, - FlatList, - TouchableOpacity, - StyleSheet, - RefreshControl, - Alert, - ActivityIndicator, -} from "react-native"; -import { ContextMenu, Button as SwiftUIButton, Host } from "@expo/ui/swift-ui"; -import { useRouter, useLocalSearchParams, Stack } from "expo-router"; +import { ContextMenu, Host, Button as SwiftUIButton } from "@expo/ui/swift-ui"; import { Ionicons } from "@expo/vector-icons"; +import { SymbolView } from "expo-symbols"; +import React, { useCallback, useEffect, useState } from "react"; +import { + ActivityIndicator, + Alert, + AppState, + FlatList, + RefreshControl, + StyleSheet, + Text, + TouchableOpacity, + View, +} from "react-native"; +import { useColorScheme } from "../../hooks/use-color-scheme"; import api from "../../src/services/api"; import { Device } from "../../src/types"; - -function DevicesHeader() { - const router = useRouter(); - - return ( - - router.push("/scan-devices")}> - - - - ); -} +import * as Burnt from "burnt"; export default function DeviceListScreen() { - const router = useRouter(); + const colorScheme = useColorScheme() ?? "light"; + const isDark = colorScheme === "dark"; + const bgColor = isDark ? "#0b0b0d" : "#f5f5f5"; + const cardBg = isDark ? "#1c1c1e" : "#fff"; + const textColor = isDark ? "#ffffff" : "#333333"; + const subTextColor = isDark ? "#c6c6c8" : "#666666"; + const activityColor = isDark ? "#0A84FF" : "#007AFF"; + const [devices, setDevices] = useState([]); const [isLoading, setIsLoading] = useState(true); const [refreshing, setRefreshing] = useState(false); - useEffect(() => { - loadDevices(); - }, []); - - const loadDevices = async () => { + const fetchDevices = useCallback(async (showLoading = false) => { try { - setIsLoading(true); + if (showLoading) setIsLoading(true); const data = await api.getDevices(); setDevices(data); } catch (error: any) { - Alert.alert("Error", error.message || "Failed to load devices"); + // For background/periodic refreshes, avoid interruptive alerts + if (showLoading) { + Alert.alert("Error", error.message || "Failed to load devices"); + } } finally { - setIsLoading(false); + if (showLoading) setIsLoading(false); } - }; + }, []); + + useEffect(() => { + fetchDevices(true); + }, [fetchDevices]); + + useEffect(() => { + let intervalId: number | null = null; + + const startPolling = () => { + if (intervalId !== null) return; + intervalId = setInterval(() => { + fetchDevices(false); + }, 10000) as unknown as number; + }; + + const stopPolling = () => { + if (intervalId !== null) { + clearInterval(intervalId); + intervalId = null; + } + }; + + // Start polling while app is active; pause when backgrounded + startPolling(); + + const onAppStateChange = (nextAppState: string) => { + if (nextAppState === "active") { + startPolling(); + } else { + stopPolling(); + } + }; + + const subscription = AppState.addEventListener("change", onAppStateChange); + + return () => { + stopPolling(); + subscription.remove(); + }; + }, [fetchDevices]); const onRefresh = async () => { setRefreshing(true); - await loadDevices(); + await fetchDevices(false); setRefreshing(false); }; const handleWake = async (device: Device) => { try { await api.wakeDevice(device.id); - Alert.alert("Success", `Wake signal sent to ${device.name}`); + Burnt.toast({ + title: "Success", + preset: "done", + message: `Waking ${device.name} up.`, + }); } catch (error: any) { - Alert.alert("Error", error.message || "Failed to wake device"); + Burnt.toast({ + title: "Error", + preset: "error", + message: error.message || `Failed to wake up ${device.name}.`, + }); } }; @@ -73,9 +118,17 @@ export default function DeviceListScreen() { onPress: async () => { try { await api.sleepDevice(device.id); - Alert.alert("Success", `Sleep signal sent to ${device.name}`); + Burnt.toast({ + title: "Success", + preset: "done", + message: `Sending ${device.name} to sleep.`, + }); } catch (error: any) { - Alert.alert("Error", error.message || "Failed to sleep device"); + Burnt.toast({ + title: "Error", + preset: "error", + message: error.message || `Failed to send ${device.name} to sleep.`, + }); } }, }, @@ -91,9 +144,17 @@ export default function DeviceListScreen() { onPress: async () => { try { await api.rebootDevice(device.id); - Alert.alert("Success", `Reboot signal sent to ${device.name}`); + Burnt.toast({ + title: "Success", + preset: "done", + message: `Rebooting ${device.name}.`, + }); } catch (error: any) { - Alert.alert("Error", error.message || "Failed to reboot device"); + Burnt.toast({ + title: "Error", + preset: "error", + message: error.message || `Failed to reboot ${device.name}`, + }); } }, }, @@ -112,12 +173,17 @@ export default function DeviceListScreen() { onPress: async () => { try { await api.shutdownDevice(device.id); - Alert.alert("Success", `Shutdown signal sent to ${device.name}`); + Burnt.toast({ + title: "Success", + preset: "done", + message: `Shutting down ${device.name}.`, + }); } catch (error: any) { - Alert.alert( - "Error", - error.message || "Failed to shutdown device" - ); + Burnt.toast({ + title: "Error", + preset: "error", + message: error.message || `Failed to shut down ${device.name}.`, + }); } }, }, @@ -127,16 +193,31 @@ export default function DeviceListScreen() { const handleDelete = (device: Device) => { Alert.alert("Delete Device", `Delete "${device.name}"?`, [ + { + text: "Cancel", + style: "cancel", + onPress: () => { + // Close alert + }, + }, { text: "Delete", style: "destructive", onPress: async () => { try { await api.deleteDevice(device.id); - Alert.alert("Success", "Device deleted successfully"); - loadDevices(); + Burnt.toast({ + title: "Success", + preset: "done", + message: `Deleted ${device.name} successfully.`, + }); + fetchDevices(false); } catch (error: any) { - Alert.alert("Error", error.message || "Failed to delete device"); + Burnt.toast({ + title: "Error", + preset: "error", + message: error.message || `Failed to delete ${device.name}.`, + }); } }, }, @@ -154,6 +235,42 @@ export default function DeviceListScreen() { } }; + const ActionIcon = ({ + name, + symbolName, + color, + onPress, + fallbackName, + }: { + name: string; + symbolName: string; + color: string; + onPress: () => void; + fallbackName?: string; + }) => ( + + + } + style={styles.actionIcon} + /> + + ); + const renderDevice = ({ item }: { item: Device }) => ( @@ -167,51 +284,83 @@ export default function DeviceListScreen() { - - router.push(`/devices/${item.id}`)} - activeOpacity={1} - > + + - {item.name} - {item.ip} + + {item.name} + + + {item.mac} + - + } style={[ - styles.statusDot, - { backgroundColor: getStatusColor(item.status) }, + styles.statusSymbol, + { + shadowColor: getStatusColor(item.status), + shadowOpacity: isDark ? 0.9 : 0.6, + }, ]} /> - handleWake(item)} - > - Wake - - + handleSleep(item)} - > - Sleep - - + handleReboot(item)} - > - Reboot - - + handleShutdown(item)} - > - Shutdown - + /> - + @@ -221,19 +370,13 @@ export default function DeviceListScreen() { if (isLoading) { return ( - + ); } return ( - - , - }} - /> + - No devices found + + No devices found + } /> @@ -271,12 +416,13 @@ const styles = StyleSheet.create({ }, list: { padding: 15, + gap: 15, }, deviceCard: { backgroundColor: "#fff", borderRadius: 12, padding: 15, - marginBottom: 15, + paddingRight: 25, shadowColor: "#000", shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.1, @@ -309,14 +455,27 @@ const styles = StyleSheet.create({ }, deviceActions: { flexDirection: "row", - justifyContent: "space-between", - gap: 8, - }, - actionButton: { - flex: 1, - paddingVertical: 10, - borderRadius: 8, alignItems: "center", + justifyContent: "flex-start", + marginTop: 8, + paddingBottom: 6, + }, + actionIconContainer: { + padding: 6, + marginRight: 12, + justifyContent: "center", + alignItems: "center", + minWidth: 36, + minHeight: 36, + }, + actionIcon: { + width: 22, + height: 22, + }, + actionButtonText: { + color: "#fff", + fontWeight: "600", + fontSize: 12, }, wakeButton: { backgroundColor: "#4CAF50", @@ -330,10 +489,14 @@ const styles = StyleSheet.create({ shutdownButton: { backgroundColor: "#f44336", }, - actionButtonText: { - color: "#fff", - fontWeight: "600", - fontSize: 12, + statusSymbol: { + width: 18, + height: 18, + borderRadius: 9, + shadowOffset: { width: 0, height: 0 }, + shadowOpacity: 0.6, + shadowRadius: 8, + elevation: 6, }, emptyContainer: { alignItems: "center", diff --git a/app/(tabs)/settings.tsx b/app/(tabs)/settings.tsx index d163619..f5e5e3e 100644 --- a/app/(tabs)/settings.tsx +++ b/app/(tabs)/settings.tsx @@ -1,231 +1,251 @@ -import React from 'react'; +import AsyncStorage from "@react-native-async-storage/async-storage"; +import React from "react"; import { - View, - Text, - StyleSheet, - ScrollView, - TouchableOpacity, - Alert, -} from 'react-native'; -import { useAuth } from '../../src/context/AuthContext'; -import AsyncStorage from '@react-native-async-storage/async-storage'; + Alert, + ScrollView, + StyleSheet, + Text, + TouchableOpacity, + View, +} from "react-native"; +import { useColorScheme } from "../../hooks/use-color-scheme"; +import { useAuth } from "../../src/context/AuthContext"; +import { useRouter } from "expo-router"; export default function SettingsScreen() { - const { user, logout } = useAuth(); + const { user, serverAddress, logout } = useAuth(); + const router = useRouter(); + const colorScheme = useColorScheme() ?? "light"; + const isDark = colorScheme === "dark"; + const bgColor = isDark ? "#0b0b0d" : "#f5f5f5"; + const sectionBg = isDark ? "#1c1c1e" : "#fff"; + const sectionTitleBg = isDark ? "#111111" : "#f9f9f9"; + const textColor = isDark ? "#fff" : "#333"; + const subTextColor = isDark ? "#c6c6c8" : "#666"; + const primary = isDark ? "#0A84FF" : "#007AFF"; + const destructiveColor = "#f44336"; - const handleLogout = () => { - Alert.alert( - 'Logout', - 'Are you sure you want to logout?', - [ - { text: 'Cancel', style: 'cancel' }, - { - text: 'Logout', - style: 'destructive', - onPress: async () => { - await logout(); - }, - }, - ] - ); - }; + const handleLogout = () => { + Alert.alert("Logout", "Are you sure you want to logout?", [ + { text: "Cancel", style: "cancel" }, + { + text: "Logout", + style: "destructive", + onPress: async () => { + router.replace("/login"); + await logout(); + }, + }, + ]); + }; - const handleClearData = () => { - Alert.alert( - 'Clear Data', - 'This will clear all stored data. Are you sure?', - [ - { text: 'Cancel', style: 'cancel' }, - { - text: 'Clear', - style: 'destructive', - onPress: async () => { - try { - await AsyncStorage.clear(); - Alert.alert('Success', 'All data cleared'); - } catch (error) { - Alert.alert('Error', 'Failed to clear data'); - } - }, - }, - ] - ); - }; + const SettingItem = ({ + label, + value, + onPress, + }: { + label: string; + value?: string; + onPress?: () => void; + }) => ( + + {label} + + + {value} + + + + ); - const SettingItem = ({ - label, - value, - onPress - }: { - label: string; - value?: string; - onPress?: () => void; - }) => ( - - {label} - - - {value || 'N/A'} - - - - ); + const ActionButton = ({ + title, + onPress, + destructive = false, + }: { + title: string; + onPress: () => void; + destructive?: boolean; + }) => ( + + {title} + + ); - const ActionButton = ({ - title, - onPress, - destructive = false, - }: { - title: string; - onPress: () => void; - destructive?: boolean; - }) => ( - - - {title} - - - ); + return ( + + + + + User Information + + + + + - return ( - - - - User Information - - - - + + + App Info + + + + - - Server - - - + + + Actions + + + - - App Info - - - - - - Actions - - - - - - - UpSnap Mobile App - - - Connect to your UpSnap server - - - - - ); + + + UpSnap Mobile App + + + Connect to your UpSnap server + + + + + ); } const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#f5f5f5', - }, - content: { - padding: 20, - }, - section: { - backgroundColor: '#fff', - borderRadius: 12, - marginBottom: 20, - overflow: 'hidden', - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 4, - elevation: 3, - }, - sectionTitle: { - fontSize: 14, - fontWeight: 'bold', - color: '#666', - paddingHorizontal: 15, - paddingTop: 15, - paddingBottom: 10, - backgroundColor: '#f9f9f9', - }, - settingItem: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - paddingHorizontal: 15, - paddingVertical: 15, - borderBottomWidth: 1, - borderBottomColor: '#f0f0f0', - }, - settingLabel: { - fontSize: 16, - color: '#333', - flex: 1, - }, - settingValueContainer: { - flex: 1, - alignItems: 'flex-end', - }, - settingValue: { - fontSize: 14, - color: '#666', - maxWidth: 200, - }, - actionButton: { - backgroundColor: '#007AFF', - margin: 15, - padding: 15, - borderRadius: 8, - alignItems: 'center', - }, - actionButtonDestructive: { - backgroundColor: '#f44336', - }, - actionButtonText: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, - actionButtonTextDestructive: { - color: '#fff', - }, - footer: { - alignItems: 'center', - paddingVertical: 30, - }, - footerText: { - fontSize: 14, - color: '#999', - marginBottom: 5, - }, + container: { + flex: 1, + backgroundColor: "#f5f5f5", + }, + content: { + padding: 20, + }, + section: { + backgroundColor: "#fff", + borderRadius: 12, + marginBottom: 20, + overflow: "hidden", + shadowColor: "#000", + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 4, + elevation: 3, + }, + sectionTitle: { + fontSize: 14, + fontWeight: "bold", + color: "#666", + paddingHorizontal: 15, + paddingTop: 15, + paddingBottom: 10, + backgroundColor: "#f9f9f9", + borderTopLeftRadius: 12, + borderTopRightRadius: 12, + }, + settingItem: { + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + paddingHorizontal: 15, + paddingVertical: 15, + borderBottomWidth: 1, + borderBottomColor: "#f0f0f0", + }, + settingLabel: { + fontSize: 16, + color: "#333", + flex: 1, + }, + settingValueContainer: { + flex: 1, + alignItems: "flex-end", + }, + settingValue: { + fontSize: 14, + color: "#666", + maxWidth: 200, + }, + actionButton: { + backgroundColor: "#007AFF", + margin: 15, + padding: 15, + borderRadius: 8, + alignItems: "center", + }, + actionButtonDestructive: { + backgroundColor: "#f44336", + }, + actionButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "bold", + }, + actionButtonTextDestructive: { + color: "#fff", + }, + footer: { + alignItems: "center", + paddingVertical: 30, + }, + footerText: { + fontSize: 14, + color: "#999", + marginBottom: 5, + }, }); diff --git a/app/_layout.tsx b/app/_layout.tsx index 09b27ff..6bf398e 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -1,41 +1,77 @@ -import { StatusBar } from "expo-status-bar"; -import { AuthProvider, useAuth } from "../src/context/AuthContext"; -import { useEffect } from "react"; -import { Stack, useRouter } from "expo-router"; +import { Ionicons } from "@expo/vector-icons"; +import { Stack, useRouter, useSegments } from "expo-router"; +import { TouchableOpacity, Text } from "react-native"; +import { useColorScheme } from "../hooks/use-color-scheme"; +import { AuthProvider } from "../src/context/AuthContext"; -function RootStack() { - const router = useRouter(); - const { isAuthenticated, isLoading } = useAuth(); - - useEffect(() => { - if (!isLoading) { - if (isAuthenticated) { - router.replace('/(tabs)'); - } else { - router.replace('/login'); - } - } - }, [isAuthenticated, isLoading, router]); +function DevicesHeader() { + const router = useRouter(); + const isDark = useColorScheme() === "dark"; + const activityColor = isDark ? "#0A84FF" : "#007AFF"; return ( - - {isAuthenticated ? ( - - ) : ( - - )} - - - - + router.push("/scan-devices")} + style={{ paddingHorizontal: 8 }} + > + + + ); +} + +function TabsTitle(props: { title: string }) { + const segments = useSegments(); + const last = segments[segments.length - 1]; + const isDark = useColorScheme() === "dark"; + const titleColor = isDark ? "#fff" : "#000"; + const title = last === "settings" ? "Settings" : props.title; + return ( + + {title} + ); } export default function RootLayout() { + const isDark = useColorScheme() === "dark"; + const bgColor = isDark ? "#0b0b0d" : "#fff"; + const titleColor = isDark ? "#fff" : "#000"; + + const segments = useSegments(); + const last = segments[segments.length - 1]; + const isIndex = last === "(tabs)" || last === undefined; + return ( - - + + {/* Root index that performs auth redirect (app/index.tsx) */} + + {/* Tabs parent - render tabs with dynamic header */} + , + headerRight: isIndex ? () => : undefined, + headerRightContainerStyle: isIndex + ? undefined + : { width: 0, paddingRight: 0 }, + headerStyle: { backgroundColor: bgColor }, + headerTintColor: titleColor, + } as any + } + />{" "} + + , + headerStyle: { backgroundColor: bgColor }, + headerBackButtonDisplayMode: "minimal", + }} + /> + ); } diff --git a/app/add-device.tsx b/app/add-device.tsx deleted file mode 100644 index 21c3d75..0000000 --- a/app/add-device.tsx +++ /dev/null @@ -1,236 +0,0 @@ -import React, { useState } from 'react'; -import { - View, - Text, - ScrollView, - StyleSheet, - TextInput, - TouchableOpacity, - Alert, - ActivityIndicator, -} from 'react-native'; -import { useRouter } from 'expo-router'; -import api from '../src/services/api'; - -export default function AddDeviceScreen() { - const router = useRouter(); - const [isLoading, setIsLoading] = useState(false); - - const [formData, setFormData] = useState({ - name: '', - mac: '', - ip: '', - netmask: '255.255.255.0', - broadcast: '', - secureOnPassword: '', - port: '9', - }); - - const handleSave = async () => { - if (!formData.name || !formData.mac || !formData.ip) { - Alert.alert('Error', 'Please fill in all required fields'); - return; - } - - setIsLoading(true); - try { - await api.createDevice({ - name: formData.name, - mac: formData.mac, - ip: formData.ip, - netmask: formData.netmask, - broadcast: formData.broadcast, - secureOnPassword: formData.secureOnPassword, - port: parseInt(formData.port) || 9, - groups: [], - status: 'offline', - }); - Alert.alert('Success', 'Device added successfully'); - router.back(); - } catch (error: any) { - Alert.alert('Error', error.message || 'Failed to add device'); - } finally { - setIsLoading(false); - } - }; - - return ( - - - Add New Device - - - - Device Name * - setFormData({ ...formData, name: text })} - placeholder="My PC" - autoCapitalize="words" - /> - - - - MAC Address * - setFormData({ ...formData, mac: text })} - placeholder="00:11:22:33:44:55" - autoCapitalize="characters" - /> - - Format: XX:XX:XX:XX:XX:XX - - - - - IP Address * - setFormData({ ...formData, ip: text })} - placeholder="192.168.1.100" - keyboardType="numeric" - /> - - - - Netmask - setFormData({ ...formData, netmask: text })} - placeholder="255.255.255.0" - keyboardType="numeric" - /> - - - - Broadcast Address - setFormData({ ...formData, broadcast: text })} - placeholder="192.168.1.255" - keyboardType="numeric" - /> - - Optional: Auto-calculated if left blank - - - - - SecureOn Password - setFormData({ ...formData, secureOnPassword: text })} - placeholder="Optional password" - secureTextEntry - /> - - Optional: For SecureOn enabled NICs - - - - - Port - setFormData({ ...formData, port: text })} - placeholder="9" - keyboardType="numeric" - /> - - Default: 9 (Standard Wake-on-LAN port) - - - - - router.back()} - disabled={isLoading} - > - Cancel - - - - {isLoading ? 'Adding...' : 'Add Device'} - - - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#f5f5f5', - }, - content: { - padding: 20, - }, - header: { - fontSize: 24, - fontWeight: 'bold', - color: '#333', - marginBottom: 20, - textAlign: 'center', - }, - form: { - gap: 20, - }, - inputGroup: { - gap: 8, - }, - label: { - fontSize: 14, - fontWeight: '600', - color: '#333', - }, - input: { - backgroundColor: '#fff', - borderWidth: 1, - borderColor: '#ddd', - borderRadius: 8, - padding: 12, - fontSize: 16, - }, - hint: { - fontSize: 12, - color: '#666', - }, - buttonGroup: { - flexDirection: 'row', - gap: 10, - marginTop: 10, - }, - button: { - flex: 1, - paddingVertical: 15, - borderRadius: 8, - alignItems: 'center', - }, - cancelButton: { - backgroundColor: '#999', - }, - saveButton: { - backgroundColor: '#4CAF50', - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, -}); diff --git a/app/devices/[id].tsx b/app/devices/[id].tsx deleted file mode 100644 index 4e11a41..0000000 --- a/app/devices/[id].tsx +++ /dev/null @@ -1,350 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { - View, - Text, - ScrollView, - StyleSheet, - TextInput, - TouchableOpacity, - Alert, - ActivityIndicator, -} from 'react-native'; -import { useLocalSearchParams, useRouter } from 'expo-router'; -import api from '../../src/services/api'; -import { Device } from '../../src/types'; - -export default function DeviceDetailsScreen() { - const router = useRouter(); - const { id: deviceId } = useLocalSearchParams<{ id: string }>(); - - const [device, setDevice] = useState(null); - const [isEditing, setIsEditing] = useState(false); - const [isLoading, setIsLoading] = useState(true); - const [isSaving, setIsSaving] = useState(false); - - const [formData, setFormData] = useState({ - name: '', - mac: '', - ip: '', - netmask: '', - broadcast: '', - secureOnPassword: '', - port: '', - }); - - useEffect(() => { - loadDevice(); - }, [deviceId]); - - const loadDevice = async () => { - try { - setIsLoading(true); - const data = await api.getDevice(deviceId); - setDevice(data); - setFormData({ - name: data.name, - mac: data.mac, - ip: data.ip, - netmask: data.netmask || '', - broadcast: data.broadcast || '', - secureOnPassword: data.secureOnPassword || '', - port: String(data.port), - }); - } catch (error: any) { - Alert.alert('Error', error.message || 'Failed to load device'); - router.back(); - } finally { - setIsLoading(false); - } - }; - - const handleSave = async () => { - if (!formData.name || !formData.mac || !formData.ip) { - Alert.alert('Error', 'Please fill in all required fields'); - return; - } - - setIsSaving(true); - try { - await api.updateDevice(deviceId, { - name: formData.name, - mac: formData.mac, - ip: formData.ip, - netmask: formData.netmask, - broadcast: formData.broadcast, - secureOnPassword: formData.secureOnPassword, - port: parseInt(formData.port) || 9, - }); - setIsEditing(false); - await loadDevice(); - Alert.alert('Success', 'Device updated successfully'); - } catch (error: any) { - Alert.alert('Error', error.message || 'Failed to update device'); - } finally { - setIsSaving(false); - } - }; - - const handleDelete = () => { - Alert.alert( - 'Delete Device', - 'Are you sure you want to delete this device?', - [ - { text: 'Cancel', style: 'cancel' }, - { - text: 'Delete', - style: 'destructive', - onPress: async () => { - try { - await api.deleteDevice(deviceId); - Alert.alert('Success', 'Device deleted successfully'); - router.back(); - } catch (error: any) { - Alert.alert('Error', error.message || 'Failed to delete device'); - } - }, - }, - ] - ); - }; - - if (isLoading) { - return ( - - - - ); - } - - return ( - - - {isEditing ? ( - - Device Name * - setFormData({ ...formData, name: text })} - placeholder="Device name" - /> - - MAC Address * - setFormData({ ...formData, mac: text })} - placeholder="00:11:22:33:44:55" - autoCapitalize="characters" - /> - - IP Address * - setFormData({ ...formData, ip: text })} - placeholder="192.168.1.100" - keyboardType="numeric" - /> - - Netmask - setFormData({ ...formData, netmask: text })} - placeholder="255.255.255.0" - keyboardType="numeric" - /> - - Broadcast Address - setFormData({ ...formData, broadcast: text })} - placeholder="192.168.1.255" - keyboardType="numeric" - /> - - SecureOn Password - setFormData({ ...formData, secureOnPassword: text })} - placeholder="Optional password" - /> - - Port - setFormData({ ...formData, port: text })} - placeholder="9" - keyboardType="numeric" - /> - - - - - {isSaving ? 'Saving...' : 'Save'} - - - { - setIsEditing(false); - setFormData({ - name: device!.name, - mac: device!.mac, - ip: device!.ip, - netmask: device!.netmask || '', - broadcast: device!.broadcast || '', - secureOnPassword: device!.secureOnPassword || '', - port: String(device!.port), - }); - }} - > - Cancel - - - - ) : ( - - - Name - {device?.name} - - - MAC Address - {device?.mac} - - - IP Address - {device?.ip} - - - Netmask - {device?.netmask || 'N/A'} - - - Broadcast - {device?.broadcast || 'N/A'} - - - Port - {device?.port} - - - Status - {device?.status} - - - Groups - - {device?.groups?.join(', ') || 'None'} - - - - - setIsEditing(true)} - > - Edit - - - Delete - - - - )} - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#f5f5f5', - }, - loadingContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, - content: { - padding: 20, - }, - form: { - gap: 15, - }, - details: { - gap: 20, - }, - label: { - fontSize: 14, - fontWeight: '600', - color: '#333', - marginBottom: 5, - }, - input: { - backgroundColor: '#fff', - borderWidth: 1, - borderColor: '#ddd', - borderRadius: 8, - padding: 12, - fontSize: 16, - }, - detailRow: { - backgroundColor: '#fff', - borderRadius: 8, - padding: 15, - borderWidth: 1, - borderColor: '#e0e0e0', - }, - detailLabel: { - fontSize: 14, - color: '#666', - marginBottom: 4, - }, - detailValue: { - fontSize: 16, - color: '#333', - fontWeight: '500', - }, - buttonGroup: { - flexDirection: 'row', - gap: 10, - marginTop: 20, - }, - button: { - flex: 1, - paddingVertical: 15, - borderRadius: 8, - alignItems: 'center', - }, - saveButton: { - backgroundColor: '#4CAF50', - }, - cancelButton: { - backgroundColor: '#999', - }, - editButton: { - backgroundColor: '#007AFF', - }, - deleteButton: { - backgroundColor: '#f44336', - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, -}); diff --git a/app/index.tsx b/app/index.tsx new file mode 100644 index 0000000..e3390d1 --- /dev/null +++ b/app/index.tsx @@ -0,0 +1,21 @@ +import { useRouter } from "expo-router"; +import { StatusBar } from "expo-status-bar"; +import React, { useEffect } from "react"; +import { useAuth } from "../src/context/AuthContext"; + +export default function IndexRedirect() { + const router = useRouter(); + const { isAuthenticated, isLoading } = useAuth(); + + useEffect(() => { + if (!isLoading) { + if (isAuthenticated) { + router.replace("/(tabs)"); + } else { + router.replace("/login"); + } + } + }, [isAuthenticated, isLoading, router]); + + return ; +} diff --git a/app/login.tsx b/app/login.tsx index ffc1f70..1cdda6f 100644 --- a/app/login.tsx +++ b/app/login.tsx @@ -1,174 +1,212 @@ -import React, { useState } from 'react'; +import { useRouter } from "expo-router"; +import React, { useState } from "react"; import { - View, - Text, - TextInput, - TouchableOpacity, - StyleSheet, - Alert, - KeyboardAvoidingView, - Platform, - ScrollView, -} from 'react-native'; -import { useAuth } from '../src/context/AuthContext'; -import { useRouter } from 'expo-router'; + Alert, + KeyboardAvoidingView, + Platform, + ScrollView, + StyleSheet, + Text, + TextInput, + TouchableOpacity, + View, +} from "react-native"; +import { useColorScheme } from "../hooks/use-color-scheme"; +import { useAuth } from "../src/context/AuthContext"; export default function LoginScreen() { - const router = useRouter(); - const [identity, setIdentity] = useState(''); - const [password, setPassword] = useState(''); - const [isSuperuser, setIsSuperuser] = useState(false); - const [isLoading, setIsLoading] = useState(false); - const { login } = useAuth(); + const router = useRouter(); + const colorScheme = useColorScheme() ?? "light"; + const isDark = colorScheme === "dark"; + const bgColor = isDark ? "#0b0b0d" : "#f5f5f5"; + const textColor = isDark ? "#fff" : "#333"; + const subText = isDark ? "#c6c6c8" : "#666"; + const inputBg = isDark ? "rgba(255,255,255,0.04)" : "#fff"; + const borderColor = isDark ? "rgba(255,255,255,0.06)" : "#ddd"; + const primary = isDark ? "#0A84FF" : "#007AFF"; - const handleLogin = async () => { - if (!identity || !password) { - Alert.alert('Error', 'Please enter both identity and password'); - return; - } + const { serverAddress: storedServerAddress, login } = useAuth(); + const [serverAddress, setServerAddress] = useState(storedServerAddress || ""); + const [identity, setIdentity] = useState(""); + const [password, setPassword] = useState(""); + const [isLoading, setIsLoading] = useState(false); - setIsLoading(true); - try { - await login(identity, password, isSuperuser); - router.replace('/'); - } catch (error: any) { - Alert.alert('Login Failed', error.message || 'An error occurred'); - } finally { - setIsLoading(false); - } - }; + const handleLogin = async () => { + if (!serverAddress || !identity || !password) { + Alert.alert("Error", "Please enter server address, identity, and password"); + return; + } - return ( - - - - UpSnap - Wake on LAN Mobile - + setIsLoading(true); + try { + await login(serverAddress, identity, password); + router.replace("/"); + } catch (error: any) { + Alert.alert("Login Failed", error.message || "An error occurred"); + } finally { + setIsLoading(false); + } + }; - - + return ( + + + + Remote WoL + + Mobile Frontend for UpSnap + + - + + - setIsSuperuser(!isSuperuser)} - activeOpacity={0.7} - > - - {isSuperuser && ✓} - - Login as Admin - + - - - {isLoading ? 'Logging in...' : 'Login'} - - - - - - ); + + + + + {isLoading ? "Logging in..." : "Login"} + + + + + + ); } const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#f5f5f5', - }, - scrollContent: { - flexGrow: 1, - justifyContent: 'center', - padding: 20, - }, - header: { - alignItems: 'center', - marginBottom: 40, - }, - title: { - fontSize: 32, - fontWeight: 'bold', - color: '#333', - marginBottom: 8, - }, - subtitle: { - fontSize: 16, - color: '#666', - }, - form: { - width: '100%', - }, - input: { - backgroundColor: '#fff', - borderWidth: 1, - borderColor: '#ddd', - borderRadius: 8, - padding: 15, - fontSize: 16, - marginBottom: 15, - }, - checkboxContainer: { - flexDirection: 'row', - alignItems: 'center', - marginBottom: 20, - }, - checkbox: { - width: 24, - height: 24, - borderWidth: 2, - borderColor: '#007AFF', - borderRadius: 4, - marginRight: 10, - justifyContent: 'center', - alignItems: 'center', - }, - checkboxChecked: { - backgroundColor: '#007AFF', - }, - checkmark: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, - checkboxLabel: { - fontSize: 16, - color: '#333', - }, - button: { - backgroundColor: '#007AFF', - borderRadius: 8, - padding: 15, - alignItems: 'center', - }, - buttonDisabled: { - backgroundColor: '#ccc', - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, + container: { + flex: 1, + backgroundColor: "#f5f5f5", + }, + scrollContent: { + flexGrow: 1, + justifyContent: "center", + padding: 20, + }, + header: { + alignItems: "center", + marginBottom: 40, + }, + title: { + fontSize: 32, + fontWeight: "bold", + color: "#333", + marginBottom: 8, + }, + subtitle: { + fontSize: 16, + color: "#666", + }, + form: { + width: "100%", + }, + input: { + backgroundColor: "#fff", + borderWidth: 1, + borderColor: "#ddd", + borderRadius: 8, + padding: 15, + fontSize: 16, + marginBottom: 15, + }, + checkboxContainer: { + flexDirection: "row", + alignItems: "center", + marginBottom: 20, + }, + checkbox: { + width: 24, + height: 24, + borderWidth: 2, + borderColor: "#007AFF", + borderRadius: 4, + marginRight: 10, + justifyContent: "center", + alignItems: "center", + }, + checkboxChecked: { + backgroundColor: "#007AFF", + }, + checkmark: { + color: "#fff", + fontSize: 16, + fontWeight: "bold", + }, + checkboxLabel: { + fontSize: 16, + color: "#333", + }, + button: { + backgroundColor: "#007AFF", + borderRadius: 8, + padding: 15, + alignItems: "center", + }, + buttonDisabled: { + backgroundColor: "#ccc", + }, + buttonText: { + color: "#fff", + fontSize: 16, + fontWeight: "bold", + }, }); diff --git a/app/scan-devices.tsx b/app/scan-devices.tsx index c0215e5..5f6a242 100644 --- a/app/scan-devices.tsx +++ b/app/scan-devices.tsx @@ -1,433 +1,356 @@ -import React, { useState } from 'react'; +import { useRouter } from "expo-router"; +import React, { useState } from "react"; import { - View, - Text, - FlatList, - TouchableOpacity, - StyleSheet, - Alert, - ActivityIndicator, - Modal, - TextInput, - ScrollView, -} from 'react-native'; -import { useRouter } from 'expo-router'; -import api from '../src/services/api'; -import { NetworkScanResult } from '../src/types'; + ActivityIndicator, + Alert, + FlatList, + StyleSheet, + Text, + TouchableOpacity, + View, +} from "react-native"; +import { useColorScheme } from "../hooks/use-color-scheme"; +import api from "../src/services/api"; +import { NetworkScanResult } from "../src/types"; +import { SymbolView } from "expo-symbols"; +import * as Burnt from "burnt"; export default function ScanDevicesScreen() { - const router = useRouter(); - const [scanning, setScanning] = useState(false); - const [devices, setDevices] = useState([]); - const [selectedDevice, setSelectedDevice] = useState(null); - const [showAddModal, setShowAddModal] = useState(false); - - const [formData, setFormData] = useState({ - name: '', - mac: '', - ip: '', - netmask: '255.255.255.0', - broadcast: '', - secureOnPassword: '', - port: '9', - }); + const router = useRouter(); + const colorScheme = useColorScheme() ?? "light"; + const isDark = colorScheme === "dark"; + const bgColor = isDark ? "#0b0b0d" : "#f5f5f5"; + const cardBg = isDark ? "rgba(255,255,255,0.04)" : "rgba(255, 255, 255, 0.8)"; + const primary = isDark ? "#0A84FF" : "#007AFF"; + const primaryPressed = isDark ? "#004BB5" : "#0051CC"; + const textColor = isDark ? "#fff" : "#333"; + const subText = isDark ? "#c6c6c8" : "#666"; - const handleScan = async () => { - setScanning(true); - try { - const results = await api.scanNetwork(); - setDevices(results); - } catch (error: any) { - Alert.alert('Error', error.message || 'Failed to scan network'); - } finally { - setScanning(false); - } - }; + const [scanning, setScanning] = useState(false); + const [devices, setDevices] = useState([]); - const handleAddFromScan = (device: NetworkScanResult) => { - const deviceName = device.name || device.hostname || `Device ${device.ip || device.ip_address}`; - const deviceIP = device.ip || device.ip_address || ''; - const deviceMAC = device.mac || device.mac_address || ''; - const deviceVendor = device.mac_vendor || ''; - - setFormData({ - name: deviceName, - mac: deviceMAC, - ip: deviceIP, - netmask: '255.255.255.0', - broadcast: '', - secureOnPassword: '', - port: '9', - }); - setSelectedDevice(device); - setShowAddModal(true); - }; + const handleScan = async () => { + setScanning(true); + try { + const results = await api.scanNetwork(); + setDevices(results); + } catch (error: any) { + Alert.alert("Error", error.message || "Failed to scan network"); + } finally { + setScanning(false); + } + }; - const handleSaveDevice = async () => { - if (!formData.name || !formData.mac || !formData.ip) { - Alert.alert('Error', 'Please fill in all required fields'); - return; - } + const handleAddFromScan = async (device: NetworkScanResult) => { + const deviceName = + device.name || + device.hostname || + `Device ${device.ip || device.ip_address}`; + const deviceIP = device.ip || device.ip_address || ""; + const deviceMAC = device.mac || device.mac_address || ""; - try { - await api.createDevice({ - name: formData.name, - mac: formData.mac, - ip: formData.ip, - netmask: formData.netmask, - broadcast: formData.broadcast, - secureOnPassword: formData.secureOnPassword, - port: parseInt(formData.port) || 9, - groups: [], - status: 'offline', - }); - Alert.alert('Success', 'Device added successfully'); - setShowAddModal(false); - router.back(); - } catch (error: any) { - Alert.alert('Error', error.message || 'Failed to add device'); - } - }; + try { + await api.createDevice({ + name: deviceName, + mac: deviceMAC, + ip: deviceIP, + netmask: "255.255.255.0", + broadcast: "", + secureOnPassword: "", + port: 9, + groups: [], + status: "offline", + }); + Burnt.toast({ + title: "Success", + preset: "done", + message: `Added ${deviceName} successfully`, + }); + router.back(); + } catch (error: any) { + Burnt.toast({ + title: "Error", + preset: "error", + message: error.message || "Failed to add device", + }); + } + }; - const renderDevice = ({ item }: { item: NetworkScanResult }) => { - const displayName = item.name || item.hostname || 'Unknown Device'; - const displayIP = item.ip || item.ip_address || ''; - const displayMAC = item.mac || item.mac_address || ''; - const displayVendor = item.mac_vendor || ''; - - return ( - handleAddFromScan(item)} - > - - {displayName} - {displayIP} - {displayMAC} - {displayVendor && displayVendor !== 'Unknown' && ( - {displayVendor} - )} - - - + - - - ); - }; + const renderDevice = ({ item }: { item: NetworkScanResult }) => { + const displayName = item.name || item.hostname || "Unknown Device"; + const displayIP = item.ip || item.ip_address || ""; + const displayMAC = item.mac || item.mac_address || ""; + const displayVendor = item.mac_vendor || ""; - return ( - - - Network Scan - - Discover devices on your local network - - + return ( + + + + {displayName} + + + {displayIP} + + + {displayMAC} + + {displayVendor && displayVendor !== "Unknown" && ( + + {displayVendor} + + )} + + handleAddFromScan(item)}> + + + + ); + }; - - {scanning ? ( - - ) : ( - Scan Network - )} - + return ( + + + + Add Devices + + + Discover devices on your local network + + - - Note: This requires the server to have nmap installed and may take several minutes. - + + {scanning ? ( + + ) : ( + + Scan Network + + )} + - {devices.length > 0 && ( - - Discovered Devices ({devices.length}) - `${item.ip || item.ip_address || index}-${index}`} - contentContainerStyle={styles.list} - /> - - )} + + Note: This requires the server to have nmap installed and may take + several minutes. + - {devices.length === 0 && !scanning && ( - - Tap "Scan Network" to discover devices - - )} + {devices.length > 0 && ( + + + Discovered Devices ({devices.length}) + + + `${item.ip || item.ip_address || index}-${index}` + } + contentContainerStyle={styles.list} + /> + + )} - setShowAddModal(false)} - > - - - - Add Device - setShowAddModal(false)}> - ✕ - - - - - - Device Name * - setFormData({ ...formData, name: text })} - placeholder="Device name" - /> - {selectedDevice?.mac_vendor && ( - - Vendor: {selectedDevice.mac_vendor} - - )} - - - - MAC Address * - setFormData({ ...formData, mac: text })} - placeholder="00:11:22:33:44:55" - autoCapitalize="characters" - /> - - - - IP Address * - setFormData({ ...formData, ip: text })} - placeholder="192.168.1.100" - keyboardType="numeric" - /> - - - - Netmask - setFormData({ ...formData, netmask: text })} - placeholder="255.255.255.0" - keyboardType="numeric" - /> - - - - Broadcast Address - setFormData({ ...formData, broadcast: text })} - placeholder="192.168.1.255" - keyboardType="numeric" - /> - - - - Port - setFormData({ ...formData, port: text })} - placeholder="9" - keyboardType="numeric" - /> - - - - Add Device - - - - - - - ); + {devices.length === 0 && !scanning && ( + + + Tap "Scan Network" to discover devices + + + )} + + ); } const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#f5f5f5', - padding: 20, - }, - header: { - marginBottom: 20, - }, - headerText: { - fontSize: 24, - fontWeight: 'bold', - color: '#333', - marginBottom: 5, - }, - headerSubtext: { - fontSize: 14, - color: '#666', - }, - scanButton: { - backgroundColor: '#007AFF', - borderRadius: 12, - padding: 16, - alignItems: 'center', - marginBottom: 15, - }, - scanButtonDisabled: { - backgroundColor: '#ccc', - }, - scanButtonText: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, - infoText: { - fontSize: 12, - color: '#999', - textAlign: 'center', - marginBottom: 20, - }, - resultsContainer: { - flex: 1, - }, - resultsHeader: { - fontSize: 18, - fontWeight: 'bold', - color: '#333', - marginBottom: 15, - }, - list: { - gap: 10, - }, - deviceCard: { - backgroundColor: 'rgba(255, 255, 255, 0.8)', - borderRadius: 16, - padding: 15, - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 8, - elevation: 3, - }, - deviceInfo: { - flex: 1, - }, - deviceName: { - fontSize: 16, - fontWeight: 'bold', - color: '#333', - marginBottom: 4, - }, - deviceDetail: { - fontSize: 14, - color: '#666', - marginBottom: 2, - }, - vendorText: { - fontSize: 12, - color: '#999', - fontStyle: 'italic', - }, - addButton: { - width: 44, - height: 44, - backgroundColor: 'rgba(76, 175, 80, 0.9)', - borderRadius: 22, - justifyContent: 'center', - alignItems: 'center', - }, - addButtonText: { - color: '#fff', - fontSize: 24, - fontWeight: 'bold', - }, - emptyContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, - emptyText: { - fontSize: 16, - color: '#999', - textAlign: 'center', - }, - modalBlur: { - flex: 1, - justifyContent: 'flex-end', - }, - modalContent: { - backgroundColor: 'rgba(255, 255, 255, 0.95)', - borderTopLeftRadius: 24, - borderTopRightRadius: 24, - maxHeight: '90%', - }, - modalHeader: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - padding: 20, - borderBottomWidth: 1, - borderBottomColor: 'rgba(0, 0, 0, 0.1)', - }, - modalTitle: { - fontSize: 20, - fontWeight: 'bold', - color: '#333', - }, - closeButton: { - fontSize: 24, - color: '#999', - padding: 8, - }, - modalBody: { - padding: 20, - }, - formGroup: { - marginBottom: 16, - }, - label: { - fontSize: 14, - fontWeight: '600', - color: '#333', - marginBottom: 8, - }, - input: { - backgroundColor: 'rgba(255, 255, 255, 0.8)', - borderWidth: 1, - borderColor: 'rgba(0, 0, 0, 0.1)', - borderRadius: 12, - padding: 14, - fontSize: 16, - }, - hint: { - fontSize: 12, - color: '#666', - marginTop: 4, - }, - saveButton: { - backgroundColor: '#4CAF50', - borderRadius: 12, - padding: 16, - alignItems: 'center', - marginTop: 10, - }, - saveButtonText: { - color: '#fff', - fontSize: 16, - fontWeight: 'bold', - }, + container: { + flex: 1, + backgroundColor: "#f5f5f5", + padding: 20, + }, + header: { + marginBottom: 20, + }, + headerText: { + fontSize: 24, + fontWeight: "bold", + color: "#333", + marginBottom: 5, + }, + headerSubtext: { + fontSize: 14, + color: "#666", + }, + scanButton: { + backgroundColor: "#007AFF", + borderRadius: 12, + padding: 16, + alignItems: "center", + marginBottom: 15, + }, + scanButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "bold", + }, + infoText: { + fontSize: 12, + color: "#999", + textAlign: "center", + marginBottom: 20, + }, + resultsContainer: { + flex: 1, + }, + resultsHeader: { + fontSize: 18, + fontWeight: "bold", + color: "#333", + marginBottom: 15, + }, + list: { + gap: 10, + }, + deviceCard: { + backgroundColor: "rgba(255, 255, 255, 0.8)", + borderRadius: 16, + padding: 15, + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + shadowColor: "#000", + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 8, + elevation: 3, + }, + deviceInfo: { + flex: 1, + }, + deviceName: { + fontSize: 16, + fontWeight: "bold", + color: "#333", + marginBottom: 4, + }, + deviceDetail: { + fontSize: 14, + color: "#666", + marginBottom: 2, + }, + vendorText: { + fontSize: 12, + color: "#999", + fontStyle: "italic", + }, + addButton: { + width: 44, + height: 44, + borderRadius: 22, + justifyContent: "center", + alignItems: "center", + }, + addButtonText: { + color: "#fff", + fontSize: 24, + fontWeight: "bold", + }, + emptyContainer: { + flex: 1, + justifyContent: "center", + alignItems: "center", + }, + emptyText: { + fontSize: 16, + color: "#999", + textAlign: "center", + }, + modalBlur: { + flex: 1, + justifyContent: "flex-end", + }, + modalContent: { + backgroundColor: "rgba(255, 255, 255, 0.95)", + borderTopLeftRadius: 24, + borderTopRightRadius: 24, + maxHeight: "90%", + }, + modalHeader: { + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + padding: 20, + borderBottomWidth: 1, + borderBottomColor: "rgba(0, 0, 0, 0.1)", + }, + modalTitle: { + fontSize: 20, + fontWeight: "bold", + color: "#333", + }, + closeButton: { + fontSize: 24, + color: "#999", + padding: 8, + }, + modalBody: { + padding: 20, + }, + formGroup: { + marginBottom: 16, + }, + label: { + fontSize: 14, + fontWeight: "600", + color: "#333", + marginBottom: 8, + }, + input: { + backgroundColor: "rgba(255, 255, 255, 0.8)", + borderWidth: 1, + borderColor: "rgba(0, 0, 0, 0.1)", + borderRadius: 12, + padding: 14, + fontSize: 16, + }, + hint: { + fontSize: 12, + color: "#666", + marginTop: 4, + }, + saveButton: { + backgroundColor: "#4CAF50", + borderRadius: 12, + padding: 16, + alignItems: "center", + marginTop: 10, + }, + saveButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "bold", + }, }); diff --git a/assets/images/splash-icon.png b/assets/images/splash-icon.png index 03d6f6b6c6727954aec1d8206222769afd178d8d..ff83c47c66ead3f661fb50a1a37114c01861f88a 100644 GIT binary patch literal 271280 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±5lW1q%6BJ_`k_RDyouHH4Mb({W+03 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

p?Y8 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%0AWC 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 E12Nf{EdT%j literal 17547 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PACKAGE + + + + + + + + + + + + + + + + + + + + diff --git a/assets/remotewol-ios.icon/icon.json b/assets/remotewol-ios.icon/icon.json new file mode 100644 index 0000000..861340b --- /dev/null +++ b/assets/remotewol-ios.icon/icon.json @@ -0,0 +1,37 @@ +{ + "fill" : { + "automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000" + }, + "groups" : [ + { + "layers" : [ + { + "glass" : true, + "image-name" : "gopher.svg", + "name" : "gopher", + "position" : { + "scale" : 0.45, + "translation-in-points" : [ + -6.017952794793246, + -0.4600234584925147 + ] + } + } + ], + "shadow" : { + "kind" : "neutral", + "opacity" : 0.5 + }, + "translucency" : { + "enabled" : true, + "value" : 0.5 + } + } + ], + "supported-platforms" : { + "circles" : [ + "watchOS" + ], + "squares" : "shared" + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3b1db2c..6d66781 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@react-navigation/bottom-tabs": "^7.4.0", "@react-navigation/elements": "^2.6.3", "@react-navigation/native": "^7.1.8", + "burnt": "^0.13.0", "expo": "~54.0.30", "expo-constants": "~18.0.12", "expo-font": "~14.0.10", @@ -4677,6 +4678,40 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, + "node_modules/burnt": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/burnt/-/burnt-0.13.0.tgz", + "integrity": "sha512-LjlQa7CLkGWUdz08YUIaGCJ8BLXib31/ztKqowgwqd7UH283A/kmdCj+1PYAQwDQEMPNmvSUfFHrjXbcwZibFQ==", + "license": "MIT", + "dependencies": { + "sf-symbols-typescript": "^1.0.0", + "sonner": "^2.0.1" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/burnt/node_modules/sf-symbols-typescript": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sf-symbols-typescript/-/sf-symbols-typescript-1.0.0.tgz", + "integrity": "sha512-DkS7q3nN68dEMb4E18HFPDAvyrjDZK9YAQQF2QxeFu9gp2xRDXFMF8qLJ1EmQ/qeEGQmop4lmMM1WtYJTIcCMw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/burnt/node_modules/sonner": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", + "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", + "license": "MIT", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", diff --git a/package.json b/package.json index cda4961..8175679 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@react-navigation/bottom-tabs": "^7.4.0", "@react-navigation/elements": "^2.6.3", "@react-navigation/native": "^7.1.8", + "burnt": "^0.13.0", "expo": "~54.0.30", "expo-constants": "~18.0.12", "expo-font": "~14.0.10", diff --git a/src/context/AuthContext.tsx b/src/context/AuthContext.tsx index 1f008d5..0f5ed5a 100644 --- a/src/context/AuthContext.tsx +++ b/src/context/AuthContext.tsx @@ -5,10 +5,11 @@ import { AuthResponse, User } from '../types'; interface AuthContextType { user: User | null; + serverAddress: string | null; token: string | null; isAuthenticated: boolean; isLoading: boolean; - login: (identity: string, password: string, isSuperuser?: boolean) => Promise; + login: (serverAddress: string, identity: string, password: string) => Promise; logout: () => Promise; } @@ -16,6 +17,7 @@ const AuthContext = createContext(undefined); export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { const [user, setUser] = useState(null); + const [serverAddress, setServerAddress] = useState(null); const [token, setToken] = useState(null); const [isLoading, setIsLoading] = useState(true); @@ -27,12 +29,18 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children try { const storedToken = await AsyncStorage.getItem('auth_token'); const storedUser = await AsyncStorage.getItem('auth_user'); + const storedServerAddress = await AsyncStorage.getItem('auth_server_address'); if (storedToken && storedUser) { setToken(storedToken); api.setToken(storedToken); setUser(JSON.parse(storedUser)); } + + if (storedServerAddress) { + setServerAddress(storedServerAddress); + api.setAddress(storedServerAddress + '/api'); + } } catch (error) { console.error('Failed to load auth', error); } finally { @@ -40,15 +48,17 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children } }; - const login = async (identity: string, password: string, isSuperuser = false) => { + const login = async (serverAddress: string, identity: string, password: string) => { try { - const response: AuthResponse = await api.authenticate(identity, password, isSuperuser); + const response: AuthResponse = await api.authenticate(serverAddress, identity, password); await AsyncStorage.setItem('auth_token', response.token); await AsyncStorage.setItem('auth_user', JSON.stringify(response.record)); + await AsyncStorage.setItem('auth_server_address', serverAddress); setToken(response.token); setUser(response.record); + setServerAddress(serverAddress); } catch (error) { throw error; } @@ -60,8 +70,10 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children await AsyncStorage.removeItem('auth_user'); api.clearToken(); + api.clearAddress(); setToken(null); setUser(null); + setServerAddress(null); } catch (error) { console.error('Failed to logout', error); } @@ -70,6 +82,7 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children return ( { - const endpoint = isSuperuser - ? `${API_BASE_URL}/collections/_superusers/auth-with-password` - : `${API_BASE_URL}/collections/users/auth-with-password`; - - const response = await fetch(endpoint, { - method: 'POST', - headers: this.getHeaders(), - body: JSON.stringify({ identity, password }), - }); + getAddress(): string | null { + return this.address; + } - if (!response.ok) { - const error = await response.json(); - throw new Error(error.message || 'Authentication failed'); - } + clearAddress() { + this.address = null; + } - const data: AuthResponse = await response.json(); - this.token = data.token; - return data; - } + private getHeaders(): HeadersInit { + const headers: HeadersInit = { + "Content-Type": "application/json", + }; - async getDevices(page = 1, perPage = 30): Promise { - const response = await fetch( - `${API_BASE_URL}/collections/devices/records?page=${page}&perPage=${perPage}`, - { - headers: this.getHeaders(), - } - ); + if (this.token) { + headers["Authorization"] = `Bearer ${this.token}`; + } - if (!response.ok) { - throw new Error('Failed to fetch devices'); - } + return headers; + } - const data = await response.json(); - return data.items; - } + async authenticate( + serverAddress: string, + identity: string, + password: string + ): Promise { + this.address = serverAddress + "/api"; - async getDevice(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/collections/devices/records/${id}`, - { - headers: this.getHeaders(), - } - ); + const response = await fetch( + `${this.address}/collections/users/auth-with-password`, + { + method: "POST", + headers: this.getHeaders(), + body: JSON.stringify({ identity, password }), + } + ); - if (!response.ok) { - throw new Error('Failed to fetch device'); - } + if (!response.ok) { + const response = await fetch( + `${this.address}/collections/_superusers/auth-with-password`, + { + method: "POST", + headers: this.getHeaders(), + body: JSON.stringify({ identity, password }), + } + ); - return response.json(); - } + if (!response.ok) { + const error = await response.json(); + throw new Error(error.message || "Authentication failed"); + } - async createDevice(device: Partial): Promise { - const response = await fetch( - `${API_BASE_URL}/collections/devices/records`, - { - method: 'POST', - headers: this.getHeaders(), - body: JSON.stringify(device), - } - ); + const data: AuthResponse = await response.json(); + this.token = data.token; + return data; + } - if (!response.ok) { - const error = await response.json(); - throw new Error(error.message || 'Failed to create device'); - } + const data: AuthResponse = await response.json(); + this.token = data.token; + return data; + } - return response.json(); - } + async getDevices(page = 1, perPage = 100): Promise { + const response = await fetch( + `${this.address}/collections/devices/records?page=${page}&perPage=${perPage}`, + { + headers: this.getHeaders(), + } + ); - async updateDevice(id: string, device: Partial): Promise { - const response = await fetch( - `${API_BASE_URL}/collections/devices/records/${id}`, - { - method: 'PATCH', - headers: this.getHeaders(), - body: JSON.stringify(device), - } - ); + if (!response.ok) { + throw new Error("Failed to fetch devices"); + } - if (!response.ok) { - const error = await response.json(); - throw new Error(error.message || 'Failed to update device'); - } + const data = await response.json(); + return data.items; + } - return response.json(); - } + async getDevice(id: string): Promise { + const response = await fetch( + `${this.address}/collections/devices/records/${id}`, + { + headers: this.getHeaders(), + } + ); - async deleteDevice(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/collections/devices/records/${id}`, - { - method: 'DELETE', - headers: this.getHeaders(), - } - ); + if (!response.ok) { + throw new Error("Failed to fetch device"); + } - if (!response.ok) { - throw new Error('Failed to delete device'); - } - } + return response.json(); + } - async wakeDevice(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/upsnap/wake/${id}`, - { - headers: this.getHeaders(), - } - ); + async createDevice(device: Partial): Promise { + const response = await fetch( + `${this.address}/collections/devices/records`, + { + method: "POST", + headers: this.getHeaders(), + body: JSON.stringify(device), + } + ); - if (!response.ok) { - throw new Error('Failed to wake device'); - } - } + if (!response.ok) { + const error = await response.json(); + throw new Error(error.message || "Failed to create device"); + } - async wakeGroup(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/upsnap/wakegroup/${id}`, - { - headers: this.getHeaders(), - } - ); + return response.json(); + } - if (!response.ok) { - throw new Error('Failed to wake group'); - } - } + async updateDevice(id: string, device: Partial): Promise { + const response = await fetch( + `${this.address}/collections/devices/records/${id}`, + { + method: "PATCH", + headers: this.getHeaders(), + body: JSON.stringify(device), + } + ); - async sleepDevice(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/upsnap/sleep/${id}`, - { - headers: this.getHeaders(), - } - ); + if (!response.ok) { + const error = await response.json(); + throw new Error(error.message || "Failed to update device"); + } - if (!response.ok) { - throw new Error('Failed to sleep device'); - } - } + return response.json(); + } - async rebootDevice(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/upsnap/reboot/${id}`, - { - headers: this.getHeaders(), - } - ); + async deleteDevice(id: string): Promise { + const response = await fetch( + `${this.address}/collections/devices/records/${id}`, + { + method: "DELETE", + headers: this.getHeaders(), + } + ); - if (!response.ok) { - throw new Error('Failed to reboot device'); - } - } + if (!response.ok) { + throw new Error("Failed to delete device"); + } + } - async shutdownDevice(id: string): Promise { - const response = await fetch( - `${API_BASE_URL}/upsnap/shutdown/${id}`, - { - headers: this.getHeaders(), - } - ); + async wakeDevice(id: string): Promise { + const response = await fetch(`${this.address}/upsnap/wake/${id}`, { + headers: this.getHeaders(), + }); - if (!response.ok) { - throw new Error('Failed to shutdown device'); - } - } + if (!response.ok) { + throw new Error("Failed to wake device"); + } + } - async scanNetwork(): Promise { - const response = await fetch( - `${API_BASE_URL}/upsnap/scan`, - { - headers: this.getHeaders(), - } - ); + async wakeGroup(id: string): Promise { + const response = await fetch(`${this.address}/upsnap/wakegroup/${id}`, { + headers: this.getHeaders(), + }); - if (!response.ok) { - throw new Error('Failed to scan network'); - } + if (!response.ok) { + throw new Error("Failed to wake group"); + } + } - const data = await response.json(); - console.log('Raw scan data:', data); - - if (data.devices && Array.isArray(data.devices)) { - return data.devices.map((item: any) => ({ - name: item.name || item.hostname || 'Unknown', - ip: item.ip || item.ip_address || '', - mac: item.mac || item.mac_address || '', - mac_vendor: item.mac_vendor || 'Unknown', - })); - } - - if (Array.isArray(data)) { - return data.map((item: any) => ({ - name: item.name || item.hostname || 'Unknown', - ip: item.ip || item.ip_address || '', - mac: item.mac || item.mac_address || '', - mac_vendor: item.mac_vendor || 'Unknown', - })); - } - - if (data.items && Array.isArray(data.items)) { - return data.items.map((item: any) => ({ - name: item.name || item.hostname || 'Unknown', - ip: item.ip || item.ip_address || '', - mac: item.mac || item.mac_address || '', - mac_vendor: item.mac_vendor || 'Unknown', - })); - } - - return []; - } + async sleepDevice(id: string): Promise { + const response = await fetch(`${this.address}/upsnap/sleep/${id}`, { + headers: this.getHeaders(), + }); + + if (!response.ok) { + throw new Error("Failed to sleep device"); + } + } + + async rebootDevice(id: string): Promise { + const response = await fetch(`${this.address}/upsnap/reboot/${id}`, { + headers: this.getHeaders(), + }); + + if (!response.ok) { + throw new Error("Failed to reboot device"); + } + } + + async shutdownDevice(id: string): Promise { + const response = await fetch(`${this.address}/upsnap/shutdown/${id}`, { + headers: this.getHeaders(), + }); + + if (!response.ok) { + throw new Error("Failed to shutdown device"); + } + } + + async scanNetwork(): Promise { + const response = await fetch(`${this.address}/upsnap/scan`, { + headers: this.getHeaders(), + }); + + if (!response.ok) { + throw new Error("Failed to scan network"); + } + + const data = await response.json(); + if (data.devices && Array.isArray(data.devices)) { + return data.devices.map((item: any) => ({ + name: item.name || item.hostname || "Unknown", + ip: item.ip || item.ip_address || "", + mac: item.mac || item.mac_address || "", + mac_vendor: item.mac_vendor || "Unknown", + })); + } + + if (Array.isArray(data)) { + return data.map((item: any) => ({ + name: item.name || item.hostname || "Unknown", + ip: item.ip || item.ip_address || "", + mac: item.mac || item.mac_address || "", + mac_vendor: item.mac_vendor || "Unknown", + })); + } + + if (data.items && Array.isArray(data.items)) { + return data.items.map((item: any) => ({ + name: item.name || item.hostname || "Unknown", + ip: item.ip || item.ip_address || "", + mac: item.mac || item.mac_address || "", + mac_vendor: item.mac_vendor || "Unknown", + })); + } + + return []; + } } export default new UpSnapAPI(); diff --git a/src/types/index.ts b/src/types/index.ts index 9877c34..a8951db 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,50 +1,50 @@ export interface Device { - id: string; - collectionId: string; - collectionName: string; - name: string; - mac: string; - ip: string; - netmask: string; - broadcast: string; - secureOnPassword: string; - port: number; - groups: string[]; - status: string; - created: string; - updated: string; + id: string; + collectionId: string; + collectionName: string; + name: string; + mac: string; + ip: string; + netmask: string; + broadcast: string; + secureOnPassword: string; + port: number; + groups: string[]; + status: string; + created: string; + updated: string; } export interface AuthResponse { - token: string; - record: User; + token: string; + record: User; } export interface User { - id: string; - collectionId: string; - collectionName: string; - username: string; - verified: boolean; - emailVisibility: boolean; - email: string; - created: string; - updated: string; - name: string; - avatar: number; + id: string; + collectionId: string; + collectionName: string; + username: string; + verified: boolean; + emailVisibility: boolean; + email: string; + created: string; + updated: string; + name: string; + avatar: number; } export interface DeviceGroup { - id: string; - name: string; + id: string; + name: string; } export interface NetworkScanResult { - name?: string; - hostname?: string; - ip?: string; - ip_address?: string; - mac?: string; - mac_address?: string; - mac_vendor?: string; + name?: string; + hostname?: string; + ip?: string; + ip_address?: string; + mac?: string; + mac_address?: string; + mac_vendor?: string; }