import React, { useState, useEffect } from 'react'; import axios from 'axios'; function MyAccount() { const [wvList, setWvList] = useState([]); const [prList, setPrList] = useState([]); const [uploading, setUploading] = useState(false); const [username, setUsername] = useState(''); // <-- Added state for username // Fetch user CDMs const fetchUserInfo = async () => { try { const response = await axios.post('/userinfo'); setWvList(response.data.Widevine_Devices || []); setPrList(response.data.Playready_Devices || []); setUsername(response.data.Username || ''); // <-- Set username here } catch (err) { console.error('Failed to fetch user info', err); } }; useEffect(() => { fetchUserInfo(); }, []); // Handle File Upload const handleUpload = async (event, cdmType) => { const file = event.target.files[0]; if (!file) return; const extension = file.name.split('.').pop(); if ((cdmType === 'PR' && extension !== 'prd') || (cdmType === 'WV' && extension !== 'wvd')) { alert(`Please upload a .${cdmType === 'PR' ? 'prd' : 'wvd'} file.`); return; } const formData = new FormData(); formData.append('file', file); setUploading(true); try { await axios.post(`/upload/${cdmType}`, formData); await fetchUserInfo(); // Refresh list after upload } catch (err) { console.error('Upload failed', err); alert('Upload failed'); } finally { setUploading(false); } }; return (
{/* Left Panel */}

{username ? `${username}` : 'My Account'}

{/* Right Panel */}
{/* Widevine Section */}

Widevine CDMs

{wvList.length === 0 ? (
No Widevine CDMs uploaded.
) : ( wvList.map((filename, i) => (
{filename}
)) )}
{/* Playready Section */}

Playready CDMs

{prList.length === 0 ? (
No Playready CDMs uploaded.
) : ( prList.map((filename, i) => (
{filename}
)) )}
); } export default MyAccount;