From d9d031697ffb9beeb6f53d7edf5af2fc53ba89a4 Mon Sep 17 00:00:00 2001 From: Spandan Barve Date: Wed, 13 Sep 2023 17:19:04 +0530 Subject: [PATCH 01/76] Initialized Tailwind & added tailwind config --- website/index.html | 2 + website/package-lock.json | 682 ++++++++++++++++++++++++- website/package.json | 3 + website/postcss.config.js | 6 + website/src/assets/styles/index.css | 1 + website/src/assets/styles/tailwind.css | 3 + website/tailwind.config.js | 8 + 7 files changed, 684 insertions(+), 21 deletions(-) create mode 100644 website/postcss.config.js create mode 100644 website/src/assets/styles/index.css create mode 100644 website/src/assets/styles/tailwind.css create mode 100644 website/tailwind.config.js diff --git a/website/index.html b/website/index.html index 37428fcec..90bdaecf3 100644 --- a/website/index.html +++ b/website/index.html @@ -43,6 +43,8 @@ href="./src/assets/favicon.png" type="image/png" /> + +
diff --git a/website/package-lock.json b/website/package-lock.json index c0e2ebbdd..555167b72 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -28,10 +28,13 @@ "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "@vitejs/plugin-react": "^4.0.0", + "autoprefixer": "^10.4.15", "eslint": "^8.38.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.3.4", + "postcss": "^8.4.29", + "tailwindcss": "^3.3.3", "vite": "^4.4.6", "vite-plugin-env-compatible": "^1.1.1" } @@ -45,6 +48,18 @@ "node": ">=0.10.0" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -1421,6 +1436,25 @@ "node": ">=4" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", @@ -1532,6 +1566,43 @@ "get-intrinsic": "^1.1.3" } }, + "node_modules/autoprefixer": { + "version": "10.4.15", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", + "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -1549,6 +1620,15 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/boxen": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", @@ -1590,10 +1670,22 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "funding": [ { "type": "opencollective", @@ -1609,9 +1701,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", "update-browserslist-db": "^1.0.11" }, "bin": { @@ -1662,10 +1754,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001509", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz", - "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==", + "version": "1.0.30001534", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz", + "integrity": "sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==", "funding": [ { "type": "opencollective", @@ -1772,6 +1873,45 @@ "node": ">=8" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/cli-boxes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", @@ -1812,6 +1952,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -1897,6 +2046,18 @@ "node": ">= 8" } }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", @@ -2055,6 +2216,18 @@ "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-4.0.1.tgz", "integrity": "sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==" }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2084,9 +2257,9 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/electron-to-chromium": { - "version": "1.4.446", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.446.tgz", - "integrity": "sha512-4Gnw7ztEQ/E0eOt5JWfPn9jjeupfUlKoeW5ETKP9nLdWj+4spFoS3Stj19fqlKIaX28UQs0fNX+uKEyoLCBnkw==" + "version": "1.4.518", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.518.tgz", + "integrity": "sha512-eqbfyW9i/en/qgIPsddW+cuxQvjq3KZmfH+/gc3f/gnynYj0qxee0yRmll69W0SGwiVD+goeU1J9LT6zDHDzlg==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -2580,6 +2753,34 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -2621,6 +2822,18 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2665,6 +2878,19 @@ "is-callable": "^1.1.3" } }, + "node_modules/fraction.js": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3029,6 +3255,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -3058,9 +3296,9 @@ } }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3139,6 +3377,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -3290,6 +3537,15 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3369,6 +3625,21 @@ "node": ">= 0.8.0" } }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3419,6 +3690,28 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -3478,6 +3771,17 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", @@ -3511,9 +3815,27 @@ } }, "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + "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==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/npm-run-path": { "version": "4.0.1", @@ -3534,6 +3856,15 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -3779,10 +4110,28 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", + "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", "dev": true, "funding": [ { @@ -3807,6 +4156,126 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-import/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -3994,6 +4463,27 @@ "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", @@ -4449,6 +4939,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -4493,12 +5025,87 @@ "node": ">= 4.7.0" } }, + "node_modules/tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -4507,6 +5114,24 @@ "node": ">=4" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4613,6 +5238,12 @@ "node": ">=6" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/uuid": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", @@ -4817,6 +5448,15 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, + "node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/website/package.json b/website/package.json index 388801cda..258129774 100644 --- a/website/package.json +++ b/website/package.json @@ -31,10 +31,13 @@ "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", "@vitejs/plugin-react": "^4.0.0", + "autoprefixer": "^10.4.15", "eslint": "^8.38.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.3.4", + "postcss": "^8.4.29", + "tailwindcss": "^3.3.3", "vite": "^4.4.6", "vite-plugin-env-compatible": "^1.1.1" } diff --git a/website/postcss.config.js b/website/postcss.config.js new file mode 100644 index 000000000..2e7af2b7f --- /dev/null +++ b/website/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/website/src/assets/styles/index.css b/website/src/assets/styles/index.css new file mode 100644 index 000000000..2d5c9224f --- /dev/null +++ b/website/src/assets/styles/index.css @@ -0,0 +1 @@ +@import url('./tailwind.css'); \ No newline at end of file diff --git a/website/src/assets/styles/tailwind.css b/website/src/assets/styles/tailwind.css new file mode 100644 index 000000000..bd6213e1d --- /dev/null +++ b/website/src/assets/styles/tailwind.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; \ No newline at end of file diff --git a/website/tailwind.config.js b/website/tailwind.config.js new file mode 100644 index 000000000..614c86b48 --- /dev/null +++ b/website/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [], +}; From 9cb43d8fb59c76571484a6e68dff99d968494d34 Mon Sep 17 00:00:00 2001 From: Spandan Barve Date: Wed, 13 Sep 2023 21:05:35 +0530 Subject: [PATCH 02/76] initial tailwind config - font moved to index.css - declared variables in tailwind config - declared font in tailwind config - added default styling to base layer - defined themes - default and dark --- website/src/assets/styles/index.css | 5 +++- website/src/assets/styles/tailwind.css | 34 +++++++++++++++++++++++++- website/src/index.css | 13 ---------- website/tailwind.config.js | 28 ++++++++++++++++++++- 4 files changed, 64 insertions(+), 16 deletions(-) diff --git a/website/src/assets/styles/index.css b/website/src/assets/styles/index.css index 2d5c9224f..2ce6c343f 100644 --- a/website/src/assets/styles/index.css +++ b/website/src/assets/styles/index.css @@ -1 +1,4 @@ -@import url('./tailwind.css'); \ No newline at end of file +@import url('./tailwind.css'); + +/* Raleway font */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,1;0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,1;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000&display=swap"); diff --git a/website/src/assets/styles/tailwind.css b/website/src/assets/styles/tailwind.css index bd6213e1d..d106e55ca 100644 --- a/website/src/assets/styles/tailwind.css +++ b/website/src/assets/styles/tailwind.css @@ -1,3 +1,35 @@ @tailwind base; @tailwind components; -@tailwind utilities; \ No newline at end of file +@tailwind utilities; + +@layer base { + /* setting default background, text color and font */ + html { + @apply bg-background text-front font-opensans scroll-smooth; + } + + /* removing any margin and padding from body for future updates to tailwind base */ + body { + @apply m-0 p-0; + } + + /* Declaring Themes */ + :root { + --color-primary: 231 112 2; + --color-secondary: ; + --color-accent: 255 205 2; + --color-foreground: 26 26 26; + --color-background: 255 255 255; + --color-front: 26 26 26; + --color-back: 255 255 255; + } + :root[data-theme="dark"] { + --color-primary: 231 112 2; + --color-secondary: ; + --color-accent: 255 205 2; + --color-foreground: 255 255 255; + --color-background: 26 26 26; + --color-front: 255 255 255; + --color-back: 26 26 26; + } +} diff --git a/website/src/index.css b/website/src/index.css index 41526f0c1..586b0bac1 100644 --- a/website/src/index.css +++ b/website/src/index.css @@ -14,19 +14,6 @@ See the License for the specific language governing permissions and limitations under the License. */ -@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap'); -*, -body { - box-sizing: border-box; - margin: 0; - padding: 0; - - font-family: 'Open Sans', sans-serif; -} -body{ - background-color: var(--background-color); - color: var(--font-color); -} /*Basic class*/ .flex, diff --git a/website/tailwind.config.js b/website/tailwind.config.js index 614c86b48..f3b3e8829 100644 --- a/website/tailwind.config.js +++ b/website/tailwind.config.js @@ -2,7 +2,33 @@ export default { content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], theme: { - extend: {}, + extend: { + colors: { + primary: "rgb(var(--color-primary) / )", + secondary: "rgb(var(--color-secondary) / )", + accent: "rgb(var(--color-accent) / )", + foreground: "rgb(var(--color-foreground) / )", + background: "rgb(var(--color-background) / )", + front: "rgb(var(--color-front) / )", + back: "rgb(var(--color-back) / )", + }, + screens: { + mobile: { max: "780px" }, + widescreen: { min: "780px" }, + }, + fontFamily: { + opensans: '"Open Sans", sans-serif', + }, + borderRadius: { + inherit: "inherit", + }, + transitionDuration: { + inherit: "inherit", + }, + zIndex: { + 1: 1, + }, + }, }, plugins: [], }; From 5667987c986941ea444faad0e8e8e8f776d6bc5a Mon Sep 17 00:00:00 2001 From: Spandan Barve Date: Wed, 13 Sep 2023 21:22:09 +0530 Subject: [PATCH 03/76] added utility class p-page - can be used to add the default page margin --- website/src/assets/styles/tailwind.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/website/src/assets/styles/tailwind.css b/website/src/assets/styles/tailwind.css index d106e55ca..0cf5fffa1 100644 --- a/website/src/assets/styles/tailwind.css +++ b/website/src/assets/styles/tailwind.css @@ -33,3 +33,9 @@ --color-back: 26 26 26; } } + +@layer utilities { + .p-page { + @apply px-[8vw]; + } +} From 3ebf4ce919a1a59e1e5112176c39bcfb3d18b4f8 Mon Sep 17 00:00:00 2001 From: Spandan Barve Date: Thu, 14 Sep 2023 11:18:10 +0530 Subject: [PATCH 04/76] Added tailwind-merge for merging classnames - in accordance with tailwindCss --- website/package-lock.json | 10 ++++++++++ website/package.json | 1 + 2 files changed, 11 insertions(+) diff --git a/website/package-lock.json b/website/package-lock.json index 555167b72..9e0c14fec 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -22,6 +22,7 @@ "react-spinners": "^0.13.8", "serve": "^14.2.0", "swiper": "^9.4.1", + "tailwind-merge": "^1.14.0", "uuid": "^9.0.0" }, "devDependencies": { @@ -5025,6 +5026,15 @@ "node": ">= 4.7.0" } }, + "node_modules/tailwind-merge": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", + "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, "node_modules/tailwindcss": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", diff --git a/website/package.json b/website/package.json index 258129774..2f66e420a 100644 --- a/website/package.json +++ b/website/package.json @@ -25,6 +25,7 @@ "react-spinners": "^0.13.8", "serve": "^14.2.0", "swiper": "^9.4.1", + "tailwind-merge": "^1.14.0", "uuid": "^9.0.0" }, "devDependencies": { From 5e0ee03caddd8b4949965e3a437ee8f231cea544 Mon Sep 17 00:00:00 2001 From: Spandan Barve Date: Thu, 14 Sep 2023 16:10:41 +0530 Subject: [PATCH 05/76] Replaced 'Header' with 'Navbar' and migrated to tailwindCSS --- website/public/logo.png | Bin 0 -> 80297 bytes website/src/assets/styles/tailwind.css | 4 +- .../PreviousExecutions/previousexe.css | 5 - website/src/components/header/Navbar.jsx | 89 ++++++++++++++++++ website/src/pages/Layout.jsx | 5 +- website/tailwind.config.js | 1 + 6 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 website/public/logo.png create mode 100644 website/src/components/header/Navbar.jsx diff --git a/website/public/logo.png b/website/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7978c28eaa4af31fead53af1a3da3debaba83f2d GIT binary patch literal 80297 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 CxMGz6 literal 0 HcmV?d00001 diff --git a/website/src/assets/styles/tailwind.css b/website/src/assets/styles/tailwind.css index 0cf5fffa1..1219ff1d3 100644 --- a/website/src/assets/styles/tailwind.css +++ b/website/src/assets/styles/tailwind.css @@ -28,7 +28,7 @@ --color-secondary: ; --color-accent: 255 205 2; --color-foreground: 255 255 255; - --color-background: 26 26 26; + --color-background: 0 0 0; --color-front: 255 255 255; --color-back: 26 26 26; } @@ -36,6 +36,6 @@ @layer utilities { .p-page { - @apply px-[8vw]; + @apply px-[5vw]; } } diff --git a/website/src/components/StatusComponents/PreviousExecutions/previousexe.css b/website/src/components/StatusComponents/PreviousExecutions/previousexe.css index 25e68e379..cc7254705 100644 --- a/website/src/components/StatusComponents/PreviousExecutions/previousexe.css +++ b/website/src/components/StatusComponents/PreviousExecutions/previousexe.css @@ -23,11 +23,6 @@ limitations under the License. align-items: center; } -a { - text-decoration: none; - color: #e77002; -} - .spanStatus { padding: 3px 20px; border-radius: 20px; diff --git a/website/src/components/header/Navbar.jsx b/website/src/components/header/Navbar.jsx new file mode 100644 index 000000000..4142994a5 --- /dev/null +++ b/website/src/components/header/Navbar.jsx @@ -0,0 +1,89 @@ +/* +Copyright 2023 The Vitess Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React, { useState, useEffect, useContext } from "react"; +import { Link, NavLink } from "react-router-dom"; +import { twMerge } from "tailwind-merge"; + +const navItems = [ + { to: "/status", title: "Status" }, + { to: "/daily", title: "Daily" }, + { to: "/compare", title: "Compare" }, + { to: "/search", title: "Search" }, + { to: "/micro", title: "Micro" }, + { to: "/macro", title: "Macro" }, + { to: "/pr", title: "PR" }, +]; + +export default function Navbar() { + const [theme, setTheme] = useState("default"); + const [hideBackground, setHideBackground] = useState(true); + + function toggleTheme() { + setTheme((t) => (t === "default" ? "dark" : "default")); + } + + useEffect(() => { + document.documentElement.setAttribute("data-theme", theme); + }, [theme]); + + useEffect(() => { + // Set dark mode if user has set preference manually + const darkColorPreference = window.matchMedia( + "(prefers-color-scheme: dark)" + ); + if (darkColorPreference.matches) { + setTheme("dark"); + } + }, []); + + return ( +
+ + logo +

arewefastyet

+ + +
+ {navItems.map((item, key) => ( + + twMerge( + "text-lg", + isPending + ? "pointer-events-none opacity-50" + : isActive + ? "text-primary" + : "" + ) + } + > + {item.title} + + ))} +
+ +
+ +
+
+ ); +} diff --git a/website/src/pages/Layout.jsx b/website/src/pages/Layout.jsx index ab905679c..5732215c9 100644 --- a/website/src/pages/Layout.jsx +++ b/website/src/pages/Layout.jsx @@ -17,13 +17,14 @@ limitations under the License. import React from "react"; import { Outlet } from "react-router-dom"; import { AppProvider } from "../AppContext"; -import Header from "../components/header/Header"; +import Navbar from "../components/header/Navbar"; import Footer from "../components/footer/Footer"; +import Header from "../components/header/Header"; const Layout = () => { return ( -
+