Skip to content

Commit a9f9fc7

Browse files
committed
Applied job sections error fixed
1 parent 5ee6aca commit a9f9fc7

10 files changed

+116
-131
lines changed

index.html

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22
<html lang="en" data-theme="light">
33
<head>
44
<meta charset="UTF-8" />
5-
<link rel="icon" type="image/svg+xml" href="/amin.png" />
5+
<link
6+
rel="icon"
7+
type="image/svg+xml"
8+
href="https://i.ibb.co/1nTNgcK/chip-1.png"
9+
/>
610
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
711
<title>Linke Tech - Find the right job or internship for you</title>
812
</head>

public/FeaturedJobs.json

+44-44
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[
22
{
33
"id": 1,
4-
"companyLogo": "./Logo/google-1-1 1-1.png",
4+
"companyLogo": "https://i.ibb.co/T1d0X0R/google-1-1-1.png",
55
"jobTitle": "Software Engineer",
66
"companyName": "Google LLC",
77
"remoteOrOnsite": "Remote",
8-
"location": "Anywhere",
8+
"location": "Dhaka, Bangladesh",
99
"fulltimeOrParttime": "Fulltime",
1010
"salary": "$100,000 - $120,000",
1111
"jobDescription": "We are looking for a talented software engineer to join our team and help us build amazing products.",
@@ -19,7 +19,7 @@
1919
},
2020
{
2121
"id": 2,
22-
"companyLogo": "./Logo/netflix-4 1.png",
22+
"companyLogo": "https://i.ibb.co/6n7q2Cs/netflix-4-1.png",
2323
"jobTitle": "Marketing Manager",
2424
"companyName": "Netflix",
2525
"remoteOrOnsite": "Onsite",
@@ -37,7 +37,7 @@
3737
},
3838
{
3939
"id": 3,
40-
"companyLogo": "./Logo/netflix-4 1.png",
40+
"companyLogo": "https://i.ibb.co/6n7q2Cs/netflix-4-1.png",
4141
"jobTitle": "Product Manager",
4242
"companyName": "Netflix",
4343
"remoteOrOnsite": "Remote",
@@ -56,57 +56,57 @@
5656

5757
{
5858
"id": 4,
59-
"companyLogo": "./Logo/google-1-1 1.png",
59+
"companyLogo": "https://i.ibb.co/T1d0X0R/google-1-1-1.png",
6060
"jobTitle": "Data Analyst",
6161
"companyName": "Google LLC",
6262
"remoteOrOnsite": "Onsite",
6363
"location": "San Francisco, CA",
64-
"FulltimeOrParttime": "Fulltime",
65-
"Salary": "$90,000 - $110,000",
66-
"JobDescription": "We are looking for a data analyst to help us extract insights from our large datasets.",
67-
"JobResponsibility": "Develop and maintain reports and dashboards to visualize data. Conduct ad-hoc analysis to answer business questions. Collaborate with cross-functional teams to identify data-driven insights and opportunities. Develop and maintain data pipelines to extract, transform, and load data from various sources.",
68-
"EducationalRequirements": "Bachelor's degree in Mathematics, Statistics, Computer Science, or related field.",
69-
"Experiences": "3+ years of experience in data analysis.",
70-
"ContactInformation": {
71-
"Phone": "555-3456",
72-
"Email": "[email protected]"
64+
"fulltimeOrParttime": "Fulltime",
65+
"salary": "$90,000 - $110,000",
66+
"jobDescription": "We are looking for a data analyst to help us extract insights from our large datasets.",
67+
"jobResponsibility": "Develop and maintain reports and dashboards to visualize data. Conduct ad-hoc analysis to answer business questions. Collaborate with cross-functional teams to identify data-driven insights and opportunities. Develop and maintain data pipelines to extract, transform, and load data from various sources.",
68+
"educationalRequirements": "Bachelor's degree in Mathematics, Statistics, Computer Science, or related field.",
69+
"experiences": "3+ years of experience in data analysis.",
70+
"contactInformation": {
71+
"phone": "555-3456",
72+
"email": "[email protected]"
7373
}
7474
},
7575

7676
{
77-
"Id": 5,
78-
"CompanyLogo": "./Logo/tesla-9 1.png",
79-
"JobTitle": "Product Manager",
80-
"CompanyName": "Tesla",
81-
"RemoteOrOnsite": "Remote",
82-
"Location": "Anywhere",
83-
"FulltimeOrParttime": "Fulltime",
84-
"Salary": "$100,000 - $120,000",
85-
"JobDescription": "We are looking for an experienced Product Manager to help us build amazing products.",
86-
"JobResponsibility": "Collaborate with cross-functional teams to develop product roadmaps and define product requirements. Manage product lifecycle from ideation to launch. Conduct market research and analysis to identify product opportunities and trends. Monitor and analyze product performance metrics and use data to inform product decisions.",
87-
"EducationalRequirements": "Bachelor's degree in Business, Engineering, Computer Science, or related field.",
88-
"Experiences": "5+ years of experience in product management.",
89-
"ContactInformation": {
90-
"Phone": "555-2345",
91-
"Email": "[email protected]"
77+
"id": 5,
78+
"companyLogo": "https://i.ibb.co/hWHt0R9/tesla-9-1.png",
79+
"jobTitle": "Product Manager",
80+
"companyName": "Tesla",
81+
"remoteOrOnsite": "Remote",
82+
"location": "Anywhere",
83+
"fulltimeOrParttime": "Fulltime",
84+
"salary": "$100,000 - $120,000",
85+
"jobDescription": "We are looking for an experienced Product Manager to help us build amazing products.",
86+
"jobResponsibility": "Collaborate with cross-functional teams to develop product roadmaps and define product requirements. Manage product lifecycle from ideation to launch. Conduct market research and analysis to identify product opportunities and trends. Monitor and analyze product performance metrics and use data to inform product decisions.",
87+
"educationalRequirements": "Bachelor's degree in Business, Engineering, Computer Science, or related field.",
88+
"experiences": "5+ years of experience in product management.",
89+
"contactInformation": {
90+
"phone": "555-2345",
91+
"email": "[email protected]"
9292
}
9393
},
9494
{
95-
"Id": 6,
96-
"CompanyLogo": "./Logo/tesla-9 1.png",
97-
"JobTitle": "Product Manager",
98-
"CompanyName": "Tesla",
99-
"RemoteOrOnsite": "Remote",
100-
"Location": "Anywhere",
101-
"FulltimeOrParttime": "Fulltime",
102-
"Salary": "$100,000 - $120,000",
103-
"JobDescription": "We are looking for an experienced Product Manager to help us build amazing products.",
104-
"JobResponsibility": "Collaborate with cross-functional teams to develop product roadmaps and define product requirements. Manage product lifecycle from ideation to launch. Conduct market research and analysis to identify product opportunities and trends. Monitor and analyze product performance metrics and use data to inform product decisions.",
105-
"EducationalRequirements": "Bachelor's degree in Business, Engineering, Computer Science, or related field.",
106-
"Experiences": "5+ years of experience in product management.",
107-
"ContactInformation": {
108-
"Phone": "555-2345",
109-
"Email": "[email protected]"
95+
"id": 6,
96+
"companyLogo": "https://i.ibb.co/hWHt0R9/tesla-9-1.png",
97+
"jobTitle": "Data Analyst",
98+
"companyName": "Tesla",
99+
"remoteOrOnsite": "Onsite",
100+
"location": "Anywhere",
101+
"fulltimeOrParttime": "Fulltime",
102+
"salary": "$120,000 - $200,000",
103+
"jobDescription": "We are looking for an experienced Product Manager to help us build amazing products.",
104+
"jobResponsibility": "Collaborate with cross-functional teams to develop product roadmaps and define product requirements. Manage product lifecycle from ideation to launch. Conduct market research and analysis to identify product opportunities and trends. Monitor and analyze product performance metrics and use data to inform product decisions.",
105+
"educationalRequirements": "Bachelor's degree in Business, Engineering, Computer Science, or related field.",
106+
"experiences": "4+ years of experience in product management.",
107+
"contactInformation": {
108+
"phone": "555-234544",
109+
"email": "jobs.gt@examplecompany6.com"
110110
}
111111
}
112112
]

src/App.jsx

+3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ import React from "react";
22
import { Outlet } from "react-router-dom";
33
import Header from "./components/Header";
44
import Footer from "./components/Footer";
5+
import { ToastContainer } from "react-toastify";
6+
import "react-toastify/dist/ReactToastify.css";
57
const App = () => {
68
return (
79
<div>
10+
<ToastContainer></ToastContainer>
811
<Header />
912
<div className="min-h-[calc(100vh-136px)]">
1013
<Outlet />

src/components/AppliedJobs.jsx

+44-67
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,53 @@
1-
import React from "react";
1+
import React, { useState } from "react";
2+
import { useLoaderData } from "react-router-dom";
3+
import FeaturedJobs from "./FeaturedJobs";
24

35
const AppliedJobs = () => {
6+
const saveCart = useLoaderData();
7+
const [allJobs, setAllJobs] = useState(saveCart);
8+
const [newJobs, setNewJobs] = useState(saveCart);
9+
10+
const filterHandler = (event) => {
11+
const target = event.target.value;
12+
if (target) {
13+
const filterJob = allJobs.filter((job) => job.remoteOrOnsite == target);
14+
// console.log(filterJob);
15+
setNewJobs(filterJob);
16+
} else {
17+
setNewJobs(newJobs);
18+
}
19+
};
20+
421
return (
5-
<div>
6-
<h1 className="text-center text-3xl font-bold">Applied Jobs</h1>
7-
<div className="my-container grid md:grid-cols-1 lg:grid-cols-1 gap-2">
8-
<div className=" card card-compact w-50% bg-base-100 shadow-xl">
9-
<div className="flex justify-between ">
10-
{" "}
11-
<figure>
12-
<img src="https://i.ibb.co/z2ZGQk5/google-1-1-1.png" alt="" />
13-
</figure>
14-
<div className="card-body">
15-
<h2 className="card-title">Software Engineer</h2>
16-
<p>Google LLC</p>
17-
<p>Dhaka, Bangladesh</p>
18-
<div className="card-actions justify-end">
19-
<button className="btn btn-primary">View Details</button>
20-
</div>
21-
</div>
22-
</div>
23-
</div>
24-
<div className=" card card-compact w-50% bg-base-100 shadow-xl">
25-
<div className="flex justify-between ">
26-
{" "}
27-
<figure>
28-
<img src="https://i.ibb.co/zV8HJjK/netflix-4-1.png" alt="" />
29-
</figure>
30-
<div className="card-body">
31-
<h2 className="card-title">Senior Product Designer</h2>
32-
<p>Netflix</p>
33-
<p>Dhaka, Bangladesh</p>
34-
<div className="card-actions justify-end">
35-
<button className="btn btn-primary">View Details</button>
36-
</div>
37-
</div>
38-
</div>
22+
<>
23+
<div className="bg-gray-100 rounded -mt-24">
24+
<div className="flex justify-between">
25+
<img src="https://i.ibb.co/gF5CfdD/Vector.png" alt="" />
26+
<h2 className="text-center mt-12 pt-12 font-bold text-3xl mb-5">
27+
Applied Jobs
28+
</h2>
29+
<img src="https://i.ibb.co/cQkpWvG/Vector-1.png" alt="Vector1" />
3930
</div>
40-
<div className=" card card-compact w-50% bg-base-100 shadow-xl">
41-
<div className="flex justify-between ">
42-
{" "}
43-
<figure>
44-
<img src="https://i.ibb.co/z2ZGQk5/google-1-1-1.png" alt="" />
45-
</figure>
46-
<div className="card-body">
47-
<h2 className="card-title">Software Engineer</h2>
48-
<p>Google LLC</p>
49-
<p>Dhaka, Bangladesh</p>
50-
<div className="card-actions justify-end">
51-
<button className="btn btn-primary">View Details</button>
52-
</div>
53-
</div>
54-
</div>
55-
</div>
56-
<div className=" card card-compact w-50% bg-base-100 shadow-xl">
57-
<div className="flex justify-between ">
58-
{" "}
59-
<figure>
60-
<img src="https://i.ibb.co/zV8HJjK/netflix-4-1.png" alt="" />
61-
</figure>
62-
<div className="card-body">
63-
<h2 className="card-title">Senior Product Designer</h2>
64-
<p>Netflix</p>
65-
<p>Dhaka, Bangladesh</p>
66-
<div className="card-actions justify-end">
67-
<button className="btn btn-primary">View Details</button>
68-
</div>
69-
</div>
70-
</div>
31+
</div>
32+
<div className="pt-7 mb-5 text-end px-12">
33+
<div className="dropdown dropdown-bottom dropdown-end">
34+
<label tabIndex={0} className="btn m-1">
35+
Filter By Job
36+
</label>
37+
<select
38+
onChange={filterHandler}
39+
tabIndex={0}
40+
className="dropdown-content menu p-2 shadow bg-base-100 rounded-box w-52"
41+
>
42+
<option value={`Onsite`}>Onsite</option>
43+
<option value={`Remote`}>Remote</option>
44+
</select>
7145
</div>
46+
{newJobs.map((jobInfo) => (
47+
<FeaturedJobs key={jobInfo.id} job={jobInfo} />
48+
))}
7249
</div>
73-
</div>
50+
</>
7451
);
7552
};
7653

src/components/Footer.jsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const Footer = () => {
1919
<br />
2020
Explore thousands of job opportunities
2121
</p>
22-
<img src="https://i.ibb.co/60tMjfm/Group-9969.png" alt="" srcset="" />
22+
<img src="https://i.ibb.co/60tMjfm/Group-9969.png" />
2323
</div>
2424
<div>
2525
<span className="footer-title">Services</span>

src/components/Header.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const Header = () => {
5454
<li>
5555
<Link to="/StartApplying" className="btn border-transparent">
5656
<div>
57-
<p>Start Applying</p>
57+
<p>Star Applying</p>
5858
</div>
5959
</Link>
6060
</li>
@@ -131,7 +131,7 @@ const Header = () => {
131131
className="btn border-transparent"
132132
>
133133
<div>
134-
<p>Start Applying</p>
134+
<p>Star Applying</p>
135135
</div>
136136
</Link>
137137
</li>

src/components/Home.jsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ const Home = () => {
8787
{!seeAllJobs && (
8888
<button
8989
onClick={handleSellAllJob}
90-
className="btn btn-primary block mx-auto mb-5"
90+
className="btn btn-primary block ml-9 mb-5"
9191
>
9292
See All Jobs
9393
</button>

src/components/JobDetailSection.jsx

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ const JobDetailSection = (props) => {
1818
location,
1919
} = props.job;
2020

21-
// const handleAddToCart = props.handleAddToCart;
21+
const handleAddToCart = props.handleAddToCart;
2222
return (
23-
<div className="grid lg:grid-cols-4">
23+
<div className="grid lg:grid-cols-4 mb-20">
2424
<div className="pt-8 col-span-3 px-4">
2525
<div className="mb-8">
2626
<h1 className="text-xl">
@@ -31,7 +31,7 @@ const JobDetailSection = (props) => {
3131

3232
<div className="mb-8">
3333
<h1 className="text-xl">
34-
<span className="text-2xl font-bold">Job REsponsibility:</span>{" "}
34+
<span className="text-2xl font-bold">Job Responsibility:</span>{" "}
3535
{jobResponsibility}
3636
</h1>
3737
</div>
@@ -79,7 +79,7 @@ const JobDetailSection = (props) => {
7979
<PhoneIcon className="h-8 text-violet-400 w-8" />{" "}
8080
<p className="text-xl">
8181
<span className="text-2xl font-bold">Phone:</span>{" "}
82-
{contactInformation.phone}
82+
{contactInformation?.phone}
8383
</p>
8484
</span>
8585

@@ -88,7 +88,7 @@ const JobDetailSection = (props) => {
8888
<EnvelopeIcon className="h-8 text-violet-400 w-8" />{" "}
8989
<p className="text-xl">
9090
<span className="text-2xl font-bold">Email:</span>{" "}
91-
{contactInformation.email}
91+
{contactInformation?.email}
9292
</p>
9393
</span>
9494
<span className="flex gap-3 pb-4 pl-4">
@@ -101,8 +101,8 @@ const JobDetailSection = (props) => {
101101
</div>
102102
</div>
103103
<button
104-
// onClick={() => handleAddToCart(props.job)}
105-
className="btn btn-primary w-[64%] block mx-auto mb-5"
104+
onClick={() => handleAddToCart(props.job)}
105+
className="btn btn-primary w-[64%] block ml-9 mb-5"
106106
>
107107
Apply Now
108108
</button>

src/components/JobDetails.jsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { addToDb } from "../utilities/fakedb";
33
import { useLoaderData, useParams } from "react-router-dom";
44
import { toast } from "react-toastify";
55
import JobDetailSection from "./JobDetailSection";
6+
67
const JobDetails = () => {
78
const jobDetail = useLoaderData();
89
let jobId = useParams();
@@ -27,7 +28,7 @@ const JobDetails = () => {
2728
exist.quantity = exist.quantity + 1;
2829
const remaining = jobDetails.filter((jobs) => jobs.id !== job.id);
2930
newCart = [...remaining, exist];
30-
toast.success("Add this Item Successfully", {
31+
toast.success("Job Applied Successfully", {
3132
position: toast.POSITION.TOP_CENTER,
3233
});
3334
}
@@ -38,9 +39,9 @@ const JobDetails = () => {
3839
<div>
3940
<div className="bg-gray-100 rounded -mt-24 ">
4041
<div className="flex justify-between">
41-
{/* <img src={Vector} alt="" /> */}
42-
<h1 className="mt-12 pt-12 text-4xl font-bold">Job Details</h1>
43-
{/* <img src={Vector1} alt="" /> */}
42+
<h1 className="mt-12 ml-80 pt-12 text-4xl text-center font-bold">
43+
Job Details
44+
</h1>
4445
</div>
4546
</div>
4647
<div>

0 commit comments

Comments
 (0)