Files
calendar/apps/web/modules/auth/hooks/useLastUsed.tsx
T
Benny JooGitHubbenny@cal.com <sldisek783@gmail.com>benny@cal.com <sldisek783@gmail.com>Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
7b8272ea20 refactor: move auth components and hooks from packages/features to apps/web/modules (#27223)
* refactor: move auth components and hooks from packages/features to apps/web/modules

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

* fix: add vitest import to Turnstile mock

Co-Authored-By: benny@cal.com <sldisek783@gmail.com>

* fix

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-26 09:58:57 -03:00

36 lines
973 B
TypeScript

import { useState, useEffect } from "react";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { localStorage } from "@calcom/lib/webstorage";
import classNames from "@calcom/ui/classNames";
type LoginType = "saml" | "google" | "credentials";
export function useLastUsed() {
const [lastUsed, setLastUsed] = useState<LoginType>();
useEffect(() => {
const storedValue = localStorage.getItem("last_cal_login");
if (storedValue) {
setLastUsed(storedValue as LoginType);
}
}, []);
useEffect(() => {
if (lastUsed) {
localStorage.setItem("last_cal_login", lastUsed);
} else {
localStorage.removeItem("last_cal_login");
}
}, [lastUsed]);
return [lastUsed, setLastUsed] as const;
}
export const LastUsed = ({ className }: { className?: string }) => {
const { t } = useLocale();
return (
<span className={classNames("text-subtle absolute right-3 text-xs", className)}>{t("last_used")}</span>
);
};