Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/Amruta7203/Nacto-Care into …
Browse files Browse the repository at this point in the history
…newBranchMain
  • Loading branch information
Amruta7203 committed Jun 3, 2024
2 parents 8b453cb + e0c3f01 commit 69d8c74
Show file tree
Hide file tree
Showing 11 changed files with 276 additions and 69 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ body:
label: "Add ScreenShots"
description: "Add sufficient SS to explain your issue."
validations:
required: true
required: false
- type: checkboxes
attributes:
label: "Record"
options:
- label: "I agree to follow this project's Code of Conduct"
required: true
- label: "I'm a GSSOC'24 contributor"
- label: "I want to work on this issue"
- label: "I want to work on this issue"
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
"react-router-dom": "^6.22.3",
"react-scroll": "^1.9.0",
"react-switch": "^7.0.0",
"styled-components": "^6.1.11"
"styled-components": "^6.1.11",
"vanilla-tilt": "^1.8.1"
},
"devDependencies": {
"@types/react": "^18.2.66",
Expand Down
2 changes: 1 addition & 1 deletion src/Pages/BlogPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ const BlogPage = () => {
<div class="container mx-auto px-4 py-8 w-full">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-10 w-[80%] mx-auto">
{blogs.map((blog) => {
return <Link to={`/blog/${blog.id}/`}>
return <Link className='blog-card' to={`/blog/${blog.id}/`}>
<div class="bg-white shadow-md rounded-lg overflow-hidden">
<img className="w-full h-52 object-cover" src="https://imgs.search.brave.com/q3MJLK_ILOJjNNpDQfAoodURIpLLbhskPAuceu6vI6c/rs:fit:860:0:0/g:ce/aHR0cHM6Ly9tZWRp/YS5nZXR0eWltYWdl/cy5jb20vaWQvMTM0/OTE4MzAxMy9waG90/by9hZnJpY2FuLW1h/bGUtam91cm5hbGlz/dC1wcmVwYXJpbmct/cXVlc3Rpb25zLWZv/ci1wcmVzcy1jb25m/ZXJlbmNlLmpwZz9z/PTYxMng2MTImdz0w/Jms9MjAmYz1xaWRi/U3pfNmhwa2tyNmpS/QjUtMWhTTUsxSjZL/RUM2YXZJVkJsYXht/WmdvPQ" alt="Blog Image" />
<div class="p-4 flex flex-col gap-1 blog-text">
Expand Down
144 changes: 144 additions & 0 deletions src/Pages/FeedbackForm.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
import React, { useContext, useState } from "react";
import BackBtn from "../components/BackBtn/BackBtn";
import { ThemeContext } from "/src/main"; // Adjusted import path

function FeedbackPage() {
const { theme } = useContext(ThemeContext); // Access the theme
const [rating, setRating] = useState(null);
const [name, setName] = useState("");
const [email, setEmail] = useState("");
const [feedback, setFeedback] = useState("");

const handleRatingChange = (value) => {
setRating(value);
};

const handleNameChange = (e) => {
setName(e.target.value);
};

const handleEmailChange = (e) => {
setEmail(e.target.value);
};

const handleFeedbackChange = (e) => {
setFeedback(e.target.value);
};

const handleRedirect = () => {
const subject = encodeURIComponent("Feedback and Suggestions for Improvement");
const body = encodeURIComponent(
`Name: ${name}\nEmail: ${email}\nRating: ${rating}\nFeedback: ${feedback}`
);
window.location.href = `mailto:[email protected]?subject=${subject}&body=${body}`;
};

const handleSubmit = (e) => {
e.preventDefault();
handleRedirect();
};

return (
<div className="py-8 px-4 lg:px-8 mx-auto max-w-screen-md">
<BackBtn Page={"Feedback"} />
<div className="mt-8">
<h2 className="text-3xl md:text-4xl font-bold text-center text-green-500 mb-6">
We'd Love Your Feedback!
</h2>
<p className="text-center text-gray-600 dark:text-gray-400 text-lg mb-8">
Let us know how we're doing and how we can improve.
</p>
<div className="flex justify-center items-center mb-8">
<label
htmlFor="rating"
className={`block mr-4 text-lg font-semibold ${
theme === "dark" ? "text-white" : "text-gray-900"
}`}
>
Rate us:
</label>
<div className="flex">
{[1, 2, 3, 4, 5].map((value) => (
<button
key={value}
type="button"
onClick={() => handleRatingChange(value)}
className={`mr-2 ${
rating === value
? "text-green-500"
: theme === "dark"
? "text-white"
: "text-gray-900"
} focus:outline-none`}
style={{ fontSize: "2rem" }} // Adjust font size here
>
{rating >= value ? "😊" : "😐"}
</button>
))}
</div>
</div>
<form onSubmit={handleSubmit} className="bg-white dark:bg-gray-800 p-6 rounded-lg shadow-md">
<label
htmlFor="name"
className={`block mb-2 text-lg font-semibold ${
theme === "dark" ? "text-white" : "text-gray-900"
}`}
>
Your Name
</label>
<input
type="text"
id="name"
value={name}
onChange={handleNameChange}
className="block w-full text-lg text-gray-900 dark:text-white bg-gray-100 dark:bg-gray-700 rounded-lg shadow-sm border border-gray-300 dark:border-gray-600 focus:ring-primary-500 focus:border-primary-500 p-4 mb-4"
placeholder="Enter your name"
required
/>
<label
htmlFor="email"
className={`block mb-2 text-lg font-semibold ${
theme === "dark" ? "text-white" : "text-gray-900"
}`}
>
Your Email
</label>
<input
type="email"
id="email"
value={email}
onChange={handleEmailChange}
className="block w-full text-lg text-gray-900 dark:text-white bg-gray-100 dark:bg-gray-700 rounded-lg shadow-sm border border-gray-300 dark:border-gray-600 focus:ring-primary-500 focus:border-primary-500 p-4 mb-4"
placeholder="Enter your email"
required
/>
<label
htmlFor="feedback"
className={`block mb-2 text-lg font-semibold ${
theme === "dark" ? "text-white" : "text-gray-900"
}`}
>
Your Feedback
</label>
<textarea
id="feedback"
rows="6"
value={feedback}
onChange={handleFeedbackChange}
className="block w-full text-lg text-gray-900 dark:text-white bg-gray-100 dark:bg-gray-700 rounded-lg shadow-sm border border-gray-300 dark:border-gray-600 focus:ring-primary-500 focus:border-primary-500 p-4 mb-4"
placeholder="Let us know how we can improve..."
required
></textarea>
<button
type="submit"
className="mt-6 py-3 px-6 bg-green-500 hover:bg-green-600 text-white font-bold rounded-lg focus:outline-none focus:ring-2 focus:ring-green-400 transition-all"
>
Submit Feedback
</button>
</form>
</div>
</div>
);
}

export default FeedbackPage;
79 changes: 49 additions & 30 deletions src/Pages/LandingPage.jsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
import React from "react";
import React, { useEffect } from "react";
import Form from "../components/Form/Form";
import { Link } from "react-router-dom";
import { Link as ScrollLink } from "react-scroll";
import VanillaTilt from "vanilla-tilt";

function LandingPage() {
useEffect(() => {
VanillaTilt.init(document.querySelectorAll("[data-tilt]"), {
max: 25,
speed: 400,
glare: true,
"max-glare": 0.5,
});
}, []);

return (
<>
<div className="relative">
{/* Block 1 */}
<div
className="h-[45rem] py-28 text-center lxg:text-left lxg:w-[70rem] m-auto justify-center gap-8 relative bg-gradient-to-b flex "
className="h-[45rem] py-28 text-center lxg:text-left lxg:w-[70rem] m-auto justify-center gap-8 relative bg-gradient-to-b flex"
id="block1"
>
<div className="py-10 px-7">
Expand All @@ -25,7 +35,7 @@ function LandingPage() {
Cure, personalized care plans, flexible scheduling, health
insurance and much more.
</p>
<div className="mt-12 sm:mt-9 flex items-center flex-col sm:flex-row sm:justify-center lxg:justify-start sm:gap-4">
<div className="mt-12 sm:mt-9 flex items-center flex-col sm:flex-row sm:justify-center lxg:justify-start sm:gap-4">
<Link to="book-nurse">
<button className="bg-green-600 w-48 mb-4 sm:mb-0 sm:min-w-[10rem] transition-all shadow-lg shadow-black hover:shadow-lg hover:scale-105 hover:shadow-green-400 text-white px-12 py-3 rounded-sm">
Book Nurse
Expand All @@ -38,23 +48,23 @@ function LandingPage() {
</ScrollLink>
</div>
</div>
<div className="py-10 items-end hidden lxg:flex px-7">
<div className="py-10 items-end hidden lxg:flex px-7" data-tilt>
<img
width={400}
height={400}
src="/assets/Nurse.webp"
style={{ filter: "drop-shadow(0 0 0.25rem rgba(0, 0, 0, 0.3))" }}
alt="nurse"
className="w-[22rem]"
className="w-[22rem] float"
/>
</div>
</div>
<div className="mx-14 mt-11 flex justify-center basis-[16rem] sm:mx-24">
<div className="lg:mx-14 mx-4 md:mx-10 lg:mt-11 flex justify-center basis-[16rem] ">
<Form />
</div>

{/* Block 2 */}
<div className="px-8 lg:px-16 mt-24 sm:mt-28 md:my-28" id="block2">
<div className="px-8 lg:px-16 mt-24 sm:mt-28 md:my-28" id="block2">
<div className="text-center mb-14 flex flex-col gap-4">
<h3 className="text-xl sm:text-3xl font-medium">
Book a health checkup now
Expand All @@ -63,7 +73,7 @@ function LandingPage() {
Quick & easy care for elderly and your loved ones
</h2>
</div>
<div className="flex flex-col m-auto max-w-[75rem] lg:flex-row justify-evenly mt-14 lg:mt-28">
<div className="flex flex-col m-auto max-w-[75rem] lg:flex-row justify-evenly mt-14 lg:mt-28">
<div className="flex flex-col items-center">
<img
src="/assets/nurseFlaticon.webp"
Expand Down Expand Up @@ -94,11 +104,11 @@ function LandingPage() {
<h2 className="text-2xl font-bold">Contact Support</h2>
<p className="max-w-[40ch] mt-3 text-gray-500 font-medium">
Our knowledgeable and friendly operators are always ready to
help with any questions or concerns
help with any questions or concerns.
</p>
</div>
</div>
{/* Let's Ride */}
{/* We Care for You */}
<div className="flex flex-col items-center mt-14 lg:mt-0">
<img
src="/assets/health-insurance.webp"
Expand All @@ -108,7 +118,7 @@ function LandingPage() {
alt=""
/>
<div className="text-center mt-8">
<h2 className="text-2xl font-bold">We Care for you</h2>
<h2 className="text-2xl font-bold">We Care for You</h2>
<p className="max-w-[40ch] mt-3 text-gray-500 font-medium">
Personalized care tailored to you, with comprehensive health
insurance coverage.
Expand All @@ -129,44 +139,45 @@ function LandingPage() {

{/* Block 5 */}
<div className="m-auto flex flex-col items-center">
<div className="block text-center smd:text-left smd:flex justify-between m-auto px-11 py-6 gap-11 mt-8 mb-8 ">
<div className="block text-center smd:text-left smd:flex justify-between m-auto px-11 py-6 gap-11 mt-8 mb-8">
<div>
<div>
<h4 className="font-bold text-2xl">Why Choose Us</h4>
<h2 className="font-bold text-center ml-auto mr-auto smd:ml-0 text-5xl my-4 smd:text-left max-w-[20ch]">
We value for health, healthcare workers and the nation
We value health, healthcare workers, and the nation
</h2>
<p className="w-full text-center smd:text-left max-w-[65ch] my-2 text-zinc-600 privacy">
We believe in valuing every aspect of health, from individual
wellness to the tireless dedication of those who nurture it.
Nurses in India are migrating to different nation to find
better opportunities but we are on a mission to provide them
Nurses in India are migrating to different nations to find
better opportunities, but we are on a mission to provide them
work opportunities by fulfilling the needs of home nursing as
a freelancing solution and connect the patients with certified
nurses.
a freelancing solution and connecting the patients with
certified nurses.
</p>
<p className="w-full text-center smd:text-left max-w-[65ch] my-2 text-zinc-600 privacy">
For the care seekers, We provide them personalized healthcare
care plans and health insurances which will protect them in
case of emergency. Covering both the aspects of care seekers
and care givers we are aiming to solve the health care for
world's largest democratic nation.
For the care seekers, we provide personalized healthcare care
plans and health insurance which will protect them in case of
emergency. Covering both the aspects of care seekers and care
givers, we aim to solve the health care needs of the world's
largest democratic nation.
</p>
</div>
</div>
<div className="my-16 text-center m-auto smd:text-left">
<div className="flex flex-col gap-3 items-center smd:gap-5 smd:flex smd:flex-row max-w-[70ch] mb-4">
<div className="flex flex-col gap-3 items-center smd:gap-5 smd:flex smd:flex-row max-w-[70ch] mb-4">
<div>
<img
src="\assets\health-professional.webp"

src="/assets/health-professional.png"
height={100}
width={100}
alt=""
/>
</div>
<div className="max-w-[70ch] mb-3">
<h2 className="text-zinc-700 font-bold text-xl contact-para">
Certified Professional Healthcare workers
Certified Professional Healthcare Workers
</h2>
<p className="max-w-[38ch] text-zinc-500 font-medium text-xm privacy">
We ensure quality care by connecting you with certified
Expand All @@ -175,32 +186,40 @@ function LandingPage() {
</p>
</div>
</div>
<div className="flex flex-col gap-3 items-center smd:gap-5 smd:flex smd:flex-row max-w-[70ch] mb-4">
<div className="flex flex-col gap-3 items-center smd:gap-5 smd:flex smd:flex-row max-w-[70ch] mb-4">
<div>

<img src="/assets/debt.png" height={100} width={100} alt="" />

<img src="\assets\debt.webp" height={100} width={100} alt="" />

</div>
<div className="max-w-[70ch] mb-3">
<h2 className="text-zinc-700 font-bold text-xl contact-para">
No Hidden Charges
</h2>
<p className="max-w-[38ch] text-zinc-500 font-medium text-xm privacy">
Enjoy peace of mind with our no hidden charges policy. We
believe in transparent and honest pricing and what you see
will be the last amount that you'd ever pay.
believe in transparent and honest pricing. What you see is
what you pay.
</p>
</div>
</div>
<div className=" flex flex-col gap-3 items-center smd:gap-5 smd:flex smd:flex-row max-w-[70ch] mb-4">
<div className="flex flex-col gap-3 items-center smd:gap-5 smd:flex smd:flex-row max-w-[70ch] mb-4">
<div>

<img src="/assets/india.png" height={100} width={100} alt="" />

<img src="\assets\india.webp" height={100} width={100} />

</div>
<div className="max-w-[70ch] mb-3">
<h2 className="text-zinc-700 font-bold text-xl contact-para">
Get Care, Anywhere
</h2>
<p className="max-w-[38ch] text-zinc-500 font-medium text-xm privacy">
We are constantly expanding our service across cities in
India
India.
</p>
</div>
</div>
Expand Down
Loading

0 comments on commit 69d8c74

Please sign in to comment.