diff --git a/src/components/file/DashboardFile/FileModal.tsx b/src/components/file/DashboardFile/FileModal.tsx
index 751d1ef1f..9a1cc0eb7 100755
--- a/src/components/file/DashboardFile/FileModal.tsx
+++ b/src/components/file/DashboardFile/FileModal.tsx
@@ -48,7 +48,7 @@ import {
IconUpload,
} from '@tabler/icons-react';
import { useEffect, useState } from 'react';
-import useSWR from 'swr';
+import useSWR, { mutate } from 'swr';
import DashboardFileType from '../DashboardFileType';
import {
addToFolder,
@@ -157,6 +157,7 @@ export default function FileModal({
}
mutateFiles();
+ mutate('/api/user/tags');
};
const triggerSave = async () => {
diff --git a/src/components/pages/files/PendingFilesButton.tsx b/src/components/pages/files/PendingFilesButton.tsx
index 27e750f8c..cef72910e 100755
--- a/src/components/pages/files/PendingFilesButton.tsx
+++ b/src/components/pages/files/PendingFilesButton.tsx
@@ -1,7 +1,19 @@
import { Response } from '@/lib/api/response';
import { IncompleteFile } from '@/lib/db/models/incompleteFile';
import { fetchApi } from '@/lib/fetchApi';
-import { ActionIcon, Badge, Button, Card, Group, Modal, Stack, Text, Title, Tooltip } from '@mantine/core';
+import {
+ ActionIcon,
+ Badge,
+ Button,
+ Card,
+ Group,
+ Modal,
+ Paper,
+ Stack,
+ Text,
+ Title,
+ Tooltip,
+} from '@mantine/core';
import { showNotification } from '@mantine/notifications';
import { IncompleteFileStatus } from '@prisma/client';
import { IconFileDots, IconTrashFilled } from '@tabler/icons-react';
@@ -118,7 +130,11 @@ export default function PendingFilesButton() {
))}
- {incompleteFiles?.length === 0 && Nothing here!}
+ {incompleteFiles?.length === 0 && (
+
+ No pending files
+
+ )}
diff --git a/src/components/pages/files/tags/CreateTagModal.tsx b/src/components/pages/files/tags/CreateTagModal.tsx
index b7204e08d..f94cdc612 100755
--- a/src/components/pages/files/tags/CreateTagModal.tsx
+++ b/src/components/pages/files/tags/CreateTagModal.tsx
@@ -2,7 +2,7 @@ import { Response } from '@/lib/api/response';
import { Tag } from '@/lib/db/models/tag';
import { fetchApi } from '@/lib/fetchApi';
import { colorHash } from '@/lib/theme/color';
-import { ActionIcon, Button, ColorInput, Modal, Stack, Text, TextInput, Title, Tooltip } from '@mantine/core';
+import { ActionIcon, Button, ColorInput, Modal, Stack, TextInput, Title, Tooltip } from '@mantine/core';
import { hasLength, useForm } from '@mantine/form';
import { showNotification } from '@mantine/notifications';
import { IconTag, IconTagOff, IconTextRecognition } from '@tabler/icons-react';
@@ -61,10 +61,6 @@ export default function CreateTagModal({ open, onClose }: { open: boolean; onClo
return (
Create new tag} zIndex={3000}>
-
- Create a new tag that can be applied to files
-
-
diff --git a/src/components/pages/files/views/FileTable.tsx b/src/components/pages/files/views/FileTable.tsx
index c5729de6b..988a47922 100755
--- a/src/components/pages/files/views/FileTable.tsx
+++ b/src/components/pages/files/views/FileTable.tsx
@@ -430,9 +430,8 @@ export default function FileTable({ id }: { id?: string }) {
{
accessor: 'actions',
textAlign: 'right',
- width: 45 * 4,
render: (file) => (
-
+
@@ -491,6 +490,7 @@ export default function FileTable({ id }: { id?: string }) {
onCellClick={({ record }) => setSelectedFile(record)}
selectedRecords={selectedFiles}
onSelectedRecordsChange={setSelectedFiles}
+ paginationText={({ from, to, totalRecords }) => `${from} - ${to} / ${totalRecords} files`}
/>
>
diff --git a/src/components/pages/folders/views/FolderTableView.tsx b/src/components/pages/folders/views/FolderTableView.tsx
index 3de90882b..2fe9ba42f 100755
--- a/src/components/pages/folders/views/FolderTableView.tsx
+++ b/src/components/pages/folders/views/FolderTableView.tsx
@@ -86,9 +86,9 @@ export default function FolderTableView() {
},
{
accessor: 'actions',
- width: 45 * 4,
+ textAlign: 'right',
render: (folder) => (
-
+
{
diff --git a/src/components/pages/invites/views/InviteTableView.tsx b/src/components/pages/invites/views/InviteTableView.tsx
index 09e499f85..cab62a566 100755
--- a/src/components/pages/invites/views/InviteTableView.tsx
+++ b/src/components/pages/invites/views/InviteTableView.tsx
@@ -87,9 +87,9 @@ export default function InviteTableView() {
},
{
accessor: 'actions',
- width: 45 * 2,
+ textAlign: 'right',
render: (invite) => (
-
+
{
diff --git a/src/components/pages/settings/parts/SettingsDashboard.tsx b/src/components/pages/settings/parts/SettingsDashboard.tsx
index ca4028f48..9de8bda1d 100755
--- a/src/components/pages/settings/parts/SettingsDashboard.tsx
+++ b/src/components/pages/settings/parts/SettingsDashboard.tsx
@@ -22,6 +22,12 @@ export default function SettingsDashboard() {
const [settings, update] = useSettingsStore((state) => [state.settings, state.update]);
const themes = useThemes();
+ const sortedThemes = themes.sort((a, b) => {
+ if (a.colorScheme === 'light' && b.colorScheme === 'dark') return -1;
+ if (a.colorScheme === 'dark' && b.colorScheme === 'light') return 1;
+ return 0;
+ });
+
return (
Dashboard Settings
@@ -62,7 +68,7 @@ export default function SettingsDashboard() {
description='The theme to use for the dashboard. This is only a visual change on your browser and does not change the theme for other users.'
data={[
{ value: 'system', label: 'System' },
- ...themes.map((theme) => ({ value: theme.id, label: theme.name })),
+ ...sortedThemes.map((theme) => ({ value: theme.id, label: theme.name })),
]}
value={settings.theme}
onChange={(value) => update('theme', value ?? 'builtin:dark_gray')}
diff --git a/src/components/pages/urls/views/UrlTableView.tsx b/src/components/pages/urls/views/UrlTableView.tsx
index 012afb7c3..cab8a1131 100755
--- a/src/components/pages/urls/views/UrlTableView.tsx
+++ b/src/components/pages/urls/views/UrlTableView.tsx
@@ -255,9 +255,9 @@ export default function UrlTableView() {
},
{
accessor: 'actions',
- width: 45 * 3,
+ textAlign: 'right',
render: (url) => (
-
+
{
diff --git a/src/components/pages/users/views/UserTableView.tsx b/src/components/pages/users/views/UserTableView.tsx
index f69f08ea9..07dbc5630 100755
--- a/src/components/pages/users/views/UserTableView.tsx
+++ b/src/components/pages/users/views/UserTableView.tsx
@@ -81,9 +81,9 @@ export default function UserTableView() {
},
{
accessor: 'actions',
- width: 45 * 3,
+ textAlign: 'right',
render: (user) => (
-
+