From f62e6e4d3a40cbd1e7f401ce1e5c9dd9cf16e600 Mon Sep 17 00:00:00 2001 From: Vishal Urankar Date: Tue, 2 Jan 2024 12:22:21 +0530 Subject: [PATCH] More features (#74) * update ts config * updates docusaurus to v3 * Update Docusaurus configuration file * install all dependencies * change sidebar from js to ts * add tailwind config * test * add assets, constants and types for project * remove unused files from project * create banner component * create share button component * Add LegacyGateway component * Add Features component * Add ChooseTailcall component * Add Graph component to home page * Add GraphContainer component * Add MoreFeatures component * Add Partners component to display cloud partners' logos * Update Button component props * Add Discover component * Add Footer component * Add chooseTailcall constants * Refactor homepage component * Add ChooseTailcall type definition * Add home page components * Add key prop to ChooseTailcall component * Update import statements for GreaterThanUnderscoreIcon * Fix typo in ChooseTailcall component * Update Features component to include logo prop * Update partner image component names * Update partnerImages and features to use "logo" instead of "Svg" * Update GitHub logo import * Add new icons * Add HeroImage to Banner component * Update ChooseTailcall component styling * Fix styling in Features component * add assets * Add Founder type to index.d.ts * Add founders data to constants file * Add Hero component to About page * Add WhoWeAre component to About page * Add SectionTitle component * Add Founders component * Add about page component * Add AboutPage component * Add new tailwind utility classes for tiny display * Add assets * Add investors to constants file * Remove unused social media icons * Add new components to AboutPage * Add Investors component to About page * Add SocialBuzz component to About page * make hero component responsive * make who we are comp responsive * make founders responsive * make investors section responsive * Make SocialBuzz component responsive * create enterprise page * Add Hero component to enterprise section * Add EnterprisePage component * Add Partners component to EnterprisePage * add assets for enterprise features * Add enterprise features to constants * Add EnterpriseFeatures component to EnterprisePage * Add new tailwind utility classes for tiny display * Add additional enterprise features * Add MoreEnterpriseFeatures component * Add MoreEnterpriseFeatures component * Fix import order in MoreEnterpriseFeatures component * Add check-circle.svg icon * add pricing section * Fetching docs remotely * make enterprise features responsive * Make hero section responsive * make more features section responsive * make pricing section responsive * Add Grid to Footer * use correct font * add correct icon in footer * Add lottie-react package and new components * Add contact page component * Add ContactPage component * Add contact form component * Update package-lock.json and enterprise.tsx * make section responsive * Update Hello component layout * padding fix * Add Link component to Button and update props * Update banner buttons * remove unused assets * Add width prop to Button component * Fix button link in Graph component * Update MoreFeatures component and constants * Add flexbox layout to MoreFeatures component * Update Graph component's title width * Update button links in Discover component * Update GitHub link in Graph component * Fix footer links and grid alignment * Update social media links * Fix spacing in ChooseTailcall component * run counter only when in view * fix git overflow issue * update benchmark links * add key for loop * make home page tablet responsive * minor fixes * minor ui fixes * make about page tablet responsive * make enterprise section tablet responsive * make contact us tablet responsive * Add email and message state variables and update input and textarea elements * Add disabled prop to Button component * Add disabled attribute to Send message button * Fix alignment issue in Banner component * Add Grid component to Hero section * Update Pricing component styles * Design changes for docs * Add CheckCircle icon to MoreEnterpriseFeatures component * Update Graph component with visualizations * Update GraphContainer component * Update Button and Footer bg color * Add check-circle-broken.svg icon * add config section as per design * make section responsive * Update max-width in Discover component * Removed pat token * update url links * fix import statmt * run animation on view * change css for radio button * Add stage selection and send data to Zapier webhook * Add cursor pointer to radio buttons * Fix issue with resetting form fields * Update founder images * Changes in header * Mobile header changes * css changes * modify more features as per design * Update pricing plan buttons with href * Update MoreEnterpriseFeatures component styles and remove duplicate feature * Fix padding and margin in custom.css * minor fixes * Docs change * minor fixes * change file name * Deleted docs * Mobile header changes * Docs search * Commenting out header * remove unused assets * fix constants types * Fix link styling in Footer component * Refactor Button component styles * Refactor partner logo rendering in Partners component * Add useRef hook and animation control * Update Graph component with duration and delay props * Fix logo rendering in Features component * Update ChooseTailcall component * Update "Get Started" button link * Update font size in EnterpriseFeaturesCard * Commented out Investors component * Fix CSS formatting and styles * Update letter spacing in tailwind.config.ts * Update fetchGithubStars function to handle null response * Update ChooseTailcall component styling * minor fixes * Update button href in MoreFeatures component * Fix import statement in SearchBar.js and format copyright text in Footer.tsx * Update Configuration component styles * source docs from locally * bug fixes as per notion doc * Fix Marquee autoFill in Partners component * Update Footer styles * remove console errors by adding react-visibility-sensor * Update MoreFeatures component styling * Update Hello component styling * fix for issues raised by tushar * Github stars being fetched on runtime * Refactor GraphContainer component * update graph numbers * change js files to tsx/ts files * Add hover effect to GithubStarsButton * bug fixes * remove unused hooks * fix ts error * add google analytics for home page load * use js file instead of tsx * use tsx extn * use variable for colors in all places --------- Co-authored-by: Rajat --- docusaurus.config.ts | 6 +- package-lock.json | 586 +++++++++++++++--- package.json | 2 + src/components/about/Founders.tsx | 6 +- src/components/about/Investors.tsx | 4 +- src/components/about/SocialBuzz.tsx | 8 +- src/components/contact/Hello.tsx | 2 +- .../enterprise/EnterpriseFeatures.tsx | 2 +- .../enterprise/MoreEnterpriseFeatures.tsx | 6 +- src/components/enterprise/Pricing.tsx | 2 +- src/components/home/ChooseTailcall.tsx | 2 +- src/components/home/Features.tsx | 2 +- src/components/home/Graph.tsx | 2 + src/components/home/GraphContainer.tsx | 7 +- src/components/home/LegacyGateway.tsx | 2 +- src/components/home/MoreFeatures.tsx | 2 +- src/components/shared/Button.tsx | 6 +- src/components/shared/Footer.tsx | 4 +- src/components/shared/GithubStarsButton.tsx | 10 +- src/css/custom.css | 54 +- src/pages/index.tsx | 9 +- .../Layout/Sidebar/{index.js => index.tsx} | 0 .../Layout/Provider/{index.js => index.tsx} | 0 .../Navbar/Content/{index.js => index.tsx} | 1 - .../PrimaryMenu/{index.js => index.tsx} | 2 +- src/theme/{SearchBar.js => SearchBar.ts} | 0 tailwind.config.ts | 1 + 27 files changed, 598 insertions(+), 130 deletions(-) rename src/theme/DocRoot/Layout/Sidebar/{index.js => index.tsx} (100%) rename src/theme/Layout/Provider/{index.js => index.tsx} (100%) rename src/theme/Navbar/Content/{index.js => index.tsx} (98%) rename src/theme/Navbar/MobileSidebar/PrimaryMenu/{index.js => index.tsx} (90%) rename src/theme/{SearchBar.js => SearchBar.ts} (100%) diff --git a/docusaurus.config.ts b/docusaurus.config.ts index e8c910a083..e53b4696e2 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -4,7 +4,7 @@ import type * as Preset from "@docusaurus/preset-classic" const title = "Tailcall" const organization = "tailcallhq" -const project = "tailcallhq.github.io" +const project = "tailcall" function fetchLatestReleaseTagName(author = "tailcallhq", repo = "tailcall") { console.log(`Fetching latest release tag name from ${author}/${repo}`) @@ -118,11 +118,11 @@ export default async function () { }, docs: { // docRootComponent: require.resolve("./src/components/docs/Layout.tsx"), - sidebarPath: require.resolve("./sidebars.js"), + sidebarPath: require.resolve("./sidebars.ts"), sidebarCollapsible: false, // Please change this to your repo. // Remove this to remove the "edit this page" links. - editUrl: `https://github.com/${organization}/${project}/tree/develop`, + editUrl: `https://github.com/${organization}/${project}/blob/main/`, }, blog: { showReadingTime: true, diff --git a/package-lock.json b/package-lock.json index edf335ed46..5021a2abdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@docusaurus/core": "3.0.0", + "@docusaurus/plugin-google-gtag": "^3.0.1", "@docusaurus/preset-classic": "3.0.0", "@mdx-js/react": "^3.0.0", "autoprefixer": "^10.4.16", @@ -21,6 +22,7 @@ "react-countup": "^6.4.1", "react-dom": "^18.0.0", "react-fast-marquee": "^1.6.2", + "react-ga4": "^2.1.0", "react-on-screen": "^2.1.1", "tailwindcss": "^3.3.5" }, @@ -220,11 +222,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -296,28 +298,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", - "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", - "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.0", - "@babel/parser": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.0", - "@babel/types": "^7.23.0", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -341,11 +343,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -377,13 +379,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -522,9 +524,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -624,9 +626,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -640,9 +642,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -661,22 +663,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", - "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.0", - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -751,9 +753,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -2083,19 +2085,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -2103,11 +2105,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -2663,13 +2665,13 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.0.0.tgz", - "integrity": "sha512-asEKavw8fczUqvXu/s9kG2m1epLnHJ19W6CCCRZEmpnkZUZKiM8rlkDiEmxApwIc2JDDbIMk+Y2TMkJI8mInbQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.0.1.tgz", + "integrity": "sha512-UFTDvXniAWrajsulKUJ1DB6qplui1BlKLQZjX4F7qS/qfJ+qkKqSkhJ/F4VuGQ2JYeZstYb+KaUzUzvaPK1aRQ==", "dependencies": { - "@docusaurus/core": "3.0.0", - "@docusaurus/types": "3.0.0", - "@docusaurus/utils-validation": "3.0.0", + "@docusaurus/core": "3.0.1", + "@docusaurus/types": "3.0.1", + "@docusaurus/utils-validation": "3.0.1", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2681,6 +2683,404 @@ "react-dom": "^18.0.0" } }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/core": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.0.1.tgz", + "integrity": "sha512-CXrLpOnW+dJdSv8M5FAJ3JBwXtL6mhUWxFA8aS0ozK6jBG/wgxERk5uvH28fCeFxOGbAT9v1e9dOMo1X2IEVhQ==", + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/generator": "^7.23.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-react": "^7.22.5", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@babel/runtime-corejs3": "^7.22.6", + "@babel/traverse": "^7.22.8", + "@docusaurus/cssnano-preset": "3.0.1", + "@docusaurus/logger": "3.0.1", + "@docusaurus/mdx-loader": "3.0.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "3.0.1", + "@docusaurus/utils-common": "3.0.1", + "@docusaurus/utils-validation": "3.0.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.5.1", + "autoprefixer": "^10.4.14", + "babel-loader": "^9.1.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.2", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.31.1", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^4.2.2", + "cssnano": "^5.1.15", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "html-minifier-terser": "^7.2.0", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.5.3", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.7.6", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.5", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "url-loader": "^4.1.1", + "webpack": "^5.88.1", + "webpack-bundle-analyzer": "^4.9.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/cssnano-preset": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.0.1.tgz", + "integrity": "sha512-wjuXzkHMW+ig4BD6Ya1Yevx9UJadO4smNZCEljqBoQfIQrQskTswBs7lZ8InHP7mCt273a/y/rm36EZhqJhknQ==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.10", + "postcss": "^8.4.26", + "postcss-sort-media-queries": "^4.4.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/logger": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.0.1.tgz", + "integrity": "sha512-I5L6Nk8OJzkVA91O2uftmo71LBSxe1vmOn9AMR6JRCzYeEBrqneWMH02AqMvjJ2NpMiviO+t0CyPjyYV7nxCWQ==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/mdx-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.0.1.tgz", + "integrity": "sha512-ldnTmvnvlrONUq45oKESrpy+lXtbnTcTsFkOTIDswe5xx5iWJjt6eSa0f99ZaWlnm24mlojcIGoUWNCS53qVlQ==", + "dependencies": { + "@babel/parser": "^7.22.7", + "@babel/traverse": "^7.22.8", + "@docusaurus/logger": "3.0.1", + "@docusaurus/utils": "3.0.1", + "@docusaurus/utils-validation": "3.0.1", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.0.1.tgz", + "integrity": "sha512-plyX2iU1tcUsF46uQ01pAd4JhexR7n0iiQ5MSnBFX6M6NSJgDYdru/i1/YNPKOnQHBoXGLHv0dNT6OAlDWNjrg==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/utils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.0.1.tgz", + "integrity": "sha512-TwZ33Am0q4IIbvjhUOs+zpjtD/mXNmLmEgeTGuRq01QzulLHuPhaBTTAC/DHu6kFx3wDgmgpAlaRuCHfTcXv8g==", + "dependencies": { + "@docusaurus/logger": "3.0.1", + "@svgr/webpack": "^6.5.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/utils-common": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.0.1.tgz", + "integrity": "sha512-W0AxD6w6T8g6bNro8nBRWf7PeZ/nn7geEWM335qHU2DDDjHuV4UZjgUGP1AQsdcSikPrlIqTJJbKzer1lRSlIg==", + "dependencies": { + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/utils-validation": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.0.1.tgz", + "integrity": "sha512-ujTnqSfyGQ7/4iZdB4RRuHKY/Nwm58IIb+41s5tCXOv/MBU2wGAjOHq3U+AEyJ8aKQcHbxvTKJaRchNHYUVUQg==", + "dependencies": { + "@docusaurus/logger": "3.0.1", + "@docusaurus/utils": "3.0.1", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@docusaurus/plugin-google-tag-manager": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.0.0.tgz", @@ -2749,6 +3149,25 @@ "react-dom": "^18.0.0" } }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.0.0.tgz", + "integrity": "sha512-asEKavw8fczUqvXu/s9kG2m1epLnHJ19W6CCCRZEmpnkZUZKiM8rlkDiEmxApwIc2JDDbIMk+Y2TMkJI8mInbQ==", + "dependencies": { + "@docusaurus/core": "3.0.0", + "@docusaurus/types": "3.0.0", + "@docusaurus/utils-validation": "3.0.0", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/@docusaurus/react-loadable": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", @@ -4797,9 +5216,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "funding": [ { "type": "opencollective", @@ -4815,9 +5234,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -4936,9 +5355,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001546", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz", - "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==", + "version": "1.0.30001571", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz", + "integrity": "sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==", "funding": [ { "type": "opencollective", @@ -6344,9 +6763,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.544", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz", - "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==" + "version": "1.4.616", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", + "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -12090,9 +12509,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/nopt": { "version": "1.0.10", @@ -13821,6 +14240,11 @@ "react-dom": ">= 16.8.0 || 18.0.0" } }, + "node_modules/react-ga4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", + "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" + }, "node_modules/react-helmet-async": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", diff --git a/package.json b/package.json index c243c571fb..98623d8b73 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "@docusaurus/core": "3.0.0", + "@docusaurus/plugin-google-gtag": "^3.0.1", "@docusaurus/preset-classic": "3.0.0", "@mdx-js/react": "^3.0.0", "autoprefixer": "^10.4.16", @@ -28,6 +29,7 @@ "react-countup": "^6.4.1", "react-dom": "^18.0.0", "react-fast-marquee": "^1.6.2", + "react-ga4": "^2.1.0", "react-on-screen": "^2.1.1", "tailwindcss": "^3.3.5" }, diff --git a/src/components/about/Founders.tsx b/src/components/about/Founders.tsx index 598e13b5e0..d508c2f41a 100644 --- a/src/components/about/Founders.tsx +++ b/src/components/about/Founders.tsx @@ -45,7 +45,7 @@ const SocialIcon = ({social}) => { @@ -60,7 +60,7 @@ const SocialIcon = ({social}) => { @@ -71,7 +71,7 @@ const SocialIcon = ({social}) => { ) diff --git a/src/components/about/Investors.tsx b/src/components/about/Investors.tsx index 7f55d1df77..91e9a450c8 100644 --- a/src/components/about/Investors.tsx +++ b/src/components/about/Investors.tsx @@ -12,7 +12,7 @@ const Investors = () => {
{
{ return (
-
+
Social & Buzz
@@ -18,7 +18,7 @@ const SocialBuzz = () => { alt="tweet 2" className="rounded-3xl m-2 lg:hidden" style={{ - border: "1px solid #CECECF", + border: "1px solid var(--ifm-color-gray-700)", }} /> @@ -30,7 +30,7 @@ const SocialBuzz = () => { alt="" className=" rounded-3xl m-2" style={{ - border: "1px solid #CECECF", + border: "1px solid var(--ifm-color-gray-700)", }} />
@@ -42,7 +42,7 @@ const SocialBuzz = () => { alt="tweet 2" className="rounded-3xl m-2 lg:block hidden" style={{ - border: "1px solid #CECECF", + border: "1px solid var(--ifm-color-gray-700)", }} />
diff --git a/src/components/contact/Hello.tsx b/src/components/contact/Hello.tsx index ff6dd077c8..bb7e0a01c0 100644 --- a/src/components/contact/Hello.tsx +++ b/src/components/contact/Hello.tsx @@ -65,7 +65,7 @@ const Hello = () => { value={email} onChange={(e) => setEmail(e.target.value)} style={{ - border: "1px solid #CECECF", + border: "1px solid var(--ifm-color-gray-700)", }} className="rounded-lg font-space-grotesk h-11 w-[95%] sm:w-[480px] p-3 text-content-small outline-none focus:border-x-tailCall-light-700" placeholder="you@company.com" diff --git a/src/components/enterprise/EnterpriseFeatures.tsx b/src/components/enterprise/EnterpriseFeatures.tsx index 5aaf5b2f1f..979c6ee523 100644 --- a/src/components/enterprise/EnterpriseFeatures.tsx +++ b/src/components/enterprise/EnterpriseFeatures.tsx @@ -15,7 +15,7 @@ const EnterpriseFeaturesCard = ({feature}: EnterpriseFeaturesCardProps) => {
diff --git a/src/components/enterprise/MoreEnterpriseFeatures.tsx b/src/components/enterprise/MoreEnterpriseFeatures.tsx index c6c4dce466..f99ab66cc5 100644 --- a/src/components/enterprise/MoreEnterpriseFeatures.tsx +++ b/src/components/enterprise/MoreEnterpriseFeatures.tsx @@ -8,7 +8,7 @@ const MoreEnterpriseFeatures = () => {
@@ -25,14 +25,14 @@ const MoreEnterpriseFeatures = () => {
{additionalEnterpriseFeatures.map((feature) => (
{
diff --git a/src/components/home/ChooseTailcall.tsx b/src/components/home/ChooseTailcall.tsx index 5a3d161629..bf21040d3f 100644 --- a/src/components/home/ChooseTailcall.tsx +++ b/src/components/home/ChooseTailcall.tsx @@ -14,7 +14,7 @@ const ChooseTailcall = () => { key={item.id} // TODO: Tailwind border not getting applied style={{ - border: "1px solid #2C2C2C", + border: "1px solid var(--ifm-color-dark-900)", }} >
diff --git a/src/components/home/Features.tsx b/src/components/home/Features.tsx index 3e8fa146a3..6995417fda 100644 --- a/src/components/home/Features.tsx +++ b/src/components/home/Features.tsx @@ -26,7 +26,7 @@ const Feature = ({feature}: FeatureProps) => { className="flex flex-col sm:flex-row p-4 sm:p-10 shadow-xl rounded-[20px] relative sm:ml-0" style={{ backgroundImage: `url(${require("@site/static/images/home/grid.jpg").default})`, - boxShadow: "0px 0px 0px 3px #F3F4F7", + boxShadow: "0px 0px 0px 3px var(--ifm-color-gray-300)", }} >
diff --git a/src/components/home/Graph.tsx b/src/components/home/Graph.tsx index abb8b466f5..22f5e257d1 100644 --- a/src/components/home/Graph.tsx +++ b/src/components/home/Graph.tsx @@ -30,6 +30,7 @@ const Graph = () => { { { +const GraphContainer = ({metricTitle, metricData, metricDesc, visual, delay, duration, start}: GraphContainerProps) => { const lottieRef = useRef() const interactivity: any = { @@ -35,7 +36,7 @@ const GraphContainer = ({metricTitle, metricData, metricDesc, visual, delay, dur return (
@@ -55,7 +56,7 @@ const GraphContainer = ({metricTitle, metricData, metricDesc, visual, delay, dur return ( <> {isVisible ? ( - + ) : null} ) diff --git a/src/components/home/LegacyGateway.tsx b/src/components/home/LegacyGateway.tsx index 9a822bbf71..f247b53900 100644 --- a/src/components/home/LegacyGateway.tsx +++ b/src/components/home/LegacyGateway.tsx @@ -24,7 +24,7 @@ const LegacyGateway = () => {
-
+
{ return (
diff --git a/src/components/shared/Button.tsx b/src/components/shared/Button.tsx index 89fee50c10..fe0e6c332c 100644 --- a/src/components/shared/Button.tsx +++ b/src/components/shared/Button.tsx @@ -20,7 +20,7 @@ const Button = ({title, Icon, theme, onClick, href, width, disabled}: ButtonProp case "light": return { classes: "text-tailCall-dark-500 bg-transparent", - styles: isHovered ? "2px solid #121315" : "1px solid #121315", + styles: isHovered ? "2px solid var(--ifm-color-dark-800)" : "1px solid var(--ifm-color-dark-800)", gridClasses: "absolute inset-0 -z-20 w-full h-full opacity-0 scale-90 group-hover:scale-100 group-hover:opacity-10 transform transition ease-out duration-150", } @@ -28,7 +28,7 @@ const Button = ({title, Icon, theme, onClick, href, width, disabled}: ButtonProp case "dark": return { classes: "text-tailCall-light-100 bg-white border-none", - styles: "2px solid #121315", + styles: "2px solid var(--ifm-color-dark-800)", gridClasses: "absolute inset-0 z-10 w-full h-full opacity-0 scale-90 group-hover:scale-95 group-hover:opacity-100 transform transition ease-out duration-150", } @@ -36,7 +36,7 @@ const Button = ({title, Icon, theme, onClick, href, width, disabled}: ButtonProp case "gray": return { classes: "text-tailCall-dark-100 bg-transparent text-tailCall-light-100", - styles: "2px solid #FFFFFF", + styles: "2px solid var(--ifm-color-white)", gridClasses: "hidden", } diff --git a/src/components/shared/Footer.tsx b/src/components/shared/Footer.tsx index 1401854682..5a63c4bffa 100644 --- a/src/components/shared/Footer.tsx +++ b/src/components/shared/Footer.tsx @@ -43,7 +43,9 @@ const Footer = () => {
-

Copyright © 2023 Tailcall, Inc.

+

+ Copyright © 2023 Tailcall, Inc. +

{socials.map((social) => ( diff --git a/src/components/shared/GithubStarsButton.tsx b/src/components/shared/GithubStarsButton.tsx index 9dc9c8e1d8..9b24549d7e 100644 --- a/src/components/shared/GithubStarsButton.tsx +++ b/src/components/shared/GithubStarsButton.tsx @@ -17,8 +17,16 @@ function GithubIcon() { export default function GithubStarsButton({className}) { const starsCount = useContext(GithubStarsContext) + const [isHovered, setIsHovered] = React.useState(false) + return ( - + setIsHovered(true)} + onMouseLeave={() => setIsHovered(false)} + target="_blank" + className={`${className} header-button header-button-github ${isHovered && "button-grid-bg-github"}`} + > Star {starsCount} diff --git a/src/css/custom.css b/src/css/custom.css index 5e89859a32..32edbdd0dd 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -8,6 +8,22 @@ --ifm-font-family-base: "Space Grotesk", sans-serif; --header-height: 6.5rem; --ifm-navbar-height: 6.5rem; + --ifm-color-yellow: #fdea2e; + --ifm-color-black: #000; + --ifm-color-dark: #323335; + --ifm-color-dark-800: #121315; + --ifm-color-dark-900: #2c2c2c; + --ifm-color-white: #ffffff; + --ifm-color-gray-300: #f3f4f7; + --ifm-color-gray-400: #e4e4e4; + --ifm-color-gray-500: #e5e5e5; + --ifm-color-gray-600: #e7e7e7; + --ifm-color-gray-700: #cececf; + --ifm-color-gray-800: #b6b6b7; + --ifm-color-linkedin: #0a66c2; + --ifm-color-discord: #5865f2; + --ifm-color-white-opacity-15: rgba(255, 255, 255, 0.15); + --ifm-color-black-opacity-05: rgba(0, 0, 0, 0.05); } input[type="radio"] { @@ -36,7 +52,7 @@ input[type="radio"]::before { border-radius: 50%; transform: scale(0); transition: 120ms transform ease-in-out; - box-shadow: inset 16px 16px #fdea2e; + box-shadow: inset 16px 16px var(--ifm-color-yellow); } input[type="radio"]:checked::before { @@ -82,7 +98,7 @@ input[type="radio"]:checked::before { } .menu__link.menu__link--active { - background-color: #fdea2e; + background-color: var(--ifm-color-yellow); color: var(--ifm-color-gray-900); font-weight: var(--ifm-font-weight-bold); } @@ -99,7 +115,7 @@ input[type="radio"]:checked::before { display: flex; align-items: center; height: 3rem; - color: #323335; + color: var(--ifm-color-dark); font-weight: var(--ifm-font-weight-bold); } @@ -109,7 +125,7 @@ input[type="radio"]:checked::before { } .pagination-nav__link { - background: #fdea2e; + background: var(--ifm-color-yellow); border: none; border-radius: 16px; } @@ -120,7 +136,7 @@ input[type="radio"]:checked::before { .pagination-nav__sublabel { display: flex; - color: #323335; + color: var(--ifm-color-dark); line-height: 1; align-items: center; } @@ -139,7 +155,7 @@ input[type="radio"]:checked::before { .pagination-nav__link--next .pagination-nav__sublabel:after { content: ""; - color: #323335; + color: var(--ifm-color-dark); background: url("../../static/icons/basic/arrow-right.svg") no-repeat; width: 0.7rem; height: 0.7rem; @@ -151,7 +167,7 @@ input[type="radio"]:checked::before { .pagination-nav__link--prev .pagination-nav__sublabel:before { content: ""; background: url("../../static/icons/basic/arrow-left.svg") no-repeat; - color: #323335; + color: var(--ifm-color-dark); width: 0.7rem; height: 0.7rem; margin-right: 0.5rem; @@ -198,7 +214,7 @@ input[type="radio"]:checked::before { } .navbar { - box-shadow: #e7e7e7 0 0 0 1px; + box-shadow: var(--ifm-color-gray-600) 0 0 0 1px; height: var(--header-height); } @@ -230,7 +246,7 @@ input[type="radio"]:checked::before { } .navbar__item.navbar__link.navbar__link--active { - background-color: #fdea2e; + background-color: var(--ifm-color-yellow); color: var(--ifm-color-gray-900); border-radius: 6px; } @@ -322,7 +338,7 @@ aside.theme-doc-sidebar-container { .navbar__search input { width: 100%; border-radius: 8px; - border: 1px solid #b6b6b7; + border: 1px solid var(--ifm-color-gray-800); background-color: transparent; height: 44px; outline: 0; @@ -354,15 +370,15 @@ nav.menu { } .grid-bg-section { - background-image: linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px), - linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px); + background-image: linear-gradient(var(--ifm-color-black-opacity-05) 1px, transparent 1px), + linear-gradient(90deg, var(--ifm-color-black-opacity-05) 1px, transparent 1px); background-size: 52px 52px; clip-path: inset(0.5rem 0 1rem 0); } .button-grid-bg-section { - background-image: linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 2px), - linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 2px); + background-image: linear-gradient(var(--ifm-color-white-opacity-15) 1px, transparent 2px), + linear-gradient(90deg, var(--ifm-color-white-opacity-15) 1px, transparent 2px); background-size: 20px 20px; clip-path: inset(0.2rem); position: absolute; @@ -370,13 +386,19 @@ nav.menu { } .button-grid-bg-section-dark { - background-image: linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 2px), - linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 2px); + background-image: linear-gradient(var(--ifm-color-black-opacity-05) 1px, transparent 2px), + linear-gradient(90deg, var(--ifm-color-black-opacity-05) 1px, transparent 2px); background-size: 20px 20px; position: absolute; border-radius: 20px; } +.button-grid-bg-github { + background-image: linear-gradient(var(--ifm-color-black-opacity-05) 1px, transparent 2px), + linear-gradient(90deg, var(--ifm-color-black-opacity-05) 1px, transparent 2px); + background-size: 20px 20px; +} + @media (max-width: 996px) { .grid-bg-section { background-size: 40px 40px; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 07ca3bebe3..2cb7ae9e5e 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,11 +1,18 @@ -import React from "react" +import React, {useEffect} from "react" import Layout from "@theme/Layout" +import ReactGA from "react-ga4" import HomePage from "../components/home" +ReactGA.initialize("G-JEP3QDWT0G") + export default function Home(): JSX.Element { const isDevelopment = process.env.NODE_ENV === "development" + useEffect(() => { + ReactGA.send({hitType: "pageview", page: window.location.pathname, title: "Home Page"}) + }, []) + return ( diff --git a/src/theme/DocRoot/Layout/Sidebar/index.js b/src/theme/DocRoot/Layout/Sidebar/index.tsx similarity index 100% rename from src/theme/DocRoot/Layout/Sidebar/index.js rename to src/theme/DocRoot/Layout/Sidebar/index.tsx diff --git a/src/theme/Layout/Provider/index.js b/src/theme/Layout/Provider/index.tsx similarity index 100% rename from src/theme/Layout/Provider/index.js rename to src/theme/Layout/Provider/index.tsx diff --git a/src/theme/Navbar/Content/index.js b/src/theme/Navbar/Content/index.tsx similarity index 98% rename from src/theme/Navbar/Content/index.js rename to src/theme/Navbar/Content/index.tsx index dce1528cb2..bbf2b38808 100644 --- a/src/theme/Navbar/Content/index.js +++ b/src/theme/Navbar/Content/index.tsx @@ -25,7 +25,6 @@ function NavbarItems({items}) { `A theme navbar item failed to render. Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: ${JSON.stringify(item, null, 2)}`, - {cause: error}, ) } > diff --git a/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js b/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx similarity index 90% rename from src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js rename to src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx index 136807835e..9135ea3717 100644 --- a/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +++ b/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx @@ -16,7 +16,7 @@ export default function NavbarMobilePrimaryMenu() { return (
    {items.map((item, i) => ( - mobileSidebar.toggle()} key={i} /> + mobileSidebar.toggle()} key={i} /> ))}
  • diff --git a/src/theme/SearchBar.js b/src/theme/SearchBar.ts similarity index 100% rename from src/theme/SearchBar.js rename to src/theme/SearchBar.ts diff --git a/tailwind.config.ts b/tailwind.config.ts index 46a4beee68..bf1ee045ff 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -12,6 +12,7 @@ module.exports = { 400: "#CECECF", 500: "#B6B6B7", 600: "#858586", + 700: "#B4B4B4", }, dark: { 100: "#545556",