diff --git a/backend/.gitignore b/backend/.gitignore index 4d29575..62fb33b 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -21,3 +21,4 @@ npm-debug.log* yarn-debug.log* yarn-error.log* +mynotes.md diff --git a/ui/.eslintrc b/ui/.eslintrc deleted file mode 100644 index edc41d5..0000000 --- a/ui/.eslintrc +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = { - env: { - commonjs: true, - node: true, - browser: true, - es6: true, - jest: true, - }, - extends: ["eslint:recommended", "plugin:react/recommended"], - globals: {}, - parser: "babel-eslint", - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - ecmaVersion: 2018, - sourceType: "module", - }, - plugins: ["react", "import", "react-hooks"], - ignorePatterns: ["node_modules/"], - rules: {}, - settings: { - react: { - version: "latest", // "detect" automatically picks the version you have installed. - }, - }, -}; \ No newline at end of file diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js new file mode 100644 index 0000000..479eedd --- /dev/null +++ b/ui/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + "extends": [ + "react-app", + "react-app/jest" + ] +} \ No newline at end of file diff --git a/ui/package-lock.json b/ui/package-lock.json index b68a7aa..4144722 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -16,6 +16,7 @@ "eslint": "^8.17.0", "react": "^18.1.0", "react-dom": "^18.1.0", + "react-router-dom": "^6.3.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, @@ -8370,6 +8371,14 @@ "he": "bin/he" } }, + "node_modules/history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "dependencies": { + "@babel/runtime": "^7.7.6" + } + }, "node_modules/hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -13339,6 +13348,30 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "dependencies": { + "history": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "dependencies": { + "history": "^5.2.0", + "react-router": "6.3.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", @@ -22692,6 +22725,14 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, + "history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, "hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -26228,6 +26269,23 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" }, + "react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "requires": { + "history": "^5.2.0" + } + }, + "react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "requires": { + "history": "^5.2.0", + "react-router": "6.3.0" + } + }, "react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/ui/package.json b/ui/package.json index 2bd3e77..8594e9f 100644 --- a/ui/package.json +++ b/ui/package.json @@ -11,6 +11,7 @@ "eslint": "^8.17.0", "react": "^18.1.0", "react-dom": "^18.1.0", + "react-router-dom": "^6.3.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, @@ -19,6 +20,7 @@ "build": "react-scripts build --mode=production", "test-watch": "react-scripts test --coverage", "test": "react-scripts test --watchAll=false", + "update-test": "react-scripts test -- -u", "eject": "react-scripts eject", "ci: lighthouse": "lhci autorun" }, diff --git a/ui/src/App.js b/ui/src/App.js index f27d3bf..c99d885 100644 --- a/ui/src/App.js +++ b/ui/src/App.js @@ -1,18 +1,10 @@ -import Dashboard from "./Components/Dashboard/Dashboard"; -import Footer from "./Components/Footer/Footer"; -import { FEATURE_FLAGS, FEATURE_FLAGS_HEADERS} from "./Mock/featureFlags"; +import RootRoute from './Routes/Route'; function App() { return ( -
- -
+ <> + + ); } diff --git a/ui/src/Components/Dashboard/Table/TableHeader/TableHeader.js b/ui/src/Components/Dashboard/Table/TableHeader/TableHeader.js index 36a2c29..8402fc3 100644 --- a/ui/src/Components/Dashboard/Table/TableHeader/TableHeader.js +++ b/ui/src/Components/Dashboard/Table/TableHeader/TableHeader.js @@ -1,4 +1,3 @@ -import PreviousMap from "postcss/lib/previous-map"; import { camelCaseToNormal } from "../../../../Utils/helpers"; import SortCursor from "./SortCursor"; import { TABLE } from "../../../../Constant/constant"; diff --git a/ui/src/Components/Footer/Footer.js b/ui/src/Components/Footer/Footer.js index 5cddd7a..dd336bd 100644 --- a/ui/src/Components/Footer/Footer.js +++ b/ui/src/Components/Footer/Footer.js @@ -4,8 +4,8 @@ export default function Footer(){ return( ) } \ No newline at end of file diff --git a/ui/src/Components/Header/Header.js b/ui/src/Components/Header/Header.js index 1bccf30..0b92259 100644 --- a/ui/src/Components/Header/Header.js +++ b/ui/src/Components/Header/Header.js @@ -11,7 +11,7 @@ export default function Header({ user }) { />

- {user.github_display_name} + {user.github_display_name}

+ +
+ +
+

+ Docs +

+
+
+ + +`; diff --git a/ui/src/test/__snapshots__/Footer.test.js.snap b/ui/src/test/__snapshots__/Footer.test.js.snap index 1a85d09..4c34c87 100644 --- a/ui/src/test/__snapshots__/Footer.test.js.snap +++ b/ui/src/test/__snapshots__/Footer.test.js.snap @@ -12,13 +12,13 @@ exports[`Footer component Should match the snapshot 1`] = ` RDS Website Discord server diff --git a/ui/src/test/__snapshots__/Home.test.js.snap b/ui/src/test/__snapshots__/Home.test.js.snap new file mode 100644 index 0000000..4f07ce6 --- /dev/null +++ b/ui/src/test/__snapshots__/Home.test.js.snap @@ -0,0 +1,299 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` component should match snapshot 1`] = ` +
+
+ +

+ Pallab Sonowal +

+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Feature Flag + +
+
+ Repository + +
+
+
+
+
+
+ Created At + +
+
+
+
+
+ Enabled +
+ + Dark Mode + + + + Member Site + + + + 1657868257983 + + + +
+ + Cloudinary + + + + Welcome Site + + + + 1657868057983 + + + +
+ + Get Intro + + + + Member Site + + + + 1657868240983 + + + +
+
+
+ +
+`; diff --git a/ui/src/test/__snapshots__/Sdk.test.js.snap b/ui/src/test/__snapshots__/Sdk.test.js.snap new file mode 100644 index 0000000..db05227 --- /dev/null +++ b/ui/src/test/__snapshots__/Sdk.test.js.snap @@ -0,0 +1,111 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` component snapshot should match 1`] = ` +
+
+ +

+ Pallab Sonowal +

+ +
+
+ +
+

+ Sdk +

+
+
+ +
+`;