feat: Seo improvement #113
@@ -31,6 +31,7 @@
|
|||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-dropzone": "^11.2.1",
|
"react-dropzone": "^11.2.1",
|
||||||
|
"react-helmet": "^6.1.0",
|
||||||
"react-image-crop": "^8.6.6",
|
"react-image-crop": "^8.6.6",
|
||||||
"rich-markdown-editor": "^11.0.2",
|
"rich-markdown-editor": "^11.0.2",
|
||||||
"styled-components": "^5.2.0",
|
"styled-components": "^5.2.0",
|
||||||
|
|||||||
23
web/src/components/Seo/Seo.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
|
|||||||
|
import { Helmet } from 'react-helmet'
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
const Seo = ({ title, description, lang }) => {
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
return (
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<>
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<Helmet
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
htmlAttributes={{
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
lang,
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
}}
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
title={title}
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
titleTemplate={`Cadhub - ${title}`}
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
>
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<meta property="og:locale" content={lang} />
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<meta property="og:title" content={title} />
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<meta property="og:description" content={description} />
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<meta name="description" content={description} />
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
<title>Cadhub - {title}</title>
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
</Helmet>
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
</>
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
)
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
}
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
|
export default Seo
|
||||||
|
Could we remove this react import, please? The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components. Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove right, I will remove
|
|||||||
@@ -3,8 +3,10 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta name="keywords" content="cadhub, app, application, web application, cad, code, code-cad, cad-modeling, community, website, cascade studio, openscad" />
|
||||||
<title>CadHub</title> <!-- to be replaced by react helmet -->
|
<meta property="og:type" content="website" />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||||
<script>
|
<script>
|
||||||
// Install Cascade Studio as a Progressive Web App for Offline Access
|
// Install Cascade Studio as a Progressive Web App for Offline Access
|
||||||
// This needs to be put before ANY HTTP Requests are made, so it can cache them.
|
// This needs to be put before ANY HTTP Requests are made, so it can cache them.
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import CommentCell from 'src/components/CommentCell'
|
import CommentCell from 'src/components/CommentCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const CommentPage = ({ id }) => {
|
const CommentPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Comment" description="Comment page" lang="en-US" />
|
||||||
|
|
||||||
<CommentCell id={id} />
|
<CommentCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import CommentsCell from 'src/components/CommentsCell'
|
import CommentsCell from 'src/components/CommentsCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const CommentsPage = () => {
|
const CommentsPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Comments" description="Comments page" lang="en-US" />
|
||||||
|
|
||||||
<CommentsCell />
|
<CommentsCell />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import EditCommentCell from 'src/components/EditCommentCell'
|
import EditCommentCell from 'src/components/EditCommentCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const EditCommentPage = ({ id }) => {
|
const EditCommentPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Edit comment" description="Edit comment page" lang="en-US" />
|
||||||
|
|
||||||
<EditCommentCell id={id} />
|
<EditCommentCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,11 +2,14 @@ import { useAuth } from '@redwoodjs/auth'
|
|||||||
|
|
||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import Part2Cell from 'src/components/Part2Cell'
|
import Part2Cell from 'src/components/Part2Cell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const EditPart2Page = ({ userName, partTitle }) => {
|
const EditPart2Page = ({ userName, partTitle }) => {
|
||||||
const { currentUser } = useAuth()
|
const { currentUser } = useAuth()
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title={partTitle} description="Edit part page" lang="en-US" />
|
||||||
|
|
||||||
<Part2Cell
|
<Part2Cell
|
||||||
userName={userName}
|
userName={userName}
|
||||||
partTitle={partTitle}
|
partTitle={partTitle}
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import EditPartCell from 'src/components/EditPartCell'
|
import EditPartCell from 'src/components/EditPartCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const EditPartPage = ({ id }) => {
|
const EditPartPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Edit part" description="Edit part page" lang="en-US" />
|
||||||
|
|
||||||
<EditPartCell id={id} />
|
<EditPartCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import EditPartReactionCell from 'src/components/EditPartReactionCell'
|
import EditPartReactionCell from 'src/components/EditPartReactionCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const EditPartReactionPage = ({ id }) => {
|
const EditPartReactionPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo
|
||||||
|
title="Edit part reaction"
|
||||||
|
description="Edit part reaction page"
|
||||||
|
lang="en-US"
|
||||||
|
/>
|
||||||
|
|
||||||
<EditPartReactionCell id={id} />
|
<EditPartReactionCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import EditUser2Cell from 'src/components/EditUser2Cell'
|
import EditUser2Cell from 'src/components/EditUser2Cell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const UserPage = ({ userName }) => {
|
const UserPage = ({ userName }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title={userName} description="Add new part page" lang="en-US" />
|
||||||
|
|
||||||
<EditUser2Cell userName={userName} />
|
<EditUser2Cell userName={userName} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import EditUserCell from 'src/components/EditUserCell'
|
import EditUserCell from 'src/components/EditUserCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const EditUserPage = ({ id }) => {
|
const EditUserPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Edit user" description="Edit user page" lang="en-US" />
|
||||||
|
|
||||||
<EditUserCell id={id} />
|
<EditUserCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,9 +6,12 @@
|
|||||||
// avoid the possibility that it will cause its own error. If it does, Redwood will
|
// avoid the possibility that it will cause its own error. If it does, Redwood will
|
||||||
// still render a generic error page, but your users will prefer something a bit more
|
// still render a generic error page, but your users will prefer something a bit more
|
||||||
// thoughtful. =)
|
// thoughtful. =)
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
export default () => (
|
export default () => (
|
||||||
<main>
|
<main>
|
||||||
|
<Seo title="Fatal error" description="Fatal error" lang="en-US" />
|
||||||
|
|
||||||
<style
|
<style
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import IdePartCell from 'src/components/IdePartCell'
|
import IdePartCell from 'src/components/IdePartCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const IdePartPage = ({ userName, partTitle }) => {
|
const IdePartPage = ({ userName, partTitle }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title={partTitle} description={partTitle} lang="en-US" />
|
||||||
|
|
||||||
<IdePartCell userName={userName} partTitle={partTitle} />
|
<IdePartCell userName={userName} partTitle={partTitle} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import NewComment from 'src/components/NewComment'
|
import NewComment from 'src/components/NewComment'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const NewCommentPage = () => {
|
const NewCommentPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo
|
||||||
|
title="New comment page"
|
||||||
|
description="New comment page"
|
||||||
|
lang="en-US"
|
||||||
|
/>
|
||||||
|
|
||||||
<NewComment />
|
<NewComment />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { navigate, routes } from '@redwoodjs/router'
|
|||||||
|
|
||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import Part2Cell from 'src/components/Part2Cell'
|
import Part2Cell from 'src/components/Part2Cell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const NewPart2Page = ({ userName }) => {
|
const NewPart2Page = ({ userName }) => {
|
||||||
const { isAuthenticated, currentUser } = useAuth()
|
const { isAuthenticated, currentUser } = useAuth()
|
||||||
@@ -12,6 +13,8 @@ const NewPart2Page = ({ userName }) => {
|
|||||||
}, [currentUser])
|
}, [currentUser])
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="New part" description="Add new part page" lang="en-US" />
|
||||||
|
|
||||||
<Part2Cell
|
<Part2Cell
|
||||||
userName={userName}
|
userName={userName}
|
||||||
currentUserId={currentUser?.sub}
|
currentUserId={currentUser?.sub}
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import NewPart from 'src/components/NewPart'
|
import NewPart from 'src/components/NewPart'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const NewPartPage = () => {
|
const NewPartPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="New Part" description="New part page" lang="en-US" />
|
||||||
|
|
||||||
<NewPart />
|
<NewPart />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import NewPartReaction from 'src/components/NewPartReaction'
|
import NewPartReaction from 'src/components/NewPartReaction'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const NewPartReactionPage = () => {
|
const NewPartReactionPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo
|
||||||
|
title="New part reaction"
|
||||||
|
description="New part reaction page"
|
||||||
|
lang="en-US"
|
||||||
|
/>
|
||||||
|
|
||||||
<NewPartReaction />
|
<NewPartReaction />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import NewUser from 'src/components/NewUser'
|
import NewUser from 'src/components/NewUser'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const NewUserPage = () => {
|
const NewUserPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="New user" description="New user page" lang="en-US" />
|
||||||
|
|
||||||
<NewUser />
|
<NewUser />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
export default () => (
|
export default () => (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Page not found" description="404 page not found" lang="en-US" />
|
||||||
|
|
||||||
<style
|
<style
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
|
|||||||
@@ -2,11 +2,14 @@ import { useAuth } from '@redwoodjs/auth'
|
|||||||
|
|
||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import Part2Cell from 'src/components/Part2Cell'
|
import Part2Cell from 'src/components/Part2Cell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const Part2Page = ({ userName, partTitle }) => {
|
const Part2Page = ({ userName, partTitle }) => {
|
||||||
const { currentUser } = useAuth()
|
const { currentUser } = useAuth()
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title={partTitle} description={partTitle} lang="en-US" />
|
||||||
|
|
||||||
<Part2Cell
|
<Part2Cell
|
||||||
userName={userName}
|
userName={userName}
|
||||||
partTitle={partTitle}
|
partTitle={partTitle}
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import PartCell from 'src/components/PartCell'
|
import PartCell from 'src/components/PartCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const PartPage = ({ id }) => {
|
const PartPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Part" description="Part page" lang="en-US" />
|
||||||
|
|
||||||
<PartCell id={id} />
|
<PartCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import PartReactionCell from 'src/components/PartReactionCell'
|
import PartReactionCell from 'src/components/PartReactionCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const PartReactionPage = ({ id }) => {
|
const PartReactionPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo
|
||||||
|
title="Part reaction"
|
||||||
|
description="Part reaction page"
|
||||||
|
lang="en-US"
|
||||||
|
/>
|
||||||
|
|
||||||
<PartReactionCell id={id} />
|
<PartReactionCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import PartReactionsCell from 'src/components/PartReactionsCell'
|
import PartReactionsCell from 'src/components/PartReactionsCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const PartReactionsPage = () => {
|
const PartReactionsPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo
|
||||||
|
title="Part reactions"
|
||||||
|
description="Part reactions page"
|
||||||
|
lang="en-US"
|
||||||
|
/>
|
||||||
|
|
||||||
<PartReactionsCell />
|
<PartReactionsCell />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import PartsCell from 'src/components/PartsCell'
|
import PartsCell from 'src/components/PartsCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const PartsPage = () => {
|
const PartsPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Parts page" description="Cadhub parts page" lang="en-US" />
|
||||||
|
|
||||||
<PartsCell />
|
<PartsCell />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import User2Cell from 'src/components/User2Cell'
|
import User2Cell from 'src/components/User2Cell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const UserPage = ({ userName }) => {
|
const UserPage = ({ userName }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title={userName} description="User page" lang="en-US" />
|
||||||
|
|
||||||
<User2Cell userName={userName} />
|
<User2Cell userName={userName} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import UserCell from 'src/components/UserCell'
|
import UserCell from 'src/components/UserCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const UserPage = ({ id }) => {
|
const UserPage = ({ id }) => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="User" description="User page" lang="en-US" />
|
||||||
|
|
||||||
<UserCell id={id} />
|
<UserCell id={id} />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import MainLayout from 'src/layouts/MainLayout'
|
import MainLayout from 'src/layouts/MainLayout'
|
||||||
import UsersCell from 'src/components/UsersCell'
|
import UsersCell from 'src/components/UsersCell'
|
||||||
|
import Seo from 'src/components/Seo/Seo'
|
||||||
|
|
||||||
const UsersPage = () => {
|
const UsersPage = () => {
|
||||||
return (
|
return (
|
||||||
<MainLayout>
|
<MainLayout>
|
||||||
|
<Seo title="Users" description="Users page" lang="en-US" />
|
||||||
|
|
||||||
<UsersCell />
|
<UsersCell />
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
)
|
)
|
||||||
|
|||||||
17
yarn.lock
@@ -13155,7 +13155,7 @@ react-error-overlay@^6.0.1, react-error-overlay@^6.0.3:
|
|||||||
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108"
|
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108"
|
||||||
integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==
|
integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==
|
||||||
|
|
||||||
react-fast-compare@^3.0.1:
|
react-fast-compare@^3.0.1, react-fast-compare@^3.1.1:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
|
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
|
||||||
integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
|
integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
|
||||||
@@ -13183,6 +13183,16 @@ react-helmet-async@^1.0.2:
|
|||||||
react-fast-compare "^3.0.1"
|
react-fast-compare "^3.0.1"
|
||||||
shallowequal "^1.1.0"
|
shallowequal "^1.1.0"
|
||||||
|
|
||||||
|
react-helmet@^6.1.0:
|
||||||
|
version "6.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.1.0.tgz#a750d5165cb13cf213e44747502652e794468726"
|
||||||
|
integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==
|
||||||
|
dependencies:
|
||||||
|
object-assign "^4.1.1"
|
||||||
|
prop-types "^15.7.2"
|
||||||
|
react-fast-compare "^3.1.1"
|
||||||
|
react-side-effect "^2.1.0"
|
||||||
|
|
||||||
react-hook-form@^6.5.3:
|
react-hook-form@^6.5.3:
|
||||||
version "6.7.1"
|
version "6.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-6.7.1.tgz#58f1ce3ba6b0f3cb05b665a4cc268d0623ea9e1a"
|
resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-6.7.1.tgz#58f1ce3ba6b0f3cb05b665a4cc268d0623ea9e1a"
|
||||||
@@ -13247,6 +13257,11 @@ react-portal@^4.2.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
prop-types "^15.5.8"
|
prop-types "^15.5.8"
|
||||||
|
|
||||||
|
react-side-effect@^2.1.0:
|
||||||
|
version "2.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.1.tgz#66c5701c3e7560ab4822a4ee2742dee215d72eb3"
|
||||||
|
integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==
|
||||||
|
|
||||||
react-sizeme@^2.6.7:
|
react-sizeme@^2.6.7:
|
||||||
version "2.6.12"
|
version "2.6.12"
|
||||||
resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e"
|
resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e"
|
||||||
|
|||||||
Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
Could we remove this react import, please?
The redwood framework does some magic to add react without explicitly importing it. and why there's nothing wrong with importing it anyway, it makes it inconsistent with the rest of the react components.
right, I will remove
right, I will remove