Changes
8 changed files (+96/-79)
-
-
@@ -166,12 +166,13 @@ <CopyrightNotice.FirstParty /></Text> </Flex> </Flex> <Box asChild gridRowStart="2" gridColumnStart={{ initial: "1", md: "2" }}> <ScrollArea size="2"> <Container size={{ initial: "2", lg: "3" }} p="2" pb="6"> {children} </Container> </ScrollArea> <Box overflowY="auto" position="relative" gridRowStart="2" gridColumnStart={{ initial: "1", md: "2" }} > {children} </Box> </Grid> );
-
-
-
@@ -9,11 +9,11 @@ import { CaretLeftIcon, CaretRightIcon, PersonIcon } from "@radix-ui/react-icons";import { Avatar, Box, Container, Flex, Grid, IconButton, ScrollArea, Section, Text, VisuallyHidden, } from "@radix-ui/themes";
-
@@ -219,40 +219,42 @@ }, [selection.cells, query.data, dates]);return ( <> <Flex align="center" gap="1"> <IconButton variant="soft" size="2" onClick={() => { onChangeMonth(toProtoDate(subMonths(fromProtoDate(month), 1))); }} > <CaretLeftIcon /> <VisuallyHidden>前の月へ</VisuallyHidden> </IconButton> <Text weight="bold" size="2" align="center" style={{ minWidth: "6rem" }}> {month.year}年{month.month}月 </Text> <IconButton variant="soft" size="2" onClick={() => { onChangeMonth(toProtoDate(addMonths(fromProtoDate(month), 1))); }} > <CaretRightIcon /> <VisuallyHidden>次の月へ</VisuallyHidden> </IconButton> <Box flexGrow="1" flexShrink="1" /> <Menu workspaceID={workspaceID} targets={targets} onWorkRecordMutated={() => { query.refetch(); }} /> </Flex> <Section size="2" maxWidth="100%" minWidth="0"> <Container px="2" py="4" size="2"> <Flex align="center" gap="1"> <IconButton variant="soft" size="2" onClick={() => { onChangeMonth(toProtoDate(subMonths(fromProtoDate(month), 1))); }} > <CaretLeftIcon /> <VisuallyHidden>前の月へ</VisuallyHidden> </IconButton> <Text weight="bold" size="2" align="center" style={{ minWidth: "6rem" }}> {month.year}年{month.month}月 </Text> <IconButton variant="soft" size="2" onClick={() => { onChangeMonth(toProtoDate(addMonths(fromProtoDate(month), 1))); }} > <CaretRightIcon /> <VisuallyHidden>次の月へ</VisuallyHidden> </IconButton> <Box flexGrow="1" flexShrink="1" /> <Menu workspaceID={workspaceID} targets={targets} onWorkRecordMutated={() => { query.refetch(); }} /> </Flex> </Container> <Box mt="2" pl={{ md: "2" }}> <ScrollArea ref={scrollAreaRef} scrollbars="horizontal" size="2"> <Spreadsheet.Root asChild
-
@@ -353,7 +355,7 @@ })}</Grid> </Spreadsheet.Root> </ScrollArea> </Section> </Box> </> ); };
-
-
-
@@ -4,7 +4,7 @@import "../../../../polyfill.ts"; import { CheckCircledIcon } from "@radix-ui/react-icons"; import { Button, Checkbox, Flex, Text, TextField } from "@radix-ui/themes"; import { Button, Container, Checkbox, Flex, Text, TextField } from "@radix-ui/themes"; import { CreateLeaveDefinitionRequestSchema } from "@yamori/proto/yamori/workspace/v1/create_leave_definition_request_pb.js"; import { CreateLeaveDefinitionResponseSchema } from "@yamori/proto/yamori/workspace/v1/create_leave_definition_response_pb.js"; import { type Workspace } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js";
-
@@ -230,7 +230,9 @@export const Page: FC<PageProps> = ({ workspace }) => { return ( <Layout workspace={workspace} title={<Title />}> <Body workspace={workspace} /> <Container p="2" size="2"> <Body workspace={workspace} /> </Container> </Layout> ); };
-
-
-
@@ -4,7 +4,7 @@import "../../../polyfill.ts"; import { CheckCircledIcon, CrossCircledIcon } from "@radix-ui/react-icons"; import { Button, Flex, Separator, Spinner, Text } from "@radix-ui/themes"; import { Button, Container, Flex, Separator, Spinner, Text } from "@radix-ui/themes"; import { LeaveSchema } from "@yamori/proto/yamori/work_record/v1/leave_pb.js"; import { DeleteLeaveDefinitionRequestSchema } from "@yamori/proto/yamori/workspace/v1/delete_leave_definition_request_pb.js"; import { DeleteLeaveDefinitionResponseSchema } from "@yamori/proto/yamori/workspace/v1/delete_leave_definition_response_pb.js";
-
@@ -224,7 +224,9 @@ <HelpDialog.Trigger>このページの説明</HelpDialog.Trigger></Flex> } > <Body workspace={workspace} /> <Container p="2" size="2"> <Body workspace={workspace} /> </Container> </Layout> <HelpDialog.Content> <HelpDialog.Title>
-
-
-
@@ -4,7 +4,7 @@import "../../../../polyfill.ts"; import * as proto from "@bufbuild/protobuf"; import { Box, Flex, Heading, Separator } from "@radix-ui/themes"; import { Box, Container, Flex, Heading, Separator } from "@radix-ui/themes"; import { LeaveSchema } from "@yamori/proto/yamori/work_record/v1/leave_pb.js"; import { LeaveReadMaskSchema } from "@yamori/proto/yamori/work_record/v1/leave_read_mask_pb.js"; import { WorkRecordSchema } from "@yamori/proto/yamori/work_record/v1/work_record_pb.js";
-
@@ -187,7 +187,9 @@export const Page: FC<PageProps> = ({ workspace, worker }) => { return ( <Layout workspace={workspace} worker={worker} title={<Title />}> <Body workspace={workspace} worker={worker} /> <Container py="2" px="3" size="3"> <Body workspace={workspace} worker={worker} /> </Container> </Layout> ); };
-
-
-
@@ -4,7 +4,7 @@import "../../../../polyfill.ts"; import { isMessage } from "@bufbuild/protobuf"; import { Button, Code, Flex, Spinner, Text } from "@radix-ui/themes"; import { Button, Code, Container, Flex, Spinner, Text } from "@radix-ui/themes"; import { WorkerSchema } from "@yamori/proto/yamori/worker/v1/worker_pb.js"; import { type Workspace } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js"; import { GetRequestSchema } from "@yamori/proto/yamori/worker/v1/get_request_pb.js";
-
@@ -66,40 +66,44 @@ if (query.isError) {if (isMessage(query.error, NotFoundSchema)) { return ( <Layout title="労働者取得失敗" workspace={workspace}> <Container px="2" size="1"> <Empty.Root> <Empty.Title>労働者が見つかりません</Empty.Title> <Empty.Description> ID が <Code>{workerIdRaw}</Code> の労働者が見つかりませんでした。 対象の労働者が既に削除されたか、打ち間違いや文字削除などにより ID が不完全の可能性があります。 </Empty.Description> <Empty.Actions> <Button asChild size="3"> <a href={`/${workspace.id?.value}/workers`}>労働者一覧へ</a> </Button> </Empty.Actions> </Empty.Root> </Container> </Layout> ); } return ( <Layout title="労働者取得失敗" workspace={workspace}> <Container px="2" size="1"> <Empty.Root> <Empty.Title>労働者が見つかりません</Empty.Title> <Empty.Title>労働者の取得に失敗</Empty.Title> <Empty.Description> ID が <Code>{workerIdRaw}</Code> の労働者が見つかりませんでした。 対象の労働者が既に削除されたか、打ち間違いや文字削除などにより ID が不完全の可能性があります。 労働者を読み込もうとしましたが、データ取得に失敗しました。 </Empty.Description> <ManagedErrorCallout title="取得失敗" error={query.error} /> <Empty.Actions> <Button asChild size="3"> <Button size="3" onClick={() => void query.refetch()}> 再取得 </Button> <Button asChild size="3" variant="outline"> <a href={`/${workspace.id?.value}/workers`}>労働者一覧へ</a> </Button> </Empty.Actions> </Empty.Root> </Layout> ); } return ( <Layout title="労働者取得失敗" workspace={workspace}> <Empty.Root> <Empty.Title>労働者の取得に失敗</Empty.Title> <Empty.Description> 労働者を読み込もうとしましたが、データ取得に失敗しました。 </Empty.Description> <ManagedErrorCallout title="取得失敗" error={query.error} /> <Empty.Actions> <Button size="3" onClick={() => void query.refetch()}> 再取得 </Button> <Button asChild size="3" variant="outline"> <a href={`/${workspace.id?.value}/workers`}>労働者一覧へ</a> </Button> </Empty.Actions> </Empty.Root> </Container> </Layout> ); }
-
-
-
@@ -4,7 +4,7 @@import "../../../../polyfill.ts"; import { CheckCircledIcon } from "@radix-ui/react-icons"; import { Button, Flex, TextField } from "@radix-ui/themes"; import { Button, Container, Flex, TextField } from "@radix-ui/themes"; import { type Workspace } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js"; import { CreateRequestSchema } from "@yamori/proto/yamori/worker/v1/create_request_pb.js"; import { CreateResponseSchema } from "@yamori/proto/yamori/worker/v1/create_response_pb.js";
-
@@ -158,7 +158,9 @@export const Page: FC<PageProps> = ({ workspace }) => { return ( <Layout workspace={workspace} title="労働者登録"> <Body workspace={workspace} /> <Container p="2" size="2"> <Body workspace={workspace} /> </Container> </Layout> ); };
-
-
-
@@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0-onlyimport "../../../polyfill.ts"; import { Button, Flex } from "@radix-ui/themes"; import { Button, Container, Flex } from "@radix-ui/themes"; import { type Workspace } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js"; import { ListRequestSchema } from "@yamori/proto/yamori/worker/v1/list_request_pb.js"; import { ListResponseSchema } from "@yamori/proto/yamori/worker/v1/list_response_pb.js";
-
@@ -121,7 +121,9 @@ 更新</Button> } > <Body workspace={workspace} workers={list} /> <Container p="2" size="2"> <Body workspace={workspace} workers={list} /> </Container> </Layout> ); };
-