UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

1 lines 3.14 kB
{"version":3,"sources":["../src/types/performance.ts"],"sourcesContent":["/**\n * Performance tag types based on percentage ranges\n */\nexport enum PerformanceTag {\n DESTAQUE_DA_TURMA = 'DESTAQUE_DA_TURMA',\n ACIMA_DA_MEDIA = 'ACIMA_DA_MEDIA',\n ABAIXO_DA_MEDIA = 'ABAIXO_DA_MEDIA',\n PONTO_DE_ATENCAO = 'PONTO_DE_ATENCAO',\n}\n\n/**\n * Performance tag configuration\n */\nexport interface PerformanceTagConfig {\n label: string;\n variant: 'success' | 'info' | 'warning' | 'error';\n minPercentage: number;\n maxPercentage: number;\n}\n\n/**\n * Time intervals accepted by backend API\n * Used as query parameter in analytics endpoints\n */\nexport type TimeInterval = '1week' | '15days' | '1month' | '6months' | '1year';\n\n/**\n * Performance tag configurations by type\n * 90-100%: Destaque da turma (success)\n * 70-89%: Acima da média (info)\n * 40-69%: Abaixo da média (warning)\n * 0-39%: Ponto de atenção (error)\n */\nexport const PERFORMANCE_TAG_CONFIG: Record<\n PerformanceTag,\n PerformanceTagConfig\n> = {\n DESTAQUE_DA_TURMA: {\n label: 'Destaque da turma',\n variant: 'success',\n minPercentage: 90,\n maxPercentage: 100,\n },\n ACIMA_DA_MEDIA: {\n label: 'Acima da média',\n variant: 'info',\n minPercentage: 70,\n maxPercentage: 89,\n },\n ABAIXO_DA_MEDIA: {\n label: 'Abaixo da média',\n variant: 'warning',\n minPercentage: 40,\n maxPercentage: 69,\n },\n PONTO_DE_ATENCAO: {\n label: 'Ponto de atenção',\n variant: 'error',\n minPercentage: 0,\n maxPercentage: 39,\n },\n};\n\n/**\n * Get performance tag based on percentage\n * @param percentage - Performance percentage (0-100)\n * @returns Performance tag type\n */\nexport function getPerformanceTag(percentage: number): PerformanceTag {\n if (percentage >= 90) return PerformanceTag.DESTAQUE_DA_TURMA;\n if (percentage >= 70) return PerformanceTag.ACIMA_DA_MEDIA;\n if (percentage >= 40) return PerformanceTag.ABAIXO_DA_MEDIA;\n return PerformanceTag.PONTO_DE_ATENCAO;\n}\n\n/**\n * Get performance tag configuration based on percentage\n * @param percentage - Performance percentage (0-100)\n * @returns Performance tag configuration\n */\nexport function getPerformanceTagConfig(\n percentage: number\n): PerformanceTagConfig {\n const tag = getPerformanceTag(percentage);\n return PERFORMANCE_TAG_CONFIG[tag];\n}\n"],"mappings":";AAGO,IAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,uBAAoB;AACpB,EAAAA,gBAAA,oBAAiB;AACjB,EAAAA,gBAAA,qBAAkB;AAClB,EAAAA,gBAAA,sBAAmB;AAJT,SAAAA;AAAA,GAAA;AA8BL,IAAM,yBAGT;AAAA,EACF,mBAAmB;AAAA,IACjB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,eAAe;AAAA,IACf,eAAe;AAAA,EACjB;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,SAAS;AAAA,IACT,eAAe;AAAA,IACf,eAAe;AAAA,EACjB;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,SAAS;AAAA,IACT,eAAe;AAAA,IACf,eAAe;AAAA,EACjB;AAAA,EACA,kBAAkB;AAAA,IAChB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,eAAe;AAAA,IACf,eAAe;AAAA,EACjB;AACF;AAOO,SAAS,kBAAkB,YAAoC;AACpE,MAAI,cAAc,GAAI,QAAO;AAC7B,MAAI,cAAc,GAAI,QAAO;AAC7B,MAAI,cAAc,GAAI,QAAO;AAC7B,SAAO;AACT;AAOO,SAAS,wBACd,YACsB;AACtB,QAAM,MAAM,kBAAkB,UAAU;AACxC,SAAO,uBAAuB,GAAG;AACnC;","names":["PerformanceTag"]}