Added PNGs with partial radial progress

This commit is contained in:
Joao Ramos
2024-01-07 23:51:05 +00:00
parent 7a297a6f6c
commit 5e8e46ff09
25 changed files with 53 additions and 22 deletions

View File

@@ -125,6 +125,15 @@ const generateQRCode = async (link: string) => {
}
};
type RADIAL_PROGRESS_COLOR = 'laranja' | 'azul';
const getRadialProgressPNG = (color: RADIAL_PROGRESS_COLOR, score: number, total: number) => {
const percent = (score / total) * 100;
const remainder = percent % 10;
const roundedPercent = percent - remainder;
return `public/radial_progress/${color}_${roundedPercent}.png`;
}
async function post(req: NextApiRequest, res: NextApiResponse) {
if (req.session.user) {
const { id } = req.query as { id: string };
@@ -154,7 +163,7 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
const user = docUser.data() as User;
const stats = docsSnap.docs.map((d) => d.data());
const results = stats.reduce((accm: ModuleScore[], { module, score }) => {
const results = (stats.reduce((accm: ModuleScore[], { module, score }) => {
const fixedModuleStr = module[0].toUpperCase() + module.substring(1);
if (accm.find((e: ModuleScore) => e.module === fixedModuleStr)) {
return accm.map((e: ModuleScore) => {
@@ -179,7 +188,13 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
feedback: getFeedback(module),
},
];
}, []) as ModuleScore[];
}, []) as ModuleScore[]).map((moduleScore) => {
const { score, total } = moduleScore;
return {
...moduleScore,
png: getRadialProgressPNG('azul', score, total),
}
});
const [stat] = stats as Stat[];
@@ -196,6 +211,7 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
module: "Overall",
score: overallScore,
total: overallTotal,
png: getRadialProgressPNG('laranja', overallScore, overallTotal),
} as ModuleScore;
const testDetails = [overallDetail, ...results];
const renderDetails = () => {