import type { ReactView } from "@ethicdevs/react-monolith";
import React from "react";
import type { Organization, Repository, User } from "@prisma/client";
import type { CommonProps } from "../../types";
import { Layout, PageWrapper } from "../../components";
import RepositoriesList from "../../islands/RepositoriesList";
export interface UserDetailsViewProps extends CommonProps {
user: User;
currentUser: User | null;
repositories: (Repository & { parentOrg: Organization })[];
}
const UserDetailsView: ReactView<UserDetailsViewProps> = ({
commonProps,
currentUser,
user,
repositories,
}) => {
return (
<Layout {...commonProps}>
<PageWrapper>
<h1>{user.displayName || user.username}</h1>
<h2 style={{opacity:0.67}}>
{currentUser != null && currentUser.id === user.id
? "Your repositories"
: "Public repositories from this user"}
</h2>
<div
data-islandid={`${RepositoriesList.name}$$0`}
style={{ width: "100%" }}
>
<RepositoriesList repositories={repositories} />
</div>
</PageWrapper>
</Layout>
);
};
UserDetailsView.displayName = "UserDetailsView";
export default UserDetailsView;