mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 02:15:01 +00:00
Remove helmet
This commit is contained in:
parent
74061b782e
commit
a9ee896053
5 changed files with 8 additions and 116 deletions
|
|
@ -14,5 +14,5 @@ import LegacyApp from "../legacy-client/src/App";
|
|||
import SearchLogo from "./SearchLogo";
|
||||
|
||||
export default function App() {
|
||||
return <LegacyApp next={true} searchLogo={<SearchLogo />} />;
|
||||
return <LegacyApp searchLogo={<SearchLogo />} />;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
"use client";
|
||||
import React, { useCallback } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import Head from "./Head";
|
||||
import About from "./About";
|
||||
import Feedback from "./Feedback";
|
||||
import Header from "./Header";
|
||||
|
|
@ -63,7 +62,6 @@ function App(props) {
|
|||
|
||||
return (
|
||||
<div>
|
||||
{props.next || <Head />}
|
||||
<Header searchLogo={props.searchLogo} />
|
||||
<div {...getRootProps()}>
|
||||
{props.uploadViewOpen || isDragActive ? (
|
||||
|
|
|
|||
|
|
@ -1,90 +0,0 @@
|
|||
import React, { useMemo } from "react";
|
||||
import { connect, useSelector } from "react-redux";
|
||||
import { Helmet } from "react-helmet";
|
||||
import * as Selectors from "./redux/selectors";
|
||||
// import { SCREENSHOT_WIDTH, SCREENSHOT_HEIGHT } from "./constants";
|
||||
|
||||
const DESCRIPTION =
|
||||
"Infinite scroll through 80k Winamp skins with interactive preview";
|
||||
|
||||
function useImageTags({ url, width, height, alt }) {
|
||||
return [
|
||||
<meta property="og:image" content={url} key={1} />,
|
||||
<meta property="og:image:width" content={width} key={2} />,
|
||||
<meta property="og:image:height" content={height} key={3} />,
|
||||
<meta property="og:image:type" content="image/png" key={4} />,
|
||||
<meta property="og:image:alt" content={alt} key={5} />,
|
||||
<meta name="twitter:image" content={url} key={6} />,
|
||||
<meta property="twitter:image:alt" content={alt} key={7} />,
|
||||
];
|
||||
}
|
||||
|
||||
function Head({ url: relativeUrl, pageTitle, previewImageUrl }) {
|
||||
useMemo(() => {
|
||||
// HACK! Helmet does not remove the values that are hard coded in index.html.
|
||||
// So, once JS loads, we remove them ourselves being careful not to only remove things that we will rerender.
|
||||
const elements = window.document.head.querySelectorAll(
|
||||
"meta, title, link[rel='canonical']"
|
||||
);
|
||||
Array.prototype.forEach.call(elements, function (node) {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
}, []);
|
||||
|
||||
const focusedSkinFile = useSelector(Selectors.getFocusedSkinFile);
|
||||
|
||||
let readme = focusedSkinFile?.content?.slice(0, 300);
|
||||
const description = readme || DESCRIPTION;
|
||||
const pageUrl = `https://skins.webamp.org${relativeUrl}`;
|
||||
const imageTags = useImageTags(
|
||||
previewImageUrl
|
||||
? {
|
||||
alt: "Screenshot of many Winamp skins in a grid.",
|
||||
url: previewImageUrl,
|
||||
//width: SCREENSHOT_WIDTH,
|
||||
//height: SCREENSHOT_HEIGHT,
|
||||
width: 1200,
|
||||
height: 600,
|
||||
}
|
||||
: {
|
||||
alt: "Screenshot of many Winamp skins in a grid.",
|
||||
url: "https://skin-museum-og-captbaritone-webamp.vercel.app/api/og",
|
||||
width: "1844",
|
||||
height: "1297",
|
||||
}
|
||||
);
|
||||
return (
|
||||
<Helmet canUseDOM={true}>
|
||||
<meta charSet="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, shrink-to-fit=no"
|
||||
/>
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<title>{pageTitle}</title>
|
||||
<meta name="description" content={description} />
|
||||
<link rel="canonical" href={pageUrl} />
|
||||
<meta property="og:url" content={pageUrl} />
|
||||
<meta property="og:title" content={pageTitle} />
|
||||
<meta property="og:description" content={description} />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:site-name" content="Winamp Skin Museum" />
|
||||
|
||||
<meta name="twitter:site" content="@winampskins" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:creator" content="@captbaritone" />
|
||||
<meta name="twitter:title" content={pageTitle} />
|
||||
<meta name="twitter:description" content={description} />
|
||||
|
||||
{imageTags}
|
||||
</Helmet>
|
||||
);
|
||||
}
|
||||
|
||||
const mapStateToProps = (state) => ({
|
||||
url: Selectors.getUrl(state),
|
||||
pageTitle: Selectors.getPageTitle(state),
|
||||
previewImageUrl: Selectors.getPreviewImageUrl(state),
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps)(Head);
|
||||
|
|
@ -33,7 +33,6 @@
|
|||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"react-dropzone": "^11.1.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-window": "^1.8.1",
|
||||
"redux-observable": "^1.0.0",
|
||||
"rxjs": "^6.3.3",
|
||||
|
|
|
|||
29
yarn.lock
29
yarn.lock
|
|
@ -11805,11 +11805,16 @@ graphql-yoga@^5.10.10:
|
|||
lru-cache "^10.0.0"
|
||||
tslib "^2.8.1"
|
||||
|
||||
graphql@16.8.1, graphql@^16.8.1, graphql@^16.9.0:
|
||||
graphql@^16.8.1:
|
||||
version "16.8.1"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07"
|
||||
integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==
|
||||
|
||||
graphql@^16.9.0:
|
||||
version "16.11.0"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.11.0.tgz#96d17f66370678027fdf59b2d4c20b4efaa8a633"
|
||||
integrity sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==
|
||||
|
||||
grats@^0.0.31:
|
||||
version "0.0.31"
|
||||
resolved "https://registry.yarnpkg.com/grats/-/grats-0.0.31.tgz#f094786584a0f2fb345b38e6c37330d3f4f391cd"
|
||||
|
|
@ -18215,7 +18220,7 @@ prompts@^2.0.1, prompts@^2.4.2:
|
|||
kleur "^3.0.3"
|
||||
sisteransi "^1.0.5"
|
||||
|
||||
prop-types@^15.7.2, prop-types@^15.8.1:
|
||||
prop-types@^15.8.1:
|
||||
version "15.8.1"
|
||||
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
|
||||
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
|
||||
|
|
@ -18539,21 +18544,6 @@ react-error-overlay@6.0.9:
|
|||
resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz"
|
||||
integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
|
||||
|
||||
react-fast-compare@^3.1.1:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49"
|
||||
integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==
|
||||
|
||||
react-helmet@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.1.0.tgz#a750d5165cb13cf213e44747502652e794468726"
|
||||
integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==
|
||||
dependencies:
|
||||
object-assign "^4.1.1"
|
||||
prop-types "^15.7.2"
|
||||
react-fast-compare "^3.1.1"
|
||||
react-side-effect "^2.1.0"
|
||||
|
||||
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0:
|
||||
version "18.2.0"
|
||||
resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
|
||||
|
|
@ -18599,11 +18589,6 @@ react-shallow-renderer@^16.13.1:
|
|||
object-assign "^4.1.1"
|
||||
react-is "^16.12.0 || ^17.0.0 || ^18.0.0"
|
||||
|
||||
react-side-effect@^2.1.0:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.2.tgz#dc6345b9e8f9906dc2eeb68700b615e0b4fe752a"
|
||||
integrity sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==
|
||||
|
||||
react-test-renderer@^17.0.1:
|
||||
version "17.0.2"
|
||||
resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue