Move utils to root

This commit is contained in:
2025-10-09 22:19:06 +03:00
Unverified
parent 546c2523c2
commit 2312569455
21 changed files with 25 additions and 25 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
import type { Headers, UploadPublicKeyRequest, BackupBlob } from "../pages/chat/core/types";
import { generateX25519KeyPair } from "../pages/chat/utils/crypto/asymmetric";
import { encodeBlob, encryptBackupWithPassword, decryptBackupWithPassword, decodeBlob } from "../pages/chat/utils/crypto/backup";
import { b64, ub64 } from "../pages/chat/utils/utils";
import { generateX25519KeyPair } from "../utils/crypto/asymmetric";
import { encodeBlob, encryptBackupWithPassword, decryptBackupWithPassword, decodeBlob } from "../utils/crypto/backup";
import { b64, ub64 } from "../utils/utils";
import { API_BASE_URL } from "../pages/chat/core/config";
/**
+4 -4
View File
@@ -1,12 +1,12 @@
import { API_BASE_URL } from "../pages/chat/core/config";
import { getAuthHeaders } from "./authApi";
import { ecdhSharedSecret, deriveWrappingKey } from "../pages/chat/utils/crypto/asymmetric";
import { importAesGcmKey, aesGcmEncrypt, aesGcmDecrypt } from "../pages/chat/utils/crypto/symmetric";
import { randomBytes } from "../pages/chat/utils/crypto/kdf";
import { ecdhSharedSecret, deriveWrappingKey } from "../utils/crypto/asymmetric";
import { importAesGcmKey, aesGcmEncrypt, aesGcmDecrypt } from "../utils/crypto/symmetric";
import { randomBytes } from "../utils/crypto/kdf";
import { getCurrentKeys } from "./authApi";
import { request } from "../pages/chat/core/websocket";
import type { SendDMRequest, DmEnvelope, User, DMEditRequest, DmEncryptedJSON, BaseDmEnvelope } from "../pages/chat/core/types";
import { b64, ub64 } from "../pages/chat/utils/utils";
import { b64, ub64 } from "../utils/utils";
export async function decryptDm(envelope: DmEnvelope, senderPublicKeyB64: string): Promise<string> {
const keys = getCurrentKeys();
+1 -1
View File
@@ -8,7 +8,7 @@
import './css/style.scss';
import "mdui/mdui.css";
import "./pages/chat/utils/material";
import "./utils/material";
import "./pages/chat/core/init";
import "./pages/chat/electron/electron";
import { createRoot } from 'react-dom/client';
+1 -1
View File
@@ -8,7 +8,7 @@ import { useRef } from "react";
import type { TextField } from "mdui/components/text-field";
import { useAppState } from "../chat/ui/state";
import { MaterialTextField } from "../chat/ui/components/core/TextField";
import { initialize, isSupported, startElectronReceiver, subscribe } from "../chat/utils/push-notifications";
import { initialize, isSupported, startElectronReceiver, subscribe } from "../chat/push-notifications";
import { isElectron } from "../chat/electron/electron";
import { useNavigate } from "react-router-dom";
import "./auth.scss";
+1 -1
View File
@@ -7,7 +7,7 @@
import { API_WS_BASE_URL } from "./config";
import type { WebSocketMessage } from "./types";
import { delay } from "../utils/utils";
import { delay } from "../../../utils/utils";
/**
* Creates a new WebSocket connection to the chat server
@@ -1,7 +1,7 @@
import { API_BASE_URL } from "../core/config";
import { isElectron } from "../electron/electron";
import { websocket } from "../core/websocket";
import type { NewMessageWebSocketMessage, WebSocketMessage } from "../core/types";
import { API_BASE_URL } from "./core/config";
import { isElectron } from "./electron/electron";
import { websocket } from "./core/websocket";
import type { NewMessageWebSocketMessage, WebSocketMessage } from "./core/types";
import serviceWorker from "../../../service-worker?worker&url";
export interface PushSubscriptionData {
@@ -6,7 +6,7 @@ import { UserProfileDialog } from "./UserProfileDialog";
import { MessageContextMenu, type ContextMenuState } from "./MessageContextMenu";
import { fetchUserProfile } from "../../../../../api/profileApi";
import { useEffect, useState, type ReactNode } from "react";
import { delay } from "../../../utils/utils";
import { delay } from "../../../../../utils/utils";
import { MaterialDialog } from "../core/Dialog";
import { request } from "../../../core/websocket";
import type { AddReactionRequest, AddDmReactionRequest } from "../../../core/types";
@@ -1,4 +1,4 @@
import { formatTime, id } from "../../../utils/utils";
import { formatTime, id } from "../../../../../utils/utils";
import type { Attachment, Message as MessageType } from "../../../core/types";
import defaultAvatar from "../../../../../images/default-avatar.png";
import Quote from "../core/Quote";
@@ -6,11 +6,11 @@ import { parse } from "marked";
import DOMPurify from "dompurify";
import { useEffect, useState, useRef } from "react";
import { getCurrentKeys } from "../../../../../api/authApi";
import { ecdhSharedSecret, deriveWrappingKey } from "../../../utils/crypto/asymmetric";
import { importAesGcmKey, aesGcmDecrypt } from "../../../utils/crypto/symmetric";
import { ecdhSharedSecret, deriveWrappingKey } from "../../../../../utils/crypto/asymmetric";
import { importAesGcmKey, aesGcmDecrypt } from "../../../../../utils/crypto/symmetric";
import { getAuthHeaders } from "../../../../../api/authApi";
import { useAppState } from "../../state";
import { ub64 } from "../../../utils/utils";
import { ub64 } from "../../../../../utils/utils";
import { useImmer } from "use-immer";
import { createPortal } from "react-dom";
import { MessageReactions } from "./MessageReactions";
@@ -1,7 +1,7 @@
import type { DialogProps } from "../../../core/types";
import type { UserProfile } from "../../../core/types";
import { MaterialDialog } from "../core/Dialog";
import { formatTime } from "../../../utils/utils";
import { formatTime } from "../../../../../utils/utils";
import defaultAvatar from "../../../../../images/default-avatar.png";
interface UserProfileDialogProps extends DialogProps {
@@ -1,7 +1,7 @@
import type { Dialog as MduiDialog } from "mdui/components/dialog";
import { useEffect, type Ref } from "react"
import { createPortal } from "react-dom";
import { id } from "../../../utils/utils";
import { id } from "../../../../../utils/utils";
import useCombinedRefs from "../../hooks/useCombinedRefs";
export interface BaseDialogProps {
@@ -2,7 +2,7 @@ import { useState, useEffect } from "react";
import { PRODUCT_NAME, API_BASE_URL } from "../../../core/config";
import type { DialogProps } from "../../../core/types";
import { MaterialDialog } from "../core/Dialog";
import { initialize, isSupported, startElectronReceiver, stopElectronReceiver, subscribe, unsubscribe } from "../../../utils/push-notifications";
import { initialize, isSupported, startElectronReceiver, stopElectronReceiver, subscribe, unsubscribe } from "../../../push-notifications";
import { isElectron } from "../../../electron/electron";
import { useAppState } from "../../state";
import type { Switch } from "mdui/components/switch";
@@ -1,7 +1,7 @@
import { useState, useCallback, useEffect } from "react";
import { useAppState } from "../state";
import { loadProfile, updateProfile, uploadProfilePicture, type ProfileData } from "../../../../api/profileApi";
import { showSuccess, showError } from "../../utils/notification";
import { showSuccess, showError } from "../../../../utils/notification";
export default function useProfile() {
const { user } = useAppState();
@@ -9,7 +9,7 @@ import type { TextField } from "mdui/components/text-field";
import { useAppState } from "../state";
import { useNavigate } from "react-router-dom";
import { MaterialTextField } from "../components/core/TextField";
import { initialize, isSupported, startElectronReceiver, subscribe } from "../../utils/push-notifications";
import { initialize, isSupported, startElectronReceiver, subscribe } from "../../push-notifications";
import { isElectron } from "../../electron/electron";
export default function LoginScreen() {
+1 -1
View File
@@ -7,7 +7,7 @@ import { DMPanel, type DMPanelData } from "./panels/DMPanel";
import { getAuthHeaders } from "../../../api/authApi";
import { restoreKeys } from "../../../api/authApi";
import { API_BASE_URL } from "../core/config";
import { initialize, subscribe, startElectronReceiver, isSupported } from "../utils/push-notifications";
import { initialize, subscribe, startElectronReceiver, isSupported } from "../push-notifications";
import { isElectron } from "../electron/electron";
export type ChatTabs = "chats" | "channels" | "contacts" | "dms"