Refactored utilities
This commit is contained in:
parent
e05f7468d0
commit
3d7229a385
52 changed files with 44 additions and 41 deletions
|
|
@ -1,3 +1,3 @@
|
|||
<options>
|
||||
<startup>file-explorer</startup>
|
||||
<startup></startup>
|
||||
</options>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { useEffect, useState } from "react";
|
||||
import styles from "./DropdownButton.module.css";
|
||||
import OutsideClickListener from "../../../hooks/utils/outsideClick.js";
|
||||
import { formatShortcut } from "../../../features/utils/string.utils.js";
|
||||
import OutsideClickListener from "../../../hooks/_utils/outsideClick.js";
|
||||
import { formatShortcut } from "../../../features/_utils/string.utils.js";
|
||||
|
||||
/**
|
||||
* @param {object} props
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { Children, cloneElement, isValidElement } from "react";
|
||||
import { useShortcuts } from "../../hooks/utils/keyboard.js";
|
||||
import { useShortcuts } from "../../hooks/_utils/keyboard.js";
|
||||
import styles from "./Actions.module.css";
|
||||
import { useScreenBounds } from "../../hooks/utils/screen.js";
|
||||
import { useScreenBounds } from "../../hooks/_utils/screen.js";
|
||||
|
||||
export const STYLES = {
|
||||
CONTEXT_MENU: styles["Context-menu"],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { formatShortcut } from "../../../features/utils/string.utils.js";
|
||||
import { formatShortcut } from "../../../features/_utils/string.utils.js";
|
||||
import styles from "../Actions.module.css";
|
||||
import { ImagePreview } from "../../apps/file-explorer/directory-list/ImagePreview.jsx";
|
||||
import { memo } from "react";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { formatShortcut } from "../../../features/utils/string.utils.js";
|
||||
import { formatShortcut } from "../../../features/_utils/string.utils.js";
|
||||
import styles from "../Actions.module.css";
|
||||
import { faCircleDot } from "@fortawesome/free-solid-svg-icons";
|
||||
import { useState } from "react";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { formatShortcut } from "../../../features/utils/string.utils.js";
|
||||
import { formatShortcut } from "../../../features/_utils/string.utils.js";
|
||||
import styles from "../Actions.module.css";
|
||||
import { useState } from "react";
|
||||
import { faSquare } from "@fortawesome/free-regular-svg-icons";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useShortcuts } from "../../../hooks/utils/keyboard.js";
|
||||
import { DropdownButton } from "../../utils/dropdown-button/DropdownButton.jsx";
|
||||
import { useShortcuts } from "../../../../hooks/_utils/keyboard.js";
|
||||
import { DropdownButton } from "../../../_utils/dropdown-button/DropdownButton.jsx";
|
||||
import styles from "./HeaderMenu.module.css";
|
||||
|
||||
/**
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
import { useEffect, useRef, useState } from "react";
|
||||
import styles from "./Browser.module.css";
|
||||
import { WebView } from "../_templates/WebView.jsx";
|
||||
import { WebView } from "../_utils/web-view/WebView.jsx";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { faCaretLeft, faCaretRight, faHome, faRotateRight } from "@fortawesome/free-solid-svg-icons";
|
||||
import { HOME_URL, SEARCH_URL } from "../../../config/apps/browser.config.js";
|
||||
import { isValidUrl } from "../../../features/utils/browser.utils.js";
|
||||
import { useHistory } from "../../../hooks/utils/history.js";
|
||||
import { isValidUrl } from "../../../features/_utils/browser.utils.js";
|
||||
import { useHistory } from "../../../hooks/_utils/history.js";
|
||||
|
||||
/** @type {import("../../windows/WindowView.jsx").windowProps} */
|
||||
export function Browser({ startUrl, focus }) {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import AppsManager from "../../../features/apps/appsManager.js";
|
|||
import { APPS, APP_ICONS, APP_NAMES } from "../../../config/apps.config.js";
|
||||
import { TITLE_SEPARATOR } from "../../../config/windows.config.js";
|
||||
import { FileProperties } from "../../modals/file-properties/FileProperties.jsx";
|
||||
import { useHistory } from "../../../hooks/utils/history.js";
|
||||
import { useHistory } from "../../../hooks/_utils/history.js";
|
||||
import { Divider } from "../../actions/actions/Divider.jsx";
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { useEffect, useRef, useState } from "react";
|
||||
import { VirtualFile } from "../../../../features/virtual-drive/file/virtualFile.js";
|
||||
import { VirtualFolder } from "../../../../features/virtual-drive/folder/virtualFolder.js";
|
||||
import { Interactable } from "../../../utils/interactable/Interactable.jsx";
|
||||
import { Interactable } from "../../../_utils/interactable/Interactable.jsx";
|
||||
import styles from "./DirectoryList.module.css";
|
||||
import { ImagePreview } from "./ImagePreview.jsx";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { Button } from "../../utils/button/Button.jsx";
|
||||
import { Button } from "../../_utils/button/Button.jsx";
|
||||
import styles from "./Settings.module.css";
|
||||
import utilStyles from "../../../styles/utils.module.css";
|
||||
import Vector2 from "../../../features/math/vector2.js";
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import styles from "./Settings.module.css";
|
||||
import utilStyles from "../../../styles/utils.module.css";
|
||||
import { round } from "../../../features/math/round.js";
|
||||
import { ProgressBar } from "../../utils/progress-bar/ProgressBar.jsx";
|
||||
import { Button } from "../../utils/button/Button.jsx";
|
||||
import { ProgressBar } from "../../_utils/progress-bar/ProgressBar.jsx";
|
||||
import { Button } from "../../_utils/button/Button.jsx";
|
||||
import { useVirtualRoot } from "../../../hooks/virtual-drive/virtualRootContext.js";
|
||||
import { StorageManager } from "../../../features/storage/storageManager.js";
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { OutputLine } from "./OutputLine.jsx";
|
|||
import { InputLine } from "./InputLine.jsx";
|
||||
import { ANSI, HOSTNAME, USERNAME } from "../../../config/apps/terminal.config.js";
|
||||
import CommandsManager from "../../../features/apps/terminal/commands.js";
|
||||
import { removeFromArray } from "../../../features/utils/array.utils.js";
|
||||
import { removeFromArray } from "../../../features/_utils/array.utils.js";
|
||||
|
||||
/**
|
||||
* @param {import("../../windows/WindowView.jsx").windowProps} props
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useEffect, useState } from "react";
|
||||
import styles from "./TextEditor.module.css";
|
||||
import { HeaderMenu } from "../_common/HeaderMenu.jsx";
|
||||
import { HeaderMenu } from "../_utils/header-menu/HeaderMenu.jsx";
|
||||
import Markdown from "markdown-to-jsx";
|
||||
import { DEFAULT_ZOOM, ZOOM_FACTOR } from "../../../config/apps/textEditor.config.js";
|
||||
import AppsManager from "../../../features/apps/appsManager.js";
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { ModalsView } from "../modals/ModalsView.jsx";
|
|||
import { useWindowsManager } from "../../hooks/windows/windowsManagerContext.js";
|
||||
import { useContextMenu } from "../../hooks/modals/contextMenu.js";
|
||||
import { FALLBACK_ICON_SIZE, FALLBACK_WALLPAPER } from "../../config/desktop.config.js";
|
||||
import { reloadViewport } from "../../features/utils/browser.utils.js";
|
||||
import { reloadViewport } from "../../features/_utils/browser.utils.js";
|
||||
import { useVirtualRoot } from "../../hooks/virtual-drive/virtualRootContext.js";
|
||||
import { DirectoryList } from "../apps/file-explorer/directory-list/DirectoryList.jsx";
|
||||
import { APPS, APP_ICONS, APP_NAMES } from "../../config/apps.config.js";
|
||||
|
|
@ -20,7 +20,7 @@ import { ToggleAction } from "../actions/actions/ToggleAction.jsx";
|
|||
import { DropdownAction } from "../actions/actions/DropdownAction.jsx";
|
||||
import { RadioAction } from "../actions/actions/RadioAction.jsx";
|
||||
import { Divider } from "../actions/actions/Divider.jsx";
|
||||
import { isValidInteger } from "../../features/utils/number.utils.js";
|
||||
import { isValidInteger } from "../../features/_utils/number.utils.js";
|
||||
|
||||
export const Desktop = memo(() => {
|
||||
const settingsManager = useSettingsManager();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { memo } from "react";
|
||||
import { Modal as ModalType } from "../../features/modals/modal.js";
|
||||
import OutsideClickListener from "../../hooks/utils/outsideClick.js";
|
||||
import OutsideClickListener from "../../hooks/_utils/outsideClick.js";
|
||||
import styles from "./ModalView.module.css";
|
||||
import { useEffect } from "react";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useEffect, useRef, useState } from "react";
|
||||
import { useScreenDimensions } from "../../../hooks/utils/screen.js";
|
||||
import { useScreenDimensions } from "../../../hooks/_utils/screen.js";
|
||||
import Vector2 from "../../../features/math/vector2.js";
|
||||
import styles from "./WindowedModal.module.css";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@ import { faCog, faSearch } from "@fortawesome/free-solid-svg-icons";
|
|||
import AppsManager from "../../features/apps/appsManager.js";
|
||||
import { ReactSVG } from "react-svg";
|
||||
import { HomeMenu } from "./menus/HomeMenu.jsx";
|
||||
import OutsideClickListener from "../../hooks/utils/outsideClick.js";
|
||||
import OutsideClickListener from "../../hooks/_utils/outsideClick.js";
|
||||
import { Battery } from "./indicators/Battery.jsx";
|
||||
import { Network } from "./indicators/Network.jsx";
|
||||
import { Volume } from "./indicators/Volume.jsx";
|
||||
import { SearchMenu } from "./menus/SearchMenu.jsx";
|
||||
import { Calendar } from "./indicators/Calendar.jsx";
|
||||
import { useScrollWithShadow } from "../../hooks/utils/scrollWithShadows.js";
|
||||
import { useScrollWithShadow } from "../../hooks/_utils/scrollWithShadows.js";
|
||||
import { AppButton } from "./app-icon/AppIcon.jsx";
|
||||
import { useContextMenu } from "../../hooks/modals/contextMenu.js";
|
||||
import { Actions } from "../actions/Actions.jsx";
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import { Actions } from "../../actions/Actions.jsx";
|
|||
import { ClickAction } from "../../actions/actions/ClickAction.jsx";
|
||||
import { faThumbTack, faTimes } from "@fortawesome/free-solid-svg-icons";
|
||||
import { SettingsManager } from "../../../features/settings/settingsManager.js";
|
||||
import { removeFromArray } from "../../../features/utils/array.utils.js";
|
||||
import { removeFromArray } from "../../../features/_utils/array.utils.js";
|
||||
import AppsManager from "../../../features/apps/appsManager.js";
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import { faCircleInfo, faFileLines, faGear, faImage, faPowerOff } from "@fortawe
|
|||
import { useWindowsManager } from "../../../hooks/windows/windowsManagerContext.js";
|
||||
import AppsManager from "../../../features/apps/appsManager.js";
|
||||
import { ReactSVG } from "react-svg";
|
||||
import { closeViewport } from "../../../features/utils/browser.utils.js";
|
||||
import { useKeyboardListener } from "../../../hooks/utils/keyboard.js";
|
||||
import { closeViewport } from "../../../features/_utils/browser.utils.js";
|
||||
import { useKeyboardListener } from "../../../hooks/_utils/keyboard.js";
|
||||
import { useVirtualRoot } from "../../../hooks/virtual-drive/virtualRootContext.js";
|
||||
import { useEffect, useState } from "react";
|
||||
import Vector2 from "../../../features/math/vector2.js";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import AppsManager from "../../../features/apps/appsManager.js";
|
|||
import { useWindowsManager } from "../../../hooks/windows/windowsManagerContext.js";
|
||||
import { ReactSVG } from "react-svg";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useKeyboardListener } from "../../../hooks/utils/keyboard.js";
|
||||
import { useKeyboardListener } from "../../../hooks/_utils/keyboard.js";
|
||||
|
||||
/**
|
||||
* @param {object} props
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@ import { useContextMenu } from "../../hooks/modals/contextMenu.js";
|
|||
import AppsManager from "../../features/apps/appsManager.js";
|
||||
import { ClickAction } from "../actions/actions/ClickAction.jsx";
|
||||
import { Actions } from "../actions/Actions.jsx";
|
||||
import { useScreenDimensions } from "../../hooks/utils/screen.js";
|
||||
import { useScreenDimensions } from "../../hooks/_utils/screen.js";
|
||||
import { NAME } from "../../config/branding.config.js";
|
||||
import { setViewportIcon, setViewportTitle } from "../../features/utils/browser.utils.js";
|
||||
import { setViewportIcon, setViewportTitle } from "../../features/_utils/browser.utils.js";
|
||||
|
||||
/**
|
||||
* @typedef {object} windowProps
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { WindowView } from "./WindowView.jsx";
|
|||
import { useSettingsManager } from "../../hooks/settings/settingsManagerContext.js";
|
||||
import { SettingsManager } from "../../features/settings/settingsManager.js";
|
||||
import { NAME, TAG_LINE } from "../../config/branding.config.js";
|
||||
import { setViewportIcon, setViewportTitle } from "../../features/utils/browser.utils.js";
|
||||
import { setViewportIcon, setViewportTitle } from "../../features/_utils/browser.utils.js";
|
||||
|
||||
export const WindowsView = memo(() => {
|
||||
const settingsManager = useSettingsManager();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import App from "./app.js";
|
||||
import { FileExplorer } from "../../components/apps/file-explorer/FileExplorer.jsx";
|
||||
import { MediaViewer } from "../../components/apps/media-viewer/MediaViewer.jsx";
|
||||
import { WebView } from "../../components/apps/_templates/WebView.jsx";
|
||||
import { WebView } from "../../components/apps/_utils/web-view/WebView.jsx";
|
||||
import { Terminal } from "../../components/apps/terminal/Terminal.jsx";
|
||||
import { TextEditor } from "../../components/apps/text-editor/TextEditor.jsx";
|
||||
import { Settings } from "../../components/apps/settings/Settings.jsx";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { randomFromArray } from "../../../utils/array.utils.js";
|
||||
import { randomFromArray } from "../../../_utils/array.utils.js";
|
||||
import Command from "../command.js";
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { APPS } from "../../../../config/apps.config.js";
|
|||
import { ANSI } from "../../../../config/apps/terminal.config.js";
|
||||
import { ANSI_ASCII_LOGO, ANSI_LOGO_COLOR, NAME } from "../../../../config/branding.config.js";
|
||||
import { START_DATE } from "../../../../index.js";
|
||||
import { formatRelativeTime } from "../../../utils/date.utils.js";
|
||||
import { formatRelativeTime } from "../../../_utils/date.utils.js";
|
||||
import AppsManager from "../../appsManager.js";
|
||||
import Command from "../command.js";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { reloadViewport } from "../../../utils/browser.utils.js";
|
||||
import { reloadViewport } from "../../../_utils/browser.utils.js";
|
||||
import Command from "../command.js";
|
||||
|
||||
export const reboot = new Command("reboot")
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { START_DATE } from "../../../../index.js";
|
||||
import { formatRelativeTime } from "../../../utils/date.utils.js";
|
||||
import { formatRelativeTime } from "../../../_utils/date.utils.js";
|
||||
import Command from "../command.js";
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { APPS } from "../../../config/apps.config.js";
|
||||
import AppsManager from "../../apps/appsManager.js";
|
||||
import { removeFromArray } from "../../utils/array.utils.js";
|
||||
import { removeFromArray } from "../../_utils/array.utils.js";
|
||||
import WindowsManager from "../../windows/windowsManager.js";
|
||||
import { VirtualFileLink } from "../file/virtualFileLink.js";
|
||||
import { VirtualFolderLink } from "./virtualFolderLink.js";
|
||||
|
|
|
|||
|
|
@ -68,6 +68,9 @@ export class VirtualFolderLink extends VirtualFolder {
|
|||
if (this.iconUrl != null)
|
||||
return this.iconUrl;
|
||||
|
||||
if (this.isValid() && this.linkedFolder.iconUrl)
|
||||
return this.linkedFolder.iconUrl;
|
||||
|
||||
return AppsManager.getAppIconUrl(APPS.FILE_EXPLORER, "folder-link");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { APPS } from "../../config/apps.config.js";
|
||||
import AppsManager from "../apps/appsManager.js";
|
||||
import { EventEmitter } from "../utils/event.utils.js";
|
||||
import { EventEmitter } from "../_utils/event.utils.js";
|
||||
import { VirtualRoot } from "./root/virtualRoot.js";
|
||||
|
||||
export class VirtualBase extends EventEmitter {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useEffect, useState } from "react";
|
||||
import { removeFromArray } from "../../features/utils/array.utils.js";
|
||||
import { removeFromArray } from "../../features/_utils/array.utils.js";
|
||||
|
||||
/**
|
||||
* @param {object} params
|
||||
Loading…
Reference in a new issue