Added PNGs with partial radial progress
This commit is contained in:
@@ -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 = () => {
|
||||
|
||||
Reference in New Issue
Block a user