Skip to content

Commit 9d66f38

Browse files
Fix prettier formatting for ResourcesUsage
1 parent 183fa36 commit 9d66f38

1 file changed

Lines changed: 107 additions & 110 deletions

File tree

src/components/CommunityPortal/Activities/activityId/ResourcesUsage.jsx

Lines changed: 107 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -40,122 +40,119 @@ function ResourcesUsage() {
4040
},
4141
];
4242

43-
const [isExporting, setIsExporting] = useState(false);
44-
45-
const exportColumns = [
46-
{ key: 'sNo', label: 'S.No' },
47-
{ key: 'name', label: 'Name' },
48-
{ key: 'materials', label: 'Materials' },
49-
{ key: 'facilities', label: 'Facilities' },
50-
{ key: 'status', label: 'Status' },
51-
{ key: 'dueDate', label: 'Due Date' },
52-
];
53-
54-
const getExportData = () =>
55-
data.map(row => ({
56-
...row,
57-
status: row.status.text,
58-
}));
59-
60-
const exportCSV = () => {
61-
setIsExporting(true);
62-
63-
const rows = getExportData();
64-
const header = exportColumns.map(col => col.label).join(',');
65-
const body = rows
66-
.map(row => exportColumns.map(col => `"${row[col.key] ?? ''}"`).join(','))
67-
.join('\n');
68-
69-
const blob = new Blob([`${header}\n${body}`], {
70-
type: 'text/csv;charset=utf-8;',
71-
});
72-
73-
const url = URL.createObjectURL(blob);
74-
const link = document.createElement('a');
75-
link.href = url;
76-
link.download = `resource-usage_${new Date().toISOString().slice(0, 10)}.csv`;
77-
link.click();
78-
URL.revokeObjectURL(url);
79-
80-
setIsExporting(false);
81-
};
82-
83-
const exportXLSX = () => {
84-
setIsExporting(true);
85-
86-
const rows = getExportData().map(row => {
87-
const formatted = {};
88-
exportColumns.forEach(col => {
89-
formatted[col.label] = row[col.key];
90-
});
91-
return formatted;
92-
});
43+
const [isExporting, setIsExporting] = useState(false);
44+
45+
const exportColumns = [
46+
{ key: 'sNo', label: 'S.No' },
47+
{ key: 'name', label: 'Name' },
48+
{ key: 'materials', label: 'Materials' },
49+
{ key: 'facilities', label: 'Facilities' },
50+
{ key: 'status', label: 'Status' },
51+
{ key: 'dueDate', label: 'Due Date' },
52+
];
9353

94-
const worksheet = XLSX.utils.json_to_sheet(rows);
95-
const workbook = XLSX.utils.book_new();
96-
XLSX.utils.book_append_sheet(workbook, worksheet, 'Resource Usage');
54+
const getExportData = () =>
55+
data.map(row => ({
56+
...row,
57+
status: row.status.text,
58+
}));
9759

98-
XLSX.writeFile(
99-
workbook,
100-
`resource-usage_${new Date().toISOString().slice(0, 10)}.xlsx`
101-
);
60+
const exportCSV = () => {
61+
setIsExporting(true);
10262

103-
setIsExporting(false);
104-
};
105-
106-
return (
107-
<div className={`${darkMode ? styles.darkMode : ''}`}>
108-
<div className={`${styles.resourcesUsage}`}>
109-
<h2 className={`${styles.resourceTitle}`}>Resource Usage Monitoring</h2>
110-
111-
{/* ✅ Export Buttons (your feature, integrated cleanly) */}
112-
<div className={styles.exportButtons}>
113-
<button
114-
type="button"
115-
className={styles.exportButton}
116-
onClick={exportCSV}
117-
disabled={isExporting}
118-
>
119-
{isExporting ? 'Exporting…' : 'Export CSV'}
120-
</button>
121-
122-
<button
123-
type="button"
124-
className={styles.exportButton}
125-
onClick={exportXLSX}
126-
disabled={isExporting}
127-
>
128-
{isExporting ? 'Exporting…' : 'Export Excel'}
129-
</button>
130-
</div>
63+
const rows = getExportData();
64+
const header = exportColumns.map(col => col.label).join(',');
65+
const body = rows
66+
.map(row => exportColumns.map(col => `"${row[col.key] ?? ''}"`).join(','))
67+
.join('\n');
13168

132-
<div className={`${styles.resourceRow}`}>
133-
<div className={`${styles.column}`}>S.No</div>
134-
<div className={`${styles.column}`}>Name</div>
135-
<div className={`${styles.column}`}>Materials</div>
136-
<div className={`${styles.column}`}>Facilities</div>
137-
<div className={`${styles.column}`}>Status</div>
138-
<div className={`${styles.column}`}>Due Date</div>
139-
<div className={`${styles.column}`}>Actions</div>
140-
</div>
69+
const blob = new Blob([`${header}\n${body}`], {
70+
type: 'text/csv;charset=utf-8;',
71+
});
14172

142-
{data.map(row => (
143-
<div key={row.sNo} className={`${styles.resourceRow}`}>
144-
<div className={`${styles.column}`}>{row.sNo}</div>
145-
<div className={`${styles.column}`}>{row.name}</div>
146-
<div className={`${styles.column}`}>{row.materials}</div>
147-
<div className={`${styles.column}`}>{row.facilities}</div>
148-
<div className={`${styles.column} ${styles[`status${row.status.color}`]}`}>
149-
{row.status.text}
150-
</div>
151-
<div className={`${styles.column}`}>{row.dueDate}</div>
152-
<div className={`${styles.column} ${styles.actionColumn}`}>
153-
<button type="button" className={`${styles.viewDetailsButton}`}>
154-
View Details
155-
</button>
156-
</div>
73+
const url = URL.createObjectURL(blob);
74+
const link = document.createElement('a');
75+
link.href = url;
76+
link.download = `resource-usage_${new Date().toISOString().slice(0, 10)}.csv`;
77+
link.click();
78+
URL.revokeObjectURL(url);
79+
80+
setIsExporting(false);
81+
};
82+
83+
const exportXLSX = () => {
84+
setIsExporting(true);
85+
86+
const rows = getExportData().map(row => {
87+
const formatted = {};
88+
exportColumns.forEach(col => {
89+
formatted[col.label] = row[col.key];
90+
});
91+
return formatted;
92+
});
93+
94+
const worksheet = XLSX.utils.json_to_sheet(rows);
95+
const workbook = XLSX.utils.book_new();
96+
XLSX.utils.book_append_sheet(workbook, worksheet, 'Resource Usage');
97+
98+
XLSX.writeFile(workbook, `resource-usage_${new Date().toISOString().slice(0, 10)}.xlsx`);
99+
100+
setIsExporting(false);
101+
};
102+
103+
return (
104+
<div className={`${darkMode ? styles.darkMode : ''}`}>
105+
<div className={`${styles.resourcesUsage}`}>
106+
<h2 className={`${styles.resourceTitle}`}>Resource Usage Monitoring</h2>
107+
108+
{/* ✅ Export Buttons (your feature, integrated cleanly) */}
109+
<div className={styles.exportButtons}>
110+
<button
111+
type="button"
112+
className={styles.exportButton}
113+
onClick={exportCSV}
114+
disabled={isExporting}
115+
>
116+
{isExporting ? 'Exporting…' : 'Export CSV'}
117+
</button>
118+
119+
<button
120+
type="button"
121+
className={styles.exportButton}
122+
onClick={exportXLSX}
123+
disabled={isExporting}
124+
>
125+
{isExporting ? 'Exporting…' : 'Export Excel'}
126+
</button>
157127
</div>
158-
))}
128+
129+
<div className={`${styles.resourceRow}`}>
130+
<div className={`${styles.column}`}>S.No</div>
131+
<div className={`${styles.column}`}>Name</div>
132+
<div className={`${styles.column}`}>Materials</div>
133+
<div className={`${styles.column}`}>Facilities</div>
134+
<div className={`${styles.column}`}>Status</div>
135+
<div className={`${styles.column}`}>Due Date</div>
136+
<div className={`${styles.column}`}>Actions</div>
137+
</div>
138+
139+
{data.map(row => (
140+
<div key={row.sNo} className={`${styles.resourceRow}`}>
141+
<div className={`${styles.column}`}>{row.sNo}</div>
142+
<div className={`${styles.column}`}>{row.name}</div>
143+
<div className={`${styles.column}`}>{row.materials}</div>
144+
<div className={`${styles.column}`}>{row.facilities}</div>
145+
<div className={`${styles.column} ${styles[`status${row.status.color}`]}`}>
146+
{row.status.text}
147+
</div>
148+
<div className={`${styles.column}`}>{row.dueDate}</div>
149+
<div className={`${styles.column} ${styles.actionColumn}`}>
150+
<button type="button" className={`${styles.viewDetailsButton}`}>
151+
View Details
152+
</button>
153+
</div>
154+
</div>
155+
))}
159156
<div className={`${styles.tickBox}`}>
160157
<label className={`${styles.tickLabel}`}>
161158
<input type="checkbox" id="tickAll" /> Tick off All Selected Items

0 commit comments

Comments
 (0)