-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com>
// SPDX-License-Identifier: AGPL-3.0-only
import { Box, Button, Card, Flex, Text } from "@radix-ui/themes";
import { type Workspace } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js";
import { type FC } from "react";
import * as calendarPage from "../:workspace/calendar/page.tsx";
export interface WorkspaceListProps {
workspaces: readonly Workspace[];
}
export const WorkspaceList: FC<WorkspaceListProps> = ({ workspaces }) => {
return (
<Flex role="list" direction="column" gap="3">
{workspaces.map((workspace) => (
<Card key={workspace.id?.value} role="listitem">
<Flex direction="column" gap="2">
<Box>
<Text weight="bold">{workspace.displayName}</Text>
</Box>
<Flex justify="end">
<Button asChild variant="soft">
<a href={calendarPage.href({ workspace })}>開く</a>
</Button>
</Flex>
</Flex>
</Card>
))}
</Flex>
);
};