aboutsummaryrefslogtreecommitdiff
path: root/src/app/(main)/teams/TeamsHeader.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/(main)/teams/TeamsHeader.tsx')
-rw-r--r--src/app/(main)/teams/TeamsHeader.tsx26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/app/(main)/teams/TeamsHeader.tsx b/src/app/(main)/teams/TeamsHeader.tsx
new file mode 100644
index 0000000..579ba59
--- /dev/null
+++ b/src/app/(main)/teams/TeamsHeader.tsx
@@ -0,0 +1,26 @@
+import { Row } from '@umami/react-zen';
+import { PageHeader } from '@/components/common/PageHeader';
+import { useLoginQuery, useMessages } from '@/components/hooks';
+import { ROLES } from '@/lib/constants';
+import { TeamsAddButton } from './TeamsAddButton';
+import { TeamsJoinButton } from './TeamsJoinButton';
+
+export function TeamsHeader({
+ allowCreate = true,
+ allowJoin = true,
+}: {
+ allowCreate?: boolean;
+ allowJoin?: boolean;
+}) {
+ const { formatMessage, labels } = useMessages();
+ const { user } = useLoginQuery();
+
+ return (
+ <PageHeader title={formatMessage(labels.teams)}>
+ <Row gap="3">
+ {allowJoin && <TeamsJoinButton />}
+ {allowCreate && user.role !== ROLES.viewOnly && <TeamsAddButton />}
+ </Row>
+ </PageHeader>
+ );
+}