diff --git a/package.json b/package.json
index 79404584..e3e76cd5 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"babel-plugin-styled-components": "^2.0.7",
"react": "^18.2.0",
"react-dom": "^18.2.0",
+ "react-helmet-async": "^1.3.0",
"react-router-dom": "^6.8.0",
"react-scripts": "5.0.1",
"styled-components": "^5.3.6",
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 00000000..edac7e27
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 00000000..bb2324f6
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 00000000..22dee665
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/browserconfig.xml b/public/browserconfig.xml
new file mode 100644
index 00000000..d312159c
--- /dev/null
+++ b/public/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #fee9cd
+
+
+
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 00000000..d4968023
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 00000000..51477b40
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 00000000..9be6e873
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/index.html b/public/index.html
index 52762f1e..a57611e0 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2,14 +2,13 @@
-
+
-
-
+
- React App
+ plebchan
diff --git a/public/manifest-icon-192x192.png b/public/manifest-icon-192x192.png
deleted file mode 100644
index 6cab5dc0..00000000
Binary files a/public/manifest-icon-192x192.png and /dev/null differ
diff --git a/public/manifest-icon-512x512.png b/public/manifest-icon-512x512.png
deleted file mode 100644
index acf2b8c7..00000000
Binary files a/public/manifest-icon-512x512.png and /dev/null differ
diff --git a/public/manifest.json b/public/manifest.json
index 5f310edd..fd5cf7ab 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -1,20 +1,6 @@
{
- "short_name": "React App",
- "name": "Create React App Sample",
- "icons": [
- {
- "src": "manifest-icon-512x512.png",
- "sizes": "512x512",
- "type": "image/png"
- },
- {
- "src": "manifest-icon-192x192.png",
- "sizes": "192x192",
- "type": "image/png"
- }
- ],
+ "short_name": "plebchan",
+ "name": "plebchan",
"start_url": ".",
- "display": "standalone",
- "theme_color": "#000000",
- "background_color": "#ffffff"
+ "display": "standalone"
}
diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png
new file mode 100644
index 00000000..6cbf54c8
Binary files /dev/null and b/public/mstile-150x150.png differ
diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg
new file mode 100644
index 00000000..c595df85
--- /dev/null
+++ b/public/safari-pinned-tab.svg
@@ -0,0 +1,36 @@
+
+
+
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 00000000..bdf11d91
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1,18 @@
+{
+ "name": "plebchan",
+ "short_name": "plebchan",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff"
+}
diff --git a/src/App.js b/src/App.js
index bd3d30b0..08c38069 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,15 +1,28 @@
import React from 'react';
import { Route, Routes } from 'react-router-dom';
+import { Helmet } from 'react-helmet-async';
import Home from './components/Home';
import Board from './components/Board';
import Thread from './components/Thread';
function App() {
- return
- } />
- } />
- } />
-
-}
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ } />
+ } />
+ } />
+
+
+)}
export default App;
diff --git a/src/components/Board.js b/src/components/Board.jsx
similarity index 84%
rename from src/components/Board.js
rename to src/components/Board.jsx
index a0aa6ea6..c112a6df 100644
--- a/src/components/Board.js
+++ b/src/components/Board.jsx
@@ -1,4 +1,4 @@
-import React from "react";
+import React from 'react';
class Board extends React.Component {
render() {
diff --git a/src/components/Home.js b/src/components/Home.jsx
similarity index 100%
rename from src/components/Home.js
rename to src/components/Home.jsx
diff --git a/src/components/Thread.js b/src/components/Thread.jsx
similarity index 84%
rename from src/components/Thread.js
rename to src/components/Thread.jsx
index d2570872..600b125b 100644
--- a/src/components/Thread.js
+++ b/src/components/Thread.jsx
@@ -1,4 +1,4 @@
-import React from "react";
+import React from 'react';
class Thread extends React.Component {
render() {
diff --git a/src/index.js b/src/index.js
index 822d33e1..c146dbe2 100644
--- a/src/index.js
+++ b/src/index.js
@@ -2,12 +2,15 @@ import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import { BrowserRouter } from 'react-router-dom';
+import { HelmetProvider } from 'react-helmet-async';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
-
-
-
+
+
+
+
+
);
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 3814f245..40d8a916 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6600,6 +6600,13 @@ interpret@^2.2.0:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9"
integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
ip-regex@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5"
@@ -8059,7 +8066,7 @@ long@^4.0.0:
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
-loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -9646,7 +9653,7 @@ prompts@^2.0.1, prompts@^2.4.2:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.8.1:
+prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -9828,6 +9835,22 @@ react-error-overlay@^6.0.11:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"
integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==
+react-fast-compare@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
+ integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
+
+react-helmet-async@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz#7bd5bf8c5c69ea9f02f6083f14ce33ef545c222e"
+ integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ invariant "^2.2.4"
+ prop-types "^15.7.2"
+ react-fast-compare "^3.2.0"
+ shallowequal "^1.1.0"
+
react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"