mirror of
https://github.com/umami-software/umami.git
synced 2026-02-19 20:15:41 +01:00
feat: replace useState with useQueryState for tab management in TeamDetails
This commit is contained in:
parent
455c7ec076
commit
8946f32feb
1 changed files with 6 additions and 2 deletions
|
|
@ -3,17 +3,21 @@ import { useLogin, useMessages } from '@/components/hooks';
|
||||||
import Icons from '@/components/icons';
|
import Icons from '@/components/icons';
|
||||||
import PageHeader from '@/components/layout/PageHeader';
|
import PageHeader from '@/components/layout/PageHeader';
|
||||||
import { ROLES } from '@/lib/constants';
|
import { ROLES } from '@/lib/constants';
|
||||||
import { useContext, useState } from 'react';
|
import { useContext } from 'react';
|
||||||
import { Flexbox, Item, Tabs } from 'react-basics';
|
import { Flexbox, Item, Tabs } from 'react-basics';
|
||||||
import TeamLeaveButton from '@/app/(main)/settings/teams/TeamLeaveButton';
|
import TeamLeaveButton from '@/app/(main)/settings/teams/TeamLeaveButton';
|
||||||
import TeamManage from './TeamManage';
|
import TeamManage from './TeamManage';
|
||||||
import TeamEditForm from './TeamEditForm';
|
import TeamEditForm from './TeamEditForm';
|
||||||
|
import { useQueryState } from 'nuqs';
|
||||||
|
|
||||||
export function TeamDetails({ teamId }: { teamId: string }) {
|
export function TeamDetails({ teamId }: { teamId: string }) {
|
||||||
const team = useContext(TeamContext);
|
const team = useContext(TeamContext);
|
||||||
const { formatMessage, labels } = useMessages();
|
const { formatMessage, labels } = useMessages();
|
||||||
const { user } = useLogin();
|
const { user } = useLogin();
|
||||||
const [tab, setTab] = useState('details');
|
const [tab, setTab] = useQueryState('tab', {
|
||||||
|
defaultValue: 'details',
|
||||||
|
parse: value => value as 'details' | 'manage',
|
||||||
|
});
|
||||||
|
|
||||||
const isTeamOwner =
|
const isTeamOwner =
|
||||||
!!team?.teamUser?.find(({ userId, role }) => role === ROLES.teamOwner && userId === user.id) &&
|
!!team?.teamUser?.find(({ userId, role }) => role === ROLES.teamOwner && userId === user.id) &&
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue