aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'src/hooks')
-rw-r--r--src/hooks/SiteMetadata.ts21
-rw-r--r--src/hooks/SiteVersion.ts19
-rw-r--r--src/hooks/index.ts4
3 files changed, 44 insertions, 0 deletions
diff --git a/src/hooks/SiteMetadata.ts b/src/hooks/SiteMetadata.ts
new file mode 100644
index 0000000..889f42b
--- /dev/null
+++ b/src/hooks/SiteMetadata.ts
@@ -0,0 +1,21 @@
+import { useStaticQuery, graphql } from "gatsby";
+
+type SiteMetadata = NonNullable<
+ NonNullable<Queries.getSiteMetadataQuery["site"]>["siteMetadata"]
+>;
+
+export const useSiteMetadata = (): SiteMetadata => {
+ const { site } = useStaticQuery<Queries.getSiteMetadataQuery>(graphql`
+ query getSiteMetadata {
+ site {
+ siteMetadata {
+ author
+ description
+ title
+ }
+ }
+ }
+ `);
+
+ return site?.siteMetadata ?? ({} as SiteMetadata);
+};
diff --git a/src/hooks/SiteVersion.ts b/src/hooks/SiteVersion.ts
new file mode 100644
index 0000000..6726a3c
--- /dev/null
+++ b/src/hooks/SiteVersion.ts
@@ -0,0 +1,19 @@
+import { useStaticQuery, graphql } from "gatsby";
+
+type SiteVersion = NonNullable<
+ NonNullable<Queries.getSiteVersionQuery["site"]>["siteMetadata"]
+>["version"];
+
+export const useSiteVersion = (): SiteVersion => {
+ const { site } = useStaticQuery<Queries.getSiteVersionQuery>(graphql`
+ query getSiteVersion {
+ site {
+ siteMetadata {
+ version
+ }
+ }
+ }
+ `);
+
+ return site?.siteMetadata?.version ?? "0";
+};
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
new file mode 100644
index 0000000..1250d57
--- /dev/null
+++ b/src/hooks/index.ts
@@ -0,0 +1,4 @@
+import { useSiteMetadata } from "./SiteMetadata";
+import { useSiteVersion } from "./SiteVersion";
+
+export { useSiteMetadata, useSiteVersion };