Skip to content

Commit c93c9cc

Browse files
committed
fix(app): refresh after unlinking device
1 parent c3eb23c commit c93c9cc

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

apps/app/src/app/(app)/[orgId]/people/all/components/MemberRow.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import {
2626
import { Label } from '@comp/ui/label';
2727
import type { Role } from '@db';
2828

29-
import { usePeopleActions } from '@/hooks/use-people-api';
3029
import { toast } from 'sonner';
3130
import { MultiRoleCombobox } from './MultiRoleCombobox';
3231
import { RemoveDeviceAlert } from './RemoveDeviceAlert';
@@ -36,6 +35,7 @@ import type { MemberWithUser } from './TeamMembers';
3635
interface MemberRowProps {
3736
member: MemberWithUser;
3837
onRemove: (memberId: string) => void;
38+
onRemoveDevice: (memberId: string) => void;
3939
onUpdateRole: (memberId: string, roles: Role[]) => void;
4040
canEdit: boolean;
4141
isCurrentUserOwner: boolean;
@@ -56,10 +56,9 @@ function getInitials(name?: string | null, email?: string | null): string {
5656
return '??';
5757
}
5858

59-
export function MemberRow({ member, onRemove, onUpdateRole, canEdit, isCurrentUserOwner }: MemberRowProps) {
59+
export function MemberRow({ member, onRemove, onRemoveDevice, onUpdateRole, canEdit, isCurrentUserOwner }: MemberRowProps) {
6060
const params = useParams<{ orgId: string }>();
6161
const { orgId } = params;
62-
const { unlinkDevice } = usePeopleActions();
6362

6463
const [isRemoveAlertOpen, setIsRemoveAlertOpen] = useState(false);
6564
const [isRemoveDeviceAlertOpen, setIsRemoveDeviceAlertOpen] = useState(false);
@@ -133,8 +132,7 @@ export function MemberRow({ member, onRemove, onUpdateRole, canEdit, isCurrentUs
133132
const handleRemoveDeviceClick = async () => {
134133
try {
135134
setIsRemovingDevice(true);
136-
await unlinkDevice(memberId);
137-
toast.success('Device unlinked successfully');
135+
await onRemoveDevice(memberId);
138136
setIsRemoveDeviceAlertOpen(false);
139137
} catch (error) {
140138
toast.error(error instanceof Error ? error.message : 'Failed to unlink device');

apps/app/src/app/(app)/[orgId]/people/all/components/TeamMembersClient.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import type { revokeInvitation } from '../actions/revokeInvitation';
2626
import type { EmployeeSyncConnectionsData } from '../data/queries';
2727
import { useEmployeeSync } from '../hooks/useEmployeeSync';
2828
import { InviteMembersModal } from './InviteMembersModal';
29+
import { usePeopleActions } from '@/hooks/use-people-api';
2930

3031
// Define prop types using typeof for the actions still used
3132
interface TeamMembersClientProps {
@@ -64,6 +65,8 @@ export function TeamMembersClient({
6465
const [roleFilter, setRoleFilter] = useQueryState('role', parseAsString.withDefault('all'));
6566
const [statusFilter, setStatusFilter] = useQueryState('status', parseAsString.withDefault('all'));
6667

68+
const { unlinkDevice } = usePeopleActions();
69+
6770
// Add state for the modal
6871
const [isInviteModalOpen, setIsInviteModalOpen] = useState(false);
6972

@@ -190,6 +193,12 @@ export function TeamMembersClient({
190193
}
191194
};
192195

196+
const handleRemoveDevice = async (memberId: string) => {
197+
await unlinkDevice(memberId);
198+
toast.success('Device unlinked successfully');
199+
router.refresh(); // Revalidate data to update UI
200+
};
201+
193202
// Update handleUpdateRole to use authClient and add toasts
194203
const handleUpdateRole = async (memberId: string, roles: Role[]) => {
195204
const rolesArray = Array.isArray(roles) ? roles : [roles];
@@ -391,6 +400,7 @@ export function TeamMembersClient({
391400
key={member.displayId}
392401
member={member as MemberWithUser}
393402
onRemove={handleRemoveMember}
403+
onRemoveDevice={handleRemoveDevice}
394404
onUpdateRole={handleUpdateRole}
395405
canEdit={canManageMembers}
396406
isCurrentUserOwner={isCurrentUserOwner}

0 commit comments

Comments
 (0)