From b24cd74b33141f43a6c5b297dc05becea6ecf0e3 Mon Sep 17 00:00:00 2001 From: ValentinRapp Date: Tue, 23 Jun 2026 18:52:00 +0200 Subject: [PATCH 1/3] SEO --- .gitignore | 1 + bun.lockb | Bin 99805 -> 0 bytes package.json | 9 ++++++--- public/robots.txt | 4 ++++ public/sitemap.xml | 9 +++++++++ src/mainview/App.tsx | 35 ++++++++++++++++++++++++++++++++++- src/mainview/index.html | 37 +++++++++++++++++++++++++++++++++++++ src/mainview/main.tsx | 20 +++++++++++++------- vite.config.ts | 1 + 9 files changed, 105 insertions(+), 11 deletions(-) delete mode 100644 bun.lockb create mode 100644 public/robots.txt create mode 100644 public/sitemap.xml diff --git a/.gitignore b/.gitignore index 5c81a37..47e7390 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ build/ dist/ artifacts/ *.tsbuildinfo +bun.lockb diff --git a/bun.lockb b/bun.lockb deleted file mode 100644 index 332c38f1e7d50b12a4c6e33c3ba69b89ca5aebb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99805 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 + + + https://yafw.valentinrapp.fr/ + 2026-06-23 + monthly + 1.0 + + diff --git a/src/mainview/App.tsx b/src/mainview/App.tsx index 73620ba..95a92bb 100644 --- a/src/mainview/App.tsx +++ b/src/mainview/App.tsx @@ -9,7 +9,7 @@ import { useElectrobun } from "./hooks/useElectrobun"; import { Updating } from "./components/Updating"; import { isMac } from "./env"; -const App = () => { +const ClientApp = () => { const editorState = useVideoEditor(); const { videoSrc, @@ -108,4 +108,37 @@ const App = () => { ); }; +const ServerApp = () => { + return ( +
+
+
+ +
{}} + videoSrc={null} + onChangeVideo={() => {}} + /> + +
+
+ {}} + onNativeBrowse={() => {}} + onNavigateDownload={() => {}} + /> +
+
+
+ ); +}; + +const App = () => { + if (import.meta.env.SSR) { + return ; + } + return ; +}; + export default App; diff --git a/src/mainview/index.html b/src/mainview/index.html index 8da4ec3..9a1eba3 100644 --- a/src/mainview/index.html +++ b/src/mainview/index.html @@ -3,7 +3,44 @@ + + YAFW - Yet Another FFmpeg Wrapper + + + + + + + + + + + + + + + + + + + + diff --git a/src/mainview/main.tsx b/src/mainview/main.tsx index 0de8dcd..7d71e51 100644 --- a/src/mainview/main.tsx +++ b/src/mainview/main.tsx @@ -1,10 +1,16 @@ -import { StrictMode } from "react"; -import { createRoot } from "react-dom/client"; +import { ViteReactSSG } from "vite-react-ssg"; import "./index.css"; import App from "./App"; -createRoot(document.getElementById("root")!).render( - - - , -); +const routes = [ + { + path: "/", + element: , + }, +]; + +export const createRoot = ViteReactSSG( + { routes }, + () => {} +// ({ router, isClient }) => {} +); \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 293f198..743de98 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,6 +4,7 @@ import react from "@vitejs/plugin-react"; export default defineConfig({ plugins: [react()], root: "src/mainview", + publicDir: "../../public", build: { outDir: "../../dist", emptyOutDir: true, From cf4dd027d8af35d516825fa3f12f7f2f0f321d80 Mon Sep 17 00:00:00 2001 From: ValentinRapp Date: Tue, 23 Jun 2026 19:36:32 +0200 Subject: [PATCH 2/3] fix standalone --- src/mainview/App.tsx | 4 ++++ src/mainview/components/FileDropZone.tsx | 8 ++++++-- src/mainview/components/Header.tsx | 4 +++- src/mainview/components/LandingPage.tsx | 4 +++- src/mainview/hooks/useElectrobun.ts | 9 +++++++-- src/mainview/main.tsx | 15 ++------------- 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/mainview/App.tsx b/src/mainview/App.tsx index 95a92bb..131a247 100644 --- a/src/mainview/App.tsx +++ b/src/mainview/App.tsx @@ -65,6 +65,7 @@ const ClientApp = () => { setCurrentPage={setCurrentPage} videoSrc={videoSrc} onChangeVideo={handleChangeVideo} + isStandalone={isStandalone} /> {/* Main Content Area */} @@ -90,6 +91,7 @@ const ClientApp = () => { onFileSelect={handleFileSelect} onNativeBrowse={handleNativeBrowse} onNavigateDownload={() => setCurrentPage("download")} + isStandalone={isStandalone} /> )}
@@ -119,6 +121,7 @@ const ServerApp = () => { setCurrentPage={() => {}} videoSrc={null} onChangeVideo={() => {}} + isStandalone={false} />
@@ -127,6 +130,7 @@ const ServerApp = () => { onFileSelect={() => {}} onNativeBrowse={() => {}} onNavigateDownload={() => {}} + isStandalone={false} />
diff --git a/src/mainview/components/FileDropZone.tsx b/src/mainview/components/FileDropZone.tsx index d225a5a..c66c789 100644 --- a/src/mainview/components/FileDropZone.tsx +++ b/src/mainview/components/FileDropZone.tsx @@ -1,12 +1,16 @@ import { useRef, useState } from "react"; -import { isStandalone } from "../env"; interface FileDropZoneProps { onFileSelect: (file: File) => void; onNativeBrowse?: () => void; + isStandalone: boolean; } -export const FileDropZone = ({ onFileSelect, onNativeBrowse }: FileDropZoneProps) => { +export const FileDropZone = ({ + onFileSelect, + onNativeBrowse, + isStandalone, +}: FileDropZoneProps) => { const [isDragging, setIsDragging] = useState(false); const fileInputRef = useRef(null); diff --git a/src/mainview/components/Header.tsx b/src/mainview/components/Header.tsx index 9a7673c..2590cbf 100644 --- a/src/mainview/components/Header.tsx +++ b/src/mainview/components/Header.tsx @@ -1,4 +1,4 @@ -import { isStandalone, isMac } from "../env"; +import { isMac } from "../env"; import logoUrl from "../assets/logo.png"; interface HeaderProps { @@ -6,6 +6,7 @@ interface HeaderProps { setCurrentPage: (page: "editor" | "download") => void; videoSrc: string | null; onChangeVideo: () => void; + isStandalone: boolean; } export const Header = ({ @@ -13,6 +14,7 @@ export const Header = ({ setCurrentPage, videoSrc, onChangeVideo, + isStandalone, }: HeaderProps) => (
diff --git a/src/mainview/components/LandingPage.tsx b/src/mainview/components/LandingPage.tsx index 7b87de1..ffd2315 100644 --- a/src/mainview/components/LandingPage.tsx +++ b/src/mainview/components/LandingPage.tsx @@ -1,17 +1,18 @@ import { FileDropZone } from "./FileDropZone"; -import { isStandalone } from "../env"; import logoUrl from "../assets/logo.png"; interface LandingPageProps { onFileSelect: (file: File) => void; onNativeBrowse: () => void; onNavigateDownload: () => void; + isStandalone: boolean; } export const LandingPage = ({ onFileSelect, onNativeBrowse, onNavigateDownload, + isStandalone, }: LandingPageProps) => ( <>
@@ -48,6 +49,7 @@ export const LandingPage = ({ onNativeBrowse={ isStandalone ? onNativeBrowse : undefined } + isStandalone={isStandalone} />
diff --git a/src/mainview/hooks/useElectrobun.ts b/src/mainview/hooks/useElectrobun.ts index 08b676c..ed4f94a 100644 --- a/src/mainview/hooks/useElectrobun.ts +++ b/src/mainview/hooks/useElectrobun.ts @@ -1,5 +1,5 @@ import { useEffect, useRef, useState } from "react"; -import { isStandalone } from "../env"; +import { isStandalone as rawIsStandalone } from "../env"; import { type AppRPCType } from "../../shared/types"; let sharedElectroview: any = null; @@ -10,9 +10,14 @@ const listeners = new Set<(ev: any, encoders: string[]) => void>(); export const useElectrobun = () => { const [supportedEncoders, setSupportedEncoders] = useState(sharedSupportedEncoders); const [electroview, setElectroview] = useState(sharedElectroview); + const [isStandalone, setIsStandalone] = useState(false); useEffect(() => { - if (!isStandalone) return; + if (rawIsStandalone) { + setIsStandalone(true); + } + + if (!rawIsStandalone) return; if (sharedElectroview) { setElectroview(sharedElectroview); diff --git a/src/mainview/main.tsx b/src/mainview/main.tsx index 7d71e51..c35fac2 100644 --- a/src/mainview/main.tsx +++ b/src/mainview/main.tsx @@ -1,16 +1,5 @@ -import { ViteReactSSG } from "vite-react-ssg"; +import { ViteReactSSG } from "vite-react-ssg/single-page"; import "./index.css"; import App from "./App"; -const routes = [ - { - path: "/", - element: , - }, -]; - -export const createRoot = ViteReactSSG( - { routes }, - () => {} -// ({ router, isClient }) => {} -); \ No newline at end of file +export const createRoot = ViteReactSSG(); \ No newline at end of file From 2378fb263a109334e8745ae7883fdfe2904c1b68 Mon Sep 17 00:00:00 2001 From: ValentinRapp Date: Tue, 23 Jun 2026 19:38:40 +0200 Subject: [PATCH 3/3] changed version number --- electrobun.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electrobun.config.ts b/electrobun.config.ts index 47e99c4..af24b00 100644 --- a/electrobun.config.ts +++ b/electrobun.config.ts @@ -4,7 +4,7 @@ export default { app: { name: "yafw", identifier: "yafw.electrobun.dev", - version: "0.7.3", + version: "0.7.4", }, build: { // Vite builds to dist/, Electrobun copies from there into the bundle