GitFOSS
.ts
TypeScript
(application/typescript)
// 1st-party
import type { ReactView } from "@ethicdevs/react-monolith";
// 3rd-party
import React from "react";
// generated via script[generate:prisma]
import type { Organization, Repository, User } from "@prisma/client";
// app
import type { CommonProps } from "../../types";
import { Layout, PageWrapper } from "../../components";
// app islands
import RepositoriesList from "../../islands/RepositoriesList";

export interface UserDashboardViewProps extends CommonProps {
  currentUser: User;
  repositories: (Repository & { parentOrg: Organization })[];
}

const UserDashboardView: ReactView<UserDashboardViewProps> = ({
  commonProps,
  currentUser,
  repositories,
}) => {
  return (
    <Layout {...commonProps}>
      <PageWrapper>
        <h1>Hey {currentUser.displayName || currentUser.username}, welcome!</h1>
        <h2 style={{opacity:0.67}}>Repositories you own and/or contribute to</h2>
        <div
          data-islandid={`${RepositoriesList.name}$$0`}
          style={{ width: "100%" }}
        >
          <RepositoriesList repositories={repositories} />
        </div>
      </PageWrapper>
    </Layout>
  );
};

UserDashboardView.displayName = "UserDashboardView";
export default UserDashboardView;