diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a4d37d..7f917f5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,7 +48,7 @@ export default { tags: [TAGS.frontend, TAGS.open_source], links: { - website: 'https://vuejs.org', + official_website: 'https://vuejs.org', github: 'https://github.com/vuejs/core', npm: 'https://www.npmjs.com/package/vue', }, diff --git a/demo/src/components/CompletenessChart.tsx b/demo/src/components/CompletenessChart.tsx index 20d170d..8c8b187 100644 --- a/demo/src/components/CompletenessChart.tsx +++ b/demo/src/components/CompletenessChart.tsx @@ -7,6 +7,10 @@ interface CompletenessChartProps { baselinePercentage: number additionalPercentage: number fullPercentage: number + baselineCount: number + baselineTotal: number + additionalCount: number + additionalTotal: number term: TTerm } @@ -16,6 +20,10 @@ export function CompletenessChart({ baselinePercentage, additionalPercentage, fullPercentage, + baselineCount, + baselineTotal, + additionalCount, + additionalTotal, term, }: CompletenessChartProps) { const groupByCategory = (fields: FieldCompleteness[]) => { @@ -39,6 +47,17 @@ export function CompletenessChart({ const baselineGroups = groupByCategory(baselineFields) const additionalGroups = groupByCategory(additionalFields) + const renderCount = (completed: number, total: number) => { + const allDone = completed === total + return ( + + {completed}/{total} + + ) + } + const renderFieldList = (fields: FieldCompleteness[]) => { if (fields.length === 0) return null @@ -48,6 +67,7 @@ export function CompletenessChart({
  • {field.completed ? '✓' : '○'} {field.label} + {field.optional && (Optional)}
  • ))} @@ -57,9 +77,16 @@ export function CompletenessChart({ const renderCategory = (title: string, fields: FieldCompleteness[]) => { if (fields.length === 0) return null + const countableFields = fields.filter((f) => !f.optional) + const completed = countableFields.filter((f) => f.completed).length + const total = countableFields.length + return (
    -

    {title}

    +
    +

    {title}

    + {total > 0 && renderCount(completed, total)} +
    {renderFieldList(fields)}
    ) @@ -70,16 +97,18 @@ export function CompletenessChart({ const links = term.links const linkStatuses = [ - { name: 'Website', completed: !!links?.website }, + { name: 'Official Website', completed: !!links?.official_website }, { name: 'Wikipedia', completed: !!links?.wikipedia }, { name: 'GitHub', completed: !!links?.github }, { name: 'npm', completed: !!links?.npm }, ] + const hasAny = linkStatuses.some((l) => l.completed) return (

    Links (at least one)

    + {renderCount(hasAny ? 1 : 0, 1)}