aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components
diff options
context:
space:
mode:
authorKevin Hoerr <kjhoerr@protonmail.com>2022-11-21 18:19:16 -0500
committerGitHub <noreply@github.com>2022-11-21 18:19:16 -0500
commit651f019141b488a82fd42028bce5b0003abbfaf5 (patch)
tree5be06913d021752cb0a1d3f809f66b27359619c5 /src/components
parent6ec00afac5afc892dca5a184b66467d9408f14a5 (diff)
downloadsubmelon.dev-651f019141b488a82fd42028bce5b0003abbfaf5.tar.gz
submelon.dev-651f019141b488a82fd42028bce5b0003abbfaf5.tar.bz2
submelon.dev-651f019141b488a82fd42028bce5b0003abbfaf5.zip
Layout changes (#15)
* Layout refactor and standardization * Use split to condense short array * Fix verbage
Diffstat (limited to 'src/components')
-rw-r--r--src/components/Footer.tsx103
-rw-r--r--src/components/Layout.tsx30
-rw-r--r--src/components/index.ts4
3 files changed, 34 insertions, 103 deletions
diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx
deleted file mode 100644
index 3e6932b..0000000
--- a/src/components/Footer.tsx
+++ /dev/null
@@ -1,103 +0,0 @@
-import React from "react";
-import { Footer } from "../styles";
-
-const SHORT_CHARS = [
- "0",
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "a",
- "b",
- "c",
- "d",
- "e",
- "f",
- "g",
- "h",
- "i",
- "j",
- "k",
- "l",
- "m",
- "n",
- "o",
- "p",
- "q",
- "r",
- "s",
- "t",
- "u",
- "v",
- "w",
- "x",
- "y",
- "z",
- "A",
- "B",
- "C",
- "D",
- "E",
- "F",
- "G",
- "H",
- "I",
- "J",
- "K",
- "L",
- "M",
- "N",
- "O",
- "P",
- "Q",
- "R",
- "S",
- "T",
- "U",
- "V",
- "W",
- "X",
- "Y",
- "Z",
-];
-
-function toShort(valu: number): string {
- return (
- valu
- .toString()
- .match(/.{1,2}/g)
- ?.map((s) => SHORT_CHARS[parseInt(s)])
- .join("") ?? ""
- );
-}
-
-function getTimestamp(seconds: number): string {
- const date = new Date(seconds * 1000);
- const dateArr = [
- date.getUTCFullYear(),
- date.getUTCMonth(),
- date.getUTCDate(),
- date.getUTCHours(),
- date.getUTCMinutes(),
- ];
-
- return dateArr.map(toShort).join(".") + "-0";
-}
-
-const FooterInfo = ({ timestamp }) => {
- return (
- <Footer>
- <span>
- &copy;2022 kjhoerr@https://submelon.dev/:
- {getTimestamp(parseInt(timestamp))}
- </span>
- </Footer>
- );
-};
-
-export default FooterInfo;
diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx
new file mode 100644
index 0000000..6cc70ed
--- /dev/null
+++ b/src/components/Layout.tsx
@@ -0,0 +1,30 @@
+import React from "react";
+import { IconContext } from "react-icons/lib";
+import { Content, Footer } from "../styles";
+import package_json from "../../package.json";
+import { getTimestamp } from "../util/timestamp";
+
+const VERSION = package_json.version;
+
+const Layout = ({ children }) => {
+ return (
+ <React.StrictMode>
+ <main>
+ <IconContext.Provider
+ value={{ size: "20", style: { marginBottom: "-4px" } }}
+ >
+ <Content>{children}</Content>
+
+ <Footer>
+ <span>
+ &copy;2022 kjhoerr@https://submelon.dev/:
+ {getTimestamp(Number(VERSION))}
+ </span>
+ </Footer>
+ </IconContext.Provider>
+ </main>
+ </React.StrictMode>
+ );
+};
+
+export default Layout;
diff --git a/src/components/index.ts b/src/components/index.ts
new file mode 100644
index 0000000..6e7bcb7
--- /dev/null
+++ b/src/components/index.ts
@@ -0,0 +1,4 @@
+import BlockLink from "./BlockLink";
+import Layout from "./Layout";
+
+export { BlockLink, Layout };