Merged Bhakti's changes.

This commit is contained in:
K
2025-02-23 03:24:24 +05:30
5 changed files with 70 additions and 99 deletions
+14 -13
View File
@@ -31,10 +31,11 @@ export const CardWithImage = () => {
</a> </a>
<div class="p-6 backdrop-blur-md rounded-b-lg"> <div class="p-6 backdrop-blur-md rounded-b-lg">
<a href="#"> <a href="#">
<h5 class="mb-2 text-2xl font-bold tracking-tight text-white dark:text-white">Excellent Dashboards</h5> <h5 class="mb-2 text-2xl font-bold tracking-tight text-white dark:text-white">High tech, high yields?</h5>
</a> </a>
<p class="mb-3 font-normal text-white dark:text-gray-400">Our descriptive dashboards give insights into your crop's health and keeps track of your burning expenses</p> <p class="mb-3 font-normal text-white dark:text-gray-400">The Kenyan farmers deploying AI to increase productivity
<a href="#" class="inline-flex shadow-md backdrop-blur-md bg-gradient-to-tr from-gray-700/20 to-gray-50/20 items-center px-3 py-2 text-sm font-medium text-center text-white rounded-lg hover:backdrop-blur-xl "> This article is more than 4 months old. AI apps are increasingly popular among small-scale farmers seeking to improve the quality and quantity of their crop.</p>
<a href="https://www.theguardian.com/world/2024/sep/30/high-tech-high-yields-the-kenyan-farmers-deploying-ai-to-increase-productivity" target="_blank" class="inline-flex shadow-md backdrop-blur-md bg-gradient-to-tr from-gray-700/20 to-gray-50/20 items-center px-3 py-2 text-sm font-medium text-center text-white rounded-lg hover:backdrop-blur-xl ">
Read more Read more
<svg class="rtl:rotate-180 w-3.5 h-3.5 ms-2" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 10"> <svg class="rtl:rotate-180 w-3.5 h-3.5 ms-2" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 10">
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 5h12m0 0L9 1m4 4L9 9"/> <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 5h12m0 0L9 1m4 4L9 9"/>
@@ -45,12 +46,12 @@ export const CardWithImage = () => {
) )
} }
export const CardOnlyText = () => { export const CardOnlyText = (props) => {
return( return(
<div> <div>
<a href="#" class="block max-w-sm p-6 rounded-lg shadow-md backdrop-blur-md dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700"> <a href={props.href} target="_blank" class="block max-w-sm p-6 rounded-lg shadow-md backdrop-blur-md dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700">
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-50 dark:text-white">Noteworthy technology acquisitions 2021</h5> <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-50 dark:text-white"> {props.headingText} </h5>
<p class="font-normal text-gray-50 dark:text-gray-400">Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.</p> <p class="font-normal text-gray-50 dark:text-gray-400"> {props.bodyText} </p>
</a> </a>
</div> </div>
) )
@@ -59,11 +60,11 @@ export const CardOnlyText = () => {
export const CardWithButton = () => { export const CardWithButton = () => {
return( return(
<div class="max-w-sm p-6 backdrop-blur-md rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700"> <div class="max-w-sm p-6 backdrop-blur-md rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
<a href="#"> <a href="https://www.reuters.com/sustainability/land-use-biodiversity/comment-how-empowering-smallholder-farmers-with-ai-tools-can-bolster-global-food-2025-01-10/" target="_blank">
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-50 dark:text-white">Noteworthy technology acquisitions 2021</h5> <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-50 dark:text-white">Empowering smallholder farmers with AI tools can bolster global food security</h5>
</a> </a>
<p class="mb-3 font-normal text-gray-50 dark:text-gray-400">Here are the biggest enterprise technology acquisitions of 2021 so far, in reverse chronological order.</p> <p class="mb-3 font-normal text-gray-50 dark:text-gray-400"> AI-powered weather forecasts help rural Indian farmers make informed planting decisions, reducing debt and boosting savings.</p>
<a href="#" class="inline-flex shadow-md backdrop-blur-md bg-gradient-to-tr from-gray-700/20 to-gray-50/20 items-center px-3 py-2 text-sm font-medium text-center text-white rounded-lg hover:backdrop-blur-xl "> <a href="https://www.reuters.com/sustainability/land-use-biodiversity/comment-how-empowering-smallholder-farmers-with-ai-tools-can-bolster-global-food-2025-01-10/" target="_blank" class="inline-flex shadow-md backdrop-blur-md bg-gradient-to-tr from-gray-700/20 to-gray-50/20 items-center px-3 py-2 text-sm font-medium text-center text-white rounded-lg hover:backdrop-blur-xl ">
Read more Read more
<svg class="rtl:rotate-180 w-3.5 h-3.5 ms-2" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 10"> <svg class="rtl:rotate-180 w-3.5 h-3.5 ms-2" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 10">
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 5h12m0 0L9 1m4 4L9 9"/> <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 5h12m0 0L9 1m4 4L9 9"/>
@@ -76,8 +77,8 @@ export const CardWithButton = () => {
export const CardWithOnlyImage = () => { export const CardWithOnlyImage = () => {
return( return(
<div class="w-full max-w-sm bg-white rounded-lg shadow-xl dark:bg-gray-800 dark:border-gray-700"> <div class="w-full max-w-sm bg-white rounded-lg shadow-xl dark:bg-gray-800 dark:border-gray-700">
<a href="#"> <a href="https://theprint.in/economy/telangana-is-the-success-story-of-indian-agritech-ai-tools-soil-testing-e-commerce-more/1630359/" target="_blank">
<img class=" rounded-lg" src="/images/plant.png" alt="product image" /> <img class=" rounded-lg" src="https://i.pinimg.com/736x/2b/2a/0f/2b2a0f7003bd3e4201573c1189d600de.jpg" alt="product image" />
</a> </a>
</div> </div>
) )
+2 -2
View File
@@ -41,13 +41,13 @@ function Hero2() {
</ScrollReveal> </ScrollReveal>
<div className="flex flex-col gap-10 justify-between "> <div className="flex flex-col gap-10 justify-between ">
<ScrollReveal direction='up' > <CardOnlyText /> </ScrollReveal> <ScrollReveal direction='up' > <CardOnlyText headingText = {"AI for agriculture: How Indian farmers are harvesting innovation"} bodyText={"Farmers participating in the programme saw a 21% increase in chili yields per acre, a 9% reduction in pesticide use, a 5% decrease in fertilizer usage, and an 8% improvement in unit prices due to quality enhancements."} href={"https://www.weforum.org/impact/ai-for-agriculture-in-india/ "} /> </ScrollReveal>
<ScrollReveal direction='up'> <CardWithButton /> </ScrollReveal> <ScrollReveal direction='up'> <CardWithButton /> </ScrollReveal>
</div> </div>
<div className=" flex flex-col justify-between"> <div className=" flex flex-col justify-between">
<ScrollReveal direction='up'> <CardOnlyText headingText={"SugarChain: Blockchain technology meets Agriculture"} bodyText={"The use of blockchain technology can help farmers automate processes with high trust, addressing issues like middlemen involvement and ensuring accurate compensation for their products"} href={"https://arxiv.org/abs/2301.08405"} /> </ScrollReveal>
<ScrollReveal direction='up'> <CardWithOnlyImage /> </ScrollReveal> <ScrollReveal direction='up'> <CardWithOnlyImage /> </ScrollReveal>
<ScrollReveal direction='up'> <CardOnlyText /> </ScrollReveal>
</div> </div>
</div> </div>
</div> </div>
+19 -26
View File
@@ -39,38 +39,29 @@ const LoginPage = () => {
navigate("/"); navigate("/");
} }
}; };
return ( return (
<section className="bg-gray-100 font-sans h-[91vh] flex flex-col justify-center md:p-5"> <section className="bg-[url(/images/loginBG.png)] bg-cover font-sans flex flex-col justify-center md:p-5 ">
<div className="container mx-auto p-4 "> <div className="container mx-auto ">
<div className="grid grid-cols-1 md:grid-cols-2 gap-8"> <div className="flex justify-between pt-24">
<div className="bg-gradient-to-br from-purple-300 to-pink-200 overflow-hidden rounded-lg shadow-md min-h-40 object-center"> <div className=" rounded-lg shadow-md ">
<div className="flex flex-col items-center justify-center h-full relative"> <div className="flex flex-col items-center justify-center h-full ">
<img <h1 className="text-6xl font-bold text-white mb-4 md:text-6xl lg:text-9xl ml-8">
src="/images/background1.jpg"
alt=""
className="absolute order-3 w-full h-full"
/>
<h1 className="text-6xl font-bold text-white mb-4 md:text-6xl lg:text-9xl relative ml-8">
Welcome Back! Welcome Back!
</h1> </h1>
{/* <img src="/images/background.jpg" alt="" className="absolute order-3"/> */}
{/* <img
src="https://cdn.pixabay.com/photo/2017/02/21/15/19/arrow-2074591_960_720.png"
alt="Arrow"
className="w-16 h-16 text-white"
/> */}
</div> </div>
</div> </div>
<div className="bg-white p-8 rounded-lg shadow-md h-full lg:p-36"> <div className=" backdrop-blur-md bg-gradient-to-tr from-slate-300/10 to-slate-200/30 rounded-lg shadow-md lg:p-36">
<h1 className="text-2xl font-bold text-gray-800 mb-4">Login</h1> <h1 className="text-2xl font-bold text-gray-50 mb-4">Login</h1>
<p className="text-gray-600 mb-6"> <p className="text-gray-100 mb-6">
Welcome back! Please login to your account. Welcome back! Please login to your account.
</p> </p>
<form className="space-y-6" onSubmit={handleLogin}> <form className="space-y-6" onSubmit={handleLogin}>
<div> <div>
<label <label
for="username" for="username"
className="block mb-2 text-sm font-medium text-gray-900 dark:text-white" className="block mb-2 text-sm font-medium text-gray-100 dark:text-white"
> >
Email Email
</label> </label>
@@ -86,7 +77,7 @@ const LoginPage = () => {
<div> <div>
<label <label
for="password" for="password"
className="block mb-2 text-sm font-medium text-gray-900 dark:text-white" className="block mb-2 text-sm font-medium text-gray-100 dark:text-white"
> >
Password Password
</label> </label>
@@ -109,7 +100,7 @@ const LoginPage = () => {
/> />
<label <label
for="remember_me" for="remember_me"
className="ml-2 text-sm font-medium text-gray-900 dark:text-gray-300" className="ml-2 text-sm font-medium text-gray-100 dark:text-gray-300"
> >
Remember Me Remember Me
</label> </label>
@@ -118,16 +109,18 @@ const LoginPage = () => {
to={"/user/forgetpassword"} to={"/user/forgetpassword"}
className="text-sm font-medium text-blue-600 hover:underline dark:text-blue-500" className="text-sm font-medium text-blue-600 hover:underline dark:text-blue-500"
> >
Forget Password? Forgot Password?
</Link> </Link>
</div> </div>
<div className=" flex justify-center">
<button <button
type="submit" type="submit"
className="text-white bg-purple-500 hover:bg-purple-700 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800" className="text-white w-1/2 backdrop-blur-lg bg-gradient-to-tr from-slate-100/15 to-slate-200/15 shadow-lg hover:backdrop-blur-lg focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
> >
Login Login
</button> </button>
<p className="text-gray-600 text-center mt-4"> </div>
<p className="text-gray-100 text-center mt-4">
New User?{" "} New User?{" "}
<Link <Link
to={"/user/signup"} to={"/user/signup"}
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import Navbar from "../../components/Navbar.jsx"; import Navbar2 from "../../components/Navbar2.jsx";
import { Outlet } from "react-router-dom"; import { Outlet } from "react-router-dom";
import Container from "../../components/Container.jsx"; import Container from "../../components/Container.jsx";
+24 -47
View File
@@ -53,10 +53,10 @@ const SignupPage = () => {
}; };
return ( return (
<section className="bg-gray-100 font-sans h-[91vh] flex flex-col justify-center md:p-5 "> <section className="bg-[url(https://i.pinimg.com/736x/6c/d2/cc/6cd2cc05a7e464a78bdf1124b4ad30f1.jpg)] bg-cover font-sans flex flex-col justify-center md:p-5 ">
<div className="container mx-auto p-4 mt-64 sm:mt-32 md:mt-0"> <div className="container mx-auto p-4 pt-24 sm:mt-32 md:mt-0">
<div className="grid grid-cols-1 md:grid-cols-2 gap-8"> <div className="grid grid-cols-1 md:grid-cols-2 gap-8">
<div className="bg-gradient-to-br from-purple-300 to-pink-200 overflow-hidden rounded-lg shadow-md min-h-40 object-center md:hidden"> <div className="bg-gradient-to-br from-purple-300 to-pink-200 rounded-lg shadow-md min-h-40 object-center md:hidden">
<div className="flex flex-col items-center justify-center h-full relative"> <div className="flex flex-col items-center justify-center h-full relative">
<img <img
src="/images/background1.jpg" src="/images/background1.jpg"
@@ -64,22 +64,19 @@ const SignupPage = () => {
className="absolute order-3 w-full h-full" className="absolute order-3 w-full h-full"
/> />
<h1 className="text-6xl font-bold text-white mb-4 md:text-6xl lg:text-9xl relative ml-8"> <h1 className="text-6xl font-bold text-white mb-4 md:text-6xl lg:text-9xl relative ml-8">
Welcome to MentorFlux! Welcome to Crop Compass
</h1> </h1>
{/* <img src="./images/background.jpg" alt="" className="absolute order-3"/> */}
{/* <img
src="https://cdn.pixabay.com/photo/2017/02/21/15/19/arrow-2074591_960_720.png"
alt="Arrow"
className="w-16 h-16 text-white"
/> */}
</div> </div>
</div> </div>
<div className="bg-white p-8 rounded-lg shadow-md h-full lg:p-16"> <div className="backdrop-blur-md bg-gradient-to-tr from-slate-300/10 to-slate-200/30 rounded-lg shadow-md lg:p-36">
<h1 className="text-2xl font-bold text-gray-800 mb-4"> <h1 className="text-2xl font-bold text-gray-50 mb-4">
Register Your account Register Your account
</h1> </h1>
<p className="text-gray-600 mb-6"> <p className="text-gray-100">
Welcome to MentorFlux. Please register your new account. Welcome to Crop Compass.
</p>
<p className="text-gray-100 mb-6">
Please register your new account.
</p> </p>
<form <form
action="#" action="#"
@@ -90,7 +87,7 @@ const SignupPage = () => {
<div className="w-full"> <div className="w-full">
<label <label
htmlFor="username" htmlFor="username"
className="block mb-2 text-sm font-medium text-gray-900 dark:text-white" className="block mb-2 text-sm font-medium text-gray-100 dark:text-white"
> >
First Name First Name
</label> </label>
@@ -99,14 +96,14 @@ const SignupPage = () => {
id="firstName" id="firstName"
ref={firstNameElement} ref={firstNameElement}
className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="Enter your First name here..." placeholder="John"
required required
/> />
</div> </div>
<div className="w-full"> <div className="w-full">
<label <label
htmlFor="username" htmlFor="username"
className="block mb-2 text-sm font-medium text-gray-900 dark:text-white" className="block mb-2 text-sm font-medium text-gray-100 dark:text-white"
> >
Last Name Last Name
</label> </label>
@@ -115,7 +112,7 @@ const SignupPage = () => {
id="LastName" id="LastName"
ref={lastNameElement} ref={lastNameElement}
className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="Enter your Last name here..." placeholder="Doe"
required required
/> />
</div> </div>
@@ -124,7 +121,7 @@ const SignupPage = () => {
<div> <div>
<label <label
htmlFor="username" htmlFor="username"
className="block mb-2 text-sm font-medium text-gray-900 dark:text-white" className="block mb-2 text-sm font-medium text-gray-100 dark:text-white"
> >
Email Email
</label> </label>
@@ -132,27 +129,11 @@ const SignupPage = () => {
type="email" type="email"
id="email" id="email"
ref={emailElement} ref={emailElement}
className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" className="bg-gray-50 border border-gray-300 text-gray-100 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="Please Enter your Email here..." placeholder="user@mail.com"
required required
/> />
</div> </div>
<div className="w-full">
<label
htmlFor="countries"
className="block mb-2 text-sm font-medium text-gray-900 dark:text-white"
>
Select your Role
</label>
<select
id="role"
ref={roleElement}
className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
>
<option>Student</option>
<option>Mentor</option>
</select>
</div>
<div> <div>
<label <label
htmlFor="password" htmlFor="password"
@@ -165,7 +146,7 @@ const SignupPage = () => {
id="password" id="password"
ref={passwordElement} ref={passwordElement}
className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="Please enter password having at least 6 unique letters.. " placeholder="At least 6 unique Characters.. "
required required
/> />
</div> </div>
@@ -189,12 +170,14 @@ const SignupPage = () => {
className="text-sm font-medium text-blue-600 hover:underline dark:text-blue-500" className="text-sm font-medium text-blue-600 hover:underline dark:text-blue-500"
></a> ></a>
</div> </div>
<div className=" flex justify-center">
<button <button
type="submit" type="submit"
className="text-white bg-purple-500 hover:bg-purple-700 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800" className="text-white w-1/2 backdrop-blur-lg bg-gradient-to-tr from-slate-100/15 to-slate-200/15 shadow-lg hover:backdrop-blur-lg focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
> >
Register your Account Register your Account
</button> </button>
</div>
<p className="text-gray-600 text-center mt-4"> <p className="text-gray-600 text-center mt-4">
Already have an Account ?{" "} Already have an Account ?{" "}
<Link <Link
@@ -206,7 +189,7 @@ const SignupPage = () => {
</p> </p>
</form> </form>
</div> </div>
<div className="bg-gradient-to-br from-purple-300 to-pink-200 overflow-hidden rounded-lg shadow-md min-h-40 object-center hidden md:block"> {/* <div className=" backdrop-blur-sm rounded-lg shadow-md md:block">
<div className="flex flex-col items-center justify-center h-full relative text-center"> <div className="flex flex-col items-center justify-center h-full relative text-center">
<img <img
src="/images/background1.jpg" src="/images/background1.jpg"
@@ -216,14 +199,8 @@ const SignupPage = () => {
<h1 className="text-5xl font-bold text-white mb-4 md:text-5xl lg:text-8xl relative ml-8 text-center"> <h1 className="text-5xl font-bold text-white mb-4 md:text-5xl lg:text-8xl relative ml-8 text-center">
Welcome to MentorFlux! Welcome to MentorFlux!
</h1> </h1>
{/* <img src="./images/background.jpg" alt="" className="absolute order-3"/> */}
{/* <img
src="https://cdn.pixabay.com/photo/2017/02/21/15/19/arrow-2074591_960_720.png"
alt="Arrow"
className="w-16 h-16 text-white"
/> */}
</div>
</div> </div>
</div> */}
</div> </div>
</div> </div>
</section> </section>