clean all items from local storage on finish onboarding
This commit is contained in:
parent
b7e364a240
commit
5d83a40f76
5 changed files with 799 additions and 786 deletions
|
|
@ -10,6 +10,7 @@ import {
|
||||||
AccordionItem,
|
AccordionItem,
|
||||||
AccordionTrigger,
|
AccordionTrigger,
|
||||||
} from "@/components/ui/accordion";
|
} from "@/components/ui/accordion";
|
||||||
|
import { ONBOARDING_CARD_STEPS_KEY } from "@/lib/constants";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
|
|
||||||
export function AnimatedProviderSteps({
|
export function AnimatedProviderSteps({
|
||||||
|
|
@ -17,7 +18,7 @@ export function AnimatedProviderSteps({
|
||||||
isCompleted,
|
isCompleted,
|
||||||
setCurrentStep,
|
setCurrentStep,
|
||||||
steps,
|
steps,
|
||||||
storageKey = "provider-steps",
|
storageKey = ONBOARDING_CARD_STEPS_KEY,
|
||||||
processingStartTime,
|
processingStartTime,
|
||||||
hasError = false,
|
hasError = false,
|
||||||
}: {
|
}: {
|
||||||
|
|
@ -34,7 +35,7 @@ export function AnimatedProviderSteps({
|
||||||
|
|
||||||
// Initialize start time from prop or local storage
|
// Initialize start time from prop or local storage
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const storedElapsedTime = localStorage.getItem(`${storageKey}-elapsed`);
|
const storedElapsedTime = localStorage.getItem(storageKey);
|
||||||
|
|
||||||
if (isCompleted && storedElapsedTime) {
|
if (isCompleted && storedElapsedTime) {
|
||||||
// If completed, use stored elapsed time
|
// If completed, use stored elapsed time
|
||||||
|
|
@ -60,7 +61,7 @@ export function AnimatedProviderSteps({
|
||||||
if (isCompleted && startTime) {
|
if (isCompleted && startTime) {
|
||||||
const elapsed = Date.now() - startTime;
|
const elapsed = Date.now() - startTime;
|
||||||
setElapsedTime(elapsed);
|
setElapsedTime(elapsed);
|
||||||
localStorage.setItem(`${storageKey}-elapsed`, elapsed.toString());
|
localStorage.setItem(storageKey, elapsed.toString());
|
||||||
}
|
}
|
||||||
}, [isCompleted, startTime, storageKey]);
|
}, [isCompleted, startTime, storageKey]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import {
|
||||||
TooltipContent,
|
TooltipContent,
|
||||||
TooltipTrigger,
|
TooltipTrigger,
|
||||||
} from "@/components/ui/tooltip";
|
} from "@/components/ui/tooltip";
|
||||||
|
import { ONBOARDING_CARD_STEPS_KEY } from "@/lib/constants";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
import { AnimatedProviderSteps } from "./animated-provider-steps";
|
import { AnimatedProviderSteps } from "./animated-provider-steps";
|
||||||
import { AnthropicOnboarding } from "./anthropic-onboarding";
|
import { AnthropicOnboarding } from "./anthropic-onboarding";
|
||||||
|
|
@ -527,6 +528,7 @@ const OnboardingCard = ({
|
||||||
setCurrentStep={setCurrentStep}
|
setCurrentStep={setCurrentStep}
|
||||||
steps={isEmbedding ? EMBEDDING_STEP_LIST : STEP_LIST}
|
steps={isEmbedding ? EMBEDDING_STEP_LIST : STEP_LIST}
|
||||||
processingStartTime={processingStartTime}
|
processingStartTime={processingStartTime}
|
||||||
|
storageKey={ONBOARDING_CARD_STEPS_KEY}
|
||||||
hasError={!!error}
|
hasError={!!error}
|
||||||
/>
|
/>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import { useGetNudgesQuery } from "@/app/api/queries/useGetNudgesQuery";
|
||||||
import { useGetTasksQuery } from "@/app/api/queries/useGetTasksQuery";
|
import { useGetTasksQuery } from "@/app/api/queries/useGetTasksQuery";
|
||||||
import { AnimatedProviderSteps } from "@/app/onboarding/_components/animated-provider-steps";
|
import { AnimatedProviderSteps } from "@/app/onboarding/_components/animated-provider-steps";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
|
import { ONBOARDING_UPLOAD_STEPS_KEY } from "@/lib/constants";
|
||||||
import { uploadFile } from "@/lib/upload-utils";
|
import { uploadFile } from "@/lib/upload-utils";
|
||||||
|
|
||||||
interface OnboardingUploadProps {
|
interface OnboardingUploadProps {
|
||||||
|
|
@ -147,6 +148,7 @@ const OnboardingUpload = ({ onComplete }: OnboardingUploadProps) => {
|
||||||
setCurrentStep={setCurrentStep}
|
setCurrentStep={setCurrentStep}
|
||||||
isCompleted={false}
|
isCompleted={false}
|
||||||
steps={STEP_LIST}
|
steps={STEP_LIST}
|
||||||
|
storageKey={ONBOARDING_UPLOAD_STEPS_KEY}
|
||||||
/>
|
/>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,10 @@ import {
|
||||||
ANIMATION_DURATION,
|
ANIMATION_DURATION,
|
||||||
HEADER_HEIGHT,
|
HEADER_HEIGHT,
|
||||||
ONBOARDING_ASSISTANT_MESSAGE_KEY,
|
ONBOARDING_ASSISTANT_MESSAGE_KEY,
|
||||||
|
ONBOARDING_CARD_STEPS_KEY,
|
||||||
ONBOARDING_SELECTED_NUDGE_KEY,
|
ONBOARDING_SELECTED_NUDGE_KEY,
|
||||||
ONBOARDING_STEP_KEY,
|
ONBOARDING_STEP_KEY,
|
||||||
|
ONBOARDING_UPLOAD_STEPS_KEY,
|
||||||
SIDEBAR_WIDTH,
|
SIDEBAR_WIDTH,
|
||||||
TOTAL_ONBOARDING_STEPS,
|
TOTAL_ONBOARDING_STEPS,
|
||||||
} from "@/lib/constants";
|
} from "@/lib/constants";
|
||||||
|
|
@ -85,6 +87,8 @@ export function ChatRenderer({
|
||||||
localStorage.removeItem(ONBOARDING_STEP_KEY);
|
localStorage.removeItem(ONBOARDING_STEP_KEY);
|
||||||
localStorage.removeItem(ONBOARDING_ASSISTANT_MESSAGE_KEY);
|
localStorage.removeItem(ONBOARDING_ASSISTANT_MESSAGE_KEY);
|
||||||
localStorage.removeItem(ONBOARDING_SELECTED_NUDGE_KEY);
|
localStorage.removeItem(ONBOARDING_SELECTED_NUDGE_KEY);
|
||||||
|
localStorage.removeItem(ONBOARDING_CARD_STEPS_KEY);
|
||||||
|
localStorage.removeItem(ONBOARDING_UPLOAD_STEPS_KEY);
|
||||||
}
|
}
|
||||||
setShowLayout(true);
|
setShowLayout(true);
|
||||||
}
|
}
|
||||||
|
|
@ -102,6 +106,8 @@ export function ChatRenderer({
|
||||||
localStorage.removeItem(ONBOARDING_STEP_KEY);
|
localStorage.removeItem(ONBOARDING_STEP_KEY);
|
||||||
localStorage.removeItem(ONBOARDING_ASSISTANT_MESSAGE_KEY);
|
localStorage.removeItem(ONBOARDING_ASSISTANT_MESSAGE_KEY);
|
||||||
localStorage.removeItem(ONBOARDING_SELECTED_NUDGE_KEY);
|
localStorage.removeItem(ONBOARDING_SELECTED_NUDGE_KEY);
|
||||||
|
localStorage.removeItem(ONBOARDING_CARD_STEPS_KEY);
|
||||||
|
localStorage.removeItem(ONBOARDING_UPLOAD_STEPS_KEY);
|
||||||
}
|
}
|
||||||
setShowLayout(true);
|
setShowLayout(true);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ export const TOTAL_ONBOARDING_STEPS = 5;
|
||||||
export const ONBOARDING_STEP_KEY = "onboarding_current_step";
|
export const ONBOARDING_STEP_KEY = "onboarding_current_step";
|
||||||
export const ONBOARDING_ASSISTANT_MESSAGE_KEY = "onboarding_assistant_message";
|
export const ONBOARDING_ASSISTANT_MESSAGE_KEY = "onboarding_assistant_message";
|
||||||
export const ONBOARDING_SELECTED_NUDGE_KEY = "onboarding_selected_nudge";
|
export const ONBOARDING_SELECTED_NUDGE_KEY = "onboarding_selected_nudge";
|
||||||
|
export const ONBOARDING_CARD_STEPS_KEY = "onboarding_card_steps";
|
||||||
|
export const ONBOARDING_UPLOAD_STEPS_KEY = "onboarding_upload_steps";
|
||||||
|
|
||||||
export const FILES_REGEX =
|
export const FILES_REGEX =
|
||||||
/(?<=I'm uploading a document called ['"])[^'"]+\.[^.]+(?=['"]\. Here is its content:)/;
|
/(?<=I'm uploading a document called ['"])[^'"]+\.[^.]+(?=['"]\. Here is its content:)/;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue