From d4ed5fa5ce98beba11f81ca45986e0cba93774bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Aug 2022 05:22:07 +0000 Subject: [PATCH] Fixing JS warnings. Handling all combinations of toggle in light and dark. Changing CPUUsageProgress colors to be more readable in dark mode. Moving theme handling into Theme.js. Importing element wrappers from Theme.js to handle element theming. Changing video menu to dark mode. Creating ThemeContext to share Dark Mode setting. Removing duplicate code for search functions. Displaying X when downloads are disabled. Using react context to share settings across components. Refusing to start workers when WROL Mode is enabled. Changing warning to debug. Queuing recurring downloads first. Adding Video.url index. Adding special handling for youtube shorts to videos. Reworking Downloads to have one worker per process. Testing creating downloads and getting downloaders. Testing video validation and poster generation. Testing video statistics. Increasing inventory test coverage. Adding pytest.ini to automatically detect async test. Adding more archive test coverage. Testing Archive CRUD. Catching and logging when encountering error during indexing. Using FileIcon when Archive has no screenshot. A Video will be assigned to a Channel by its info json first, then to its directory. Including suffix in File json. Adding index for File.suffix. Gathering suffix during indexing. Passing entire file down to FileIcon. Moving logging up. Returning File.associated in file json. Associated files are last in file search. Removing duplicate refreshing code by creating new _refresh_directory function. Changing File.idempotency to a datetime to avoid having to clear idempotency. Truncating indexes to avoid error with large files. Don't overwrite video data when info json is empty. Using already_downloaded for channel videos. Awaiting refresh in Channel.refresh. Testing that videos already downloaded aren't downloaded again. Adding indexes for video/archive referenced paths. Changing grid width for mobile or computer. Adding button to refresh specific directories. Restoring Channel edit link. Fixing caption path in video_modeler. Adding ZIP files to mimetype colors. Using model instead of first file's model. Fetching File models in batches to avoid issuing a SELECT for every File with a model. Flushing generated poster file. Getting Channel in VideoPage, relying on Video.channl_id, falling back to URL's channel_id. Attaching Video to it's Channel during download. Using ExternalCardLink for ArchivePage singlefile link. Validating and indexing videos after download. Handling glob when file name contains matching characters. Reworking and testing split_path_stem_and_suffix and glob_shared_stem. Adding associated video files to DB during upsert. Adding pending downloads to dashboard. Hiding status when download is open. Handling when load is empty. Adding load statistics to Dashboard. Limiting concurrent after_refresh functions. Handling when no onSelect is declared. Adding ImageRow for FileTable. Moving image date into Card.Meta. Using ExternalLink for FileCard. Using ExternalLink for ImageCard. Handling when error occurs during refresh of a directory. Committing during refresh to avoid losing all files if an error occurs. Removing api health check to avoid spamming logs. Creating ImageCard to display image posters when they aren't too large. Removing archive.domain_id not null. Reworking file refresh to process all files in a single directory. Bumping version for major file rework. No longer checking for video corruption. Adding duration by default to speed up tests. Using register_indexer for all indexers. Adding CPU usage progress bar in Welcome. Modifying TextIndexer to ignore large text files. Counting all files during refresh. Adding refresh_logger to clarify logging. Checking for wrol_mode before refresh functions. Removing unused idempotency from video/channel tables. Using magic module to speed up mimetype identification. All tests pass. Archive tests pass. Changing video get endpoint to return 'file' to avoid ambiguity. Video tests pass. Simplifying regex filtering. Using regex to ignore case when filtering. Converting all channel classes to functions. Restoring channel refresh and download buttons. Matching format of Archive and Video pages. Adding sorting to Archives search. Reworking video orders for file search. Using SearchInput for videos search. Archives can be searched on the Archives page. Domains can be filtered. Reworking Archive search to use Files. Videos, Archives and Global search use the FilesView. Videos are claimed by their Channel based on the Channel's directory. Prev and Next video cards are displayed on the VideoPage. Creating useVideo for reworked VideoWrapper and VideoPage. Adding Paginator to FilesView. Moving file refresh button out of manage tab. Removing Files page tabs. Limiting refresh to one at a time. Adding class for card icon to match poster height. Video and Archives always re-claim their files on refresh. Archive files are indexed and claimed. FileView table is compact and striped. Videos page uses FileView. Updated navlinks to router v6. Removing ! character from file names. Disabling select button when cards are visible. Adding show/hide button for FileTable selection. The Archive Page is displayed. Adding mimetype dropdown. Upgrading to React Router v6 for useSearchParams. Validating video during modeling. Removing screenshot during corruption check because it was very slow. Updating app to use video files as search results. Updating video search to return Files. Video and WROLPi tests pass. Creating function to refresh files within a channel's directory. Removing troubleshooting print. Updating result order in test. Reworking video_factory to handle a specific video file location. Returning video model on file search. Getting session using video_file. Screenshotting when checking for video corruption. Reducing ffmpeg calls by gathering duration during poster generation. Moving video file matching into model. VideoIndexer is moved into video module. Video files are validated. Moving files module into wrolpi in preparation to use it in modules. Title and contents are indexed for text file. Files are indexed on refresh by using their indexer. Zip files are indexed using their contents. Testing multiple zip files. Adding unique to file.path. Checking that the correct indexer is used. Adding index to file.modification_datetime and file.size. Handling file info gathering in File.do_index. Only reading contents of file if file.indexed is False. Video model is found during file refresh. A Video record is created that has the associated files. Videos without associated files are found. Videos are found using registered video_modeler() rather than in refresh code. Removing old video columns. Handling video info json files. Trying to import each module individually. Will continue to import modules even if one fails. Reworking refresh so it performs less DB calls. Converting file.path to primary key. file.path is always a pathlib.Path. Updating video_factory to use new file system, testing it. Bump sanic from 21.9.1 to 21.12.2 in /docker/archive Bumps [sanic](https://github.com/sanic-org/sanic) from 21.9.1 to 21.12.2. - [Release notes](https://github.com/sanic-org/sanic/releases) - [Changelog](https://github.com/sanic-org/sanic/blob/main/CHANGELOG.rst) - [Commits](https://github.com/sanic-org/sanic/compare/v21.9.1...v21.12.2) --- updated-dependencies: - dependency-name: sanic dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- alembic/versions/70db5ba8763d_files_rework.py | 216 ++++ app/package.json | 2 +- app/public/index.html | 6 +- app/public/logo192.png | Bin 8581 -> 31975 bytes app/public/logo512.png | Bin 22920 -> 105355 bytes app/public/manifest.json | 4 +- app/src/App.css | 65 ++ app/src/App.js | 203 ++-- app/src/api.js | 96 +- app/src/components/Admin.js | 450 ++++---- app/src/components/Apps.js | 190 ++-- app/src/components/Archive.js | 377 +++---- app/src/components/Channels.js | 970 ++++++++---------- app/src/components/Common.js | 745 ++++++++------ app/src/components/Files.js | 563 ++++++++-- app/src/components/Inventory.js | 877 ++++++++-------- app/src/components/Map.js | 129 +-- app/src/components/Nav.js | 23 +- app/src/components/Placeholder.js | 61 +- app/src/components/Theme.js | 154 +++ app/src/components/Upload.js | 200 ++-- app/src/components/VideoPlayer.js | 222 ++-- app/src/components/Videos.js | 728 +++---------- app/src/contexts/contexts.js | 12 + app/src/hooks/customHooks.js | 609 ++++++++--- app/src/static/wrolpi.css | 6 + docker-compose.yml | 4 +- main.py | 50 +- modules/archive/__init__.py | 145 ++- modules/archive/api.py | 15 +- modules/archive/conftest.py | 50 +- modules/archive/lib.py | 224 ++-- modules/archive/models.py | 156 ++- modules/archive/schema.py | 1 + modules/archive/test/test_api.py | 86 +- modules/archive/test/test_lib.py | 328 +++--- modules/files/conftest.py | 21 - modules/files/lib.py | 185 ---- modules/files/models.py | 36 - modules/files/test/test_lib.py | 207 ---- modules/inventory/api.py | 10 +- modules/inventory/inventory.py | 2 +- modules/inventory/test/test_api.py | 9 + modules/map/models.py | 2 +- modules/map/test/test_lib.py | 21 + modules/videos/__init__.py | 124 ++- modules/videos/api.py | 48 +- modules/videos/channel/api.py | 33 +- modules/videos/channel/lib.py | 9 +- modules/videos/channel/test/test_api.py | 171 +-- modules/videos/channel/test/test_lib.py | 40 +- modules/videos/common.py | 117 ++- modules/videos/conftest.py | 133 ++- modules/videos/downloader.py | 83 +- modules/videos/lib.py | 351 ++----- modules/videos/models.py | 192 ++-- modules/videos/schema.py | 4 +- modules/videos/test/test_api.py | 148 ++- modules/videos/test/test_captions.py | 104 -- modules/videos/test/test_common.py | 31 +- modules/videos/test/test_downloader.py | 52 +- modules/videos/test/test_lib.py | 314 +++--- modules/videos/video/api.py | 6 +- modules/videos/video/lib.py | 174 ++-- modules/videos/video/test/test_api.py | 65 +- modules/videos/video_url_resolver.py | 19 + pytest.ini | 2 + requirements.txt | 3 +- test/big_buck_bunny_720p_1mb.mp4 | Bin 1055736 -> 1056318 bytes wrolpi/__init__.py | 33 +- {modules/videos => wrolpi}/captions.py | 43 +- wrolpi/common.py | 298 ++++-- wrolpi/conftest.py | 88 +- wrolpi/db.py | 16 +- wrolpi/downloader.py | 127 ++- wrolpi/errors.py | 9 + {modules => wrolpi}/files/__init__.py | 0 {modules => wrolpi}/files/api.py | 24 +- wrolpi/files/indexers.py | 129 +++ wrolpi/files/lib.py | 404 ++++++++ wrolpi/files/models.py | 137 +++ {modules => wrolpi}/files/schema.py | 9 +- {modules => wrolpi}/files/test/__init__.py | 0 {modules => wrolpi}/files/test/test_api.py | 77 +- wrolpi/files/test/test_lib.py | 366 +++++++ wrolpi/media_path.py | 26 +- wrolpi/root_api.py | 31 +- wrolpi/status.py | 3 +- wrolpi/test/common.py | 2 +- wrolpi/test/test_captions.py | 50 + wrolpi/test/test_cmd.py | 1 - wrolpi/test/test_common.py | 45 +- wrolpi/test/test_db.py | 3 +- wrolpi/test/test_downloader.py | 40 +- wrolpi/test/test_root_api.py | 40 +- wrolpi/test/test_rss.py | 2 - wrolpi/vars.py | 10 - wrolpi/version.py | 2 +- 98 files changed, 7441 insertions(+), 5257 deletions(-) create mode 100644 alembic/versions/70db5ba8763d_files_rework.py create mode 100644 app/src/components/Theme.js create mode 100644 app/src/contexts/contexts.js delete mode 100644 modules/files/conftest.py delete mode 100644 modules/files/lib.py delete mode 100644 modules/files/models.py delete mode 100644 modules/files/test/test_lib.py create mode 100644 modules/map/test/test_lib.py delete mode 100644 modules/videos/test/test_captions.py create mode 100644 pytest.ini rename {modules/videos => wrolpi}/captions.py (51%) rename {modules => wrolpi}/files/__init__.py (100%) rename {modules => wrolpi}/files/api.py (75%) create mode 100644 wrolpi/files/indexers.py create mode 100644 wrolpi/files/lib.py create mode 100644 wrolpi/files/models.py rename {modules => wrolpi}/files/schema.py (64%) rename {modules => wrolpi}/files/test/__init__.py (100%) rename {modules => wrolpi}/files/test/test_api.py (70%) create mode 100644 wrolpi/files/test/test_lib.py mode change 100644 => 100755 wrolpi/status.py create mode 100644 wrolpi/test/test_captions.py diff --git a/alembic/versions/70db5ba8763d_files_rework.py b/alembic/versions/70db5ba8763d_files_rework.py new file mode 100644 index 00000000..d20f60c9 --- /dev/null +++ b/alembic/versions/70db5ba8763d_files_rework.py @@ -0,0 +1,216 @@ +"""Files rework. Unifying files for Videos and Archives. + +Revision ID: 70db5ba8763d +Revises: aac864072193 +Create Date: 2022-07-27 20:11:30.990396 + +""" +import os + +from alembic import op +from sqlalchemy.orm import Session + +# revision identifiers, used by Alembic. +revision = '70db5ba8763d' +down_revision = 'aac864072193' +branch_labels = None +depends_on = None + +DOCKERIZED = True if os.environ.get('DOCKER', '').lower().startswith('t') else False + + +def upgrade(): + bind = op.get_bind() + session = Session(bind=bind) + + # Recreate the file table. Use file.path as the primary key. + session.execute('DROP TABLE IF EXISTS file') + session.execute('''CREATE TABLE file ( + path TEXT PRIMARY KEY, + idempotency TIMESTAMP WITH TIME ZONE, + indexed BOOLEAN DEFAULT FALSE, + mimetype TEXT, + suffix TEXT, + model TEXT, + associated BOOLEAN DEFAULT FALSE, + modification_datetime TIMESTAMP WITH TIME ZONE, + size BIGINT, + title TEXT, + a_text TEXT, + b_text TEXT, + c_text TEXT, + d_text TEXT, + textsearch tsvector GENERATED ALWAYS AS ( + setweight(to_tsvector('english'::regconfig, COALESCE(a_text, '')), 'A'::"char") || + setweight(to_tsvector('english'::regconfig, COALESCE(b_text, '')), 'B'::"char") || + setweight(to_tsvector('english'::regconfig, COALESCE(c_text, '')), 'C'::"char") || + setweight(to_tsvector('english'::regconfig, COALESCE(d_text, '')), 'D'::"char") + ) STORED + )''') + session.execute('CREATE INDEX file_mimetype_idx ON file USING BTREE(mimetype)') + session.execute('CREATE INDEX file_textsearch_idx ON file USING GIN(textsearch)') + session.execute('CREATE INDEX file_modification_datetime_idx ON file USING BTREE(modification_datetime)') + session.execute('CREATE INDEX file_size_idx ON file USING BTREE(size)') + session.execute('CREATE INDEX file_model_idx ON file USING BTREE(model)') + session.execute('CREATE INDEX file_idempotency_idx ON file USING BTREE(idempotency)') + session.execute('CREATE INDEX file_suffix_idx ON file USING BTREE(suffix)') + + # Videos are fundamentally different, replace the video table. + session.execute('DROP TABLE IF EXISTS video') + session.execute(''' + CREATE TABLE video ( + id BIGSERIAL PRIMARY KEY, + title TEXT, + source_id TEXT, + channel_id INTEGER REFERENCES channel(id), + upload_date TIMESTAMPTZ, + duration INTEGER, + favorite TIMESTAMPTZ, + size BIGINT, + viewed TIMESTAMPTZ, + view_count INTEGER, + url TEXT, + censored BOOLEAN DEFAULT FALSE, + validated BOOLEAN DEFAULT FALSE, + modification_datetime TIMESTAMPTZ, + video_path TEXT REFERENCES file(path), + info_json_path TEXT REFERENCES file(path), + poster_path TEXT REFERENCES file(path), + caption_path TEXT REFERENCES file(path) + )''') + session.execute(''' + CREATE INDEX video_caption_path_idx ON video(caption_path); + CREATE INDEX video_info_json_path_idx ON video(info_json_path); + CREATE INDEX video_poster_path_idx ON video(poster_path); + CREATE INDEX video_video_path_idx ON video(video_path); + CREATE INDEX video_url_idx ON video(url); + ''') + + session.execute('ALTER TABLE channel DROP COLUMN IF EXISTS idempotency') + + session.execute('DELETE FROM archive') # noqa + session.execute('DELETE FROM domains') # noqa + session.execute('DROP TABLE IF EXISTS archive') + session.execute('DROP TABLE IF EXISTS domains') + session.execute(''' + CREATE TABLE domains ( + id SERIAL PRIMARY KEY, + domain TEXT NOT NULL, + directory TEXT + )''') + session.execute(''' + CREATE TABLE archive ( + id SERIAL PRIMARY KEY, + domain_id INTEGER REFERENCES domains(id), + title TEXT, + archive_datetime timestamptz, + url TEXT, + validated BOOLEAN DEFAULT FALSE, + singlefile_path TEXT REFERENCES file(path), + readability_path TEXT REFERENCES file(path), + readability_json_path TEXT REFERENCES file(path), + readability_txt_path TEXT REFERENCES file(path), + screenshot_path TEXT REFERENCES file(path) + )''') + session.execute(''' + CREATE INDEX archive_singlefile_path ON archive(singlefile_path); + CREATE INDEX archive_readability_path ON archive(readability_path); + CREATE INDEX archive_readability_json_path ON archive(readability_json_path); + CREATE INDEX archive_readability_txt_path ON archive(readability_txt_path); + CREATE INDEX archive_screenshot_path ON archive(screenshot_path); + ''') + + +def downgrade(): + bind = op.get_bind() + session = Session(bind=bind) + + session.execute(''' + DROP INDEX IF EXISTS archive_singlefile_path; + DROP INDEX IF EXISTS archive_readability_path; + DROP INDEX IF EXISTS archive_readability_json_path; + DROP INDEX IF EXISTS archive_readability_txt_path; + DROP INDEX IF EXISTS archive_screenshot_path; + ''') + + session.execute('DELETE FROM archive') # noqa + session.execute(''' + ALTER TABLE archive DROP COLUMN IF EXISTS singlefile_path; + ALTER TABLE archive DROP COLUMN IF EXISTS readability_path; + ALTER TABLE archive DROP COLUMN IF EXISTS readability_json_path; + ALTER TABLE archive DROP COLUMN IF EXISTS readability_txt_path; + ALTER TABLE archive DROP COLUMN IF EXISTS screenshot_path; + ALTER TABLE archive DROP COLUMN IF EXISTS associated; + ''') + session.execute(''' + ALTER TABLE archive ADD COLUMN IF NOT EXISTS singlefile_path TEXT; + ALTER TABLE archive ADD COLUMN IF NOT EXISTS readability_path TEXT; + ALTER TABLE archive ADD COLUMN IF NOT EXISTS readability_json_path TEXT; + ALTER TABLE archive ADD COLUMN IF NOT EXISTS readability_txt_path TEXT; + ALTER TABLE archive ADD COLUMN IF NOT EXISTS screenshot_path TEXT; + ALTER TABLE archive ADD COLUMN IF NOT EXISTS contents TEXT; + ALTER TABLE archive ADD COLUMN IF NOT EXISTS status TEXT; + ''') + session.execute('ALTER TABLE archive ALTER COLUMN domain_id SET NOT NULL') + + session.execute('ALTER TABLE channel ADD COLUMN IF NOT EXISTS idempotency TEXT') + + session.execute('DELETE FROM video') # noqa + session.execute(''' + ALTER TABLE video DROP COLUMN IF EXISTS caption_path; + ALTER TABLE video DROP COLUMN IF EXISTS info_json_path; + ALTER TABLE video DROP COLUMN IF EXISTS poster_path; + ALTER TABLE video DROP COLUMN IF EXISTS video_path; + ALTER TABLE video DROP COLUMN IF EXISTS video_path; + ''') + session.execute(''' + ALTER TABLE video ADD COLUMN IF NOT EXISTS idempotency TEXT; + ALTER TABLE video ADD COLUMN IF NOT EXISTS caption_path TEXT; + ALTER TABLE video ADD COLUMN IF NOT EXISTS description_path TEXT; + ALTER TABLE video ADD COLUMN IF NOT EXISTS info_json_path TEXT; + ALTER TABLE video ADD COLUMN IF NOT EXISTS poster_path TEXT; + ALTER TABLE video ADD COLUMN IF NOT EXISTS video_path TEXT; + ALTER TABLE video ADD COLUMN IF NOT EXISTS caption TEXT; + ''') + session.execute(''' + DROP INDEX IF EXISTS video_caption_path_idx; + DROP INDEX IF EXISTS video_info_json_path_idx; + DROP INDEX IF EXISTS video_poster_path_idx; + DROP INDEX IF EXISTS video_video_path_idx; + DROP INDEX IF EXISTS video_url_idx; + ''') + session.execute(''' + ALTER TABLE video + ADD COLUMN textsearch tsvector + GENERATED ALWAYS AS ( + setweight(to_tsvector('english'::regconfig, title), 'A') || + setweight(to_tsvector('english'::regconfig, caption), 'D') + ) STORED + ''') + session.execute('CREATE INDEX IF NOT EXISTS video_textsearch_idx ON video USING GIN(textsearch)') + + session.execute('DROP INDEX IF EXISTS file_mimetype_idx') + session.execute('DROP INDEX IF EXISTS file_textsearch_idx') + session.execute('DROP INDEX IF EXISTS file_modification_datetime_idx') + session.execute('DROP INDEX IF EXISTS file_size_idx') + session.execute('DROP INDEX IF EXISTS file_model_idx') + session.execute('DROP INDEX IF EXISTS file_idempotency_idx') + session.execute('DROP INDEX IF EXISTS file_suffix_idx') + + # Restore the old file table. + session.execute('DROP TABLE IF EXISTS file') + session.execute('''CREATE TABLE file ( + id SERIAL PRIMARY KEY, + path TEXT, + title TEXT, + mimetype TEXT, + size BIGINT, + modification_datetime TIMESTAMP WITH TIME ZONE, + idempotency TEXT DEFAULT NULL, + textsearch tsvector GENERATED ALWAYS AS ( + setweight(to_tsvector('english'::regconfig, title), 'A'::"char") + ) STORED + )''') + session.execute('CREATE UNIQUE INDEX file_path_idx ON file USING BTREE(path)') + session.execute('CREATE INDEX file_mimetype_idx ON file USING BTREE(mimetype)') + session.execute('CREATE INDEX file_textsearch_idx ON file USING GIN(textsearch)') diff --git a/app/package.json b/app/package.json index e4229e37..1367aa79 100644 --- a/app/package.json +++ b/app/package.json @@ -11,7 +11,7 @@ "react-dropzone": "^11.4.2", "react-keyed-file-browser": "^1.14.0", "react-qr-code": "^2.0.7", - "react-router-dom": "^5.2.0", + "react-router-dom": "^6.3.0", "react-scripts": "^3.4.1", "react-semantic-toasts": "^0.6.5", "react-timezone-select": "0.8.4", diff --git a/app/public/index.html b/app/public/index.html index a811237f..1faaf9b3 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -7,9 +7,9 @@ - + WROLPi - Bring your personal internet, off-grid - +
eT#DMFw1|ra{;?OlO*bnNB(L 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 H-<1CWaRO^9 diff --git a/app/public/logo512.png b/app/public/logo512.png index bd5d4b5e235ab9d880c202a6a7f7d3e35e115d8c..dca9cb31468dd647409ef462c90c986b6a0e8287 100644 GIT binary patch literal 105355 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
-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 b!B~?t+WWKS5u5)CcMJGaRz{_UZlwPKNp@r} diff --git a/app/public/manifest.json b/app/public/manifest.json index 080d6c77..7362d30d 100644 --- a/app/public/manifest.json +++ b/app/public/manifest.json @@ -1,6 +1,6 @@ { - "short_name": "React App", - "name": "Create React App Sample", + "short_name": "WROLPi", + "name": "WROLPi web interface", "icons": [ { "src": "favicon.ico", diff --git a/app/src/App.css b/app/src/App.css index 17abf790..ea7d6ab5 100644 --- a/app/src/App.css +++ b/app/src/App.css @@ -46,3 +46,68 @@ pre.wrap-text { .center-me { margin: 0 auto; } + +div.inverted { + background-color: #1B1C1D; +} + +.toggle { + position: relative; + display: inline-block; + width: 49px; + height: 23px; +} + +.toggle input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgb(166, 166, 166); + -webkit-transition: .4s; + transition: .4s; + border-radius: 34px; +} + +.slider:before { + position: absolute; + content: ""; + height: 22px; + width: 22px; + left: 0; + bottom: 0; + background-color: white; + -webkit-transition: .4s; + transition: .4s; + border-radius: 50%; +} + +.slider.disabled:before { + background-color: #CCCCCC; +} + +input:checked + .slider { + background-color: #2185d0; +} + +input.inverted:checked + .slider.inverted { + background-color: rgba(33, 133, 208, 0.4); +} + +input.disabled + .slider { + background-color: rgb(147, 147, 147); +} + +input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); +} diff --git a/app/src/App.js b/app/src/App.js index 8ab5d1d8..9f325a60 100644 --- a/app/src/App.js +++ b/app/src/App.js @@ -1,60 +1,103 @@ -import React from 'react'; +import React, {useContext, useEffect, useState} from 'react'; import './App.css'; import {NavBar} from "./components/Nav"; -import {Route, Switch, useHistory} from "react-router-dom"; -import {VideosPreview, VideosRoute, VideoWrapper} from "./components/Videos"; -import Admin from "./components/Admin"; -import {Container, Divider, Header} from "semantic-ui-react"; +import {Link, Route, Routes} from "react-router-dom"; +import {VideosRoute, VideoWrapper} from "./components/Videos"; +import Admin, {CPUUsageProgress} from "./components/Admin"; +import {Container, Divider} from "semantic-ui-react"; import 'semantic-ui-offline/semantic.min.css'; import {SemanticToastContainer} from 'react-semantic-toasts'; import 'react-semantic-toasts/styles/react-semantic-alert.css'; import {AppsRoute} from "./components/Apps"; import {InventoryRoute} from "./components/Inventory"; -import {ArchiveRoute, ArchivesList} from "./components/Archive"; -import {Downloads, Saver} from "./components/Upload"; -import {MoreButton, PageContainer, SearchInput} from "./components/Common"; -import {FilesRoute} from "./components/Files"; -import {useSearch, useUp, useVersion} from "./hooks/customHooks"; +import {ArchiveRoute} from "./components/Archive"; +import {DownloadMenu} from "./components/Upload"; +import {LoadStatistic, PageContainer, SearchInput, useTitle} from "./components/Common"; +import {FilesRoute, FilesSearchView} from "./components/Files"; +import {useSearchFiles, useSettingsInterval, useStatus} from "./hooks/customHooks"; import {MapRoute} from "./components/Map"; +import {darkTheme, lightTheme, SettingsContext, ThemeContext} from "./contexts/contexts"; +import {Header, Segment, Statistic, StatisticGroup} from "./components/Theme"; -function Welcome() { - const {searchStr, setSearchStr, archives, videos} = useSearch(); - const history = useHistory(); - useUp(); +function Dashboard() { + useTitle('Dashboard'); - let body = ( - - ); + const {searchStr, setSearchStr} = useSearchFiles(); + const [downloadOpen, setDownloadOpen] = useState(false); + const onDownloadOpen = (name) => setDownloadOpen(!!name); + const {wrol_mode} = useContext(SettingsContext); + + const downloads = ; + + // Only show dashboard parts if not searching. + let body; if (searchStr) { - let archiveMore = () => { - history.push(`/archive?q=${searchStr}`); - }; - let videosMore = () => { - history.push(`/videos?q=${searchStr}&o=rank`); - }; - - body = (<> -

Archives
- - - - - -
Videos
- - - ); + body = ; + } else { + body = <> + {!wrol_mode && downloads} + {/* Hide Status when user is starting a download */} + {!downloadOpen && } + ; } return ( - + {body} ) } +function DashboardStatus() { + const {status} = useStatus(); + let percent = 0; + let load = {}; + let cores = 0; + let pending_downloads = '?'; + if (status && status['cpu_info']) { + percent = status['cpu_info']['percent']; + load = status['load']; + cores = status['cpu_info']['cores']; + pending_downloads = status['downloads']['pending_downloads']; + } + + const {download_manager_disabled, download_manager_stopped} = useContext(SettingsContext); + if (pending_downloads === 0 && (download_manager_disabled || download_manager_stopped)) { + pending_downloads = 'x'; + } + + return + +
Status
+ +
Load
+ + + + + + + + + + + + + + + +
; +} + function PageNotFound() { return ( @@ -65,35 +108,75 @@ function PageNotFound() { } function Footer() { - const version = useVersion(); + const {t} = useContext(ThemeContext); + + const {version} = useContext(SettingsContext); return - WROLPi v{version}
GitHub + WROLPi v{version} GitHub } export default function App() { + const {settings} = useSettingsInterval(); + + const [i, setI] = useState({}); + const [s, setS] = useState({}); + const [t, setT] = useState({}); + const [theme, setTheme] = useState(); + + const setDarkTheme = () => { + console.debug('setDarkTheme'); + setI({inverted: true}); + setS({style: {backgroundColor: '#1B1C1D', color: '#dddddd'}}); + setT({style: {color: '#dddddd'}}); + setTheme(darkTheme); + document.body.style.background = '#1B1C1D'; + } + + const setLightTheme = () => { + console.debug('setLightTheme'); + setI({inverted: undefined}); + setS({}); + setT({}); + setTheme(lightTheme); + document.body.style.background = '#FFFFFF'; + } + + useEffect(() => { + window.matchMedia('(prefers-color-scheme: dark)').matches && setDarkTheme(); + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener( + 'change', (e) => e.matches && setDarkTheme()); + window.matchMedia('(prefers-color-scheme: light)').addEventListener( + 'change', (e) => e.matches && setLightTheme()); + }, []); + + const themeValue = {i, s, t, theme, setDarkTheme, setLightTheme}; + return ( - <> -
- -
- <> - - - - - - - - - - - - - - - -