diff --git a/commafeed-client/index.html b/commafeed-client/index.html
index 8f5a5e3e..2cc6a82c 100644
--- a/commafeed-client/index.html
+++ b/commafeed-client/index.html
@@ -1,11 +1,15 @@
-
-
-
-
- CommaFeed
+
+
+
+
+
+
+
+
+ CommaFeed
diff --git a/commafeed-client/package-lock.json b/commafeed-client/package-lock.json
index f745a47a..052cfc9a 100644
--- a/commafeed-client/package-lock.json
+++ b/commafeed-client/package-lock.json
@@ -33,7 +33,6 @@
"react-dom": "^19.0.0",
"react-draggable": "^4.4.6",
"react-ga4": "^2.1.0",
- "react-helmet": "^6.1.0",
"react-icons": "^5.4.0",
"react-infinite-scroller": "^1.2.6",
"react-redux": "^9.2.0",
@@ -54,7 +53,6 @@
"@types/mousetrap": "^1.6.15",
"@types/react": "^19.0.8",
"@types/react-dom": "^19.0.3",
- "@types/react-helmet": "^6.1.11",
"@types/react-infinite-scroller": "^1.2.5",
"@types/throttle-debounce": "^5.0.2",
"@types/tinycon": "^0.6.7",
@@ -2349,16 +2347,6 @@
"@types/react": "^19.0.0"
}
},
- "node_modules/@types/react-helmet": {
- "version": "6.1.11",
- "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.11.tgz",
- "integrity": "sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/react": "*"
- }
- },
"node_modules/@types/react-infinite-scroller": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/@types/react-infinite-scroller/-/react-infinite-scroller-1.2.5.tgz",
@@ -5473,33 +5461,12 @@
"node": ">=6"
}
},
- "node_modules/react-fast-compare": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
- "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
- "license": "MIT"
- },
"node_modules/react-ga4": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz",
"integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==",
"license": "MIT"
},
- "node_modules/react-helmet": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz",
- "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==",
- "license": "MIT",
- "dependencies": {
- "object-assign": "^4.1.1",
- "prop-types": "^15.7.2",
- "react-fast-compare": "^3.1.1",
- "react-side-effect": "^2.1.0"
- },
- "peerDependencies": {
- "react": ">=16.3.0"
- }
- },
"node_modules/react-icons": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.4.0.tgz",
@@ -5657,15 +5624,6 @@
"react-dom": ">=18"
}
},
- "node_modules/react-side-effect": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz",
- "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==",
- "license": "MIT",
- "peerDependencies": {
- "react": "^16.3.0 || ^17.0.0 || ^18.0.0"
- }
- },
"node_modules/react-style-singleton": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
diff --git a/commafeed-client/package.json b/commafeed-client/package.json
index 9a7a5fdf..1d8ead08 100644
--- a/commafeed-client/package.json
+++ b/commafeed-client/package.json
@@ -40,7 +40,6 @@
"react-dom": "^19.0.0",
"react-draggable": "^4.4.6",
"react-ga4": "^2.1.0",
- "react-helmet": "^6.1.0",
"react-icons": "^5.4.0",
"react-infinite-scroller": "^1.2.6",
"react-redux": "^9.2.0",
@@ -61,7 +60,6 @@
"@types/mousetrap": "^1.6.15",
"@types/react": "^19.0.8",
"@types/react-dom": "^19.0.3",
- "@types/react-helmet": "^6.1.11",
"@types/react-infinite-scroller": "^1.2.5",
"@types/throttle-debounce": "^5.0.2",
"@types/tinycon": "^0.6.7",
@@ -82,9 +80,6 @@
},
"react-infinite-scroller": {
"react": "^19.0.0"
- },
- "react-helmet": {
- "react": "^19.0.0"
}
}
}
diff --git a/commafeed-client/src/App.tsx b/commafeed-client/src/App.tsx
index 0519bf0e..978dae35 100644
--- a/commafeed-client/src/App.tsx
+++ b/commafeed-client/src/App.tsx
@@ -32,7 +32,6 @@ import { RegistrationPage } from "pages/auth/RegistrationPage"
import React, { useEffect } from "react"
import { isSafari } from "react-device-detect"
import ReactGA from "react-ga4"
-import { Helmet } from "react-helmet"
import { HashRouter, Navigate, Route, Routes, useLocation, useNavigate } from "react-router-dom"
import Tinycon from "tinycon"
@@ -143,7 +142,7 @@ function GoogleAnalyticsHandler() {
}
function UnreadCountTitleHandler({ unreadCount, enabled }: { unreadCount: number; enabled?: boolean }) {
- return 0 ? `(${unreadCount}) CommaFeed` : "CommaFeed"} />
+ return {enabled && unreadCount > 0 ? `(${unreadCount}) CommaFeed` : "CommaFeed"}
}
function UnreadCountFaviconHandler({ unreadCount, enabled }: { unreadCount: number; enabled?: boolean }) {
@@ -170,15 +169,6 @@ function BrowserExtensionBadgeUnreadCountHandler() {
return null
}
-function CustomCode() {
- return (
-
-
-
-
- )
-}
-
export function App() {
useI18n()
const root = useAppSelector(state => state.tree.rootCategory)
@@ -202,7 +192,6 @@ export function App() {
-
{/* disable pull-to-refresh as it messes with vertical scrolling
safari behaves weirdly when overscroll-behavior is set to none so we disable it only for other browsers
https://github.com/Athou/commafeed/issues/1168
diff --git a/commafeed-client/src/components/DisablePullToRefresh.css b/commafeed-client/src/components/DisablePullToRefresh.css
new file mode 100644
index 00000000..ed8a35cc
--- /dev/null
+++ b/commafeed-client/src/components/DisablePullToRefresh.css
@@ -0,0 +1,4 @@
+html,
+body {
+ overscroll-behavior: none;
+}
diff --git a/commafeed-client/src/components/DisablePullToRefresh.tsx b/commafeed-client/src/components/DisablePullToRefresh.tsx
index e7b328cc..d90731af 100644
--- a/commafeed-client/src/components/DisablePullToRefresh.tsx
+++ b/commafeed-client/src/components/DisablePullToRefresh.tsx
@@ -1,15 +1,4 @@
-import { Helmet } from "react-helmet"
-
export const DisablePullToRefresh = () => {
- return (
-
-
-
- )
+ import("./DisablePullToRefresh.css")
+ return <>>
}