diff --git a/src/app/api/discover/route.ts b/src/app/api/discover/route.ts index b1c761d..d0e56a6 100644 --- a/src/app/api/discover/route.ts +++ b/src/app/api/discover/route.ts @@ -36,6 +36,7 @@ export const GET = async (req: Request) => { { engines: ['bing news'], pageno: 1, + language: 'en', }, ) ).results; @@ -49,7 +50,11 @@ export const GET = async (req: Request) => { data = ( await searchSearxng( `site:${articleWebsites[Math.floor(Math.random() * articleWebsites.length)]} ${topics[Math.floor(Math.random() * topics.length)]}`, - { engines: ['bing news'], pageno: 1 }, + { + engines: ['bing news'], + pageno: 1, + language: 'en', + }, ) ).results; } diff --git a/src/app/api/weather/route.ts b/src/app/api/weather/route.ts index 7594aa9..1f9867f 100644 --- a/src/app/api/weather/route.ts +++ b/src/app/api/weather/route.ts @@ -1,6 +1,7 @@ export const POST = async (req: Request) => { try { - const body: { lat: number; lng: number } = await req.json(); + const body: { lat: number; lng: number; temperatureUnit: 'C' | 'F' } = + await req.json(); if (!body.lat || !body.lng) { return Response.json( @@ -12,7 +13,7 @@ export const POST = async (req: Request) => { } const res = await fetch( - `https://api.open-meteo.com/v1/forecast?latitude=${body.lat}&longitude=${body.lng}¤t=weather_code,temperature_2m,is_day,relative_humidity_2m,wind_speed_10m&timezone=auto`, + `https://api.open-meteo.com/v1/forecast?latitude=${body.lat}&longitude=${body.lng}¤t=weather_code,temperature_2m,is_day,relative_humidity_2m,wind_speed_10m&timezone=auto${body.temperatureUnit === 'C' ? '' : '&temperature_unit=fahrenheit'}`, ); const data = await res.json(); @@ -33,12 +34,14 @@ export const POST = async (req: Request) => { humidity: number; windSpeed: number; icon: string; + temperatureUnit: 'C' | 'F'; } = { temperature: data.current.temperature_2m, condition: '', humidity: data.current.relative_humidity_2m, windSpeed: data.current.wind_speed_10m, icon: '', + temperatureUnit: body.temperatureUnit, }; const code = data.current.weather_code; diff --git a/src/app/settings/page.tsx b/src/app/settings/page.tsx index cbdc812..e2ca9b7 100644 --- a/src/app/settings/page.tsx +++ b/src/app/settings/page.tsx @@ -232,6 +232,7 @@ export default function SettingsPage() { >(null); const [isLoading, setIsLoading] = useState(true); const [automaticSuggestions, setAutomaticSuggestions] = useState(true); + const [temperatureUnit, setTemperatureUnit] = useState<'C' | 'F'>('C'); const [savingStates, setSavingStates] = useState>({}); const [contextWindowSize, setContextWindowSize] = useState(2048); const [isCustomContextWindow, setIsCustomContextWindow] = useState(false); @@ -333,6 +334,8 @@ export default function SettingsPage() { !predefinedContextSizes.includes(storedContextWindow), ); + setTemperatureUnit(localStorage.getItem('temperatureUnit')! as 'C' | 'F'); + setIsLoading(false); }; @@ -553,6 +556,8 @@ export default function SettingsPage() { localStorage.setItem('embeddingModel', value); } else if (key === 'ollamaContextWindow') { localStorage.setItem('ollamaContextWindow', value.toString()); + } else if (key === 'temperatureUnit') { + localStorage.setItem('temperatureUnit', value.toString()); } } catch (err) { console.error('Failed to save:', err); @@ -721,13 +726,35 @@ export default function SettingsPage() { ) : ( config && (
- +

Theme

+
+

+ Temperature Unit +

+