Browse Source

fix stuff

master
Stephanie Gredell 3 weeks ago
parent
commit
7774791bd8
  1. 25
      frontend/src/pages/LandingPage.tsx
  2. 17
      frontend/src/services/magicCodeService.ts

25
frontend/src/pages/LandingPage.tsx

@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
import { Link } from 'react-router-dom';
import { OptimizedImage } from '../components/OptimizedImage/OptimizedImage';
import { MagicCodeInput } from '../components/MagicCodeInput/MagicCodeInput';
import { getAppliedMagicCode, getMagicCodeSettings, hasActiveMagicCode } from '../services/magicCodeService';
import { getAppliedMagicCode, getMagicCodeSettings, hasActiveMagicCode, refreshMagicCodeSettings } from '../services/magicCodeService';
import { getEnabledApps } from '../utils/appFilter';
const categoryEmojis: { [key: string]: string } = {
@ -37,6 +37,29 @@ export function LandingPage() { @@ -37,6 +37,29 @@ export function LandingPage() {
const appliedCode = getAppliedMagicCode();
const magicCodeSettings = getMagicCodeSettings();
// Refresh magic code settings from server on load (if a code exists)
useEffect(() => {
let isMounted = true;
async function syncMagicCodeSettings() {
if (!appliedCode) return;
try {
await refreshMagicCodeSettings();
if (isMounted) {
setEnabledApps(getEnabledApps());
}
} catch (error) {
console.warn('Failed to refresh magic code on load', error);
}
}
syncMagicCodeSettings();
return () => {
isMounted = false;
};
}, [appliedCode]);
// Re-check enabled apps when magic code is applied/cleared
useEffect(() => {
setEnabledApps(getEnabledApps());

17
frontend/src/services/magicCodeService.ts

@ -80,6 +80,23 @@ export async function applyMagicCode(code: string): Promise<MagicCodeSettings> { @@ -80,6 +80,23 @@ export async function applyMagicCode(code: string): Promise<MagicCodeSettings> {
return settings;
}
/**
* Re-fetch settings for the currently applied magic code (if any)
*/
export async function refreshMagicCodeSettings(): Promise<MagicCodeSettings | null> {
const currentCode = getAppliedMagicCode();
if (!currentCode) {
return null;
}
try {
return await applyMagicCode(currentCode);
} catch (error) {
console.warn('Failed to refresh magic code settings', error);
throw error;
}
}
/**
* Clear the applied magic code and settings
*/

Loading…
Cancel
Save