From 1abe455cfb2cdd076f0874102edff8b00dc13733 Mon Sep 17 00:00:00 2001 From: florian <> Date: Tue, 23 Apr 2024 20:11:42 +0200 Subject: [PATCH] chore: NDK update --- bun.lockb | Bin 168407 -> 174238 bytes examples/31337-audio-track.json | 49 ++++++++++++++++++ examples/34235-flare-video.json | 36 +++++++++++++ package.json | 30 +++++------ src/components/ServerList/Server.tsx | 5 +- src/components/ServerList/ServerList.css | 15 ------ src/components/ServerList/ServerList.tsx | 2 +- src/pages/Upload.tsx | 33 ++++++++---- src/utils/useBlossomServerEvents.ts | 27 ++++++++++ src/utils/useServerInfo.ts | 5 +- .../{useServers.ts => useUserServers.ts} | 2 +- 11 files changed, 158 insertions(+), 46 deletions(-) create mode 100644 examples/31337-audio-track.json create mode 100644 examples/34235-flare-video.json create mode 100644 src/utils/useBlossomServerEvents.ts rename src/utils/{useServers.ts => useUserServers.ts} (95%) diff --git a/bun.lockb b/bun.lockb index 9dada2bd969056394ca781f50dd25e99b1157343..ff61caf3745fded745aa05ddcae82bbe4d678b5d 100755 GIT binary patch delta 16984 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
y&s1Kw0L((%|O7`pd7tWpj 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 B)d~Or diff --git a/examples/31337-audio-track.json b/examples/31337-audio-track.json new file mode 100644 index 0000000..4f03843 --- /dev/null +++ b/examples/31337-audio-track.json @@ -0,0 +1,49 @@ +{ + "content": "PilotRedSun - Useful", + "created_at": 1711135644, + "id": "7fbc0371e5af6663d063c181dd93d3b71b12c749b46f9897f84e9208e2988ee1", + "kind": 31337, + "pubkey": "1ea10447aefec112de22860771f90e0243202ac121a72b2303a26ddbbb943637", + "sig": "c5a6a59519214fd12ca1b0db323e8e24e9a955d6c026a869c9d52991ab11051777c09a0f91f96d4b9aa0a51acbfb88b2c914a63c50cfb55fb920b28d36742e34", + "tags": [ + [ + "d", + "bc98fb9cn99fvxufigsof" + ], + [ + "title", + "Useful" + ], + [ + "c", + "IDM" + ], + [ + "creator", + "PilotRedSun" + ], + [ + "creator", + "PilotRedSun", + "Artist" + ], + [ + "imeta", + "url https://nostr.build/av/b057855ba5c38a598575e231a82175801d97a0a013d90c6b5761c05a40fecdf4.mp3", + "m audio/mpeg" + ], + [ + "version", + "1.0" + ], + [ + "media", + "https://nostr.build/av/b057855ba5c38a598575e231a82175801d97a0a013d90c6b5761c05a40fecdf4.mp3" + ], + [ + "subject", + "Useful" + ] + ] + } + \ No newline at end of file diff --git a/examples/34235-flare-video.json b/examples/34235-flare-video.json new file mode 100644 index 0000000..0030f25 --- /dev/null +++ b/examples/34235-flare-video.json @@ -0,0 +1,36 @@ +{ + "id": "7e39b40bf2155a7b8e5f60bfae4e46c8b0fb36fefaa8639164ad22830897137b", + "pubkey": "7dd040804955e939e63c9dd6b60aedf6c29b6ce7d3dcc91f37f06c3836f6813d", + "created_at": 1713306006, + "kind": 34235, + "tags": [ + ["d", "dmVyc3VzODM0ODQ3NzQx"], + [ + "url", + "https://player.vimeo.com/progressive_redirect/playback/834847741/rendition/240p/file.mp4?loc=external&oauth2_token_id=1749830961&signature=e946680feb43b5f6975c7c6f9748c84944dff8f0d99539864c644494bb5eff8f" + ], + ["title", "Scoville Unit - Firepit"], + [ + "summary", + "Starring Valentina Isleib and Scoville Unit\n\nDirected by Tarana Parekh\nProduced by HIP Video Productions" + ], + ["published_at", "1713306006"], + ["client", "versusmedia"], + ["m", "video/mp4"], + ["size", "15571944"], + ["duration", "238"], + [ + "thumb", + "https://i.vimeocdn.com/video/1681906723-f59a373300f9996597487112c75d32e8794ac5540bde895cc015dc5df788ff9d-d_1280x720" + ], + [ + "image", + "https://i.vimeocdn.com/video/1681906723-f59a373300f9996597487112c75d32e8794ac5540bde895cc015dc5df788ff9d-d_1280x720" + ], + ["t", "Alternative"], + ["t", "4291231"], + ["t", "versusmedia"] + ], + "content": "Scoville Unit - Firepit", + "sig": "95c90aafa24b5d8fbf00e65581d5b6fc542aef87a0238c7ccd8ec75ffc347f1cbea34ed82a57588fa32e2021d77cd8930fbf2991d2c9898796f0d653f30989d0" +} diff --git a/package.json b/package.json index d0588e2..0f03404 100644 --- a/package.json +++ b/package.json @@ -12,44 +12,44 @@ "analyze": "vite-bundle-visualizer" }, "dependencies": { - "@headlessui/react": "^1.7.18", + "@headlessui/react": "^1.7.19", "@heroicons/react": "^2.1.3", "@noble/hashes": "^1.4.0", - "@nostr-dev-kit/ndk": "^2.7.1", - "@nostr-dev-kit/ndk-cache-dexie": "^2.3.1", - "@tanstack/react-query": "^5.29.0", - "@tanstack/react-query-devtools": "^5.29.0", + "@nostr-dev-kit/ndk": "^2.8.1", + "@nostr-dev-kit/ndk-cache-dexie": "^2.4.1", + "@tanstack/react-query": "^5.32.0", + "@tanstack/react-query-devtools": "^5.32.0", "add": "^2.0.6", "axios": "^1.6.8", "blossom-client-sdk": "^0.4.0", "dayjs": "^1.11.10", "id3js": "^2.1.1", "lodash": "^4.17.21", - "nostr-tools": "^2.4.0", + "nostr-tools": "^2.5.0", "p-limit": "^5.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-pdf": "^7.7.1", - "react-router-dom": "^6.22.3" + "react-router-dom": "^6.23.0" }, "devDependencies": { - "@tanstack/eslint-plugin-query": "^5.28.6", + "@tanstack/eslint-plugin-query": "^5.28.11", "@types/lodash": "^4.17.0", - "@types/react": "^18.2.74", - "@types/react-dom": "^18.2.24", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", + "@types/react": "^18.2.79", + "@types/react-dom": "^18.2.25", + "@typescript-eslint/eslint-plugin": "^7.7.1", + "@typescript-eslint/parser": "^7.7.1", "@vitejs/plugin-react-swc": "^3.6.0", "autoprefixer": "^10.4.19", "daisyui": "latest", - "eslint": "^8.57.0", + "eslint": "^9.1.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.6", "postcss": "^8.4.38", "prettier": "^3.2.5", "tailwindcss": "^3.4.3", - "typescript": "^5.4.4", - "vite": "^5.2.8", + "typescript": "^5.4.5", + "vite": "^5.2.10", "vite-bundle-visualizer": "^1.1.0" } } diff --git a/src/components/ServerList/Server.tsx b/src/components/ServerList/Server.tsx index 15c1e02..c2eda11 100644 --- a/src/components/ServerList/Server.tsx +++ b/src/components/ServerList/Server.tsx @@ -1,5 +1,4 @@ import { - ArrowPathIcon, ArrowUpOnSquareStackIcon, CheckBadgeIcon, ClockIcon, @@ -10,7 +9,7 @@ import { ShieldExclamationIcon, XMarkIcon, } from '@heroicons/react/24/outline'; -import { Server as ServerType } from '../../utils/useServers'; +import { Server as ServerType } from '../../utils/useUserServers'; import { ServerInfo } from '../../utils/useServerInfo'; import { formatDate, formatFileSize } from '../../utils'; @@ -51,7 +50,7 @@ const Server = ({
{server.name} - {serverInfo.isLoading && } + {serverInfo.isLoading && }
{serverInfo.isError ? (
diff --git a/src/components/ServerList/ServerList.css b/src/components/ServerList/ServerList.css index 5a8c0d4..230ba33 100644 --- a/src/components/ServerList/ServerList.css +++ b/src/components/ServerList/ServerList.css @@ -44,21 +44,6 @@ @apply cursor-pointer text-center flex flex-col items-center hover:text-white opacity-80 hover:opacity-100 gap-1; } -@keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -.loading { - @apply w-6 ml-2 inline align-text-bottom; - transform-origin: center; - animation: spin 3s linear infinite; -} - .server-list-header { @apply flex flex-row py-4; } diff --git a/src/components/ServerList/ServerList.tsx b/src/components/ServerList/ServerList.tsx index 5618300..452a145 100644 --- a/src/components/ServerList/ServerList.tsx +++ b/src/components/ServerList/ServerList.tsx @@ -1,6 +1,6 @@ import { PlusIcon, ServerIcon } from '@heroicons/react/24/outline'; import { useServerInfo } from '../../utils/useServerInfo'; -import { Server as ServerType } from '../../utils/useServers'; +import { Server as ServerType } from '../../utils/useUserServers'; import Server from './Server'; import './ServerList.css'; diff --git a/src/pages/Upload.tsx b/src/pages/Upload.tsx index 6b88c6f..1453e50 100644 --- a/src/pages/Upload.tsx +++ b/src/pages/Upload.tsx @@ -1,5 +1,4 @@ -import { ChangeEvent, DragEvent, useEffect, useMemo, useState } from 'react'; -import { Server, useServers } from '../utils/useServers'; +import { ChangeEvent, DragEvent, useEffect, useMemo, useRef, useState } from 'react'; import { BlobDescriptor, BlossomClient, SignedEvent } from 'blossom-client-sdk'; import { useNDK } from '../ndk'; import { useServerInfo } from '../utils/useServerInfo'; @@ -12,6 +11,8 @@ import ProgressBar from '../components/ProgressBar/ProgressBar'; import { formatFileSize } from '../utils'; import FileEventEditor, { FileEventData } from '../components/FileEventEditor/FileEventEditor'; import pLimit from 'p-limit'; +import { Server, useUserServers } from '../utils/useUserServers'; +import useBlossomServerEvents from '../utils/useBlossomServerEvents'; type TransferStats = { enabled: boolean; @@ -31,12 +32,10 @@ steps - upload - server slection, progress bars, upload speed - - - */ function Upload() { - const servers = useServers(); + const servers = useUserServers(); const { signEventTemplate } = useNDK(); const { serverInfo } = useServerInfo(); const queryClient = useQueryClient(); @@ -44,9 +43,10 @@ function Upload() { const [files, setFiles] = useState([]); const [cleanPrivateData, setCleanPrivateData] = useState(true); const limit = pLimit(3); - + const fileInputRef = useRef(null); + const bs = useBlossomServerEvents(); const [fileEventsToPublish, setFileEventsToPublish] = useState([]); - +console.log(bs); // const [resizeImages, setResizeImages] = useState(false); // const [publishToNostr, setPublishToNostr] = useState(false); @@ -173,7 +173,19 @@ function Upload() { }; const clearTransfers = () => { - setTransfers(servers.reduce((acc, s) => ({ ...acc, [s.name]: { enabled: true, size: 0, transferred: 0 } }), {})); + setTransfers(tfs => + servers.reduce( + (acc, s) => ({ + ...acc, + [s.name]: { + enabled: !serverInfo[s.name].isError && (tfs[s.name] !== undefined ? tfs[s.name].enabled : true), + size: 0, + transferred: 0, + }, + }), + {} + ) + ); setFileEventsToPublish([]); }; @@ -222,7 +234,7 @@ function Upload() { <>

Upload

- +