feat: Refactor frontend authentication and tenant switching to use global state

This commit is contained in:
2025-12-08 01:19:52 +01:00
parent 5840c9d1d0
commit 608239e412
9 changed files with 82 additions and 194 deletions
@@ -33,7 +33,6 @@ interface FolderClickHandlers {
import useNotifyApiError from '../../../hooks/useNotifyApiError';
interface UseFolderTreeActionsOptions {
token?: string | null;
folderNodes: Map<FolderKey, FolderNode>;
setFolderNodes: (updater: (prev: Map<FolderKey, FolderNode>) => Map<FolderKey, FolderNode>) => void;
selectedFolder: FolderKey;
@@ -49,7 +48,6 @@ interface UseFolderTreeActionsOptions {
}
const useFolderTreeActions = ({
token,
folderNodes,
setFolderNodes,
selectedFolder,
@@ -181,10 +179,6 @@ const useFolderTreeActions = ({
const handleFolderRename = useCallback(
async (folderId: FolderKey, nextName: string) => {
if (!token) {
showToast('Log in to rename folders.', 'error');
return false;
}
const trimmed = nextName?.trim?.() || '';
if (!trimmed) {
showToast('Folder name cannot be empty.', 'error');
@@ -214,16 +208,11 @@ const useFolderTreeActions = ({
notifyApiError,
setFolderNodes,
showToast,
token,
],
);
const handleFolderCreate = useCallback(
async (name: string, parentId?: FolderKey | null) => {
if (!token) {
showToast('Log in to create folders.', 'error');
return false;
}
if (!name.trim()) {
showToast('Folder name cannot be empty.', 'error');
return false;
@@ -291,18 +280,11 @@ const useFolderTreeActions = ({
setCreatingFolder,
setFolderNodes,
showToast,
token,
],
);
const handleFolderDelete = useCallback(
async (folderId: FolderKey, { showMessage = true }: MessageOptions = {}) => {
if (!token) {
if (showMessage) {
showToast('Log in to manage folders.', 'error');
}
return false;
}
if (!folderId || folderId === 'root') {
if (showMessage) {
showToast('The root folder cannot be removed.', 'error');
@@ -352,7 +334,6 @@ const useFolderTreeActions = ({
}
},
[
token,
folderNodes,
notifyApiError,
selectedFolder,