Skip to content

Commit a88bcb7

Browse files
authored
chore: organization page UI, terminology and time range improvements (IN-1204) (#2015)
Signed-off-by: Your Name <jmaia@contractor.linuxfoundation.org>
1 parent 8b6a708 commit a88bcb7

8 files changed

Lines changed: 44 additions & 55 deletions

File tree

frontend/app/components/modules/leaderboards/components/minimize-row-displays/organization-row.vue

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,23 @@ SPDX-License-Identifier: MIT
44
-->
55

66
<template>
7-
<div
8-
class="flex items-center w-full"
9-
:class="item.slug ? 'cursor-pointer' : ''"
10-
>
7+
<div class="flex items-center w-full">
118
<!-- Organization info -->
12-
<component
13-
:is="item.slug ? nuxtLink : 'div'"
14-
:to="item.slug ? { name: LfxRoutes.ORGANIZATION, params: { orgSlug: item.slug } } : undefined"
15-
class="flex-1 min-w-0 flex gap-3 items-center text-inherit no-underline"
16-
:class="item.slug ? 'hover:text-brand-500 transition-colors cursor-pointer' : ''"
17-
>
9+
<div class="flex-1 min-w-0 flex gap-3 items-center">
1810
<lfx-avatar
1911
:src="item.logoUrl"
2012
type="organization"
2113
:aria-label="item.logoUrl && item.name"
2214
/>
2315
<p
2416
:title="item.name"
25-
class="font-medium overflow-hidden text-ellipsis whitespace-nowrap max-w-full text-sm"
17+
class="font-medium text-neutral-900 overflow-hidden text-ellipsis whitespace-nowrap max-w-full text-sm"
18+
:class="item.slug ? 'hover:underline cursor-pointer' : ''"
19+
@click.prevent.stop="navigateToOrganization(item.slug)"
2620
>
2721
{{ item.name }}
2822
</p>
29-
</component>
23+
</div>
3024

3125
<!-- Stats -->
3226
<div class="w-1/4 shrink-0">
@@ -38,19 +32,26 @@ SPDX-License-Identifier: MIT
3832
</template>
3933

4034
<script setup lang="ts">
41-
import { resolveComponent } from 'vue';
35+
import { useRouter } from 'vue-router';
4236
import type { LeaderboardConfig } from '../../config/types/leaderboard.types';
4337
import NumericDataDisplay from '../data-displays/numeric.vue';
4438
import type { Leaderboard } from '~~/types/leaderboard/leaderboard';
4539
import LfxAvatar from '~/components/uikit/avatar/avatar.vue';
4640
import { LfxRoutes } from '~/components/shared/types/routes';
4741
42+
const router = useRouter();
43+
4844
defineProps<{
4945
item: Leaderboard;
5046
leaderboardConfig: LeaderboardConfig;
5147
}>();
5248
53-
const nuxtLink = resolveComponent('NuxtLink');
49+
const navigateToOrganization = (slug: string) => {
50+
if (!slug) {
51+
return;
52+
}
53+
router.push({ name: LfxRoutes.ORGANIZATION, params: { orgSlug: slug } });
54+
};
5455
</script>
5556

5657
<script lang="ts">

frontend/app/components/modules/leaderboards/components/row-displays/organization-row.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ SPDX-License-Identifier: MIT
1717
<component
1818
:is="item.slug ? nuxtLink : 'div'"
1919
:to="item.slug ? { name: LfxRoutes.ORGANIZATION, params: { orgSlug: item.slug } } : undefined"
20-
class="flex-1 min-w-0 flex gap-3 items-center text-inherit no-underline"
21-
:class="item.slug ? 'hover:text-brand-500 transition-colors cursor-pointer' : ''"
20+
class="flex-1 min-w-0 flex gap-3 items-center"
21+
:class="item.slug ? 'cursor-pointer' : ''"
2222
>
2323
<lfx-avatar
2424
:src="item.logoUrl"
@@ -27,7 +27,8 @@ SPDX-License-Identifier: MIT
2727
/>
2828
<p
2929
:title="item.name"
30-
class="text-base leading-5 font-medium overflow-hidden text-ellipsis whitespace-nowrap max-w-full"
30+
class="text-base leading-5 font-medium text-neutral-900 overflow-hidden text-ellipsis whitespace-nowrap max-w-full"
31+
:class="item.slug ? 'hover:underline cursor-pointer' : ''"
3132
>
3233
{{ item.name }}
3334
</p>

frontend/app/components/modules/leaderboards/components/sections/leaderboard-card.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ const handleCardClick = (event: MouseEvent) => {
121121
if (window.innerWidth >= 640) {
122122
// Don't navigate if clicking on the share button
123123
const target = event.target as HTMLElement;
124-
if (target.closest('button')) {
124+
if (target.closest('button') || target.closest('a')) {
125125
return;
126126
}
127127
navigateToLeaderboard();

frontend/app/components/modules/organization/components/overview/activity-chart.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ SPDX-License-Identifier: MIT
1515
/>
1616
</div>
1717
<div>
18-
<h2 class="text-heading-5 font-bold font-secondary">Activities</h2>
19-
<p class="org-chart-description">by {{ orgDisplayName }} contributors over the years</p>
18+
<h2 class="text-heading-5 font-bold font-secondary">Contributions</h2>
19+
<p class="org-chart-description">by {{ orgDisplayName }} contributors (last 10 years)</p>
2020
</div>
2121
</div>
2222
<div
@@ -40,7 +40,7 @@ SPDX-License-Identifier: MIT
4040
v-else
4141
class="org-chart-area org-chart-empty"
4242
>
43-
No activity data available.
43+
No contribution data available.
4444
</div>
4545
</div>
4646
</lfx-card>
@@ -87,7 +87,7 @@ const chartData = computed<ChartData[]>(() => {
8787
8888
const chartSeries = computed<ChartSeries[]>(() => [
8989
{
90-
name: 'Activities',
90+
name: 'Contributions',
9191
type: 'bar',
9292
yAxisIndex: 0,
9393
dataIndex: 0,

frontend/app/components/modules/organization/components/overview/contributors-chart.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ SPDX-License-Identifier: MIT
1616
</div>
1717
<div>
1818
<h2 class="text-heading-5 font-bold font-secondary">Active Contributors</h2>
19-
<p class="org-chart-description">by {{ orgDisplayName }} contributors over the years</p>
19+
<p class="org-chart-description">by {{ orgDisplayName }} (last 10 years)</p>
2020
</div>
2121
</div>
2222
<div

frontend/app/components/modules/organization/components/overview/kpi-row.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,23 +81,23 @@ const kpis = computed(() => [
8181
trend: data.value?.activeContributorsTrend,
8282
trendAbsolute: data.value?.activeContributorsTrendAbsolute,
8383
trendPrevious: data.value?.activeContributorsTrendPrevious,
84-
label: `Active ${orgDisplayName.value} contributors (last 365d)`,
84+
label: `Active ${orgDisplayName.value} contributors (last 2 years)`,
8585
},
8686
{
8787
icon: 'user-shield',
8888
value: data.value?.maintainerRoles ?? 0,
8989
trend: undefined,
9090
trendAbsolute: undefined,
9191
trendPrevious: undefined,
92-
label: `Maintainer roles held by ${orgDisplayName.value} contributors`,
92+
label: `Maintainer roles held by ${orgDisplayName.value} contributors (last 2 years)`,
9393
},
9494
{
9595
icon: 'laptop-code',
9696
value: data.value?.criticalProjects ?? 0,
9797
trend: undefined,
9898
trendAbsolute: undefined,
9999
trendPrevious: undefined,
100-
label: `Critical projects ${orgDisplayName.value} employees contributed to`,
100+
label: `Critical projects ${orgDisplayName.value} employees contributed to (last 2 years)`,
101101
},
102102
]);
103103
</script>

frontend/app/components/modules/organization/components/overview/projects-section.vue

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,16 @@ SPDX-License-Identifier: MIT
1717
</div>
1818
<div class="flex-1 min-w-0">
1919
<h2 class="text-heading-5 font-bold font-secondary">Critical Projects</h2>
20-
<p class="text-xs text-neutral-500 mt-0.5">{{ orgDisplayName }} contributors are involved in</p>
20+
<p class="text-xs text-neutral-500 mt-0.5">
21+
{{ orgDisplayName }} contributors are involved in (last 2 years)
22+
</p>
2123
</div>
2224
<span class="w-full sm:w-auto text-xs text-neutral-500 flex items-center gap-1.5 sm:flex-shrink-0">
2325
<lfx-icon
2426
name="arrow-down-wide-short"
2527
:size="12"
2628
/>
27-
Sorted by
28-
<lfx-tooltip placement="top">
29-
<span class="border-b border-dotted border-neutral-500 cursor-help">Technical influence</span>
30-
<template #content>
31-
<div class="flex flex-col gap-2 max-w-xs text-xs leading-relaxed">
32-
<span
33-
>Technical influence examines code activities (commits, PRs) while ecosystem influence examines
34-
non-code collaboration activities (documentation, committees, meetings, events).</span
35-
>
36-
<span
37-
>Comparing a company's share of these activities to the project total indicates greater influence in
38-
the project.</span
39-
>
40-
</div>
41-
</template>
42-
</lfx-tooltip>
29+
Sorted by Contributors
4330
</span>
4431
</div>
4532

@@ -50,7 +37,7 @@ SPDX-License-Identifier: MIT
5037
<div class="flex-[2]">Project</div>
5138
<div class="flex-1">Technical influence</div>
5239
<div class="flex-1">Contributors</div>
53-
<div class="flex-1">Activities</div>
40+
<div class="flex-1">Contributions</div>
5441
<div class="w-5" />
5542
</div>
5643
<div
@@ -98,7 +85,7 @@ SPDX-License-Identifier: MIT
9885
</lfx-tooltip>
9986
</div>
10087
<div class="flex-1">Contributors</div>
101-
<div class="flex-1">Activities</div>
88+
<div class="flex-1">Contributions</div>
10289
<div class="w-5" />
10390
</div>
10491

frontend/docs/features/organization-page/index.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,32 @@ Use the Organization Page to understand how your company contributes to critical
44

55
## Key Metrics
66

7-
Three numbers at the top of the page give you an at-a-glance health check of your organization's open source activity over the **last 365 days**:
7+
Three numbers at the top of the page give you an at-a-glance health check of your organization's open source activity over the **last 2 years**:
88

99
- **Active contributors** — how many of your employees made at least one code contribution (commit, pull request, or code review). Shows a year-over-year trend so you can see if engagement is growing or declining.
10-
- **Maintainer roles** — how many maintainer or owner roles your contributors hold across all projects. A higher number signals deeper trust and influence in those communities.
10+
- **Maintainer roles** — how many maintainer or owner roles your contributors held across all projects in the last 2 years. A higher number signals deeper trust and influence in those communities.
1111
- **Critical projects** — how many distinct projects your team contributed to. Useful for gauging breadth of involvement.
1212

13-
## Activity Over Time
13+
## Contributions Over Time
1414

15-
A bar chart showing your organization's total code contributions per year, from the earliest recorded activity to today. Use it to spot periods of growth, sustained investment, or pullback across your open source program.
15+
A bar chart showing your organization's total code contributions per year for the last 10 years. Use it to spot periods of growth, sustained investment, or pullback across your open source program.
1616

1717
## Contributors Over Time
1818

19-
A bar chart showing how many unique contributors your organization had per year. Pair it with the Activity chart to distinguish between a growing team and a shrinking one that's working harder.
19+
A bar chart showing how many unique contributors your organization had per year over the last 10 years. Pair it with the Contributions chart to distinguish between a growing team and a shrinking one that's working harder.
2020

2121
## Critical Projects
2222

23-
A ranked table of the projects your contributors were involved in, ordered by **Technical influence**your organization's share of code contributions relative to what the whole project community produced.
23+
A ranked table of the projects your contributors were involved in over the **last 2 years**, ordered by **Contributors**the number of your employees active in that project.
2424

2525
Each project row shows:
2626

27-
- **Technical influence**one of four levels based on your contribution share:
27+
- **Technical influence**your organization's share of code contributions relative to what the whole project community produced, expressed as one of four levels:
2828
- **Leading** — a large share; your team is a primary driver of the project.
2929
- **Contributing** — a meaningful share; consistent and committed involvement.
3030
- **Participating** — a small but non-zero share; actively helping.
3131
- **Silent** — minimal or no code contribution activity.
32-
- **Contributors** — number of your employees active in that project.
33-
- **Activities** — total code contributions your team made.
32+
- **Contributors** — number of your employees active in that project (primary sort).
33+
- **Contributions** — total code contributions your team made.
3434

35-
The table covers an extended rolling window of recent years and counts only code contribution activity types.
35+
The table counts only code contribution activity types (commits, pull requests, code reviews).

0 commit comments

Comments
 (0)