Initialising workspace...
workspace โ€” VS Code
index.ts
api/client.ts
utils/format.ts
README.md
1// UserDashboard โ€” main entry point
2import{ useState, useEffect, useCallback }from'react';
3import{ fetchData, postData }from'./api/client';
4import{ formatDate, formatCurrency }from'./utils/format';
5import type{ UserProfile, ApiResponse }from'./types';
6
7constBASE_URL='https://api.example.com/v2';
8constTIMEOUT_MS=5000;
9
10interfaceDashboardState{
11user:UserProfile|null;
12loading:boolean;
13error:string|null;
14lastUpdated:Date|null;
15}
16
17export constUserDashboard= () => {
18const[state,setState] =useState<DashboardState>({
19user:null, loading:true, error:null, lastUpdated:null,
20});
21
22constloadUser=useCallback(async() => {
23try{
24constres=awaitfetchData(`${BASE_URL}/profile`);
25setState(prev=> ({ ...prev, user:res.data, loading:false}));
26}catch(err) {
27setState(prev=> ({ ...prev, loading:false, error:'Failed to load'}));
28}
29}, []);
30
31useEffect(() => { loadUser(); }, [loadUser]);
32
33return<Dashboarduser={state.user} />;
34};
35
36export defaultUserDashboard;
โއ mainTypeScriptUTF-8Ln 34, Col 2Spaces: 2
preview.ts
1// preview renderer
2export constrender= (id:string) => {
3return<Previewsrc={id} />;
4};