Feature - Add upload functionality on Web (#231)

* Added file selector

* Extract metadata to upload files to the web

* Added request for uploading

* Generate jpeg/Webp thumbnail for asset uploaded without thumbnail data

* Added generating thumbnail for video and WebSocket broadcast after thumbnail is generated

* Added video length extraction

* Added Uploading Panel

* Added upload progress store and styling the uploaded asset

* Added condition to only show upload panel when there is upload in progress

* Remove asset from the upload list after successfully uploading

* Added WebSocket to listen to upload event on the web

* Added mechanism to check for existing assets before uploading on the web

* Added test workflow

* Update readme
This commit is contained in:
Alex 2022-06-19 08:16:35 -05:00 committed by GitHub
parent b7603fd150
commit 1e3464fe47
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 859 additions and 220 deletions

View file

@ -22,8 +22,8 @@
import { blur } from 'svelte/transition';
import DownloadPanel from '$lib/components/asset-viewer/download-panel.svelte';
import FullScreenModal from '../lib/components/shared/full-screen-modal.svelte';
import AnnouncementBox from '../lib/components/shared/announcement-box.svelte';
import AnnouncementBox from '$lib/components/shared/announcement-box.svelte';
import UploadPanel from '$lib/components/shared/upload-panel.svelte';
export let url: string;
export let shouldShowAnnouncement: boolean;
@ -36,7 +36,7 @@
<div transition:blur={{ duration: 250 }}>
<slot />
<DownloadPanel />
<UploadPanel />
{#if shouldShowAnnouncement}
<AnnouncementBox {localVersion} {remoteVersion} on:close={() => (shouldShowAnnouncement = false)} />
{/if}