diff --git a/app/src/components/Docs.js b/app/src/components/Docs.js index 8083fea1..881d6731 100644 --- a/app/src/components/Docs.js +++ b/app/src/components/Docs.js @@ -1,8 +1,7 @@ -import React, {useContext, useEffect, useState} from 'react'; +import React, {useEffect, useState} from 'react'; import {Link, Route, Routes, useLocation, useNavigate, useParams, useSearchParams} from "react-router"; -import {Grid, Icon as SIcon, Loader, StatisticLabel, StatisticValue} from "semantic-ui-react"; import {deleteFileGroups, getDocStatistics, tagFileGroup, untagFileGroup} from "../api"; -import {Media, ThemeContext} from "../contexts/contexts"; +import {Media} from "../contexts/contexts"; import { APIButton, BackButton, @@ -18,7 +17,7 @@ import { toLocaleString, useTitle } from "./Common"; -import {Button, darkTheme, Header, Icon, Segment, Statistic, Tab} from "./Theme"; +import {Button, ButtonGroup, Group, Header, Loading, Panel, Statistic, StatisticGroup, Tabs} from "./ui"; import {BulkTagModal} from "./BulkTagModal"; import {TaggedDeleteConfirmModal} from "./TaggedDeleteConfirmModal"; import {DeepSearchHint, docMimetypeFilterOptions, FilesView, SearchControlBar} from "./Files"; @@ -88,15 +87,15 @@ function DocsPage() { onDelete(false)} obeyWROLMode={true} >Delete - - + ; + return ; } if (docFile === undefined) { return <> @@ -282,72 +280,63 @@ function DocPage() { return mt.split('/').pop().toUpperCase(); }; - // About pane. - const aboutPane = { - menuItem: 'About', render: () => - {doc && doc.description && <> -
Description
-

{doc.description}

- } + // About tab. + const aboutTab = <> + {doc && doc.description && <> +
Description
+

{doc.description}

+ } - {doc && doc.publisher && <> -
Publisher
-

{doc.publisher}

- } + {doc && doc.publisher && <> +
Publisher
+

{doc.publisher}

+ } - {doc && doc.language && <> -
Language
-

{doc.language}

- } + {doc && doc.language && <> +
Language
+

{doc.language}

+ } - {doc && doc.subject && <> -
Subject
-

{doc.subject}

- } + {doc && doc.subject && <> +
Subject
+

{doc.subject}

+ } - {doc && doc.page_count && <> -
Page Count
-

{doc.page_count}

- } + {doc && doc.page_count && <> +
Page Count
+

{doc.page_count}

+ } -
Size
-

{humanFileSize(size)}

-
- }; +
Size
+

{humanFileSize(size)}

+ ; - // Files pane. + // Files tab. const tableStyle = {width: '100%', borderCollapse: 'separate', borderSpacing: '0 0.7em'}; const labelStyle = {whiteSpace: 'nowrap', paddingRight: '1.5em', verticalAlign: 'top'}; - const filesPane = { - menuItem: 'Files', render: () => - - - {docFile.files && docFile.files.map((file, idx) => - - - - - )} - - - - - -
- {file.path.split('.').pop().toUpperCase()} - - - {file.path} - - {file.size && - ({humanFileSize(file.size)}) - } -
Directory
-
- }; - - const tabPanes = [aboutPane, filesPane]; - const tabMenu = theme === darkTheme ? {inverted: true, attached: true} : {attached: true}; + const filesTab = + + {docFile.files && docFile.files.map((file, idx) => + + + + + )} + + + + + +
+ {file.path.split('.').pop().toUpperCase()} + + + {file.path} + + {file.size && + ({humanFileSize(file.size)}) + } +
Directory
; return <> @@ -358,56 +347,51 @@ function DocPage() {