From 3fd2c7ac5faf5b421cd168b569946045cc1b9638 Mon Sep 17 00:00:00 2001 From: Madhav Dua Date: Mon, 24 Jun 2024 11:56:02 +0530 Subject: [PATCH 1/5] added contribution card --- package-lock.json | 91 ++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/App.jsx | 5 ++- src/ContributorDetail.jsx | 11 +++++ src/pages/Contributor.css | 54 ++++++++++++++++++++++ src/pages/Contributors.jsx | 42 +++++++++++++++++- src/pages/Contricard.jsx | 32 ++++++++++++++ 7 files changed, 234 insertions(+), 2 deletions(-) create mode 100644 src/ContributorDetail.jsx create mode 100644 src/pages/Contributor.css create mode 100644 src/pages/Contricard.jsx diff --git a/package-lock.json b/package-lock.json index 5f4f7d0..d7aac05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", "@mui/material": "^5.15.19", + "axios": "^1.7.2", "bootstrap": "^5.3.3", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -1847,6 +1848,11 @@ "has-symbols": "^1.0.3" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/available-typed-arrays": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz", @@ -1859,6 +1865,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -2031,6 +2047,17 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2131,6 +2158,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2727,6 +2762,25 @@ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -2736,6 +2790,19 @@ "is-callable": "^1.1.3" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3542,6 +3609,25 @@ "yallist": "^3.0.2" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3872,6 +3958,11 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", diff --git a/package.json b/package.json index 84124fe..969dc01 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", "@mui/material": "^5.15.19", + "axios": "^1.7.2", "bootstrap": "^5.3.3", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/src/App.jsx b/src/App.jsx index 7d3827b..2407ac5 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -23,6 +23,7 @@ import Contributors from "./pages/Contributors"; import SignIn from "./pages/auth/SignIn"; import SignUp from "./pages/auth/SignUp"; +import ContributorDetail from "./ContributorDetail"; function App() { const [progress, setProgress] = useState(0); @@ -58,7 +59,9 @@ function App() { } /> } /> - } /> + } > + + }> {/* Authentication Pages */} } /> diff --git a/src/ContributorDetail.jsx b/src/ContributorDetail.jsx new file mode 100644 index 0000000..6ce20f5 --- /dev/null +++ b/src/ContributorDetail.jsx @@ -0,0 +1,11 @@ +import React from 'react' + +function ContributorDetail() { + return ( +
+ Contributor Detail Page +
+ ) +} + +export default ContributorDetail \ No newline at end of file diff --git a/src/pages/Contributor.css b/src/pages/Contributor.css new file mode 100644 index 0000000..e0b8332 --- /dev/null +++ b/src/pages/Contributor.css @@ -0,0 +1,54 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); +/* font-family: "Roboto", sans-serif; */ + + + +.contri-heading{ + color:black; + white-space: nowrap; + font-size: 30px; + margin: 10px; +} + + +.contricard { + position: relative; + width: 300px; + height: 300px; + display: flex; + flex-direction: column; + align-items: center; + +} +.contricard >.user-img>img { + width: 100%; + height: 200px; +} +.count{ + position: absolute; + text-align: center; + align-content: center; + z-index: 20; + width: 50px; + height: 50px; + background-color: black; + color: white; + border-radius: 50%; + top: 58%; + left: 46%; + transform: translateX(-50%); +} +.user-name{ + color: black; + padding: none; + margin: 0; + margin-top: 17px; +} +.user-name> p{ + font-size: 25px; + font-weight: 500; + font-family: "Roboto", sans-serif; +} +.contricard > .detail{ + width: fit-content; +} \ No newline at end of file diff --git a/src/pages/Contributors.jsx b/src/pages/Contributors.jsx index f3505cf..e26504d 100644 --- a/src/pages/Contributors.jsx +++ b/src/pages/Contributors.jsx @@ -1,9 +1,49 @@ import React from 'react' +import { useEffect, useState } from 'react' +import Contricard from './Contricard' +import axios from 'axios' +import './Contributor.css' const Contributors = () => { + + const [data, setdata] = useState([]) + useEffect(() => { + getContributor(); + }, []) + + + const getContributor = async () => { + await axios.get('https://api.github.com/repos/Avdhesh-Varshney/chanakya-niti/contributors') + .then(function (response) { + setdata(response.data); + // console.log(response.data); + }) + .catch(function (error) { + console.log(error); + }) + } + return ( -
Contributors
+ <> +
+
+ Our Contributors +
+
+ + { + data.map((element) => { + return
+ +
+ }) + } +
+ +
+ ) } export default Contributors; + diff --git a/src/pages/Contricard.jsx b/src/pages/Contricard.jsx new file mode 100644 index 0000000..d8a793a --- /dev/null +++ b/src/pages/Contricard.jsx @@ -0,0 +1,32 @@ +import React from 'react' +import './Contributor.css' +import { Link } from 'react-router-dom'; +function Contricard(props) { + const { name, img, count } = props; + return ( + <> +
+
+ +
+
+ {count} +
+
+

+ {name} +

+
+
+ + + +
+
+ + ) +} + +export default Contricard \ No newline at end of file From 1ef952dcc2cde7c53fddca8ca34c6f570ca52dc9 Mon Sep 17 00:00:00 2001 From: Joysa Kaushik <114143879+aapJoysakoi@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:40:38 +0000 Subject: [PATCH 2/5] created an about page. --- src/pages/About.css | 50 +++++++++++++++++++++++++++++++++++++++++++++ src/pages/About.jsx | 26 +++++++++++++++++++---- 2 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 src/pages/About.css diff --git a/src/pages/About.css b/src/pages/About.css new file mode 100644 index 0000000..9fe9844 --- /dev/null +++ b/src/pages/About.css @@ -0,0 +1,50 @@ +/* src/pages/About.css */ +.about-container { + padding: 20px; + max-width: 800px; + margin: 0 auto; + background-color: #f9f9f9; + border-radius: 8px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +} + +.about-container h1 { + text-align: center; + color: #874343; + font-family: 'Arial', sans-serif; +} + +.about-content { + display: flex; + flex-direction: column; + align-items: center; +} + +.about-image { + max-width: 100%; + height: auto; + border-radius: 8px; + margin-bottom: 20px; +} + +.about-text { + text-align: justify; + color: #090909; + font-family: 'Georgia', serif; + font-size: x-large; +} + +.about-text p { + margin-bottom: 15px; + line-height: 1.6; +} + +.about-text ul { + list-style-type: disc; + padding-left: 20px; +} + +.about-text ul li { + margin-bottom: 10px; + color: #780d0d; +} diff --git a/src/pages/About.jsx b/src/pages/About.jsx index 0d6d3b6..6f901da 100644 --- a/src/pages/About.jsx +++ b/src/pages/About.jsx @@ -1,9 +1,27 @@ -import React from 'react' +// src/pages/About.jsx +import React from 'react'; +import './About.css'; // Import the CSS file for styling const About = () => { return ( -
About
- ) -} +
+

Aacharya Chanakya

+
+ Chanakya +
+

Chanakya, also known as Kautilya or Vishnugupta, was an ancient Indian teacher, philosopher, economist, jurist, and royal advisor. He is traditionally identified as the author of the ancient Indian political treatise, the Arthashastra.

+

Born in 350 BCE in India, Chanakya played a crucial role in the establishment of the Maurya Empire. He was the chief advisor to both Emperor Chandragupta and his son, Bindusara.

+

Chanakya's work is considered pioneering in the fields of political science and economics. His strategies and principles are still studied and revered in modern times.

+

His notable works include:

+
    +
  • Arthashastra: A treatise on statecraft, economic policy, and military strategy.
  • +
  • Chanakya Niti: A collection of aphorisms offering guidance on various aspects of life.
  • +
+

Chanakya's wisdom and teachings continue to influence and inspire leaders and scholars around the world.

+
+
+
+ ); +}; export default About; From 811505471c06d46cb11694715cd8bbfc37fb3753 Mon Sep 17 00:00:00 2001 From: Madhav Dua Date: Mon, 24 Jun 2024 21:53:07 +0530 Subject: [PATCH 3/5] made requested changes --- src/App.jsx | 4 +- src/pages/Contributor.css | 54 ------------------- src/pages/Contricard.jsx | 32 ----------- src/pages/contributor/ContributorCard.jsx | 21 ++++++++ .../contributor}/ContributorDetail.jsx | 0 src/pages/{ => contributor}/Contributors.jsx | 11 ++-- 6 files changed, 28 insertions(+), 94 deletions(-) delete mode 100644 src/pages/Contributor.css delete mode 100644 src/pages/Contricard.jsx create mode 100644 src/pages/contributor/ContributorCard.jsx rename src/{ => pages/contributor}/ContributorDetail.jsx (100%) rename src/pages/{ => contributor}/Contributors.jsx (73%) diff --git a/src/App.jsx b/src/App.jsx index 2407ac5..0324956 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -19,11 +19,11 @@ import ChanakyaNews from "./pages/resources/news/ChanakyaNews"; import Quiz from "./pages/resources/Quiz"; import ChanakyaQuiz from "./pages/resources/quiz/ChanakyaQuiz"; -import Contributors from "./pages/Contributors"; +import Contributors from "./pages/contributor/Contributors"; +import ContributorDetail from "./pages/contributor/ContributorDetail"; import SignIn from "./pages/auth/SignIn"; import SignUp from "./pages/auth/SignUp"; -import ContributorDetail from "./ContributorDetail"; function App() { const [progress, setProgress] = useState(0); diff --git a/src/pages/Contributor.css b/src/pages/Contributor.css deleted file mode 100644 index e0b8332..0000000 --- a/src/pages/Contributor.css +++ /dev/null @@ -1,54 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); -/* font-family: "Roboto", sans-serif; */ - - - -.contri-heading{ - color:black; - white-space: nowrap; - font-size: 30px; - margin: 10px; -} - - -.contricard { - position: relative; - width: 300px; - height: 300px; - display: flex; - flex-direction: column; - align-items: center; - -} -.contricard >.user-img>img { - width: 100%; - height: 200px; -} -.count{ - position: absolute; - text-align: center; - align-content: center; - z-index: 20; - width: 50px; - height: 50px; - background-color: black; - color: white; - border-radius: 50%; - top: 58%; - left: 46%; - transform: translateX(-50%); -} -.user-name{ - color: black; - padding: none; - margin: 0; - margin-top: 17px; -} -.user-name> p{ - font-size: 25px; - font-weight: 500; - font-family: "Roboto", sans-serif; -} -.contricard > .detail{ - width: fit-content; -} \ No newline at end of file diff --git a/src/pages/Contricard.jsx b/src/pages/Contricard.jsx deleted file mode 100644 index d8a793a..0000000 --- a/src/pages/Contricard.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react' -import './Contributor.css' -import { Link } from 'react-router-dom'; -function Contricard(props) { - const { name, img, count } = props; - return ( - <> -
-
- -
-
- {count} -
-
-

