This commit is contained in:
@@ -1,15 +1,10 @@
|
||||
import styled from 'styled-components'
|
||||
import background from '../../images/home_hero_bg.png'
|
||||
|
||||
export const Hero = styled.main<{ bg?: boolean }>`
|
||||
position: relative;
|
||||
padding: 50px 0;
|
||||
color: white;
|
||||
background-color: #314351;
|
||||
background-repeat: no-repeat;
|
||||
background-image: ${(props) => (props.bg ? `url(${background})` : 'none')};
|
||||
background-attachment: scroll;
|
||||
background-position: bottom right;
|
||||
`
|
||||
|
||||
export const HeroHeading = styled.h1`
|
||||
|
||||
@@ -23,7 +23,7 @@ const naviLinks: NaviLink[] = [
|
||||
{ name: 'Feed', url: '/feed/', active: 'no' },
|
||||
{ name: 'FAQ', url: '/faq/', active: 'no' },
|
||||
{
|
||||
name: 'Documentation',
|
||||
name: 'Docs',
|
||||
url: 'https://docs.datacontroller.io/',
|
||||
active: 'no'
|
||||
},
|
||||
|
||||
+39
-35
@@ -1,5 +1,4 @@
|
||||
import * as React from 'react'
|
||||
import { Helmet } from 'react-helmet'
|
||||
import { useStaticQuery, graphql } from 'gatsby'
|
||||
|
||||
import type { SeoProps } from '../types'
|
||||
@@ -38,41 +37,46 @@ const Seo: React.FC<SeoProps> = ({
|
||||
? `${siteUrl}${previewImg}`
|
||||
: `${siteUrl}/img/data-controller.svg`
|
||||
|
||||
const metaTags = (
|
||||
[
|
||||
{ name: 'author', property: 'author', content: author },
|
||||
{
|
||||
name: 'description',
|
||||
property: 'og:description',
|
||||
content: metaDescription
|
||||
},
|
||||
{ name: 'image', property: 'og:image', content: image },
|
||||
{
|
||||
name: `linkedin:site`,
|
||||
content: site.siteMetadata?.social?.linkedin || ``
|
||||
},
|
||||
{ name: `twitter:card`, content: `summary` },
|
||||
{ name: `twitter:description`, content: metaDescription },
|
||||
{ name: `twitter:title`, content: title },
|
||||
{ property: `og:title`, content: title },
|
||||
{ property: `og:type`, content: `website` }
|
||||
] as Array<{ name?: string; property?: string; content?: string }>
|
||||
).concat(meta)
|
||||
|
||||
return (
|
||||
<Helmet
|
||||
htmlAttributes={{
|
||||
lang
|
||||
}}
|
||||
title={pageTitle}
|
||||
link={[
|
||||
{
|
||||
rel: 'alternate',
|
||||
type: 'application/rss+xml',
|
||||
title: `${defaultTitle} RSS Feed`,
|
||||
href: `${siteUrl}rss.xml`
|
||||
}
|
||||
]}
|
||||
meta={(
|
||||
[
|
||||
{ name: 'author', property: 'author', content: author },
|
||||
{
|
||||
name: 'description',
|
||||
property: 'og:description',
|
||||
content: metaDescription
|
||||
},
|
||||
{ name: 'image', property: 'og:image', content: image },
|
||||
{
|
||||
name: `linkedin:site`,
|
||||
content: site.siteMetadata?.social?.linkedin || ``
|
||||
},
|
||||
{ name: `twitter:card`, content: `summary` },
|
||||
{ name: `twitter:description`, content: metaDescription },
|
||||
{ name: `twitter:title`, content: title },
|
||||
{ property: `og:title`, content: title },
|
||||
{ property: `og:type`, content: `website` }
|
||||
] as Array<{ name?: string; property?: string; content?: string }>
|
||||
).concat(meta)}
|
||||
/>
|
||||
<>
|
||||
<html lang={lang} />
|
||||
<title>{pageTitle}</title>
|
||||
<link
|
||||
rel="alternate"
|
||||
type="application/rss+xml"
|
||||
title={`${defaultTitle} RSS Feed`}
|
||||
href={`${siteUrl}rss.xml`}
|
||||
/>
|
||||
{metaTags.map((tag, index) => (
|
||||
<meta
|
||||
key={tag.name || tag.property || index}
|
||||
name={tag.name}
|
||||
property={tag.property}
|
||||
content={tag.content}
|
||||
/>
|
||||
))}
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -14,8 +14,7 @@ const NotFound: React.FC<PageProps<unknown, PageContext>> = ({
|
||||
pageContext
|
||||
}) => (
|
||||
<Layout location={location} heroSection={false}>
|
||||
<Seo title="Page Not Found" />
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<SideBar
|
||||
pageContext={pageContext}
|
||||
location={location}
|
||||
@@ -26,3 +25,5 @@ const NotFound: React.FC<PageProps<unknown, PageContext>> = ({
|
||||
)
|
||||
|
||||
export default NotFound
|
||||
|
||||
export const Head = () => <Seo title="Page Not Found" />
|
||||
|
||||
+3
-2
@@ -17,8 +17,7 @@ const About: React.FC<PageProps<unknown>> = ({ location }) => {
|
||||
heading="Behind Data Controller"
|
||||
desc="Data Controller is a product of 4GL, a brand of Bowe IO Ltd"
|
||||
>
|
||||
<Seo title="About" />
|
||||
<Section color="black" bgColor="white">
|
||||
<Section color="black" bgColor="white">
|
||||
<div className="row">
|
||||
<div className="offset-md-2 col-md-8">
|
||||
<SectionHeading center="no">About Data Controller</SectionHeading>
|
||||
@@ -46,3 +45,5 @@ const About: React.FC<PageProps<unknown>> = ({ location }) => {
|
||||
}
|
||||
|
||||
export default About
|
||||
|
||||
export const Head = () => <Seo title="About" />
|
||||
|
||||
@@ -58,8 +58,7 @@ const Contact: React.FC<PageProps<unknown>> = ({ location }) => {
|
||||
heading="Book a Demo"
|
||||
desc="Schedule a demonstration of the Data Controller to see our latest features and explore use cases"
|
||||
>
|
||||
<Seo title="Contact" />
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<div className="row">
|
||||
<div className="col-md-6">
|
||||
<SectionHeading center="no">Schedule a Call</SectionHeading>
|
||||
@@ -193,3 +192,5 @@ Message: ${message}`
|
||||
}
|
||||
|
||||
export default Contact
|
||||
|
||||
export const Head = () => <Seo title="Contact" />
|
||||
|
||||
+3
-2
@@ -20,8 +20,7 @@ const Faq: React.FC<PageProps<unknown>> = ({ location }) => {
|
||||
heading="Data Controller – FAQ"
|
||||
desc="Most common user questions and answers regarding the Data Controller"
|
||||
>
|
||||
<Seo title="FAQ" />
|
||||
<Section color="black" bgColor="white">
|
||||
<Section color="black" bgColor="white">
|
||||
<div className="row">
|
||||
<div className="col-md-8">
|
||||
<FAQ
|
||||
@@ -67,3 +66,5 @@ const Faq: React.FC<PageProps<unknown>> = ({ location }) => {
|
||||
}
|
||||
|
||||
export default Faq
|
||||
|
||||
export const Head = () => <Seo title="FAQ" />
|
||||
|
||||
+3
-2
@@ -67,8 +67,7 @@ const Home: React.FC<PageProps<IndexPageData>> = ({ data, location }) => {
|
||||
heading="Flexible and Secure Data Modification"
|
||||
desc="Data Controller for SAS® enables business users to update IT owned source tables, secured by review / approve workflow and full audit trail."
|
||||
>
|
||||
<Seo />
|
||||
<Section color="black" bgColor="white">
|
||||
<Section color="black" bgColor="white">
|
||||
<div className="row">
|
||||
<div className="col-md-3">
|
||||
<Art src={leftArt} info="Business Owner" />
|
||||
@@ -262,3 +261,5 @@ export const pageQuery = graphql`
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
export const Head = () => <Seo />
|
||||
|
||||
@@ -40,7 +40,6 @@ const MarkdownPageTemplate: React.FC<
|
||||
heading={frontmatter.heading}
|
||||
desc={frontmatter.desc}
|
||||
>
|
||||
<Seo title={frontmatter.title} />
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<StyledMarkdown dangerouslySetInnerHTML={{ __html: html }} />
|
||||
</Section>
|
||||
@@ -50,6 +49,10 @@ const MarkdownPageTemplate: React.FC<
|
||||
|
||||
export default MarkdownPageTemplate
|
||||
|
||||
export const Head: React.FC<{ data: MarkdownPageData }> = ({ data }) => (
|
||||
<Seo title={data.markdownRemark.frontmatter.title} />
|
||||
)
|
||||
|
||||
export const pageQuery = graphql`
|
||||
query ($id: String!) {
|
||||
markdownRemark(id: { eq: $id }) {
|
||||
|
||||
@@ -69,8 +69,7 @@ const BlogListTemplate: React.FC<PageProps<BlogListData, PageContext>> = ({
|
||||
heading="Data Controller’s Knowledge Base"
|
||||
desc="A section dedicated to news, updates and educational pieces."
|
||||
>
|
||||
<Seo title="Blog" />
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<div className="row">
|
||||
<div className="col-md-7">
|
||||
<div className="row">
|
||||
@@ -126,3 +125,5 @@ export const pageQuery = graphql`
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
export const Head = () => <Seo title="Blog" />
|
||||
|
||||
@@ -14,17 +14,9 @@ const BlogPostTemplate: React.FC<
|
||||
PageProps<{ post: PostNode }, PageContext>
|
||||
> = ({ data, location, pageContext }) => {
|
||||
const { post } = data
|
||||
const { previewImg } = post.frontmatter
|
||||
|
||||
return (
|
||||
<Layout location={location} heroSection={false}>
|
||||
<Seo
|
||||
title={post.frontmatter.title}
|
||||
description={post.frontmatter.description}
|
||||
previewImg={
|
||||
previewImg?.childImageSharp?.gatsbyImageData?.images?.fallback?.src
|
||||
}
|
||||
/>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<div className="row">
|
||||
<div className="col-md-7">
|
||||
@@ -41,6 +33,21 @@ const BlogPostTemplate: React.FC<
|
||||
|
||||
export default BlogPostTemplate
|
||||
|
||||
export const Head: React.FC<{ data: { post: PostNode } }> = ({ data }) => {
|
||||
const { post } = data
|
||||
const { previewImg } = post.frontmatter
|
||||
|
||||
return (
|
||||
<Seo
|
||||
title={post.frontmatter.title}
|
||||
description={post.frontmatter.description}
|
||||
previewImg={
|
||||
previewImg?.childImageSharp?.gatsbyImageData?.images?.fallback?.src
|
||||
}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
export const pageQuery = graphql`
|
||||
query PostByPath($id: String!) {
|
||||
post: markdownRemark(id: { eq: $id }) {
|
||||
|
||||
@@ -71,8 +71,7 @@ const BlogSearchTemplate: React.FC<PageProps<SearchData, PageContext>> = ({
|
||||
heading="Data Controller’s Knowledge Base"
|
||||
desc="A section dedicated to news, updates and educational pieces."
|
||||
>
|
||||
<Seo title="Blog" />
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<div className="row">
|
||||
<div className="col-md-7">
|
||||
<div className="row">
|
||||
@@ -96,3 +95,5 @@ const BlogSearchTemplate: React.FC<PageProps<SearchData, PageContext>> = ({
|
||||
}
|
||||
|
||||
export default BlogSearchTemplate
|
||||
|
||||
export const Head = () => <Seo title="Blog" />
|
||||
|
||||
@@ -68,8 +68,7 @@ const FeedListTemplate: React.FC<PageProps<FeedListData, PageContext>> = ({
|
||||
heading="Data Controller’s Feed"
|
||||
desc="Announcements and social media style updates from the Data Controller team."
|
||||
>
|
||||
<Seo title="Feed" />
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<div className="row">
|
||||
<div className="col-md-7">
|
||||
<div className="row">
|
||||
@@ -129,3 +128,5 @@ export const pageQuery = graphql`
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
export const Head = () => <Seo title="Feed" />
|
||||
|
||||
@@ -14,17 +14,9 @@ const FeedPostTemplate: React.FC<
|
||||
PageProps<{ post: PostNode }, PageContext>
|
||||
> = ({ data, location, pageContext }) => {
|
||||
const { post } = data
|
||||
const { previewImg } = post.frontmatter
|
||||
|
||||
return (
|
||||
<Layout location={location} heroSection={false}>
|
||||
<Seo
|
||||
title={post.frontmatter.title}
|
||||
description={post.frontmatter.description}
|
||||
previewImg={
|
||||
previewImg?.childImageSharp?.gatsbyImageData?.images?.fallback?.src
|
||||
}
|
||||
/>
|
||||
<Section color="black" bgColor="white" bottomArrow={false}>
|
||||
<div className="row">
|
||||
<div className="col-md-7">
|
||||
@@ -45,6 +37,21 @@ const FeedPostTemplate: React.FC<
|
||||
|
||||
export default FeedPostTemplate
|
||||
|
||||
export const Head: React.FC<{ data: { post: PostNode } }> = ({ data }) => {
|
||||
const { post } = data
|
||||
const { previewImg } = post.frontmatter
|
||||
|
||||
return (
|
||||
<Seo
|
||||
title={post.frontmatter.title}
|
||||
description={post.frontmatter.description}
|
||||
previewImg={
|
||||
previewImg?.childImageSharp?.gatsbyImageData?.images?.fallback?.src
|
||||
}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
export const pageQuery = graphql`
|
||||
query FeedPostByPath($id: String!) {
|
||||
post: markdownRemark(id: { eq: $id }) {
|
||||
|
||||
Reference in New Issue
Block a user