diff --git a/src/component/Admin/Settings/Filesystem/EmojiList.tsx b/src/component/Admin/Settings/Filesystem/EmojiList.tsx
index c6c3f52..d53c2b4 100644
--- a/src/component/Admin/Settings/Filesystem/EmojiList.tsx
+++ b/src/component/Admin/Settings/Filesystem/EmojiList.tsx
@@ -11,8 +11,7 @@ import {
} from "../../../Common/StyledComponents.tsx";
import Add from "../../../Icons/Add.tsx";
import Dismiss from "../../../Icons/Dismiss.tsx";
-import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
-import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
+import ArrowDown from "../../../Icons/ArrowDown.tsx";
import { DndProvider, useDrag, useDrop } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
@@ -140,10 +139,21 @@ function DraggableEmojiRow({
moveRow(i, i - 1)} disabled={isFirst}>
-
+
moveRow(i, i + 1)} disabled={isLast}>
-
+
diff --git a/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerEditDialog.tsx b/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerEditDialog.tsx
index c57192c..8892397 100644
--- a/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerEditDialog.tsx
+++ b/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerEditDialog.tsx
@@ -38,8 +38,7 @@ import Dismiss from "../../../../Icons/Dismiss.tsx";
import SettingForm from "../../../../Pages/Setting/SettingForm.tsx";
import MagicVarDialog, { MagicVar } from "../../../Common/MagicVarDialog.tsx";
import { NoMarginHelperText } from "../../Settings.tsx";
-import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
-import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
+import ArrowDown from "../../../../Icons/ArrowDown.tsx";
import { DndProvider, useDrag, useDrop } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
import { SelectChangeEvent } from "@mui/material";
@@ -112,21 +111,21 @@ function DraggableTemplateRow({ i, moveRow, onExtChange, onNameChange, onDelete,
accept: DND_TYPE,
hover(item: any, monitor) {
if (!ref.current) return;
-
+
const dragIndex = item.index;
const hoverIndex = i;
if (dragIndex === hoverIndex) return;
-
+
const hoverBoundingRect = ref.current.getBoundingClientRect();
const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
const clientOffset = monitor.getClientOffset();
if (!clientOffset) return;
-
+
const hoverClientY = clientOffset.y - hoverBoundingRect.top;
-
+
if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) return;
if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) return;
-
+
moveRow(dragIndex, hoverIndex);
item.index = hoverIndex;
},
@@ -171,10 +170,21 @@ function DraggableTemplateRow({ i, moveRow, onExtChange, onNameChange, onDelete,
moveRow(i, i - 1)} disabled={isFirst}>
-
+
moveRow(i, i + 1)} disabled={isLast}>
-
+
diff --git a/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerList.tsx b/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerList.tsx
index d88e416..f241062 100644
--- a/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerList.tsx
+++ b/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerList.tsx
@@ -35,6 +35,7 @@ interface ViewerGroupProps {
index: number;
onDelete: (e: React.MouseEvent) => void;
onGroupChange: (g: ViewerGroup) => void;
+ dndType: string;
}
const DND_TYPE = "viewer-row";
@@ -49,10 +50,11 @@ const DraggableViewerRow = memo(function DraggableViewerRow({
onMoveDown,
isLast,
isFirst,
+ dndType,
}: any) {
const ref = React.useRef(null);
const [, drop] = useDrop({
- accept: DND_TYPE,
+ accept: dndType,
hover(item: any, monitor) {
if (!ref.current) return;
@@ -75,7 +77,7 @@ const DraggableViewerRow = memo(function DraggableViewerRow({
},
});
const [{ isDragging }, drag] = useDrag({
- type: DND_TYPE,
+ type: dndType,
item: { index },
collect: (monitor) => ({
isDragging: monitor.isDragging(),
@@ -97,7 +99,7 @@ const DraggableViewerRow = memo(function DraggableViewerRow({
);
});
-const ViewerGroupRow = memo(({ group, index, onDelete, onGroupChange }: ViewerGroupProps) => {
+const ViewerGroupRow = memo(({ group, index, onDelete, onGroupChange, dndType }: ViewerGroupProps) => {
const { t } = useTranslation("dashboard");
const onViewerChange = useMemo(() => {
@@ -195,6 +197,7 @@ const ViewerGroupRow = memo(({ group, index, onDelete, onGroupChange }: ViewerGr
onMoveDown={() => handleMoveDown(idx)}
isFirst={idx === 0}
isLast={idx === viewers.length - 1}
+ dndType={dndType}
/>
))}
@@ -289,6 +292,7 @@ const FileViewerList = memo(({ config, onChange }: FileViewerListProps) => {
key={index}
onDelete={onGroupDelete[index]}
onGroupChange={onGroupChange[index]}
+ dndType={`viewer-row-${index}`}
/>
))}
} sx={{ mt: 1 }}>
diff --git a/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerRow.tsx b/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerRow.tsx
index 13d18a2..433c2c8 100644
--- a/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerRow.tsx
+++ b/src/component/Admin/Settings/Filesystem/ViewerSetting/FileViewerRow.tsx
@@ -8,8 +8,7 @@ import { ViewerIcon } from "../../../../FileManager/Dialogs/OpenWith.tsx";
import Dismiss from "../../../../Icons/Dismiss.tsx";
import Edit from "../../../../Icons/Edit.tsx";
import FileViewerEditDialog from "./FileViewerEditDialog.tsx";
-import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
-import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
+import ArrowDown from "../../../../Icons/ArrowDown.tsx";
export interface FileViewerRowProps {
viewer: Viewer;
@@ -103,10 +102,21 @@ const FileViewerRow = React.memo(
-
+
-
+
diff --git a/src/component/FileManager/Explorer/ListView/ColumnSetting.tsx b/src/component/FileManager/Explorer/ListView/ColumnSetting.tsx
index b98a3bc..bc2dc27 100644
--- a/src/component/FileManager/Explorer/ListView/ColumnSetting.tsx
+++ b/src/component/FileManager/Explorer/ListView/ColumnSetting.tsx
@@ -23,8 +23,7 @@ import Dismiss from "../../../Icons/Dismiss.tsx";
import { FileManagerIndex } from "../../FileManager.tsx";
import AddColumn from "./AddColumn.tsx";
import { getColumnTypeDefaults, ListViewColumnSetting } from "./Column.tsx";
-import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
-import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
+import ArrowDown from "../../../Icons/ArrowDown.tsx";
import { DndProvider, useDrag, useDrop } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
import React from "react";
@@ -50,21 +49,21 @@ const DraggableColumnRow: React.FC = ({ column, index,
accept: DND_TYPE,
hover(item: any, monitor) {
if (!ref.current) return;
-
+
const dragIndex = item.index;
const hoverIndex = index;
if (dragIndex === hoverIndex) return;
-
+
const hoverBoundingRect = ref.current.getBoundingClientRect();
const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
const clientOffset = monitor.getClientOffset();
if (!clientOffset) return;
-
+
const hoverClientY = clientOffset.y - hoverBoundingRect.top;
-
+
if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) return;
if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) return;
-
+
moveRow(dragIndex, hoverIndex);
item.index = hoverIndex;
},
@@ -90,10 +89,21 @@ const DraggableColumnRow: React.FC = ({ column, index,
moveRow(index, index - 1)} disabled={isFirst}>
-
+
moveRow(index, index + 1)} disabled={isLast}>
-
+
onDelete(index)} disabled={columns.length <= 1}>