diff --git a/.gitignore b/.gitignore index 74edcfb1..fe3654e5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,7 @@ yarn-error.log **/public/worker-*.js **/public/worker-*.js.map **/public/workbox-*.js -**/public/workbox-*.js.map \ No newline at end of file +**/public/workbox-*.js.map + +# typescript +*.tsbuildinfo \ No newline at end of file diff --git a/components/ContactUsCards.js b/components/ContactUsCards.tsx similarity index 100% rename from components/ContactUsCards.js rename to components/ContactUsCards.tsx diff --git a/components/ContactUsForm/index.js b/components/ContactUsForm/index.tsx similarity index 100% rename from components/ContactUsForm/index.js rename to components/ContactUsForm/index.tsx diff --git a/components/ContactUsForm/styles.js b/components/ContactUsForm/styles.ts similarity index 100% rename from components/ContactUsForm/styles.js rename to components/ContactUsForm/styles.ts diff --git a/components/blog/BlogPostsContainer/index.js b/components/blog/BlogPostsContainer/index.tsx similarity index 100% rename from components/blog/BlogPostsContainer/index.js rename to components/blog/BlogPostsContainer/index.tsx diff --git a/components/blog/BlogPostsContainer/styles.js b/components/blog/BlogPostsContainer/styles.ts similarity index 100% rename from components/blog/BlogPostsContainer/styles.js rename to components/blog/BlogPostsContainer/styles.ts diff --git a/components/blog/SearchBar/index.js b/components/blog/SearchBar/index.tsx similarity index 100% rename from components/blog/SearchBar/index.js rename to components/blog/SearchBar/index.tsx diff --git a/components/blog/SearchBar/styles.js b/components/blog/SearchBar/styles.ts similarity index 100% rename from components/blog/SearchBar/styles.js rename to components/blog/SearchBar/styles.ts diff --git a/components/blog/Tag/index.js b/components/blog/Tag/index.tsx similarity index 100% rename from components/blog/Tag/index.js rename to components/blog/Tag/index.tsx diff --git a/components/blog/Tag/styles.js b/components/blog/Tag/styles.ts similarity index 100% rename from components/blog/Tag/styles.js rename to components/blog/Tag/styles.ts diff --git a/components/buttons/ButtonLink/index.js b/components/buttons/ButtonLink/index.tsx similarity index 100% rename from components/buttons/ButtonLink/index.js rename to components/buttons/ButtonLink/index.tsx diff --git a/components/buttons/ButtonLink/styles.js b/components/buttons/ButtonLink/styles.ts similarity index 100% rename from components/buttons/ButtonLink/styles.js rename to components/buttons/ButtonLink/styles.ts diff --git a/components/buttons/SubmitButton/index.js b/components/buttons/SubmitButton/index.tsx similarity index 100% rename from components/buttons/SubmitButton/index.js rename to components/buttons/SubmitButton/index.tsx diff --git a/components/buttons/SubmitButton/styles.js b/components/buttons/SubmitButton/styles.ts similarity index 100% rename from components/buttons/SubmitButton/styles.js rename to components/buttons/SubmitButton/styles.ts diff --git a/components/containers/Card/AboutUsCard.js b/components/containers/Card/AboutUsCard.tsx similarity index 100% rename from components/containers/Card/AboutUsCard.js rename to components/containers/Card/AboutUsCard.tsx diff --git a/components/containers/Card/BlogCard.js b/components/containers/Card/BlogCard.tsx similarity index 100% rename from components/containers/Card/BlogCard.js rename to components/containers/Card/BlogCard.tsx diff --git a/components/containers/Card/CardInterface.js b/components/containers/Card/CardInterface.tsx similarity index 100% rename from components/containers/Card/CardInterface.js rename to components/containers/Card/CardInterface.tsx diff --git a/components/containers/Card/ContactUsCard.js b/components/containers/Card/ContactUsCard.tsx similarity index 100% rename from components/containers/Card/ContactUsCard.js rename to components/containers/Card/ContactUsCard.tsx diff --git a/components/containers/Card/index.js b/components/containers/Card/index.tsx similarity index 100% rename from components/containers/Card/index.js rename to components/containers/Card/index.tsx diff --git a/components/containers/Card/styles.js b/components/containers/Card/styles.ts similarity index 100% rename from components/containers/Card/styles.js rename to components/containers/Card/styles.ts diff --git a/components/containers/CardColumns/BlogCardsColumns.js b/components/containers/CardColumns/BlogCardsColumns.tsx similarity index 100% rename from components/containers/CardColumns/BlogCardsColumns.js rename to components/containers/CardColumns/BlogCardsColumns.tsx diff --git a/components/containers/CardColumns/CardColumnsInterface.js b/components/containers/CardColumns/CardColumnsInterface.tsx similarity index 100% rename from components/containers/CardColumns/CardColumnsInterface.js rename to components/containers/CardColumns/CardColumnsInterface.tsx diff --git a/components/containers/CardColumns/ContactCardsColumns.js b/components/containers/CardColumns/ContactCardsColumns.tsx similarity index 100% rename from components/containers/CardColumns/ContactCardsColumns.js rename to components/containers/CardColumns/ContactCardsColumns.tsx diff --git a/components/containers/CardColumns/OurGoalsCardsColumns.js b/components/containers/CardColumns/OurGoalsCardsColumns.tsx similarity index 100% rename from components/containers/CardColumns/OurGoalsCardsColumns.js rename to components/containers/CardColumns/OurGoalsCardsColumns.tsx diff --git a/components/containers/CardColumns/index.js b/components/containers/CardColumns/index.tsx similarity index 100% rename from components/containers/CardColumns/index.js rename to components/containers/CardColumns/index.tsx diff --git a/components/containers/CardColumns/styles.js b/components/containers/CardColumns/styles.ts similarity index 100% rename from components/containers/CardColumns/styles.js rename to components/containers/CardColumns/styles.ts diff --git a/components/containers/Container/index.js b/components/containers/Container/index.tsx similarity index 100% rename from components/containers/Container/index.js rename to components/containers/Container/index.tsx diff --git a/components/containers/Container/styles.js b/components/containers/Container/styles.ts similarity index 100% rename from components/containers/Container/styles.js rename to components/containers/Container/styles.ts diff --git a/components/containers/Member/index.js b/components/containers/Member/index.tsx similarity index 100% rename from components/containers/Member/index.js rename to components/containers/Member/index.tsx diff --git a/components/containers/Member/styles.js b/components/containers/Member/styles.ts similarity index 100% rename from components/containers/Member/styles.js rename to components/containers/Member/styles.ts diff --git a/components/containers/RevealContentContainer/index.js b/components/containers/RevealContentContainer/index.tsx similarity index 100% rename from components/containers/RevealContentContainer/index.js rename to components/containers/RevealContentContainer/index.tsx diff --git a/components/containers/RevealContentContainer/styles.js b/components/containers/RevealContentContainer/styles.ts similarity index 100% rename from components/containers/RevealContentContainer/styles.js rename to components/containers/RevealContentContainer/styles.ts diff --git a/components/containers/Row/index.js b/components/containers/Row/index.tsx similarity index 100% rename from components/containers/Row/index.js rename to components/containers/Row/index.tsx diff --git a/components/containers/Row/styles.js b/components/containers/Row/styles.ts similarity index 100% rename from components/containers/Row/styles.js rename to components/containers/Row/styles.ts diff --git a/components/containers/TwoColumn/index.js b/components/containers/TwoColumn/index.tsx similarity index 100% rename from components/containers/TwoColumn/index.js rename to components/containers/TwoColumn/index.tsx diff --git a/components/containers/TwoColumn/styles.js b/components/containers/TwoColumn/styles.ts similarity index 100% rename from components/containers/TwoColumn/styles.js rename to components/containers/TwoColumn/styles.ts diff --git a/components/containers/Wrapper/index.js b/components/containers/Wrapper/index.tsx similarity index 100% rename from components/containers/Wrapper/index.js rename to components/containers/Wrapper/index.tsx diff --git a/components/containers/Wrapper/styles.js b/components/containers/Wrapper/styles.ts similarity index 100% rename from components/containers/Wrapper/styles.js rename to components/containers/Wrapper/styles.ts diff --git a/components/decorations/Bracket.js b/components/decorations/Bracket.tsx similarity index 100% rename from components/decorations/Bracket.js rename to components/decorations/Bracket.tsx diff --git a/components/decorations/Stick.js b/components/decorations/Stick.tsx similarity index 100% rename from components/decorations/Stick.js rename to components/decorations/Stick.tsx diff --git a/components/layout/Footer/index.js b/components/layout/Footer/index.tsx similarity index 100% rename from components/layout/Footer/index.js rename to components/layout/Footer/index.tsx diff --git a/components/layout/Footer/styles.js b/components/layout/Footer/styles.ts similarity index 100% rename from components/layout/Footer/styles.js rename to components/layout/Footer/styles.ts diff --git a/components/layout/Hero/index.js b/components/layout/Hero/index.tsx similarity index 100% rename from components/layout/Hero/index.js rename to components/layout/Hero/index.tsx diff --git a/components/layout/Hero/styles.js b/components/layout/Hero/styles.ts similarity index 100% rename from components/layout/Hero/styles.js rename to components/layout/Hero/styles.ts diff --git a/components/layout/Layout/index.js b/components/layout/Layout/index.tsx similarity index 100% rename from components/layout/Layout/index.js rename to components/layout/Layout/index.tsx diff --git a/components/layout/Layout/styles.js b/components/layout/Layout/styles.ts similarity index 100% rename from components/layout/Layout/styles.js rename to components/layout/Layout/styles.ts diff --git a/components/layout/Meta.js b/components/layout/Meta.tsx similarity index 100% rename from components/layout/Meta.js rename to components/layout/Meta.tsx diff --git a/components/layout/Nav/index.js b/components/layout/Nav/index.tsx similarity index 100% rename from components/layout/Nav/index.js rename to components/layout/Nav/index.tsx diff --git a/components/layout/Nav/styles.js b/components/layout/Nav/styles.ts similarity index 100% rename from components/layout/Nav/styles.js rename to components/layout/Nav/styles.ts diff --git a/components/mailchimp/NewsletterForm/index.js b/components/mailchimp/NewsletterForm/index.tsx similarity index 100% rename from components/mailchimp/NewsletterForm/index.js rename to components/mailchimp/NewsletterForm/index.tsx diff --git a/components/mailchimp/NewsletterForm/styles.js b/components/mailchimp/NewsletterForm/styles.ts similarity index 100% rename from components/mailchimp/NewsletterForm/styles.js rename to components/mailchimp/NewsletterForm/styles.ts diff --git a/components/mailchimp/NewsletterSubscribe.js b/components/mailchimp/NewsletterSubscribe.tsx similarity index 100% rename from components/mailchimp/NewsletterSubscribe.js rename to components/mailchimp/NewsletterSubscribe.tsx diff --git a/components/snippets/BlogSearch.js b/components/snippets/BlogSearch.ts similarity index 100% rename from components/snippets/BlogSearch.js rename to components/snippets/BlogSearch.ts diff --git a/components/snippets/Title.js b/components/snippets/Title.tsx similarity index 100% rename from components/snippets/Title.js rename to components/snippets/Title.tsx diff --git a/hooks/useIntersect.js b/hooks/useIntersect.ts similarity index 100% rename from hooks/useIntersect.js rename to hooks/useIntersect.ts diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index 80cf7480..00000000 --- a/jsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@/components/*": ["components/*"], - "@/styles/*": ["styles/*"], - "@/hooks/*": ["hooks/*"], - "@/utils/*": ["utils/*"] - } - } -} diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 00000000..4f11a03d --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/package.json b/package.json index c38ef2c3..2d5e40e6 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,15 @@ "swiper": "^8.2.2" }, "devDependencies": { + "@types/node": "20.3.1", + "@types/react": "18.2.12", + "@types/react-dom": "18.2.5", "babel-plugin-styled-components": "^2.1.1", "husky": "^8.0.0", "lint-staged": "^13.0.3", "prettier": "^2.7.1", - "prettylint": "^1.0.0" + "prettylint": "^1.0.0", + "typescript": "5.1.3" }, "resolutions": { "styled-components": "^5" diff --git a/pages/404.js b/pages/404.tsx similarity index 100% rename from pages/404.js rename to pages/404.tsx diff --git a/pages/_app.js b/pages/_app.tsx similarity index 100% rename from pages/_app.js rename to pages/_app.tsx diff --git a/pages/_document.js b/pages/_document.tsx similarity index 100% rename from pages/_document.js rename to pages/_document.tsx diff --git a/pages/about.js b/pages/about.tsx similarity index 100% rename from pages/about.js rename to pages/about.tsx diff --git a/pages/api/contact.js b/pages/api/contact.tsx similarity index 100% rename from pages/api/contact.js rename to pages/api/contact.tsx diff --git a/pages/api/register.js b/pages/api/register.tsx similarity index 100% rename from pages/api/register.js rename to pages/api/register.tsx diff --git a/pages/blog/category/[tag].js b/pages/blog/category/[tag].tsx similarity index 100% rename from pages/blog/category/[tag].js rename to pages/blog/category/[tag].tsx diff --git a/pages/blog/category/all.js b/pages/blog/category/all.tsx similarity index 100% rename from pages/blog/category/all.js rename to pages/blog/category/all.tsx diff --git a/pages/blog/index.js b/pages/blog/index.tsx similarity index 100% rename from pages/blog/index.js rename to pages/blog/index.tsx diff --git a/pages/contact.js b/pages/contact.tsx similarity index 100% rename from pages/contact.js rename to pages/contact.tsx diff --git a/pages/index.js b/pages/index.tsx similarity index 100% rename from pages/index.js rename to pages/index.tsx diff --git a/pages/sitemap.xml.js b/pages/sitemap.xml similarity index 100% rename from pages/sitemap.xml.js rename to pages/sitemap.xml diff --git a/public/images/vincent.webp b/public/images/vincent.webp index 8c579162..dfe3f8ca 100644 Binary files a/public/images/vincent.webp and b/public/images/vincent.webp differ diff --git a/styles/_mixins.js b/styles/_mixins.ts similarity index 100% rename from styles/_mixins.js rename to styles/_mixins.ts diff --git a/styles/_variables.js b/styles/_variables.ts similarity index 100% rename from styles/_variables.js rename to styles/_variables.ts diff --git a/styles/pages/contactStyles.js b/styles/pages/contactStyles.ts similarity index 100% rename from styles/pages/contactStyles.js rename to styles/pages/contactStyles.ts diff --git a/styles/pages/homeStyles.js b/styles/pages/homeStyles.ts similarity index 100% rename from styles/pages/homeStyles.js rename to styles/pages/homeStyles.ts diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..d0b034f2 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "noImplicitAny": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "baseUrl": ".", + "paths": { + "@/components/*": ["components/*"], + "@/styles/*": ["styles/*"], + "@/hooks/*": ["hooks/*"], + "@/utils/*": ["utils/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/utils/about.js b/utils/about.ts similarity index 100% rename from utils/about.js rename to utils/about.ts diff --git a/utils/blogCategories.js b/utils/blogCategories.ts similarity index 100% rename from utils/blogCategories.js rename to utils/blogCategories.ts diff --git a/utils/config.js b/utils/config.ts similarity index 100% rename from utils/config.js rename to utils/config.ts diff --git a/utils/hero-options.js b/utils/hero-options.ts similarity index 100% rename from utils/hero-options.js rename to utils/hero-options.ts diff --git a/utils/links.js b/utils/links.ts similarity index 100% rename from utils/links.js rename to utils/links.ts diff --git a/utils/meta.js b/utils/meta.ts similarity index 100% rename from utils/meta.js rename to utils/meta.ts diff --git a/utils/search.js b/utils/search.ts similarity index 100% rename from utils/search.js rename to utils/search.ts diff --git a/yarn.lock b/yarn.lock index 84776813..d4b6b7ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1239,6 +1239,32 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== +"@types/node@20.3.1": + version "20.3.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe" + integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-dom@18.2.5": + version "18.2.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.5.tgz#5c5f13548bda23cd98f50ca4a59107238bfe18f3" + integrity sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@18.2.12": + version "18.2.12" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.12.tgz#95d584338610b78bb9ba0415e3180fb03debdf97" + integrity sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -1246,6 +1272,11 @@ dependencies: "@types/node" "*" +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + "@types/trusted-types@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" @@ -1717,6 +1748,11 @@ css-to-react-native@^3.0.0: css-color-keywords "^1.0.0" postcss-value-parser "^4.0.2" +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -3734,6 +3770,11 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +typescript@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"