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 { IslandWrapper, 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 ${user.displayName || user.username}`}
</h2>
<IslandWrapper data-islandid={`${RepositoriesList.name}$$0`}>
<RepositoriesList
repositories={repositories}
themeScheme={commonProps.themeScheme}
/>
</IslandWrapper>
</PageWrapper>
</Layout>
);
};
UserDetailsView.displayName = "UserDetailsView";
export default UserDetailsView;