mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-26 19:12:50 +00:00
feat: change usermanagement from git submodule to componenet based
This commit is contained in:
@@ -45,6 +45,7 @@ export function LoginPage() {
|
||||
const [rememberMe, setRememberMe] = useState(true);
|
||||
const [loginTrigger] = useApiMutation<LoginPayload>();
|
||||
const [meTrigger] = useApiMutation<AuthUser>();
|
||||
const [profileCheckTrigger] = useApiMutation<{ count: number; items: Array<{ userId: string }> }>();
|
||||
|
||||
const {
|
||||
register,
|
||||
@@ -70,6 +71,21 @@ export function LoginPage() {
|
||||
}).unwrap();
|
||||
dispatch(setUser(me));
|
||||
|
||||
try {
|
||||
const profiles = await profileCheckTrigger({
|
||||
url: '/profiles?take=10000&skip=0',
|
||||
method: 'GET',
|
||||
}).unwrap();
|
||||
const hasProfile = profiles.items?.some((p) => p.userId === me.id);
|
||||
|
||||
if (!hasProfile) {
|
||||
navigate('/profile-setup');
|
||||
return;
|
||||
}
|
||||
} catch {
|
||||
// profile check failed — proceed to dashboard anyway
|
||||
}
|
||||
|
||||
if (me.isPhoneNumberVerified) {
|
||||
navigate(loginRedirectPath);
|
||||
} else {
|
||||
|
||||
@@ -21,8 +21,10 @@ export const authStorage = {
|
||||
}
|
||||
},
|
||||
setUser: <T>(u: T) => localStorage.setItem(key('auth-user'), JSON.stringify(u)),
|
||||
getProfileId: () => localStorage.getItem(key('profile-id')) ?? undefined,
|
||||
setProfileId: (id: string) => localStorage.setItem(key('profile-id'), id),
|
||||
clear: () => {
|
||||
[key('auth-token'), key('refresh-token'), key('auth-user')].forEach((k) =>
|
||||
[key('auth-token'), key('refresh-token'), key('auth-user'), key('profile-id')].forEach((k) =>
|
||||
localStorage.removeItem(k),
|
||||
);
|
||||
document.cookie =
|
||||
|
||||
Reference in New Issue
Block a user