mirror of
https://gitea.gofwd.group/dstrawsb/ballistic-builder.git
synced 2025-12-06 02:36:44 -05:00
Cleaning house
This commit is contained in:
@@ -1,74 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import styles from './styles.module.css'
|
|
||||||
import List from '@mui/material/List'
|
|
||||||
import ListItem from '@mui/material/ListItem';
|
|
||||||
import ListItemText from '@mui/material/ListItemText';
|
|
||||||
import TypoGraphy from '@mui/material/Typography'
|
|
||||||
import Link from 'next/link'
|
|
||||||
import { makeStyles } from '@mui/material/styles';
|
|
||||||
|
|
||||||
const useStyles = makeStyles((theme) => ({
|
|
||||||
root: {
|
|
||||||
width: '75%',
|
|
||||||
maxWidth: 260,
|
|
||||||
/* backgroundColor: theme.palette.background.paper, */
|
|
||||||
float : 'right',
|
|
||||||
marginRight:'2%',
|
|
||||||
fontSize : '.80em'
|
|
||||||
|
|
||||||
|
|
||||||
},
|
|
||||||
}));
|
|
||||||
|
|
||||||
export default function FooterLinks() {
|
|
||||||
|
|
||||||
const classes = useStyles();
|
|
||||||
return (
|
|
||||||
(<div className={classes.root}>
|
|
||||||
<TypoGraphy variant="subtitle1" color="inherit" >
|
|
||||||
<List component="nav" >
|
|
||||||
|
|
||||||
<ListItemText inset >
|
|
||||||
<TypoGraphy color="inherit" variant="subtitle2">
|
|
||||||
<Link href="/info/faq" className={styles.navLinks}>FAQ</Link>
|
|
||||||
</TypoGraphy>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset >
|
|
||||||
<TypoGraphy color="inherit" variant="subtitle2">
|
|
||||||
<Link href="/info/tos" className={styles.navLinks}>Terms Of Service</Link>
|
|
||||||
</TypoGraphy>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<TypoGraphy color="inherit" variant="subtitle2">
|
|
||||||
<Link href="/info/contactus" className={styles.navLinks}>Contact Us</Link>
|
|
||||||
</TypoGraphy>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<TypoGraphy color="inherit" variant="subtitle2">
|
|
||||||
<Link href="/info/privacypolicy" className={styles.navLinks}>Privacy Policy</Link>
|
|
||||||
</TypoGraphy>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<TypoGraphy color="inherit" variant="subtitle2">
|
|
||||||
<Link href="/info/pip" className={styles.navLinks}>Personal Information Policy</Link>
|
|
||||||
</TypoGraphy>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<TypoGraphy color="inherit" variant="subtitle2">
|
|
||||||
<Link href="/info/disclosure" className={styles.navLinks}>Disclosure</Link>
|
|
||||||
</TypoGraphy>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
|
|
||||||
</List>
|
|
||||||
</TypoGraphy>
|
|
||||||
</div>)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import styles from './styles.module.css'
|
|
||||||
import List from '@mui/material/List'
|
|
||||||
import ListItem from '@mui/material/ListItem';
|
|
||||||
import ListItemText from '@mui/material/ListItemText';
|
|
||||||
import TypoGraphy from '@mui/material/Typography'
|
|
||||||
import Link from 'next/link'
|
|
||||||
import { withStyles } from '@mui/material/styles';
|
|
||||||
import styled from '@emotion/styled'
|
|
||||||
import FooterLink from '@/src/Fragments/FooterLink';
|
|
||||||
|
|
||||||
|
|
||||||
class FooterLinks extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props)
|
|
||||||
this.state = {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { classes } = this.props;
|
|
||||||
return (
|
|
||||||
<FooterLinksStyled>
|
|
||||||
<div className="footer-links">
|
|
||||||
<List component="nav" >
|
|
||||||
<React.Fragment>
|
|
||||||
<FooterLink href="/info/faq" title="FAQ" />
|
|
||||||
<FooterLink href="/info/tos" title="Terms Of Service" />
|
|
||||||
<FooterLink href="/info/contactus" title="Contact Us" />
|
|
||||||
<FooterLink href="/info/privacypolicy" title="Privacy Policy" />
|
|
||||||
<FooterLink href="/info/pip" title="Personal Information Policy" />
|
|
||||||
<FooterLink href="/info/disclosure" title="Disclosure" />
|
|
||||||
<FooterLink href="/info/about" title="About Us" />
|
|
||||||
</React.Fragment>
|
|
||||||
</List>
|
|
||||||
</div>
|
|
||||||
</FooterLinksStyled>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const FooterLinksStyled = styled.div`
|
|
||||||
.footer-links nav {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-around;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
`
|
|
||||||
// export default withStyles(useStyles)(FooterLinks);
|
|
||||||
|
|
||||||
export default FooterLinks;
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "footerlinks",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
.navLinks {
|
|
||||||
color:#000;
|
|
||||||
}
|
|
||||||
.navLinks:hover {
|
|
||||||
font-weight: bold;
|
|
||||||
text-decoration : none;
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
import React, { Component } from "react";
|
|
||||||
import PropTypes from "prop-types";
|
|
||||||
import styles from './styles.module.scss';
|
|
||||||
import Copyright from "@/src/components/GB_Info/Copyright";
|
|
||||||
import FooterLinks from "./FooterLinks";
|
|
||||||
import Link from "next/link";
|
|
||||||
import { infoLinks } from "@/src/lib/linkList/infoLinks";
|
|
||||||
import { sectionLinks } from "@/src/lib/linkList/sectionLinks";
|
|
||||||
import Armory from '@/src/Fragments/Armory';
|
|
||||||
import GroundZero from "@/src/Fragments/GroundZero";
|
|
||||||
import Information from "@/src/Fragments/Information";
|
|
||||||
export const Footer = () => {
|
|
||||||
|
|
||||||
return (
|
|
||||||
// <div className={styles.Footer}>
|
|
||||||
// <FooterLinks></FooterLinks>
|
|
||||||
// <Copyright></Copyright>
|
|
||||||
// </div>
|
|
||||||
(<>
|
|
||||||
<footer className={styles.footer}>
|
|
||||||
<nav className={styles.linksContainer}>
|
|
||||||
<div className={styles.brand}>
|
|
||||||
<div className={styles.logo}>
|
|
||||||
<span>Logo</span>
|
|
||||||
</div>
|
|
||||||
<p>Find Parts.</p>
|
|
||||||
<p>Build Guns.</p>
|
|
||||||
<p>Freedom On.</p>
|
|
||||||
</div>
|
|
||||||
<Armory titleText="Armory"/>
|
|
||||||
<GroundZero titleText="Ground Zero"/>
|
|
||||||
<Information titleText="Information"/>
|
|
||||||
</nav>
|
|
||||||
</footer>
|
|
||||||
<Copyright></Copyright>
|
|
||||||
</>)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Footer.propTypes = {};
|
|
||||||
|
|
||||||
export default Footer;
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "footer",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
@import '../../scss/variables.scss';
|
|
||||||
|
|
||||||
.footer {
|
|
||||||
background: #4c5c3f;
|
|
||||||
min-height: 300px;
|
|
||||||
height: 100%;
|
|
||||||
padding: 1rem 0;
|
|
||||||
border-top: 2px solid #000;
|
|
||||||
|
|
||||||
.brand {
|
|
||||||
font-weight: bolder;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
font-size: 1.25em;
|
|
||||||
color:#FFF;
|
|
||||||
|
|
||||||
.logo span {
|
|
||||||
display: inline-block;
|
|
||||||
height: 100px;
|
|
||||||
width: 100px;
|
|
||||||
background: #FFF;
|
|
||||||
color:#4c5c3f;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.linksContainer {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: flex-start;
|
|
||||||
|
|
||||||
ul {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
list-style: none;
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
li {
|
|
||||||
color:#FFF;
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #fff;
|
|
||||||
transition: all 500ms ease;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: #ADA17B;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
color: #FFF;
|
|
||||||
border-bottom: 2px solid #fff;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
import React, { Component } from 'react';
|
|
||||||
import PropTypes from 'prop-types'; //ES6
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
import Link from 'next/link';
|
|
||||||
import AppBar from '@mui/material/AppBar';
|
|
||||||
import Toolbar from '@mui/material/Toolbar';
|
|
||||||
import List from '@mui/material/List';
|
|
||||||
import ListItem from '@mui/material/ListItem';
|
|
||||||
import ListItemText from '@mui/material//ListItemText';
|
|
||||||
// import TypoGraphy from '@mui/material/Typography';
|
|
||||||
import Button from '@mui/material//Button';
|
|
||||||
import { infoLinks } from '@/app/lib/linkList/infoLinks';
|
|
||||||
import sectionLinks from '@/app/lib/linkList/sectionLinks';
|
|
||||||
|
|
||||||
export default class Header extends Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props)
|
|
||||||
this.state = {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
(<div>
|
|
||||||
<div className="topheader">
|
|
||||||
<Link href="/" legacyBehavior><a className="logo">Gun Builder</a>
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
<AppBar position="static">
|
|
||||||
<Toolbar>
|
|
||||||
<List component="nav">
|
|
||||||
<ListItem component="div" className="nav-item">
|
|
||||||
<ListItemText inset>
|
|
||||||
<Link href={sectionLinks.UPPERS.URL} legacyBehavior><a className={styles.navLinks}>{sectionLinks.UPPERS.TEXT}</a></Link>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<Link href={sectionLinks.PARTSLIST.URL} legacyBehavior><a className={styles.navLinks}>{sectionLinks.PARTSLIST.TEXT}</a></Link>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<Link href={sectionLinks.BUILDS.URL} legacyBehavior><a className={styles.navLinks}>{sectionLinks.BUILDS.TEXT}</a></Link>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
<ListItemText inset>
|
|
||||||
<Link href={sectionLinks.BLOG.URL} legacyBehavior><a className={styles.navLinks}>{sectionLinks.BLOG.TEXT}</a></Link>
|
|
||||||
</ListItemText>
|
|
||||||
|
|
||||||
{/* <ListItemText inset>
|
|
||||||
<Link href="/admin"><a className={styles.navLinks}>Admin</a></Link>
|
|
||||||
</ListItemText> */}
|
|
||||||
</ListItem>
|
|
||||||
|
|
||||||
</List>
|
|
||||||
</Toolbar>
|
|
||||||
</AppBar>
|
|
||||||
<style jsx>{`
|
|
||||||
header {
|
|
||||||
background:#101010;
|
|
||||||
color:#fff;
|
|
||||||
}
|
|
||||||
.topheader {
|
|
||||||
background:#111;
|
|
||||||
height: 4em;
|
|
||||||
color: #000;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.topheader a {
|
|
||||||
color:#fff;
|
|
||||||
padding-left: 15px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight: bold;
|
|
||||||
letter-spacing: 2px;
|
|
||||||
}
|
|
||||||
.nav {
|
|
||||||
display: flex;
|
|
||||||
background: #4c5d34;
|
|
||||||
}
|
|
||||||
ul {
|
|
||||||
list-style: none;
|
|
||||||
padding: 0;
|
|
||||||
display: flex;
|
|
||||||
margin: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
ul li {
|
|
||||||
margin-right: 10px;
|
|
||||||
padding:1em 1.5em;
|
|
||||||
border-right:2px solid rgba(0,0,0,.3);
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight:bold;
|
|
||||||
letter-spacing:2px;
|
|
||||||
}
|
|
||||||
`}</style>
|
|
||||||
</div>)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Header.propTypes = {
|
|
||||||
|
|
||||||
};
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "header",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
.navLinks {
|
|
||||||
color:white;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 2px;
|
|
||||||
font-weight: bold;
|
|
||||||
transition: all 500ms ease;
|
|
||||||
}
|
|
||||||
.navLinks:hover {
|
|
||||||
text-decoration : none;
|
|
||||||
}
|
|
||||||
.nav-item:hover {
|
|
||||||
background-color: pink;
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import Typography from '@mui/material/Typography';
|
|
||||||
import MuiLink from '@mui/material/Link';
|
|
||||||
import Button from '@mui/material/Button';
|
|
||||||
|
|
||||||
export default class Hero extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
show: true,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
|
|
||||||
<div className="hero" styles={{ backgroundImage:`url({${this.props.image}})` }}>
|
|
||||||
<div className="hero-text">
|
|
||||||
<h3>{this.props.heading}</h3>
|
|
||||||
<p>{this.props.subheading}</p>
|
|
||||||
<Button href={this.props.link} variant="contained" color="primary">
|
|
||||||
{this.props.linktext}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<style jsx>{`
|
|
||||||
.hero {
|
|
||||||
// background:url('/gb-hero.jpg');
|
|
||||||
background-size:cover;
|
|
||||||
min-height:35vw;
|
|
||||||
color: #fff;
|
|
||||||
display:flex;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.hero-text {
|
|
||||||
padding: 2em;
|
|
||||||
}
|
|
||||||
`}</style>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "hero",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import styles from './styles.module.css'
|
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function About(props) {
|
|
||||||
|
|
||||||
const GET_SITE_CONTENT = gql`
|
|
||||||
query Get_Site_Content {
|
|
||||||
site_contents(where: {content_id: {_eq: "ABOUTUS"}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT);
|
|
||||||
if (loading) return "Loading ...";
|
|
||||||
if (error) return `Error! ${error.message}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div >
|
|
||||||
<h1>About</h1>
|
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: site_content.content }} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
About.propTypes = {
|
|
||||||
|
|
||||||
};
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "about",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import TypoGraphy from '@mui/material/Typography';
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
import constants from '@/src/lib/constants'
|
|
||||||
|
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function ContactUs(props) {
|
|
||||||
|
|
||||||
const GET_SITE_CONTENT = gql`
|
|
||||||
query Get_Site_Content {
|
|
||||||
site_contents(where: {content_id: {_eq: "CONTACTUS"}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT);
|
|
||||||
if (loading) return "Loading ...";
|
|
||||||
if (error) return `Error! ${error.message}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<TypoGraphy paragraph='true' variant="body" color="inherit" >
|
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: site_content.content }} />
|
|
||||||
))}
|
|
||||||
</TypoGraphy>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ContactUs.propTypes = {
|
|
||||||
|
|
||||||
};
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "contactus",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
import React, { Component } from 'react';
|
|
||||||
import styles from './styles.module.css'
|
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function Faq(props) {
|
|
||||||
|
|
||||||
const GET_SITE_CONTENT_FAQ = gql`
|
|
||||||
query Get_Site_Content_Faq {
|
|
||||||
site_contents(where: {content_id: {_eq: "FAQ"}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT_FAQ);
|
|
||||||
if(loading) return "Loading ...";
|
|
||||||
if(error) return `Error! ${error.message}` ;
|
|
||||||
|
|
||||||
return (
|
|
||||||
|
|
||||||
<div className="faq container">
|
|
||||||
{props.children}
|
|
||||||
<h3>Frequently Asked Questions</h3>
|
|
||||||
<div>
|
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
|
||||||
<span dangerouslySetInnerHTML={{__html: site_content.content}}/>
|
|
||||||
))}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "faq",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import Head from 'next/head';
|
|
||||||
import TypoGraphy from '@mui/material/Typography';
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
import constants from '@/src/lib/constants'
|
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function PIP(props) {
|
|
||||||
const GET_SITE_CONTENT = gql`
|
|
||||||
query Get_Site_Content {
|
|
||||||
site_contents(where: {content_id: {_eq: "PIP"}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT);
|
|
||||||
if (loading) return "Loading ...";
|
|
||||||
if (error) return `Error! ${error.message}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<Head title="Personal Information" />
|
|
||||||
<TypoGraphy paragraph='true' variant="body" color="inherit" >
|
|
||||||
|
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: site_content.content }} />
|
|
||||||
))}
|
|
||||||
</TypoGraphy>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
PIP.propTypes = {
|
|
||||||
|
|
||||||
};
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "pip",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import TypoGraphy from '@mui/material/Typography';
|
|
||||||
import Head from 'next/head';
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import styles from './styles.module.css';
|
|
||||||
import constants from '@/src/lib/constants'
|
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function PrivacyPolicy(props) {
|
|
||||||
const GET_SITE_CONTENT = gql`
|
|
||||||
query Get_Site_Content {
|
|
||||||
site_contents(where: {content_id: {_eq: "PP"}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT);
|
|
||||||
if (loading) return "Loading ...";
|
|
||||||
if (error) return `Error! ${error.message}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<Head title="Privacy Policy" />
|
|
||||||
<TypoGraphy paragraph='true' variant="body" color="inherit" >
|
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: site_content.content }} />
|
|
||||||
))}
|
|
||||||
</TypoGraphy>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "privacypolicy",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
import React, { Component } from 'react'
|
|
||||||
import Head from 'next/head';
|
|
||||||
import TypoGraphy from '@mui/material/Typography';
|
|
||||||
import PropTypes from 'prop-types' //ES6
|
|
||||||
import constants from '@/src/lib/constants'
|
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function TermsOfService(props) {
|
|
||||||
const GET_SITE_CONTENT = gql`
|
|
||||||
query Get_Site_Content {
|
|
||||||
site_contents(where: {content_id: {_eq: "TOS"}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT);
|
|
||||||
if (loading) return "Loading ...";
|
|
||||||
if (error) return `Error! ${error.message}`;
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<Head title="Terms Of Service" />
|
|
||||||
<TypoGraphy paragraph='true' variant="body" color="inherit" >
|
|
||||||
<div>
|
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
|
||||||
<span dangerouslySetInnerHTML={{ __html: site_content.content }} />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</TypoGraphy>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
TermsOfService.propTypes = {
|
|
||||||
|
|
||||||
};
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "termsofservice",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index.tsx",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import Avatar from '@mui/material/Avatar';
|
|
||||||
import Button from '@mui/material/Button';
|
|
||||||
import CssBaseline from '@mui/material/CssBaseline';
|
|
||||||
import TextField from '@mui/material/TextField';
|
|
||||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
||||||
import Checkbox from '@mui/material/Checkbox';
|
|
||||||
import Link from '@mui/material/Link';
|
|
||||||
import Paper from '@mui/material/Paper';
|
|
||||||
import Box from '@mui/material/Box';
|
|
||||||
import Grid from '@mui/material/Grid';
|
|
||||||
import LockOutlinedIcon from '@material-ui/icons/LockOutlined';
|
|
||||||
import Typography from '@mui/material/Typography';
|
|
||||||
import { makeStyles } from '@mui/material/styles';
|
|
||||||
import styles from "./styles.module.css";
|
|
||||||
|
|
||||||
function Copyright() {
|
|
||||||
return (
|
|
||||||
<Typography variant="body2" color="textSecondary" align="center">
|
|
||||||
{'Copyright © '}
|
|
||||||
<Link color="inherit" href="https://material-ui.com/">
|
|
||||||
Your Website
|
|
||||||
</Link>{' '}
|
|
||||||
{new Date().getFullYear()}
|
|
||||||
{'.'}
|
|
||||||
</Typography>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const useStyles = makeStyles((theme) => ({
|
|
||||||
root: {
|
|
||||||
height: '100vh',
|
|
||||||
},
|
|
||||||
image: {
|
|
||||||
backgroundImage: 'url(https://source.unsplash.com/random)',
|
|
||||||
backgroundRepeat: 'no-repeat',
|
|
||||||
backgroundColor:
|
|
||||||
theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[900],
|
|
||||||
backgroundSize: 'cover',
|
|
||||||
backgroundPosition: 'center',
|
|
||||||
},
|
|
||||||
paper: {
|
|
||||||
margin: theme.spacing(8, 4),
|
|
||||||
display: 'flex',
|
|
||||||
flexDirection: 'column',
|
|
||||||
alignItems: 'center',
|
|
||||||
},
|
|
||||||
avatar: {
|
|
||||||
margin: theme.spacing(1),
|
|
||||||
backgroundColor: theme.palette.secondary.main,
|
|
||||||
},
|
|
||||||
form: {
|
|
||||||
width: '100%', // Fix IE 11 issue.
|
|
||||||
marginTop: theme.spacing(1),
|
|
||||||
},
|
|
||||||
submit: {
|
|
||||||
margin: theme.spacing(3, 0, 2),
|
|
||||||
},
|
|
||||||
}));
|
|
||||||
|
|
||||||
export default function SignInSide() {
|
|
||||||
const classes = useStyles();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Grid container component="main" className={classes.root}>
|
|
||||||
<CssBaseline />
|
|
||||||
<Grid item xs={false} sm={4} md={7} className={classes.image} />
|
|
||||||
<Grid item xs={12} sm={8} md={5} component={Paper} elevation={6} square>
|
|
||||||
<div className={classes.paper}>
|
|
||||||
<Avatar className={classes.avatar}>
|
|
||||||
<LockOutlinedIcon />
|
|
||||||
</Avatar>
|
|
||||||
<Typography component="h1" variant="h5">
|
|
||||||
Sign in
|
|
||||||
</Typography>
|
|
||||||
<form className={classes.form} noValidate>
|
|
||||||
<TextField
|
|
||||||
variant="outlined"
|
|
||||||
margin="normal"
|
|
||||||
required
|
|
||||||
fullWidth
|
|
||||||
id="email"
|
|
||||||
label="Email Address"
|
|
||||||
name="email"
|
|
||||||
autoComplete="email"
|
|
||||||
autoFocus
|
|
||||||
/>
|
|
||||||
<TextField
|
|
||||||
variant="outlined"
|
|
||||||
margin="normal"
|
|
||||||
required
|
|
||||||
fullWidth
|
|
||||||
name="password"
|
|
||||||
label="Password"
|
|
||||||
type="password"
|
|
||||||
id="password"
|
|
||||||
autoComplete="current-password"
|
|
||||||
/>
|
|
||||||
<FormControlLabel
|
|
||||||
control={<Checkbox value="remember" color="primary" />}
|
|
||||||
label="Remember me"
|
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
type="submit"
|
|
||||||
fullWidth
|
|
||||||
variant="contained"
|
|
||||||
color="primary"
|
|
||||||
className={classes.submit}
|
|
||||||
>
|
|
||||||
Sign In
|
|
||||||
</Button>
|
|
||||||
<Grid container>
|
|
||||||
<Grid item xs>
|
|
||||||
<Link href="#" variant="body2">
|
|
||||||
Forgot password?
|
|
||||||
</Link>
|
|
||||||
</Grid>
|
|
||||||
<Grid item>
|
|
||||||
<Link href="#" variant="body2">
|
|
||||||
{"Don't have an account? Sign Up"}
|
|
||||||
</Link>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
<Box mt={5}>
|
|
||||||
<Copyright />
|
|
||||||
</Box>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "signin",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"private": true,
|
|
||||||
"main": "./index",
|
|
||||||
"author": {
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Don Strawsburg",
|
|
||||||
"email": "don@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sean Strawsburg",
|
|
||||||
"email": "sean@goforward.group",
|
|
||||||
"url": "https://goforward.group/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import styles from "./styles.module.css";
|
|
||||||
class Weather extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
show: true,
|
|
||||||
|
|
||||||
};
|
|
||||||
this.props = {
|
|
||||||
name : '',
|
|
||||||
temperature : '',
|
|
||||||
temperatureUnit : '',
|
|
||||||
detailedForecast : '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<div className="card">
|
|
||||||
<span
|
|
||||||
className="close"
|
|
||||||
onClick={this.props.dataclick}
|
|
||||||
datatitle={this.props.title}
|
|
||||||
>×
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<p>{this.props.name}</p>
|
|
||||||
<p>{this.props.temperature}</p>
|
|
||||||
<p>{this.props.temperatureUnit}</p>
|
|
||||||
<p>{this.props.detailedForecast}</p>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Weather;
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
.card {
|
|
||||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
|
|
||||||
max-width: 80%;
|
|
||||||
margin: auto;
|
|
||||||
text-align: center;
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close {
|
|
||||||
font-size: 1.5em;
|
|
||||||
float: right;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
.cardList {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import ReactDOM from "react-dom";
|
|
||||||
import Weather from "../Weather";
|
|
||||||
|
|
||||||
class WeatherList extends React.Component {
|
|
||||||
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = { periods: [] };
|
|
||||||
}
|
|
||||||
|
|
||||||
remove() {
|
|
||||||
|
|
||||||
}
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{
|
|
||||||
this.state.periods.map((period, index) => {
|
|
||||||
return <Weather
|
|
||||||
key={index}
|
|
||||||
name={period.name}
|
|
||||||
temperature={period.temperature}
|
|
||||||
temperatureUnit={period.temperatureUnit}
|
|
||||||
detailedForecast={period.detailedForecast}
|
|
||||||
dataclick={this.remove}
|
|
||||||
/>
|
|
||||||
})
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
getData() {
|
|
||||||
fetch("https://api.weather.gov/gridpoints/MLB/25,69/forecast")
|
|
||||||
.then(response => response.json())
|
|
||||||
.then(data => this.setState({ periods : data.properties.periods}))
|
|
||||||
.then(data => console.log(data));
|
|
||||||
this.setState({
|
|
||||||
detailedForcast : 'Test Detailed forcast',
|
|
||||||
name : 'Test data',
|
|
||||||
temperature : '90',
|
|
||||||
temperatureUnit : 'Celcius'});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
this.getData();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
export default WeatherList;
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
export default async function Page() {
|
|
||||||
let data = await fetch('https://api.vercel.app/blog')
|
|
||||||
let posts = await data.json()
|
|
||||||
return (
|
|
||||||
<ul>
|
|
||||||
{posts.map((post) => (
|
|
||||||
<li key={post.id}>{post.title}</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Account } from "@db/schema/Account";
|
import { User } from "@db/schema/User";
|
||||||
import { getData } from "@actions/accountActions";
|
import { getData } from "@actions/accountActions";
|
||||||
|
|
||||||
export default async function MyAccountsPage() {
|
export default async function MyAccountsPage() {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { COMPANY_NAME, COMPANY_URL } from '@/src/lib/constants';
|
import constants from '@lib/constants';
|
||||||
import Typography from '@mui/material/Typography';
|
import Typography from '@mui/material/Typography';
|
||||||
import MuiLink from '@mui/material/Link';
|
import MuiLink from '@mui/material/Link';
|
||||||
import styles from './styles.module.css'
|
import styles from './styles.module.css'
|
||||||
@@ -12,8 +12,8 @@ export default class Copyright extends Component {
|
|||||||
return (
|
return (
|
||||||
(<CopyStyled>
|
(<CopyStyled>
|
||||||
<div className="copyright">© {new Date().getFullYear()} {' '}
|
<div className="copyright">© {new Date().getFullYear()} {' '}
|
||||||
<Link href={COMPANY_URL} legacyBehavior>
|
<Link href={constants.COMPANY_NAME} legacyBehavior>
|
||||||
{COMPANY_NAME}
|
{constants.COMPANY_NAME}
|
||||||
</Link>{' '}
|
</Link>{' '}
|
||||||
<span>All Rights Reserved.</span>
|
<span>All Rights Reserved.</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -2,25 +2,12 @@ import React, { Component } from 'react'
|
|||||||
import TypoGraphy from '@mui/material/Typography';
|
import TypoGraphy from '@mui/material/Typography';
|
||||||
import PropTypes from 'prop-types' //ES6
|
import PropTypes from 'prop-types' //ES6
|
||||||
import styles from './styles.module.css';
|
import styles from './styles.module.css';
|
||||||
import constants from '@/src/lib/constants'
|
import constants from '@lib/constants'
|
||||||
import {SITE_CONT_TYPE} from '@/src/lib/constants'
|
import {SITE_CONT_TYPE} from '@lib/constants'
|
||||||
import { useQuery, useMutation, gql } from "@apollo/client";
|
|
||||||
|
|
||||||
export default function Disclosure(props) {
|
export default function Disclosure(props) {
|
||||||
|
|
||||||
const GET_SITE_CONTENT = gql`
|
|
||||||
query Get_Site_Content {
|
|
||||||
site_contents(where: {content_id: {_eq: ${SITE_CONT_TYPE.DISCLOSURE}}}, order_by: {content: asc}) {
|
|
||||||
id
|
|
||||||
content_id
|
|
||||||
content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { loading, error, data } = useQuery(GET_SITE_CONTENT);
|
|
||||||
if (loading) return "Loading ...";
|
|
||||||
if (error) return `Error! ${error.message}`;
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<TypoGraphy paragraph={true} variant="body1" color="inherit" >
|
<TypoGraphy paragraph={true} variant="body1" color="inherit" >
|
||||||
@@ -31,9 +18,7 @@ export default function Disclosure(props) {
|
|||||||
{constants.SITE_NAME} does not accept donations. Instead, income received from affiliate relationships funds site maintenance and feature development. If you desire to donate to PCPartPicker, I kindly ask that you consider donating to a charitable organization instead. I am particularly fond of the NRA, a non-profit organization that provides safety training to gun owners.
|
{constants.SITE_NAME} does not accept donations. Instead, income received from affiliate relationships funds site maintenance and feature development. If you desire to donate to PCPartPicker, I kindly ask that you consider donating to a charitable organization instead. I am particularly fond of the NRA, a non-profit organization that provides safety training to gun owners.
|
||||||
</TypoGraphy>
|
</TypoGraphy>
|
||||||
<div>
|
<div>
|
||||||
{data.site_contents.map((site_content: { content: any; }) => (
|
Content goes here
|
||||||
<span dangerouslySetInnerHTML={{ __html: site_content.content }} />
|
|
||||||
))}
|
|
||||||
</div>
|
</div>
|
||||||
<TypoGraphy paragraph={true} variant="body1" color="inherit" >
|
<TypoGraphy paragraph={true} variant="body1" color="inherit" >
|
||||||
Thanks,
|
Thanks,
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
import { pgTable, integer, varchar, uuid } from "drizzle-orm/pg-core";
|
|
||||||
import { sql } from "drizzle-orm";
|
|
||||||
import { timestamps } from "./helpers/columns.helpers";
|
|
||||||
|
|
||||||
export const Account = pgTable("bal_accounts", {
|
|
||||||
id: integer().primaryKey().generatedAlwaysAsIdentity({ name: "accounts_id_seq", startWith: 1, increment: 1, minValue: 1, maxValue: 2147483647, cache: 1 }),
|
|
||||||
uuid: uuid().defaultRandom().unique(),
|
|
||||||
first_name: varchar({ length: 40 }),
|
|
||||||
last_name: varchar({ length: 40 }),
|
|
||||||
email: varchar({length: 100}),
|
|
||||||
username: varchar({length:50}).notNull().unique(),
|
|
||||||
password_hash: varchar({length:255}).notNull().unique(),
|
|
||||||
|
|
||||||
...timestamps
|
|
||||||
})
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
import { pgTable, integer, varchar, text, decimal, uuid, real, bigserial, date, timestamp, boolean, unique, check } from "drizzle-orm/pg-core";
|
|
||||||
import { sql } from "drizzle-orm";
|
import { sql } from "drizzle-orm";
|
||||||
import { timestamps } from "./helpers/columns.helpers";
|
import { bigserial, boolean, check, date, pgTable, text, timestamp, unique, uuid, varchar } from "drizzle-orm/pg-core";
|
||||||
|
|
||||||
export const users = pgTable("users", {
|
export const User = pgTable("users", {
|
||||||
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
|
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
|
||||||
username: varchar({ length: 50 }).notNull(),
|
username: varchar({ length: 50 }).notNull(),
|
||||||
email: varchar({ length: 255 }).notNull(),
|
email: varchar({ length: 255 }).notNull(),
|
||||||
@@ -18,6 +17,7 @@ export const users = pgTable("users", {
|
|||||||
lastLogin: timestamp("last_login", { mode: 'string' }),
|
lastLogin: timestamp("last_login", { mode: 'string' }),
|
||||||
emailVerified: boolean("email_verified").default(false),
|
emailVerified: boolean("email_verified").default(false),
|
||||||
buildPrivacySetting: text("build_privacy_setting").default('public'),
|
buildPrivacySetting: text("build_privacy_setting").default('public'),
|
||||||
|
uuid: uuid().defaultRandom(),
|
||||||
}, (table) => {
|
}, (table) => {
|
||||||
return {
|
return {
|
||||||
usersUsernameKey: unique("users_username_key").on(table.username),
|
usersUsernameKey: unique("users_username_key").on(table.username),
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { pgTable, integer, varchar, text, numeric, timestamp, uuid, unique, check, bigserial, date, boolean, foreignKey, bigint, index, real, doublePrecision, pgView } from "drizzle-orm/pg-core"
|
import { pgTable, integer, varchar, text, numeric, timestamp, uuid, unique, foreignKey, bigserial, bigint, boolean, index, real, check, date, doublePrecision, pgView } from "drizzle-orm/pg-core"
|
||||||
import { sql } from "drizzle-orm"
|
import { sql } from "drizzle-orm"
|
||||||
|
|
||||||
|
|
||||||
@@ -41,30 +41,6 @@ export const productFeeds = pgTable("product_feeds", {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export const users = pgTable("users", {
|
|
||||||
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
|
|
||||||
username: varchar({ length: 50 }).notNull(),
|
|
||||||
email: varchar({ length: 255 }).notNull(),
|
|
||||||
passwordHash: varchar("password_hash", { length: 255 }).notNull(),
|
|
||||||
firstName: varchar("first_name", { length: 50 }),
|
|
||||||
lastName: varchar("last_name", { length: 50 }),
|
|
||||||
profilePicture: varchar("profile_picture", { length: 255 }),
|
|
||||||
dateOfBirth: date("date_of_birth"),
|
|
||||||
phoneNumber: varchar("phone_number", { length: 20 }),
|
|
||||||
createdAt: timestamp("created_at", { mode: 'string' }).default(sql`CURRENT_TIMESTAMP`),
|
|
||||||
updatedAt: timestamp("updated_at", { mode: 'string' }).default(sql`CURRENT_TIMESTAMP`),
|
|
||||||
isAdmin: boolean("is_admin").default(false),
|
|
||||||
lastLogin: timestamp("last_login", { mode: 'string' }),
|
|
||||||
emailVerified: boolean("email_verified").default(false),
|
|
||||||
buildPrivacySetting: text("build_privacy_setting").default('public'),
|
|
||||||
}, (table) => {
|
|
||||||
return {
|
|
||||||
usersUsernameKey: unique("users_username_key").on(table.username),
|
|
||||||
usersEmailKey: unique("users_email_key").on(table.email),
|
|
||||||
usersBuildPrivacySettingCheck: check("users_build_privacy_setting_check", sql`build_privacy_setting = ANY (ARRAY['private'::text, 'public'::text])`),
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
export const userBuilds = pgTable("user_builds", {
|
export const userBuilds = pgTable("user_builds", {
|
||||||
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
|
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
|
||||||
// You can use { mode: "bigint" } if numbers are exceeding js number limitations
|
// You can use { mode: "bigint" } if numbers are exceeding js number limitations
|
||||||
@@ -309,6 +285,31 @@ export const psa = pgTable("psa", {
|
|||||||
uuid: uuid().defaultRandom(),
|
uuid: uuid().defaultRandom(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const users = pgTable("users", {
|
||||||
|
id: bigserial({ mode: "bigint" }).primaryKey().notNull(),
|
||||||
|
username: varchar({ length: 50 }).notNull(),
|
||||||
|
email: varchar({ length: 255 }).notNull(),
|
||||||
|
passwordHash: varchar("password_hash", { length: 255 }).notNull(),
|
||||||
|
firstName: varchar("first_name", { length: 50 }),
|
||||||
|
lastName: varchar("last_name", { length: 50 }),
|
||||||
|
profilePicture: varchar("profile_picture", { length: 255 }),
|
||||||
|
dateOfBirth: date("date_of_birth"),
|
||||||
|
phoneNumber: varchar("phone_number", { length: 20 }),
|
||||||
|
createdAt: timestamp("created_at", { mode: 'string' }).default(sql`CURRENT_TIMESTAMP`),
|
||||||
|
updatedAt: timestamp("updated_at", { mode: 'string' }).default(sql`CURRENT_TIMESTAMP`),
|
||||||
|
isAdmin: boolean("is_admin").default(false),
|
||||||
|
lastLogin: timestamp("last_login", { mode: 'string' }),
|
||||||
|
emailVerified: boolean("email_verified").default(false),
|
||||||
|
buildPrivacySetting: text("build_privacy_setting").default('public'),
|
||||||
|
uuid: uuid().defaultRandom(),
|
||||||
|
}, (table) => {
|
||||||
|
return {
|
||||||
|
usersUsernameKey: unique("users_username_key").on(table.username),
|
||||||
|
usersEmailKey: unique("users_email_key").on(table.email),
|
||||||
|
usersBuildPrivacySettingCheck: check("users_build_privacy_setting_check", sql`build_privacy_setting = ANY (ARRAY['private'::text, 'public'::text])`),
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
export const lipseycatalog = pgTable("lipseycatalog", {
|
export const lipseycatalog = pgTable("lipseycatalog", {
|
||||||
id: integer().primaryKey().generatedAlwaysAsIdentity({ name: "lipseycatalog_id_seq", startWith: 1, increment: 1, minValue: 1, maxValue: 2147483647, cache: 1 }),
|
id: integer().primaryKey().generatedAlwaysAsIdentity({ name: "lipseycatalog_id_seq", startWith: 1, increment: 1, minValue: 1, maxValue: 2147483647, cache: 1 }),
|
||||||
itemno: varchar({ length: 20 }).notNull(),
|
itemno: varchar({ length: 20 }).notNull(),
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
export type brandType = {
|
|
||||||
id: number;
|
|
||||||
first_name: string;
|
|
||||||
last_name: string;
|
|
||||||
username : string;
|
|
||||||
email: string;
|
|
||||||
password_hash: string;
|
|
||||||
updated_at: Date;
|
|
||||||
created_at: Date;
|
|
||||||
deleted_at: Date;
|
|
||||||
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user