From 42de0777a05cce5895f3938e3ca83c4ddac12e4d Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sun, 14 Jun 2026 12:54:49 +0000 Subject: [PATCH] Bob AI: Add job-search page --- src/App.tsx | 2 + src/components/Layout.tsx | 4 +- src/pages/JobSearchPage.tsx | 131 ++++++++++++++++++++++++++++++++++++ src/routes.ts | 1 + 4 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 src/pages/JobSearchPage.tsx diff --git a/src/App.tsx b/src/App.tsx index 33d15f9..6e3c925 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom'; import Layout from './components/Layout'; import HomePage from './pages/HomePage'; +import JobSearchPage from "@/pages/JobSearchPage"; export default function App() { return ( }> } /> + } /> ); diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index d5286a7..e3f4c6c 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -34,7 +34,9 @@ export default function Layout() { { "name": "Testimonials", "href": "#testimonials" - } + }, + { name: "Job Search", href: "/job-search" }, + ]; return ( diff --git a/src/pages/JobSearchPage.tsx b/src/pages/JobSearchPage.tsx new file mode 100644 index 0000000..78461f5 --- /dev/null +++ b/src/pages/JobSearchPage.tsx @@ -0,0 +1,131 @@ +import React, { useState } from 'react'; +import { routes } from "@/routes"; +import NavbarCentered from "@/components/ui/NavbarCentered"; +import Input from "@/components/ui/Input"; +import DropdownMenu from "@/components/ui/DropdownMenu"; +import Button from "@/components/ui/Button"; +import Card from "@/components/ui/Card"; +import Tag from "@/components/ui/Tag"; +import FooterSimple from "@/components/sections/footer/FooterSimple"; + +export default function JobSearchPage() { + const [keyword, setKeyword] = useState(''); + const [city, setCity] = useState(''); + const [category, setCategory] = useState(''); + const [type, setType] = useState(''); + + const cities = [ + { label: 'Tirana', value: 'tirana' }, + { label: 'Durrës', value: 'durres' }, + { label: 'Vlorë', value: 'vlore' }, + { label: 'Shkodër', value: 'shkoder' } + ]; + + const categories = [ + { label: 'IT & Software', value: 'it' }, + { label: 'Marketing', value: 'marketing' }, + { label: 'Shitje', value: 'sales' }, + { label: 'Financë', value: 'finance' } + ]; + + const types = [ + { label: 'Full-time', value: 'full-time' }, + { label: 'Part-time', value: 'part-time' }, + { label: 'Remote', value: 'remote' } + ]; + + const jobs = [ + { + id: 1, + title: 'Senior React Developer', + company: 'TechTirana', + location: 'Tirana', + type: 'Full-time', + salary: '€1,500 - €2,500', + description: 'Kërkojmë një zhvillues me përvojë në React për të ndërtuar aplikacione web moderne për klientët tanë ndërkombëtarë.' + }, + { + id: 2, + title: 'Specialist Marketingu', + company: 'Kreativ Agency', + location: 'Remote', + type: 'Part-time', + salary: '€600 - €800', + description: 'Menaxhim i rrjeteve sociale, krijim përmbajtjeje dhe optimizim i fushatave reklamuese.' + }, + { + id: 3, + title: 'Menaxher Shitjesh', + company: 'AlbRetail', + location: 'Durrës', + type: 'Full-time', + salary: '€800 + Bonuse', + description: 'Drejtimi i ekipit të shitjeve dhe zgjerimi i rrjetit të klientëve në rajonin e bregdetit.' + } + ]; + + return ( +
+ ({ name: r.label, href: r.path }))} + ctaButton={{ text: "Posto Punë", href: "/post-job" }} + /> + +
+
+

Gjej Punën Tënde të Ëndrrave

+

Eksploro mundësi punësimi në Shqipëri dhe apliko me një klikim.

+
+ +
+
+ + setKeyword(e.target.value)} className="w-full" /> +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ {jobs.map(job => ( + +
+
+

{job.title}

+
{job.company} • {job.location}
+
+ + +
+

{job.description}

+
+
+
+
+
+ ))} +
+
+ + +
+ ); +} \ No newline at end of file diff --git a/src/routes.ts b/src/routes.ts index 362ecb5..2bd9437 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -6,4 +6,5 @@ export interface Route { export const routes: Route[] = [ { path: '/', label: 'Home', pageFile: 'HomePage' }, + { path: '/job-search', label: 'Job Search', pageFile: 'JobSearchPage' }, ];