Compare commits
2 Commits
v0.10.3-et
...
v0.10.3-et
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b925c63171 | ||
![]() |
6faebaf9df |
@@ -2,6 +2,7 @@ import { AppBar, TitlePortal, InspectorButton, Confirm, Layout, Logout, Menu, us
|
|||||||
import { LoginMethod } from "../pages/LoginPage";
|
import { LoginMethod } from "../pages/LoginPage";
|
||||||
import { useEffect, useState, Suspense } from "react";
|
import { useEffect, useState, Suspense } from "react";
|
||||||
import { Icons, DefaultIcon } from "./icons";
|
import { Icons, DefaultIcon } from "./icons";
|
||||||
|
import { ClearConfig } from "./config";
|
||||||
|
|
||||||
const AdminUserMenu = () => {
|
const AdminUserMenu = () => {
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
@@ -21,8 +22,7 @@ const AdminUserMenu = () => {
|
|||||||
|
|
||||||
const handleDialogClose = () => {
|
const handleDialogClose = () => {
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
localStorage.removeItem("access_token");
|
ClearConfig();
|
||||||
localStorage.removeItem("login_type");
|
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -43,6 +43,13 @@ export const LoadConfig = (context: Config): Config => {
|
|||||||
|
|
||||||
// below we try to calculate "final" config, which will contain values from context and already set values in storage
|
// below we try to calculate "final" config, which will contain values from context and already set values in storage
|
||||||
// because LoadConfig could be called multiple times to get config from different sources
|
// because LoadConfig could be called multiple times to get config from different sources
|
||||||
|
let finalRestrictBaseUrl: string | string[] = "";
|
||||||
|
try {
|
||||||
|
finalRestrictBaseUrl = JSON.parse(storage.getItem("restrict_base_url") || "");
|
||||||
|
if (Array.isArray(finalRestrictBaseUrl) && finalRestrictBaseUrl.length == 1) {
|
||||||
|
finalRestrictBaseUrl = finalRestrictBaseUrl[0];
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
let finalAsManagedUsers: string[] = [];
|
let finalAsManagedUsers: string[] = [];
|
||||||
try {
|
try {
|
||||||
finalAsManagedUsers = JSON.parse(storage.getItem("as_managed_users") || "");
|
finalAsManagedUsers = JSON.parse(storage.getItem("as_managed_users") || "");
|
||||||
@@ -54,10 +61,27 @@ export const LoadConfig = (context: Config): Config => {
|
|||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
restrictBaseUrl: storage.getItem("restrict_base_url") || "",
|
restrictBaseUrl: finalRestrictBaseUrl,
|
||||||
asManagedUsers: finalAsManagedUsers,
|
asManagedUsers: finalAsManagedUsers,
|
||||||
supportURL: storage.getItem("support_url") || "",
|
supportURL: storage.getItem("support_url") || "",
|
||||||
menu: finalMenu,
|
menu: finalMenu,
|
||||||
} as Config;
|
} as Config;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const ClearConfig = () => {
|
||||||
|
// config.json
|
||||||
|
storage.removeItem("restrict_base_url");
|
||||||
|
storage.removeItem("as_managed_users");
|
||||||
|
storage.removeItem("support_url");
|
||||||
|
storage.removeItem("menu");
|
||||||
|
|
||||||
|
// session
|
||||||
|
storage.removeItem("home_server");
|
||||||
|
storage.removeItem("base_url");
|
||||||
|
storage.removeItem("user_id");
|
||||||
|
storage.removeItem("device_id");
|
||||||
|
storage.removeItem("access_token");
|
||||||
|
storage.removeItem("login_type");
|
||||||
|
}
|
||||||
|
@@ -3,6 +3,7 @@ import { AuthProvider, HttpError, Options, fetchUtils } from "react-admin";
|
|||||||
import storage from "../storage";
|
import storage from "../storage";
|
||||||
import { MatrixError, displayError } from "../components/error";
|
import { MatrixError, displayError } from "../components/error";
|
||||||
import { fetchAuthenticatedMedia } from "../utils/fetchMedia";
|
import { fetchAuthenticatedMedia } from "../utils/fetchMedia";
|
||||||
|
import { ClearConfig } from "../components/config";
|
||||||
|
|
||||||
const authProvider: AuthProvider = {
|
const authProvider: AuthProvider = {
|
||||||
// called when the user attempts to log in
|
// called when the user attempts to log in
|
||||||
@@ -154,8 +155,7 @@ const authProvider: AuthProvider = {
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log("Error logging out", err);
|
console.log("Error logging out", err);
|
||||||
} finally {
|
} finally {
|
||||||
storage.removeItem("access_token");
|
ClearConfig();
|
||||||
storage.removeItem("login_type");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user