- {name} -

-
-
- - - -
-
- - ) -} - -export default Contricard \ No newline at end of file diff --git a/src/pages/contributor/ContributorCard.jsx b/src/pages/contributor/ContributorCard.jsx new file mode 100644 index 0000000..d60d3d0 --- /dev/null +++ b/src/pages/contributor/ContributorCard.jsx @@ -0,0 +1,21 @@ +import React from 'react' +import { Link } from 'react-router-dom'; + +function ContributorCard(props) { + const { name, img } = props; + return ( + <> + + +
+ ... +
+
{name}
+ Get Details +
+
+ + ) +} + +export default ContributorCard \ No newline at end of file diff --git a/src/ContributorDetail.jsx b/src/pages/contributor/ContributorDetail.jsx similarity index 100% rename from src/ContributorDetail.jsx rename to src/pages/contributor/ContributorDetail.jsx diff --git a/src/pages/Contributors.jsx b/src/pages/contributor/Contributors.jsx similarity index 73% rename from src/pages/Contributors.jsx rename to src/pages/contributor/Contributors.jsx index e26504d..ea71732 100644 --- a/src/pages/Contributors.jsx +++ b/src/pages/contributor/Contributors.jsx @@ -1,8 +1,7 @@ import React from 'react' import { useEffect, useState } from 'react' -import Contricard from './Contricard' import axios from 'axios' -import './Contributor.css' +import ContributorCard from './ContributorCard' const Contributors = () => { @@ -26,15 +25,15 @@ const Contributors = () => { return ( <>
-
+
Our Contributors
-
+
{ data.map((element) => { - return
- + return
+
}) } From e6bd94340cd6c9177e71f6f023d9202529e0c002 Mon Sep 17 00:00:00 2001 From: Joysa Kaushik <114143879+aapJoysakoi@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:07:32 +0000 Subject: [PATCH 4/5] changed the location of about.css file --- src/{pages => css}/About.css | 0 src/pages/About.jsx | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/{pages => css}/About.css (100%) diff --git a/src/pages/About.css b/src/css/About.css similarity index 100% rename from src/pages/About.css rename to src/css/About.css diff --git a/src/pages/About.jsx b/src/pages/About.jsx index 6f901da..2bde968 100644 --- a/src/pages/About.jsx +++ b/src/pages/About.jsx @@ -1,6 +1,6 @@ // src/pages/About.jsx import React from 'react'; -import './About.css'; // Import the CSS file for styling +import '../css/About.css'; const About = () => { return ( From 2bd2509befa20add6659dfcf3c38664eb675f84f Mon Sep 17 00:00:00 2001 From: SagarRathore1 Date: Wed, 26 Jun 2024 00:57:03 +0530 Subject: [PATCH 5/5] change cursor design --- src/assets/CURSOR1.png | Bin 0 -> 2096 bytes src/index.css | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 src/assets/CURSOR1.png diff --git a/src/assets/CURSOR1.png b/src/assets/CURSOR1.png new file mode 100644 index 0000000000000000000000000000000000000000..6bcabf2c4b826177131d466ae5473e845e6817a0 GIT binary patch literal 2096 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 a0R98rE}(H~2bod;0000