aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/hooks/SiteMetadata.ts
diff options
context:
space:
mode:
authorKevin Hoerr <kjhoerr@protonmail.com>2022-11-28 17:37:25 -0500
committerGitHub <noreply@github.com>2022-11-28 17:37:25 -0500
commit832794e035705e7f0a5989ce240a385e5ccebf62 (patch)
treeed836a8473688545e93270f25697433e77feba20 /src/hooks/SiteMetadata.ts
parent73736f0873017967e78538d42fcfabb60ba8b4a2 (diff)
downloadsubmelon.dev-832794e035705e7f0a5989ce240a385e5ccebf62.tar.gz
submelon.dev-832794e035705e7f0a5989ce240a385e5ccebf62.tar.bz2
submelon.dev-832794e035705e7f0a5989ce240a385e5ccebf62.zip
Reintegrate GraphQL (#23)
* Use GraphQL for site metadata incl version * Explicit props for passthrough components
Diffstat (limited to 'src/hooks/SiteMetadata.ts')
-rw-r--r--src/hooks/SiteMetadata.ts21
1 files changed, 21 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);
+};