+
-
- {/*
-
-
*/}
- {/*
*/}
-
-
- Donate to {" "}
-
-
- {/*
Let's grow together */}
+
+
+
Help us sustain
+
Our Mission
+
+ Foster innovation culture, introduce new
+ technologies, and develop skilled entrepreneurs.
+
+
+
+
+
30k+
+ Students
+
+
+
300+
+ Events
+
+
+
+
+
+
-
- An informal mechanism for bringing together learners who are
- interested in the same topic from across different fields
- and disciplines. A fantastic way to spend a small amount of
- time learning about new things with a group of people with
- same interests!
-
+
+
+
+
+ Make Learning Accessible
+ ✦
+ Transform Education Today
+ ✦
+ Build Brighter
+ Futures
+ ✦
+ Make Learning Accessible
+ ✦
+
+
-
-
+
+
);
};
diff --git a/src/modules/Public/Donation/assets/footer/facebook.webp b/src/modules/Public/Donation/assets/footer/facebook.webp
new file mode 100644
index 000000000..40dd03239
Binary files /dev/null and b/src/modules/Public/Donation/assets/footer/facebook.webp differ
diff --git a/src/modules/Public/Donation/assets/footer/instagram.webp b/src/modules/Public/Donation/assets/footer/instagram.webp
new file mode 100644
index 000000000..71a91f188
Binary files /dev/null and b/src/modules/Public/Donation/assets/footer/instagram.webp differ
diff --git a/src/modules/Public/Donation/assets/footer/linkedin.webp b/src/modules/Public/Donation/assets/footer/linkedin.webp
new file mode 100644
index 000000000..6a10b8ab0
Binary files /dev/null and b/src/modules/Public/Donation/assets/footer/linkedin.webp differ
diff --git a/src/modules/Public/Donation/assets/footer/twitter.webp b/src/modules/Public/Donation/assets/footer/twitter.webp
new file mode 100644
index 000000000..7e278fbf5
Binary files /dev/null and b/src/modules/Public/Donation/assets/footer/twitter.webp differ
diff --git a/src/modules/Public/Donation/assets/footer/whatsapp.svg b/src/modules/Public/Donation/assets/footer/whatsapp.svg
new file mode 100644
index 000000000..b009a8b56
--- /dev/null
+++ b/src/modules/Public/Donation/assets/footer/whatsapp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/modules/Public/Donation/assets/footer/youtube.webp b/src/modules/Public/Donation/assets/footer/youtube.webp
new file mode 100644
index 000000000..1157be47d
Binary files /dev/null and b/src/modules/Public/Donation/assets/footer/youtube.webp differ
diff --git "a/src/modules/Public/Donation/assets/footer/\302\265Learn-white.webp" "b/src/modules/Public/Donation/assets/footer/\302\265Learn-white.webp"
new file mode 100644
index 000000000..b9b321571
Binary files /dev/null and "b/src/modules/Public/Donation/assets/footer/\302\265Learn-white.webp" differ
diff --git a/src/modules/Public/Donation/assets/heroImg.jpg b/src/modules/Public/Donation/assets/heroImg.jpg
new file mode 100644
index 000000000..c6023d925
Binary files /dev/null and b/src/modules/Public/Donation/assets/heroImg.jpg differ
diff --git a/src/modules/Public/Donation/assets/icfoss.png b/src/modules/Public/Donation/assets/icfoss.png
new file mode 100644
index 000000000..db5a20913
Binary files /dev/null and b/src/modules/Public/Donation/assets/icfoss.png differ
diff --git a/src/modules/Public/Donation/assets/kdisc.png b/src/modules/Public/Donation/assets/kdisc.png
new file mode 100644
index 000000000..90d9e0080
Binary files /dev/null and b/src/modules/Public/Donation/assets/kdisc.png differ
diff --git a/src/modules/Public/Donation/assets/kdu.png b/src/modules/Public/Donation/assets/kdu.png
new file mode 100644
index 000000000..eca916ae3
Binary files /dev/null and b/src/modules/Public/Donation/assets/kdu.png differ
diff --git a/src/modules/Public/Donation/assets/receipt/.svg b/src/modules/Public/Donation/assets/receipt/.svg
new file mode 100644
index 000000000..b0f318b28
--- /dev/null
+++ b/src/modules/Public/Donation/assets/receipt/.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/Public/Donation/assets/receipt/group-75.svg b/src/modules/Public/Donation/assets/receipt/group-75.svg
new file mode 100644
index 000000000..22ebbce09
--- /dev/null
+++ b/src/modules/Public/Donation/assets/receipt/group-75.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/modules/Public/Donation/assets/receipt/learn.svg b/src/modules/Public/Donation/assets/receipt/learn.svg
new file mode 100644
index 000000000..ab954c959
--- /dev/null
+++ b/src/modules/Public/Donation/assets/receipt/learn.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/modules/Public/Donation/assets/receipt/logo.png b/src/modules/Public/Donation/assets/receipt/logo.png
new file mode 100644
index 000000000..2a9bcf6dd
Binary files /dev/null and b/src/modules/Public/Donation/assets/receipt/logo.png differ
diff --git a/src/modules/Public/Donation/assets/receipt/logo.svg b/src/modules/Public/Donation/assets/receipt/logo.svg
new file mode 100644
index 000000000..db38ae0d5
--- /dev/null
+++ b/src/modules/Public/Donation/assets/receipt/logo.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/Public/Donation/assets/receipt/vector.svg b/src/modules/Public/Donation/assets/receipt/vector.svg
new file mode 100644
index 000000000..6c68578a2
--- /dev/null
+++ b/src/modules/Public/Donation/assets/receipt/vector.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/modules/Public/Donation/assets/receipt/watermark.svg b/src/modules/Public/Donation/assets/receipt/watermark.svg
new file mode 100644
index 000000000..03fdf5c41
--- /dev/null
+++ b/src/modules/Public/Donation/assets/receipt/watermark.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git "a/src/modules/Public/Donation/assets/\302\265.png" "b/src/modules/Public/Donation/assets/\302\265.png"
new file mode 100644
index 000000000..4f185d605
Binary files /dev/null and "b/src/modules/Public/Donation/assets/\302\265.png" differ
diff --git "a/src/modules/Public/Donation/assets/\302\265.webp" "b/src/modules/Public/Donation/assets/\302\265.webp"
deleted file mode 100644
index e1f19d2d7..000000000
Binary files "a/src/modules/Public/Donation/assets/\302\265.webp" and /dev/null differ
diff --git a/src/modules/Public/Donation/components/Footer.module.css b/src/modules/Public/Donation/components/Footer.module.css
index cdc22543f..88ed88294 100644
--- a/src/modules/Public/Donation/components/Footer.module.css
+++ b/src/modules/Public/Donation/components/Footer.module.css
@@ -1,125 +1,235 @@
-.footer {
- padding: 5rem;
- background: #e0eeff;
- color: #000;
-}
-.footer > hr {
- border: 1px solid #000;
- opacity: 0.2;
- margin: 5rem 0;
-}
-.container {
- display: flex;
- gap: 7rem;
-}
-
-.centerContainer {
- justify-content: center;
-}
-
-.footerSection {
- display: flex;
- flex-direction: column;
- gap: 1rem;
-}
-
-.footerLogo {
+.mainfooter_container {
+ margin-top: 2rem;
+ background-color: #E0EEFF;
+ color: black;
+ position: relative;
+ /* z-index: -1; */
+ }
+
+ .footer_container {
+ padding: 2rem;
+ }
+
+ @media only screen and (min-width: 1000px) {
+ .footer_container {
+ max-width: 1300px;
+ margin: auto;
+ }
+ }
+
+ .mulearn {
+ width: 6rem;
+ filter: invert();
+ }
+
+ .links {
+ margin-top: 1rem;
display: flex;
- flex-direction: column;
- width: 25%;
- padding: 0 2rem;
- gap: 2rem;
+ flex-direction: row;
+ }
+ @media (max-width: 767px) {
+ .links_mobile {
+ display: flex;
+ }
+ }
+
+ .link {
+ margin-top: 0;
+ margin-right: 1rem;
+ font-weight: 400;
+ font-size: 0.9rem;
+ }
+
+ .link:hover {
+ color:var(--blue);
+ }
+
+ .line {
+ margin-top: 2rem;
+ background-color: rgb(97, 97, 97);
+ width: 100%;
+ height: 2px;
+ }
+
+ a {
+ font-weight: 500;
+ }
+
+ .address,
+ .mail {
+ margin-top: 1rem;
font-size: 0.8rem;
-}
-
-.footerLogo img {
- width: 60%;
-}
-
-.footerLogo p {
- text-align: left;
-}
-
-.title {
+ font-weight: 400;
+ width: 75%;
+ }
+
+ .mail {
+ color:var(--blue);
+ margin-bottom: 0.5rem;
+ }
+
+ .social {
+ height: 2rem;
+ width: 2rem;
+ margin-top: 2rem;
+ margin-right: 1rem;
+ transition: 0.5s ease;
+ filter: invert();
+ }
+
+ .social:hover {
+ transform: scale(1.3);
+ }
+
+ @media only screen and (min-width: 1000px) {
+ .first_section {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-end;
+ }
+
+ .address_container {
+ font-size: 0.9rem;
+ width: 35%;
+ }
+
+ .address,
+ .mail {
+ margin-top: 2rem;
+ font-size: 0.9rem;
+ font-weight: 400;
+ width: 75%;
+ }
+ }
+
+ .mail {
font-weight: 600;
-}
-.links {
+ }
+
+ .mailus {
+ display: block;
+ padding-top: 1rem;
+ color: rgb(176, 176, 245);
+ }
+
+ .title {
+ font-size: 2rem;
+ font-weight: 700;
+ color: #5e72e4;
+ }
+
+ .fheadingtext {
+ font-size: 1.1rem;
+ color: white;
+ margin-top: 4vh;
+ }
+
+ .fparagraph {
+ font-size: 0.8rem;
+ font-weight: 300;
+ color: white;
+ }
+
+ .newsletterinvite {
display: flex;
- flex-direction: column;
- gap: 1rem;
+ flex-direction: row;
+ }
+
+ .invite_container {
+ position: relative;
+ background-color: white;
+ padding: 0.5rem 1rem;
+ margin-top: 2vh;
+ border-radius: 5px;
+ }
+
+ .invite_container input {
font-size: 0.8rem;
-}
-.links > a:hover {
- color: #2e85fe;
-}
-.socialMedia {
+ border: none;
+ padding: 0.5rem;
+ width: 12.5rem;
+ }
+
+ .invite_container button {
+ border: none;
+ font-size: 0.8rem;
+ color: white;
+ background-color: #f6832a;
+ padding: 0.5rem 1.75rem;
+ border-radius: 3px;
+ }
+
+ .invite_container button:hover {
+ background-color: #fd7915;
+ }
+
+ input:focus,
+ select:focus,
+ textarea:focus,
+ button:focus {
+ outline: none;
+ }
+
+ .newsletter {
+ width: 20rem;
+ }
+
+ .newslettertext {
+ color: white;
display: flex;
- gap: 2rem;
- font-size: x-large;
-}
-.legal {
+ flex-direction: row;
+ }
+
+ .fs_rightside {
display: flex;
- gap: 1.5rem;
- font-size: 0.8rem;
-}
-.copyRight {
- font-size: 0.9rem;
-}
-@media screen and (max-width: 1000px) {
- .container {
- flex-direction: column;
- align-items: center;
- gap: 4rem;
- }
-
- .footerLogo {
- width: 100%;
- max-width: 30rem;
- align-items: center;
- margin: 3rem;
- }
-
- .footerLogo p {
- text-align: center;
- }
-
- .footerSection {
- display: none;
- }
- .footer > hr {
- display: none;
- }
- .socialMedia {
- justify-content: center;
- }
- .legal {
- justify-content: center;
- flex-direction: column;
- align-items: center;
+ }
+
+ @media only screen and (min-width: 1000px) {
+ .right_side {
+ width: 30%;
}
- .copyRight {
- text-align: center;
+ .left_links {
+ display: flex;
}
-}
-@media screen and (max-width: 800px) {
- .container {
- gap: 2rem;
+
+ .larger_screen {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin-top: 0.5rem;
}
-
- .footerLogo {
- width: 19rem;
+ .newsletter {
+ width: 20rem;
+ text-align: right;
}
-
- .footerLogo p {
- display: none;
+
+ .bottom_section {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
}
-}
-@media screen and (max-width: 380px) {
- .socialMedia {
- font-size: large;
+ }
+
+ .bottomcopyright {
+ position: absolute;
+ bottom: 0;
+ color: black;
+ background-color: #E0EEFF;
+ width: 100%;
+ text-align: center;
+ padding: 5px 0px 5px 0px;
+ font-size: 0.6rem;
+ }
+ @media (max-width: 767px) {
+ .mobile_line_break {
+ display: block;
}
-
- .footerLogo {
- width: 15rem;
+ }
+
+ @media (min-width: 768px) {
+ .mobile-line-break {
+ display: inline;
}
-}
+ }
\ No newline at end of file
diff --git a/src/modules/Public/Donation/components/Footer.tsx b/src/modules/Public/Donation/components/Footer.tsx
index 3a7fd981a..ab5cc7426 100644
--- a/src/modules/Public/Donation/components/Footer.tsx
+++ b/src/modules/Public/Donation/components/Footer.tsx
@@ -1,124 +1,173 @@
+import React from "react";
import styles from "./Footer.module.css";
-import { footerData } from "../services/footerData";
import { Link } from "react-router-dom";
-import {
- RiWhatsappFill,
- RiTwitterFill,
- RiInstagramFill,
- RiLinkedinBoxFill,
- RiYoutubeFill,
- RiFacebookBoxFill
-} from "react-icons/ri";
-export default function Footer() {
- return (
-
-
-
-
-
-
-
- {footerData.map((data, index) => {
- return (
-
- );
- })}
+import waIcon from "../assets/footer/whatsapp.svg"
+import twitterIcon from "../assets/footer/twitter.webp"
+import instaIcon from "../assets/footer/instagram.webp"
+import linkedInIcon from "../assets/footer/linkedin.webp"
+import ytIcon from "../assets/footer/youtube.webp"
+import fbIcon from "../assets/footer/facebook.webp"
+import MulearnWhite from "../assets/footer/µLearn-white.webp"
+
+
+function scrollTop() {
+ window.scrollTo({
+ top: 0,
+ behavior: "smooth",
+ });
+}
+
+const Footer = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
Terms and Condition
+
+
+
Privacy Policy
+
-
-
+
+
+
+
+
+
+
+
+
+ Technopark Trivandrum, Kazhakkoottam, Trivandrum - 695581,
+ Kerala, India
+
+
+
+ info@mulearn.org
+
+
+
+
+ {/*
+
+
+
Join Our Mailing List
+
+ Join Our Mailing List Be the first to know about upcoming
+ coding workshops, new coding tools, and other Mulearn related
+ news.
+
+
+
+
+ Join
+
-
- );
-}
+
*/}
+
+
+
+
+
µLearn Foundation | Copyright © 2023 All rights reserved.
+
+
+ );
+};
+
+export default Footer;
\ No newline at end of file
diff --git a/src/modules/Public/Donation/components/Navbar.module.css b/src/modules/Public/Donation/components/Navbar.module.css
index 9f546d4a9..aee17792b 100644
--- a/src/modules/Public/Donation/components/Navbar.module.css
+++ b/src/modules/Public/Donation/components/Navbar.module.css
@@ -1,18 +1,24 @@
.LClandingPageNav {
- position: absolute;
+ position: fixed;
top: 0;
width: 100%;
- z-index: 1;
+ z-index: 2;
display: flex;
- justify-content: space-between;
- padding: 3rem 5rem;
+ justify-content: space-around;
+ padding: 1rem 0rem;
+ gap: 10vw;
+ backdrop-filter:blur(30px);
+}
+.LClandingPageNav img{
+ width: 32px;
+ height: 40px;
}
-
.LClandingPageNav .navLinks,
.LClandingPageNav .navLinks div {
display: flex;
align-items: center;
- gap: 2rem;
+ gap: 3rem;
+ font-size: 1.1rem;
}
.LClandingPageNav .navLinks div {
@@ -23,17 +29,19 @@
.LClandingPageNav .navLinks button {
background: var(--blue);
border-radius: var(--borderRadius);
- padding: 0.5rem 1rem;
- font-size: 0.8rem;
+ padding: .5rem 2rem;
+ font-size: 1.1rem;
color: #fff;
}
-@media (width <=820px) {
+@media (width <=800px) {
.LClandingPageNav {
- padding: 3rem 2rem;
+ justify-content: space-between;
+ padding: 2rem 2rem;
}
- .LClandingPageNav .navLinks {
+ .LClandingPageNav .navLinks div{
display: none;
}
+
}
diff --git a/src/modules/Public/Donation/components/Navbar.tsx b/src/modules/Public/Donation/components/Navbar.tsx
index cdcbd4ad6..3ebdeb226 100644
--- a/src/modules/Public/Donation/components/Navbar.tsx
+++ b/src/modules/Public/Donation/components/Navbar.tsx
@@ -1,13 +1,13 @@
import styles from "./Navbar.module.css";
import { Link, useNavigate} from "react-router-dom";
-
+import logo from "../assets/µ.png"
export default function Navbar(){
const navigate = useNavigate();
return(
-
+
About
diff --git a/src/modules/Public/Donation/pages/DonationSuccess.tsx b/src/modules/Public/Donation/pages/DonationSuccess.tsx
index d26d1bd67..7599984df 100644
--- a/src/modules/Public/Donation/pages/DonationSuccess.tsx
+++ b/src/modules/Public/Donation/pages/DonationSuccess.tsx
@@ -1,12 +1,17 @@
import { Link } from "react-router-dom";
-import { useEffect } from "react";
+import { useEffect,useState,useRef } from "react";
import Footer from "../components/Footer";
import Navbar from "../components/Navbar";
import styles from "./DonationSuccess.module.css";
import NotFound from "../../../../components/NotFound";
+import Receipt from "./receipt/Receipt";
+
+import jsPDF from "jspdf";
+import html2canvas from "html2canvas";
const DonationSuccess = () => {
- const pdfData = localStorage.getItem("pdfData");
+ const pdfElement = useRef(null!);
+ const pdfData = localStorage.getItem("pdfData") as string;
const base64toBlob = (base64data: any) => {
const byteString = atob(base64data.split(",")[1]);
@@ -20,26 +25,45 @@ const DonationSuccess = () => {
};
const downloadReceipt = () => {
- const base64data = localStorage.getItem("pdfData");
+ // const base64data = localStorage.getItem("pdfData");
- if (base64data) {
- const pdfBlob = base64toBlob(base64data);
- const pdfUrl = URL.createObjectURL(pdfBlob);
- const link = document.createElement("a");
- link.href = pdfUrl;
- link.download = "downloaded-file.pdf";
+ // if (base64data) {
+ // const pdfBlob = base64toBlob(base64data);
+ // const pdfUrl = URL.createObjectURL(pdfBlob);
+ // const link = document.createElement("a");
+ // link.href = pdfUrl;
+ // link.download = "downloaded-file.pdf";
- document.body.appendChild(link);
- link.click();
+ // document.body.appendChild(link);
+ // link.click();
- document.body.removeChild(link);
- } else {
- console.error("No PDF data found in localStorage.");
- }
+ // document.body.removeChild(link);
+ // } else {
+ // console.error("No PDF data found in localStorage.");
+ // }
+
+ //to handel the pdf data in the forndend
+ html2canvas(pdfElement.current).then((canvas) => {
+ const imgData = canvas.toDataURL("image/png");
+ const pdf = new jsPDF("p", "mm", "a4");
+ pdf.addImage(imgData, "PNG", 0, 0, 210, 297);
+ pdf.save("Receipt.pdf");
+
+ //to download the png
+ // const link = document.createElement('a');
+ // link.href = imgData; // Set the href to the PNG data URL
+ // link.download = 'Receipt.png'; // Set the desired filename for the download
+
+ // // Append the link to the document, click it to trigger the download, and then remove it
+ // document.body.appendChild(link);
+ // link.click();
+ // document.body.removeChild(link);
+ });
};
const handleUnload = () => {
localStorage.removeItem("pdfData");
+ localStorage.removeItem('donationData');
};
useEffect(() => {
@@ -50,54 +74,61 @@ const DonationSuccess = () => {
}, []);
return pdfData ? (
-
-
-
-
-
-
-
-
-
-
- Thank You! {" "}
-
- We appreciate your support
-
-
- Your donation was successful. A confirmation email has been
- sent.
-
-
+ <>
+
+
-
-
-
-
Success!
-
- Thank you for your donation. Your support means a
- lot to us.
-
+
+
+
-
-
-
Home
-
-
- Download Receipt
-
+
+
+
+ Thank You! {" "}
+
+ We appreciate your support
+
+ Your donation was successful. A confirmation email has been
+ sent.
+
-
-
-
+
+
+
+
Success!
+
+ Thank you for your donation. Your support means a
+ lot to us.
+
+
+
+
+ Home
+
+
+ Download Receipt
+
+
+
+
+
+
+
+
+
+ >
) : (
diff --git a/src/modules/Public/Donation/pages/Refund.tsx b/src/modules/Public/Donation/pages/Refund.tsx
index 9ef3315a9..2f9d5c07a 100644
--- a/src/modules/Public/Donation/pages/Refund.tsx
+++ b/src/modules/Public/Donation/pages/Refund.tsx
@@ -5,7 +5,7 @@ import RefundPage from "../components/RefundText";
const Refund = () => {
return (
-
+
(defaultPdfData)
+ const [donationData, setdonationData] = useState
(defaultDonationData)
+
+ const formatDate = (date:any) => {
+ const months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
+ const day = date.getDate();
+ const month = months[date.getMonth()];
+ const year = date.getFullYear();
+ let hours = date.getHours();
+ const minutes = date.getMinutes();
+ const ampm = hours >= 12 ? 'PM' : 'AM';
+ hours = hours % 12;
+ hours = hours ? hours : 12;
+ const strMinutes = minutes < 10 ? '0'+minutes : minutes;
+
+ return `${day}${month},${year},${hours}:${strMinutes}${ampm}`;
+ }
+
+
+ useEffect(() => {
+ const data = localStorage.getItem("pdfData") as string;
+ const d_data = localStorage.getItem("donationData") as string;
+ const setData = async () => {
+ if(data && d_data){
+ let success_data = await JSON.parse(data)
+ let donation_data = await JSON.parse(d_data)
+ setdonationData(donation_data)
+ setpdfData(success_data.response)
+ }
+ }
+ setData()
+ },[])
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
Contribution Receipt
+
+
+
+
+
+ Name:{pdfData.Name}
+
+
+91 {donationData.mobile} {pdfData.Email}
+
+
+
+ {
+ //to print the date and time in this format 11May,2024,06:49PM
+ formatDate(new Date())
+ }
+
+
+
+
+
+
+
+
+
+
+
µLearn Foundation
+
+
+ Gtech Lobby Area Technopark Trivandrum,
+ Kerala, India
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DETAILS OF CONTRIBUTION
+
+
+
+
+
+
+
Contribution Amount
+
₹{pdfData.Amount}
+
+
+
Mode of Payment
+
{pdfData.Payment_method}
+
+
+
Razorpay Order ID
+
{pdfData.payment_id}
+
+
+
Amount Paid
+
₹{pdfData.Amount}
+
+
+
+
+
+
DETAILS OF CONTRIBUTOR
+
+
Name:{pdfData.Name}
+
PAN:{donationData.pan}
+
+
+
+
+
+
+
+ The contribution made to is eligible for µLearn claiming exemptions
+ under Section 80(G)of the Income Tax Act, 1961 vide Registration
+ No.- AAQCM8688KF20231 by the Office of the Income Tax
+ Department(Dehradun)valid from 01-12-2023
+
+
+
+
+ **All donations are voluntary, as such any requests for refunds will
+ be considered on a case-by-case basis.
+
+
+
+
+
+ );
+}
+
+export default Receipt;
\ No newline at end of file
diff --git a/src/modules/Public/Donation/services/api.ts b/src/modules/Public/Donation/services/api.ts
index aa967f9ae..1ad7d7c1a 100644
--- a/src/modules/Public/Donation/services/api.ts
+++ b/src/modules/Public/Donation/services/api.ts
@@ -34,7 +34,8 @@ export const submitForm = async ({
name,
company,
email,
- mobile
+ mobile,
+ pan
})
.then(response => {
const paymentId: string = response.data.response.id;
@@ -49,8 +50,7 @@ export const submitForm = async ({
image: "/assets/µLearn.png",
order_id: paymentId,
handler: function (response: any) {
- console.log(response);
-
+ console.log(paymentAmount,this.currency)
publicGateway
.post(donationRoutes.verify, {
razorpay_order_id: response.razorpay_order_id,
@@ -59,6 +59,7 @@ export const submitForm = async ({
})
.then(res => {
console.log(res?.data);
+ console.log("type",typeof(res?.data));
toast.success(
res?.data?.message?.general[0] ||
"Payment Successful"
@@ -66,11 +67,12 @@ export const submitForm = async ({
// Assuming response.data contains the PDF data
const pdfData = res?.data;
+ localStorage.setItem("pdfData", JSON.stringify(pdfData));
// Create a new blob from the PDF data
- const pdfBlob = new Blob([pdfData], {
- type: "application/pdf"
- });
+ // const pdfBlob = new Blob([pdfData], {
+ // type: "application/pdf"
+ // });
// // Create a URL for the blob
// const pdfUrl = URL.createObjectURL(pdfBlob);
@@ -86,21 +88,27 @@ export const submitForm = async ({
// window.location.href = "/donation/success";
// Convert blob data to a base64 string
- const reader = new FileReader();
- reader.onloadend = function () {
- const base64data = reader.result;
- if (base64data) {
- localStorage.setItem(
- "pdfData",
- base64data as string
- );
+ // const reader = new FileReader();
+ // reader.onloadend = function () {
+ // const base64data = reader.result;
+ // if (base64data) {
+ // localStorage.setItem(
+ // "pdfData",
+ // base64data as string
+ // );
- window.location.href = "/donation/success";
- } else {
- console.error("Failed to read PDF data.");
- }
- };
- reader.readAsDataURL(pdfBlob);
+ // window.location.href = "/donation/success";
+ // } else {
+ // console.error("Failed to read PDF data.");
+ // }
+ // };
+ // reader.readAsDataURL(pdfBlob);
+ const storeData = localStorage.getItem("pdfData");
+ if (storeData) {
+ window.location.href = "/donation/success";
+ } else {
+ console.error("Failed to read PDF data.");
+ }
})
.catch(error => {
console.log(error);
diff --git a/src/modules/Public/TrivialIdeas/assets/arrow.png b/src/modules/Public/TrivialIdeas/assets/arrow.png
new file mode 100644
index 000000000..49c1f8c93
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/arrow.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/elone.png b/src/modules/Public/TrivialIdeas/assets/elone.png
new file mode 100644
index 000000000..ebad2a11a
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/elone.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/font/Pacifico.ttf b/src/modules/Public/TrivialIdeas/assets/font/Pacifico.ttf
new file mode 100644
index 000000000..122e4511b
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/font/Pacifico.ttf differ
diff --git a/src/modules/Public/TrivialIdeas/assets/logo_whight.svg b/src/modules/Public/TrivialIdeas/assets/logo_whight.svg
new file mode 100644
index 000000000..dc8513447
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/assets/logo_whight.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/modules/Public/TrivialIdeas/assets/mark.png b/src/modules/Public/TrivialIdeas/assets/mark.png
new file mode 100644
index 000000000..b5755e97d
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/mark.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/pattern1.png b/src/modules/Public/TrivialIdeas/assets/pattern1.png
new file mode 100644
index 000000000..f33cd779b
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/pattern1.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/pattern2.png b/src/modules/Public/TrivialIdeas/assets/pattern2.png
new file mode 100644
index 000000000..d4f8b1124
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/pattern2.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/pattern3.png b/src/modules/Public/TrivialIdeas/assets/pattern3.png
new file mode 100644
index 000000000..aeb13d1af
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/pattern3.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/pattern4.png b/src/modules/Public/TrivialIdeas/assets/pattern4.png
new file mode 100644
index 000000000..1e620e376
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/pattern4.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/peoples.png b/src/modules/Public/TrivialIdeas/assets/peoples.png
new file mode 100644
index 000000000..a923d71b5
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/peoples.png differ
diff --git a/src/modules/Public/TrivialIdeas/assets/steve.png b/src/modules/Public/TrivialIdeas/assets/steve.png
new file mode 100644
index 000000000..4f4613eee
Binary files /dev/null and b/src/modules/Public/TrivialIdeas/assets/steve.png differ
diff --git "a/src/modules/Public/TrivialIdeas/assets/\302\265Learn.svg" "b/src/modules/Public/TrivialIdeas/assets/\302\265Learn.svg"
new file mode 100644
index 000000000..7c12c0a99
--- /dev/null
+++ "b/src/modules/Public/TrivialIdeas/assets/\302\265Learn.svg"
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/modules/Public/TrivialIdeas/components/botton/button.module.css b/src/modules/Public/TrivialIdeas/components/botton/button.module.css
new file mode 100644
index 000000000..d21820782
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/botton/button.module.css
@@ -0,0 +1,8 @@
+button{
+ font-size: 1.2vw;
+}
+@media (max-width: 768px) {
+ button{
+ font-size: 2.5vw;
+ }
+}
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/components/botton/button.tsx b/src/modules/Public/TrivialIdeas/components/botton/button.tsx
new file mode 100644
index 000000000..219376a47
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/botton/button.tsx
@@ -0,0 +1,20 @@
+import styles from './button.module.css'
+function Button({name,color,text}:{name:string,color:string,text:string|null}) {
+
+
+ return (
+ {name}
+ );
+}
+
+export default Button;
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/components/footer/footer.module.css b/src/modules/Public/TrivialIdeas/components/footer/footer.module.css
new file mode 100644
index 000000000..d36a27f11
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/footer/footer.module.css
@@ -0,0 +1,80 @@
+.footer {
+ padding: 40px 20px;
+ border-top: 2px solid #e5e5e5;
+ }
+
+ .container {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ max-width: 1200px;
+ /* margin: 0 auto; */
+ }
+
+ .section {
+ flex: 1;
+ min-width: 200px;
+ margin: 10px 20px;
+ }
+
+ .logo {
+ margin-bottom: 10px;
+ }
+
+ .description {
+ font-size: 14px;
+ margin-bottom: 20px;
+ }
+
+ .socialMedia {
+ display: flex;
+ gap: 10px;
+ }
+
+ .socialMedia a img {
+ width: 24px;
+ height: 24px;
+ }
+
+ h3 {
+ font-size: 18px;
+ margin-bottom: 10px;
+ }
+
+ ul {
+ list-style: none;
+ padding: 0;
+ }
+
+ li {
+ margin-bottom: 10px;
+ }
+
+ li a {
+ color: #333;
+ text-decoration: none;
+ }
+
+ li a:hover {
+ text-decoration: underline;
+ }
+
+ @media (max-width: 768px) {
+ .footer {
+ padding: 20px 0px;
+ }
+ .container {
+ flex-direction: column;
+ }
+ .description {
+ font-size: small;
+ }
+ h3 {
+ font-size: 18px;
+ margin-bottom: 4px;
+ }
+ li {
+ margin-bottom: 4px;
+ }
+
+}
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/components/footer/footer.tsx b/src/modules/Public/TrivialIdeas/components/footer/footer.tsx
new file mode 100644
index 000000000..8513ad23e
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/footer/footer.tsx
@@ -0,0 +1,71 @@
+import logo from '../../assets/µLearn.svg';
+import styles from './footer.module.css';
+import { FaDiscord } from "react-icons/fa";
+import { FaYoutube } from "react-icons/fa";
+import { FaFacebookSquare } from "react-icons/fa";
+import { FaInstagram } from "react-icons/fa";
+import { FaXTwitter } from "react-icons/fa6";
+
+
+
+const Footer = () => {
+ return (
+
+
+
+ {/*
µLearn */}
+
+
+ A community that focuses on learning, upskilling and networking, while striving for creativity and innovation. TLDR, it's a place for every passionate learner out there!
+
+
+
+
+
+
+
Contact
+
+ Abin outreach - 99999 99999
+ Abin outreach - 99999 99999
+ Copyright © 2023. All Rights Reserved.
+ µLearn Foundation.
+
+
+
+
+ );
+};
+
+export default Footer;
diff --git a/src/modules/Public/TrivialIdeas/components/priceCard/PriceCard.tsx b/src/modules/Public/TrivialIdeas/components/priceCard/PriceCard.tsx
new file mode 100644
index 000000000..063256ee2
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/priceCard/PriceCard.tsx
@@ -0,0 +1,13 @@
+import styles from './priceCard.module.css'
+function PriceCard({prize,amount}:{prize:string,amount:string}) {
+ return (
+
+
+
{prize} Prize
+
{amount} INR
+
+
+ );
+}
+
+export default PriceCard;
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/components/priceCard/priceCard.module.css b/src/modules/Public/TrivialIdeas/components/priceCard/priceCard.module.css
new file mode 100644
index 000000000..1db0753a9
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/priceCard/priceCard.module.css
@@ -0,0 +1,34 @@
+.price_card{
+ padding: 2rem 0rem;
+ background-color: #F5F5F7;
+ border-radius: 1rem;
+ width: 300px;
+}
+
+.price_card div{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+
+}
+.price_card_header p{
+ color: #2E85FE;
+ font-size: 22px;
+ font-weight: bold;
+}
+.price_card_header_title{
+ /* font-size: 2vw; */
+ font-size: 24px;
+ font-weight: bold;
+}
+
+@media (max-width: 768px) {
+ .price_card_header_title{
+ font-size: 18px;
+ }
+ .price_card__header p{
+ font-size: 4vw;
+ }
+ }
diff --git a/src/modules/Public/TrivialIdeas/components/questionCard/card.module.css b/src/modules/Public/TrivialIdeas/components/questionCard/card.module.css
new file mode 100644
index 000000000..112ce18cd
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/questionCard/card.module.css
@@ -0,0 +1,58 @@
+.questionCard {
+ width: 100%;
+ background-color: #f9f9f9;
+ border-radius: 10px;
+ box-shadow: 0 0px 6px rgba(0, 0, 0, 0.1);
+ overflow: hidden;
+ border: 2px solid #e5e5e5;
+ /* border: 2px solid #2E85FE; */
+ }
+
+ .header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 25px 20px;
+ cursor: pointer;
+ }
+
+ .questionText {
+ font-size: 16px;
+ font-weight: bold;
+ color: #333;
+ }
+
+ .arrowButton {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 30px;
+ height: 30px;
+ background-color: #e5e5e5;
+ border: none;
+ border-radius: 50%;
+ outline: none;
+ cursor: pointer;
+ }
+
+ .arrowButton svg {
+ transform: rotate(0deg);
+ transition: transform 0.3s ease;
+ }
+
+ .ani_svg {
+ transform: rotate(90deg);
+ background: #2E85FE;
+ }
+
+ .content {
+ height: 0;
+ overflow: hidden;
+ transition: height 0.5s ease;
+ padding: 0px 20px;
+ }
+
+ .content.show {
+ height: 100px; /* Adjust according to content length */
+ padding: 0px 20px 20px;
+ }
diff --git a/src/modules/Public/TrivialIdeas/components/questionCard/card.tsx b/src/modules/Public/TrivialIdeas/components/questionCard/card.tsx
new file mode 100644
index 000000000..24bff09f6
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/questionCard/card.tsx
@@ -0,0 +1,28 @@
+import React,{useState} from 'react';
+import styles from './card.module.css';
+
+const QuestionCard = ({text,content}:{text:string,content:string}) => {
+ const [isOpen, setIsOpen] = useState(false);
+
+ const toggleContent = () => {
+ setIsOpen(!isOpen);
+ }
+ return (
+ //put this style when isopen is true border: 2px solid #2E85FE;
+
+
+
Is there a registration cost ?
+
+
+
+
+
+
+
+
+ );
+};
+
+export default QuestionCard;
diff --git a/src/modules/Public/TrivialIdeas/components/stepBox/stepBox.module.css b/src/modules/Public/TrivialIdeas/components/stepBox/stepBox.module.css
new file mode 100644
index 000000000..507e894d1
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/stepBox/stepBox.module.css
@@ -0,0 +1,38 @@
+.stepBox {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background-color: #f9f9f9;
+ padding: 20px;
+ border-radius: 10px;
+ box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1);
+ text-align: center;
+ width: 250px;
+ margin: 20px;
+ }
+
+ .numberCircle {
+ background-color: #FE2E6C;
+ color: white;
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 18px;
+ margin-bottom: 10px;
+ box-shadow: 0px 0px 10px #FE2E6C;
+ }
+
+ .title {
+ font-size: 18px;
+ margin-bottom: 10px;
+ font-weight: bolder;
+ }
+
+ .description {
+ font-weight: 600;
+ font-size: 12px;
+ }
+
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/components/stepBox/stepBox.tsx b/src/modules/Public/TrivialIdeas/components/stepBox/stepBox.tsx
new file mode 100644
index 000000000..e3bfcc736
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/components/stepBox/stepBox.tsx
@@ -0,0 +1,21 @@
+import React from 'react';
+import styles from './stepBox.module.css';
+
+interface StepBoxProps {
+ number: number;
+ title: string;
+ description: string;
+
+}
+
+const StepBox = ({ number, title, description }:StepBoxProps) => {
+ return (
+
+
{number}
+
{title}
+
{description}
+
+ );
+};
+
+export default StepBox;
diff --git a/src/modules/Public/TrivialIdeas/modules/faq.tsx b/src/modules/Public/TrivialIdeas/modules/faq.tsx
new file mode 100644
index 000000000..254ac0ed2
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/modules/faq.tsx
@@ -0,0 +1,70 @@
+import { useState,useEffect } from "react";
+import QuestionCard from "../components/questionCard/card";
+
+let data = [
+ {
+ text: "Is there is a registration cost ?",
+ content:'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
+ },
+ {
+ text: "What are the prizes for winning ?",
+ content:'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
+ },
+ {
+ text:"What idea can i submit ?",
+ content:'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
+ },
+ {
+ text:"How can i submit ?",
+ content:'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
+ }
+
+]
+
+function Faqs() {
+
+ const [windowWidth, setwindowWidth] = useState(window.innerWidth);
+ useEffect(()=>{
+ window.addEventListener('resize',()=>{
+ setwindowWidth(window.innerWidth);
+ })
+
+ return ()=>{
+ window.removeEventListener('resize',()=>{
+ setwindowWidth(window.innerWidth);
+ })
+ }
+ },[])
+ return (
+ 768?"50%":"100%",
+ display:"flex",
+ gap:"3rem",
+ flexDirection:"column",
+ padding:"80px 0px",
+ }}>
+
768?"3vw":"6vw",
+ fontWeight:"bold",
+ textAlign:"center",
+ }}>Got questions?
+
+ {
+ data.map((question, index) => {
+ return (
+
+ );
+ })
+ }
+
+
+ );
+}
+
+export default Faqs;
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/modules/price.tsx b/src/modules/Public/TrivialIdeas/modules/price.tsx
new file mode 100644
index 000000000..6aef1a26c
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/modules/price.tsx
@@ -0,0 +1,92 @@
+import { useState,useEffect } from "react";
+import PriceCard from "../components/priceCard/PriceCard";
+
+const data = [
+ {
+ prize: "First",
+ amount: '50,000'
+ },
+ {
+ prize: "Second",
+ amount: '25,000'
+ },
+ {
+ prize: "Third",
+ amount: "12,500"
+ },
+ {
+ prize: "Fourth",
+ amount: "6,250"
+ },
+ {
+ prize: "Fifth",
+ amount: "3,125"
+ },
+ {
+ prize: "Sixth",
+ amount: "1,600"
+ }
+];
+
+
+function Price() {
+
+ const [windowWidth, setwindowWidth] = useState(window.innerWidth);
+ useEffect(()=>{
+ window.addEventListener('resize',()=>{
+ setwindowWidth(window.innerWidth);
+ })
+
+ return ()=>{
+ window.removeEventListener('resize',()=>{
+ setwindowWidth(window.innerWidth);
+ })
+ }
+ },[])
+
+ return (
+
+
768?"3vw":"6vw",
+ fontWeight:"bold",
+ textAlign:"center",
+
+ }}>What we’ve got for you
+
780?"repeat(3,1fr)":"1fr",
+ // gap:windowWidth>768?"2.5vw":"1.5rem",
+ // backgroundColor:"red",
+ //responsive flex
+ display:windowWidth>950?"grid":"flex",
+ flexDirection:windowWidth>768?"row":"column",
+ gap:windowWidth>768?"2.5rem":"1rem",
+ justifyContent:"center",
+ flexWrap:"wrap",
+ }}
+ >
+ {
+ data.map((e, index) => {
+ return (
+
+ );
+ })
+ }
+
+
+400 Karma Points!
+
+ );
+}
+
+export default Price;
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/modules/process/Process.module.css b/src/modules/Public/TrivialIdeas/modules/process/Process.module.css
new file mode 100644
index 000000000..6634cd67d
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/modules/process/Process.module.css
@@ -0,0 +1,96 @@
+.processDiagram {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding: 40px 20px;
+ }
+
+ .heading {
+ font-size: 24px;
+ margin-bottom: 30px;
+ text-align: center;
+ }
+
+ .stepsContainer {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ max-width: 80%;
+ }
+ .stepsInnerContainer {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ }
+ .arrow {
+ font-size: 24px;
+ margin: 0 20px;
+ }
+
+ @media (max-width: 768px) {
+ .stepsContainer {
+ flex-direction: column;
+ }
+
+ .arrow {
+ transform: rotate(90deg);
+ margin: 10px 0;
+ }
+ }
+ .processDiagram {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding: 40px 20px;
+ }
+
+ .heading {
+ font-size: 3vw;
+ font-weight: bold;
+ text-align: center;
+ }
+
+ .stepsContainer {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .arrow {
+ font-size: 24px;
+ margin: 0 20px;
+ display: none;
+ }
+
+ @media (max-width: 768px) {
+ .heading {
+ font-size: 6vw;
+ }
+ .stepsContainer {
+ flex-direction: column;
+ }
+
+ .arrow {
+ transform: rotate(90deg);
+ margin: 10px 0;
+ }
+ }
+
+ @media (min-width: 1500px) {
+ /* .processDiagram{
+
+ } */
+ }
+
+/*mobile view*/
+@media (max-width: 768px) {
+ .stepsContainer{
+ max-width: 100%;
+ }
+ .arrow {
+ display: block;
+ }
+}
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/modules/process/process.tsx b/src/modules/Public/TrivialIdeas/modules/process/process.tsx
new file mode 100644
index 000000000..d06d4812b
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/modules/process/process.tsx
@@ -0,0 +1,58 @@
+import React from 'react';
+import StepBox from '../../components/stepBox/stepBox';
+import styles from './Process.module.css';
+
+const ProcessDiagram = () => {
+const steps = [
+ {
+ number: 1,
+ title: 'Develop Your Project',
+ description: 'Unleash your programming skills and create something truly innovative.'
+ },
+ {
+ number: 2,
+ title: 'Hosted PWA Format',
+ description: 'Your project must be in the form of a hosted Progressive Web App.'
+ },
+ {
+ number: 3,
+ title: 'GitHub Repository',
+ description: 'Include a link to your GitHub repository in the About section of your PWA.'
+ },
+ {
+ number: 4,
+ title: 'Evaluation Criteria',
+ description: 'Projects will be evaluated based on the content, the GitHub repository and the deployed PWA.'
+ },
+ {
+ number: 5,
+ title: 'Discord Submission',
+ description: 'Share your project by posting it in our Trivial Ideas channel on Discord. Be sure to use the tag #buildinship.'
+ },
+ {
+ number: 6,
+ title: 'Win Amazing Prizes',
+ description: 'Submit your project and stand a chance to win cash prizes up to 1 Lakh and earn 400 karma points.'
+ },
+];
+
+ return (
+
+
How Does This Work?
+
+ {steps.map((step, index) => (
+
+
+ {index < steps.length - 1 && →
}
+
+ ))}
+
+
+ );
+};
+
+export default ProcessDiagram;
diff --git a/src/modules/Public/TrivialIdeas/modules/trivial.module.css b/src/modules/Public/TrivialIdeas/modules/trivial.module.css
new file mode 100644
index 000000000..46a1b83ef
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/modules/trivial.module.css
@@ -0,0 +1,309 @@
+@font-face{
+ font-family: 'pacifico';
+ src: url('../assets/font/Pacifico.ttf')
+
+}
+
+.container{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding-left: 5rem;
+ padding-right: 5rem;
+ position: relative;
+ overflow: hidden;
+}
+.sidenav {
+ position: absolute;
+ top: 0;
+ right: -100%;
+ height: 100vh;
+ width: 100%;
+ background-color: black;
+ color: white;
+ display: flex;
+ flex-direction: column;
+ justify-content: start;
+ align-items: center;
+ padding: 2rem;
+ font-size: 2rem;
+ gap: 5rem;
+ z-index: 100;
+ transform: translateY(-10%);
+}
+.sidenav div:nth-child(2){
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+}
+.sidenav a:hover{
+ text-decoration: underline;
+}
+.navbar{
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 1.2rem 0;
+ /* background: grey; */
+}
+
+.navbarLinks{
+ /* background: red; */
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-weight: 500;
+}
+
+.navbarLinks a{
+ /* margin-right: 2rem; */
+ padding: 0.8vw;
+ font-weight: bold;
+}
+
+.navbarLinks a:hover{
+ text-decoration: underline;
+}
+.no-scroll {
+ overflow: hidden;
+}
+.hamburger{
+ display: none;
+
+}
+.content{
+ font-size: 8vw;
+ padding-top: 8rem;
+ text-align: center;
+ line-height: 1.1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 4rem;
+}
+
+.bold_text{
+ font-size: 3vw;
+ font-weight: bold;
+}
+
+.content h1{
+ font-family: 'pacifico';
+ font-size: 4vw;
+ color: #FE2E6C;
+}
+.content p{
+ font-weight: bolder;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ letter-spacing: -0.025em;
+ font-size: 7vw;
+}
+.content img{
+ margin: 0px 10px;
+ object-position: center;
+ object-fit: contain;
+ width: 11vw;
+}
+.content .subText{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+}
+.content .subText p{
+ font-weight: 600;
+ font-size: 21px;
+ color: #6E6E73;
+ line-height: 1;
+ letter-spacing: 0em;
+}
+.content2{
+ /* font-size: 3vw; */
+ /*font-weight: bold; */
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 5% 0% 5%;
+ gap: 3rem;
+}
+
+.content2 span{
+ font-family: pacifico;
+ color: #2E85FE;
+ font-weight: 100;
+}
+div[style*="padding: 0rem 0"] {
+ font-size: 1.4vw;
+ font-weight: 600;
+ color: #1D1D1F;
+}
+.content2 .patter_container{
+ display: flex;
+ gap: 2vw;
+}
+
+.content2 .patter_container .card{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 5px;
+ border-radius: 1rem;
+ text-align: center;
+}
+
+.content2 .patter_container p{
+ font-size: medium;
+ font-weight: bold;
+ padding: 1rem;
+ word-wrap: break-word;
+ max-width: 250px;
+}
+.content3{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 5% 0% 5%;
+ gap: 1rem;
+}
+.content3 div:nth-child(3){
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 8px;
+}
+.content4{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding: 5% 0% 5%;
+ gap: 1rem;
+ font-size: medium;
+ font-weight: 700;
+ font-size: 1.4vw;
+ letter-spacing: -0.025rem;
+ line-height: 1.2;
+
+}
+.content4 h1{
+ font-size: 3vw;
+ font-weight: bold;
+}
+.content4 span{
+ font-family: pacifico;
+ font-weight: normal;
+ color: #FE2E6C;
+ /* font-weight: 100; */
+}
+.content4 .image_container{
+ padding: 2.5rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: relative;
+
+}
+.content4 .image_container .arrow{
+ position: absolute;
+ right: 0;
+ transform: translateX(7vw);
+ width: 10vw;
+}
+
+@media (max-width: 768px) {
+ .bold_text{
+ font-size: 6vw;
+ }
+ .navbar .navbarLinks a{
+ margin-right: 1rem;
+ padding: 0.5rem;
+ display: none;
+ }
+ .hamburger{
+ display: block;
+ }
+ .container{
+ padding-left: 1.2rem;
+ padding-right: 1.2rem;
+ }
+ .content{
+ gap: 0.8rem;
+ padding-top: 2rem;
+ }
+ .content p{
+ font-size: 8.6vw;
+ line-height: normal;
+ }
+ .content .subText p{
+ font-size: 11px;
+ }
+ .content img{
+ margin: 0px 4px;
+ width: 60px;
+ }
+ .content h1{
+ font-size: 5vw;
+ }
+ .content2>div div{
+ padding: 0;
+ }
+ div[style*="padding: 0rem 0"] {
+ font-size: 2.5vw;
+ }
+ .content2 .patter_container{
+ flex-direction: column;
+ gap: 0.5rem;
+ }
+ .content2 .patter_container .card{
+ gap: 0px;
+ }
+ .content2 .patter_container .card p{
+ font-size: small;
+ padding: 0rem;
+ max-width: 150px;
+ }
+ .content2 .patter_container .card img{
+ /* max-height: 200px; */
+ max-width: 150px;
+ object-fit: contain;
+ }
+
+ .content3 div:nth-child(3){
+ gap: 4px;
+ }
+ .content4 h1{
+ font-size: 6vw;
+ }
+ .content4 P{
+ font-weight: 700;
+ font-size: 14px;
+ }
+ .content4 .image_container{
+ padding: 0rem 3rem;
+ }
+ .content4 .image_container .arrow{
+ transform: translateX(0.5vw);
+ /* width: 20vw; */
+ }
+}
+@media (max-width: 425px) {
+ .content p{
+ font-size: 8vw;
+ }
+ .content img{
+ width: 50px;
+ }
+
+}
\ No newline at end of file
diff --git a/src/modules/Public/TrivialIdeas/modules/trivial.tsx b/src/modules/Public/TrivialIdeas/modules/trivial.tsx
new file mode 100644
index 000000000..70810e4e3
--- /dev/null
+++ b/src/modules/Public/TrivialIdeas/modules/trivial.tsx
@@ -0,0 +1,202 @@
+import {useState,useEffect} from "react";
+import styles from "./trivial.module.css";
+import logo from "../assets/µLearn.svg";
+import white_logo from "../assets/logo_whight.svg";
+import Button from "../components/botton/button";
+import Price from "./price";
+import ProcessDiagram from "./process/process";
+import Faqs from "./faq";
+import Footer from "../components/footer/footer";
+import pattern1 from "../assets/pattern1.png";
+import pattern2 from "../assets/pattern2.png";
+import pattern3 from "../assets/pattern3.png";
+import pattern4 from "../assets/pattern4.png";
+import steve from "../assets/steve.png"
+import elone from "../assets/elone.png"
+import mark from "../assets/mark.png"
+import peoples from "../assets/peoples.png"
+import arrow from "../assets/arrow.png"
+import { IoMenu } from "react-icons/io5";
+import { IoMdClose } from "react-icons/io";
+import { motion } from "framer-motion"
+
+
+const navbar = (handelClick:any) => {
+
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
+
+const patterns = [
+ {
+ img: pattern1,
+ text: "A chance to build and deploy your ideas"
+ },
+ {
+ img: pattern2,
+ text: "Forge connections that elevate you"
+ },
+ {
+ img: pattern3,
+ text: "Get a chance to win ₹ 1 lakh prize pool"
+ },
+ {
+ img: pattern4,
+ text: "Get feedbacks from certified mentors"
+ }
+];
+
+function Trivial() {
+ const [isopen, setisopen] = useState(false);
+
+ useEffect(() => {
+ if (isopen) {
+ // Disable scrolling
+ document.body.style.overflow = 'hidden';
+ } else {
+ // Enable scrolling
+ document.body.style.overflow = 'auto';
+ }
+
+ // Clean up function to re-enable scrolling when the component unmounts
+ return () => {
+ document.body.style.overflow = 'auto';
+ };
+ }, [isopen]);
+
+ const handelSideNav = () => {
+ setisopen(!isopen);
+ // console.log("clicked");
+ }
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+ {navbar(handelSideNav)}
+
+
Trivial Ideas
+
+
+ Turn Your
+
+
+ Crazy, Wild Ideas
+
+
+ Into Real Products!
+
+
+
+
+
+ The ultimate playground for innovative minds ready to transform
+
+
+ even their wildest dreams into tangible projects.
+
+
+
+
+
+
+
+
Work on ideas that Excites you
+
+
This monthly event is your chance to transform your
+
'What If' ideas into something real. And guess what?
+
We’ll reward you for your creativity!
+
+
+
+ {
+ patterns.map((pattern, index) => {
+ return (
+
+
+
{pattern.text}
+
+ );
+ })
+ }
+
+
+
+
+
+
+
Some Crazy People
+
+
+
+
+
+
Let Us See Your Creation
+
submit now!
+
+
+
+
+
+
+
+ >
+ );
+}
+
+export default Trivial;
\ No newline at end of file
diff --git a/src/services/urls.ts b/src/services/urls.ts
index 56c1a14f1..d12bb37cf 100644
--- a/src/services/urls.ts
+++ b/src/services/urls.ts
@@ -91,7 +91,7 @@ export const dashboardRoutes = {
getStudentLeaderBoard: "/api/v1/leaderboard/students/",
getIgDetails: "/api/v1/dashboard/profile/ig-edit/",
getSocials: "/api/v1/dashboard/profile/socials/",
- postProfileImage: "api/v1/dashboard/user/profile/update/",
+ postProfileImage: "/api/v1/dashboard/user/profile/update/",
zonalStudentDetails: "/api/v1/dashboard/zonal/student-details/",
zonalStudentData: "/api/v1/dashboard/zonal/student-details/csv/",
@@ -181,6 +181,11 @@ export const dashboardRoutes = {
getWadhwaniClientToken: "api/v1/integrations/wadhwani/auth-token/",
getWadhwaniCourses: "api/v1/integrations/wadhwani/course-details/",
getWadhwaniCourseLink: "api/v1/integrations/wadhwani/user-login/",
+
+ //OpenGrad
+ getOpenGradClientToken: "api/v1/integrations/OpenGrad/auth-token/",
+ getOpenGradCourses: "api/v1/integrations/OpenGrad/course-details/",
+ getOpenGradCourseLink: "api/v1/integrations/OpenGrad/user-login/"
} as const;
export const organizationRoutes = {
@@ -244,5 +249,5 @@ export const googleSheetRoutes = {
export const donationRoutes = {
order: "api/v1/donate/order/",
- verify : "api/v1/donate/verify/",
-}
\ No newline at end of file
+ verify: "api/v1/donate/verify/"
+};