"use client" import React, { useState } from "react" import type { ShareSettings, PrecisionLevel } from "@/lib/location/types" interface ShareSettingsProps { onSettingsChange: (settings: ShareSettings) => void initialSettings?: Partial } export const ShareSettingsComponent: React.FC = ({ onSettingsChange, initialSettings = {} }) => { const [duration, setDuration] = useState( initialSettings.duration ? String(initialSettings.duration / 3600000) : "24", ) const [maxViews, setMaxViews] = useState( initialSettings.maxViews ? String(initialSettings.maxViews) : "unlimited", ) const [precision, setPrecision] = useState(initialSettings.precision || "street") const handleChange = () => { const settings: ShareSettings = { duration: duration === "unlimited" ? null : Number(duration) * 3600000, maxViews: maxViews === "unlimited" ? null : Number(maxViews), precision, } onSettingsChange(settings) } React.useEffect(() => { handleChange() }, [duration, maxViews, precision]) return (

Privacy Settings

Control how your location is shared

{/* Precision Level */}
{[ { value: "exact", label: "Exact Location", desc: "Share precise coordinates" }, { value: "street", label: "Street Level", desc: "~100m radius" }, { value: "neighborhood", label: "Neighborhood", desc: "~1km radius" }, { value: "city", label: "City Level", desc: "~10km radius" }, ].map((option) => ( ))}
{/* Duration */}
{/* Max Views */}
{/* Privacy Notice */}

Your location data is stored securely in your private filesystem. Only people with the share link can view your location, and shares automatically expire based on your settings.

) }