diff --git a/client/src/pages/Settings.tsx b/client/src/pages/Settings.tsx index b1a4436..dd7d7c8 100644 --- a/client/src/pages/Settings.tsx +++ b/client/src/pages/Settings.tsx @@ -16,6 +16,7 @@ interface EtsyStatus { interface EtsyConfig { configured: boolean; apiKeyMasked: string | null; + sharedSecretMasked: string | null; redirectUri: string | null; source: 'database' | 'environment' | null; } @@ -33,6 +34,7 @@ const Settings = () => { const [etsyStatus, setEtsyStatus] = useState(null); const [etsyConfig, setEtsyConfig] = useState(null); const [apiKeyInput, setApiKeyInput] = useState(''); + const [sharedSecretInput, setSharedSecretInput] = useState(''); const [redirectUriInput, setRedirectUriInput] = useState(''); const [isSavingConfig, setIsSavingConfig] = useState(false); const [isConnecting, setIsConnecting] = useState(false); @@ -90,10 +92,12 @@ const Settings = () => { try { await api.put('/etsy/config', { apiKey: apiKeyInput.trim() || undefined, + sharedSecret: sharedSecretInput.trim() || undefined, redirectUri: redirectUriInput.trim(), }); toast.success('Etsy configuration saved'); setApiKeyInput(''); + setSharedSecretInput(''); loadEtsyConfig(); } catch (error: any) { toast.error(error.response?.data?.message || 'Failed to save Etsy configuration'); @@ -266,6 +270,24 @@ const Settings = () => { onChange={(e) => setApiKeyInput(e.target.value)} /> +
+ + setSharedSecretInput(e.target.value)} + /> +

+ Etsy requires this for API calls — it's on the same page as your keystring. +

+