Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions frontend/src/components/TopContributors.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,17 @@ import { useState } from 'react'
import { useNavigate } from 'react-router-dom'
import { TopContributorsTypeGraphql } from 'types/contributor'
import { capitalize } from 'utils/capitalize'
import SecondaryCard from './SecondaryCard'
const TopContributors = ({
contributors,
label = 'Top Contributors',
maxInitialDisplay = 6,
className = '',
type,
icon,
}: {
contributors: TopContributorsTypeGraphql[]
label?: string
maxInitialDisplay?: number
className?: string
type: string
icon?: IconProp
}) => {
Expand All @@ -35,17 +34,13 @@ const TopContributors = ({
return
}
return (
<div className={`mb-8 rounded-lg bg-gray-100 p-6 shadow-md dark:bg-gray-800 ${className}`}>
<h2 className="mb-4 flex flex-row items-center gap-2 text-2xl font-semibold">
<FontAwesomeIcon icon={icon} className="h-5 w-5" />
{label}
</h2>
<div className="grid gap-x-5 sm:grid-cols-2 md:grid-cols-3">
<SecondaryCard icon={icon} title={label}>
<div className="grid gap-4 sm:grid-cols-1 md:grid-cols-2">
{displayContributors.map((item, index) => (
<button
key={index}
onClick={() => navigate(`/community/users/${item.login}`)}
className="mb-4 w-full rounded-lg bg-gray-200 p-4 dark:bg-gray-700"
className="overflow-hidden rounded-lg bg-gray-200 p-4 dark:bg-gray-700"
>
<div className="flex w-full flex-col justify-between">
<div className="flex w-full items-center gap-2">
Expand Down Expand Up @@ -83,7 +78,7 @@ const TopContributors = ({
)}
</Button>
)}
</div>
</SecondaryCard>
)
}

Expand Down
41 changes: 24 additions & 17 deletions frontend/src/pages/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -272,14 +272,16 @@ export default function Home() {
data={data.recentIssues}
icon={faTriangleExclamation}
renderDetails={(item) => (
<div className="mt-2 flex items-center text-sm text-gray-600 dark:text-gray-400">
<FontAwesomeIcon icon={faCalendar} className="mr-2 h-4 w-4" />
<span>{formatDate(item.createdAt)}</span>
<div className="mt-2 flex flex-col flex-wrap items-start text-sm text-gray-600 dark:text-gray-400 md:flex-row">
<div className="mr-4 flex items-center">
<FontAwesomeIcon icon={faCalendar} className="mr-2 h-4 w-4" />
<span>{formatDate(item.createdAt)}</span>
</div>
{item?.commentsCount ? (
<>
<FontAwesomeIcon icon={faFileCode} className="ml-4 mr-2 h-4 w-4" />
<div className="flex items-center">
<FontAwesomeIcon icon={faFileCode} className="mr-2 h-4 w-4" />
<span>{item.commentsCount} comments</span>
</>
</div>
) : null}
</div>
)}
Expand All @@ -289,26 +291,29 @@ export default function Home() {
data={data.recentPullRequests}
icon={faCodePullRequest}
renderDetails={(item) => (
<div className="mt-2 flex items-center text-sm text-gray-600 dark:text-gray-400">
<FontAwesomeIcon icon={faCalendar} className="mr-2 h-4 w-4" />
<span>{formatDate(item.createdAt)}</span>
<div className="mt-2 flex flex-col flex-wrap items-start text-sm text-gray-600 dark:text-gray-400 md:flex-row">
<div className="mr-4 flex items-center">
<FontAwesomeIcon icon={faCalendar} className="mr-2 h-4 w-4" />
<span>{formatDate(item.createdAt)}</span>
</div>

{item?.author.name || item?.author.login ? (
<>
<FontAwesomeIcon icon={faUser} className="ml-4 mr-2 h-4 w-4" />
<div className="flex items-center">
<FontAwesomeIcon icon={faUser} className="mr-2 h-4 w-4" />
<span>{item.author.name || item.author.login}</span>
</>
</div>
) : null}
</div>
)}
/>
</div>
<SecondaryCard icon={faTag} title="Recent Releases">
<SecondaryCard icon={faTag} title="Recent Releases" className="overflow-hidden">
{data.recentReleases && data.recentReleases.length > 0 ? (
<div className="grid gap-4 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
{data.recentReleases.map((item, index) => (
<div
key={index}
className="mb-4 w-full rounded-lg bg-gray-200 p-4 dark:bg-gray-700"
className="overflow-hidden rounded-lg bg-gray-200 p-4 dark:bg-gray-700"
>
<div className="flex w-full flex-col justify-between">
<div className="flex w-full items-center">
Expand All @@ -333,11 +338,13 @@ export default function Home() {
</a>
</h3>
</div>
<div className="ml-0.5 w-full">
<div className="mt-2 flex items-center text-sm text-gray-600 dark:text-gray-400">
<div className="mt-2 flex flex-col flex-wrap items-start text-sm text-gray-600 dark:text-gray-400 md:flex-row">
<div className="mr-4 flex items-center">
<FontAwesomeIcon icon={faCalendar} className="mr-2 h-4 w-4" />
<span>{formatDate(item.publishedAt)}</span>
<FontAwesomeIcon icon={faTag} className="ml-4 mr-2 h-4 w-4" />
</div>
<div className="flex items-center">
<FontAwesomeIcon icon={faTag} className="mr-2 h-4 w-4" />
<span>{item.tagName}</span>
</div>
</div>
Expand Down