mirror of
https://github.com/makeplane/plane.git
synced 2025-12-24 07:39:32 +01:00
[WEB-1970] fix: onboarding invitation page fluctuation on refresh. (#5627)
This commit is contained in:
@@ -156,7 +156,7 @@ const OnboardingPage = observer(() => {
|
||||
/>
|
||||
) : step === EOnboardingSteps.WORKSPACE_CREATE_OR_JOIN ? (
|
||||
<CreateOrJoinWorkspaces
|
||||
invitations={invitations ?? []}
|
||||
invitations={invitations ?? []}
|
||||
totalSteps={totalSteps}
|
||||
stepChange={stepChange}
|
||||
finishOnboarding={finishOnboarding}
|
||||
|
||||
@@ -61,6 +61,7 @@ export const CreateOrJoinWorkspaces: React.FC<Props> = observer((props) => {
|
||||
<div className="flex flex-col w-full items-center justify-center p-8 mt-6">
|
||||
{currentView === ECreateOrJoinWorkspaceViews.WORKSPACE_JOIN ? (
|
||||
<Invitations
|
||||
invitations={invitations}
|
||||
handleNextStep={handleNextStep}
|
||||
handleCurrentViewChange={() => setCurrentView(ECreateOrJoinWorkspaceViews.WORKSPACE_CREATE)}
|
||||
/>
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from "react";
|
||||
import useSWR from "swr";;
|
||||
// types
|
||||
import { IWorkspaceMemberInvitation } from "@plane/types";
|
||||
// ui
|
||||
import { Button, Checkbox, Spinner } from "@plane/ui";
|
||||
// constants
|
||||
import { MEMBER_ACCEPTED } from "@/constants/event-tracker";
|
||||
import { USER_WORKSPACE_INVITATIONS } from "@/constants/fetch-keys";
|
||||
import { ROLE } from "@/constants/workspace";
|
||||
// helpers
|
||||
import { truncateText } from "@/helpers/string.helper";
|
||||
@@ -19,13 +17,14 @@ import { useEventTracker, useUserSettings, useWorkspace } from "@/hooks/store";
|
||||
import { WorkspaceService } from "@/plane-web/services";
|
||||
|
||||
type Props = {
|
||||
invitations: IWorkspaceMemberInvitation[];
|
||||
handleNextStep: () => Promise<void>;
|
||||
handleCurrentViewChange: () => void;
|
||||
};
|
||||
const workspaceService = new WorkspaceService();
|
||||
|
||||
export const Invitations: React.FC<Props> = (props) => {
|
||||
const { handleNextStep, handleCurrentViewChange } = props;
|
||||
const { invitations, handleNextStep, handleCurrentViewChange } = props;
|
||||
// states
|
||||
const [isJoiningWorkspaces, setIsJoiningWorkspaces] = useState(false);
|
||||
const [invitationsRespond, setInvitationsRespond] = useState<string[]>([]);
|
||||
@@ -34,8 +33,6 @@ export const Invitations: React.FC<Props> = (props) => {
|
||||
const { fetchWorkspaces } = useWorkspace();
|
||||
const { fetchCurrentUserSettings } = useUserSettings();
|
||||
|
||||
const { data: invitations } = useSWR(USER_WORKSPACE_INVITATIONS, () => workspaceService.userWorkspaceInvitations());
|
||||
|
||||
const handleInvitation = (workspace_invitation: IWorkspaceMemberInvitation, action: "accepted" | "withdraw") => {
|
||||
if (action === "accepted") {
|
||||
setInvitationsRespond((prevData) => [...prevData, workspace_invitation.id]);
|
||||
|
||||
Reference in New Issue
Block a user