unfinished locationpage

This commit is contained in:
ismailsosic
2022-04-11 12:22:55 +02:00
parent cb1257a902
commit f4c9f6258e
13 changed files with 2487 additions and 1559 deletions

View File

@@ -6,7 +6,7 @@ const Filter = (props) => {
const {filtersData, setFiltersData} = props.data
const changeHandler = ( event ) => {
setFiltersData(prevData => ({
setFiltersData( prevData => ({
...prevData,
[event.target.name]: event.target.value
}))

View File

@@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
import "./Filters.css";
import Filter from "./Filter/Filter";
import DoubleFilter from "./Filter/DoubleFilter";
import Cars from "../../data/cars";
import Cars from "../../data/cars-brands";
import Cubes from "../../data/cubes";
import Type from "../../data/type";
import Fuel from "../../data/fuel";

View File

@@ -0,0 +1,47 @@
import React, {useEffect, useState} from "react";
import './LocationFilter.css';
import Location from "../../data/location";
const LocationFilter = () => {
const [locationData, setLocationData] = useState({});
const clickHandler = (e) => {
setLocationData( prevData => ({
...prevData,
[e.target.name]: e.target.value
}))
}
console.log(locationData)
useEffect(() => {
console.log(locationData)
},[locationData])
return (
<div>
<label htmlFor={Location.ime}>Izaberite lokaciju:</label>
<select name={Location.ime} id={Location.ime} onClick={(e) => clickHandler(e) }>
<option value="Svi">Svi</option>
<optgroup label={Location.entiteti[0].entitet}>
{Location.entiteti[0].kantoni.map((kanton, i) => {
return(
<option key={i} value={kanton.kanton}>{kanton.kanton}</option>
)
})}
</optgroup>
<optgroup label={Location.entiteti[1].entitet}>
{Location.entiteti[1].kantoni.map((kanton, i) => {
return(
<option key={i} value={kanton.kanton}>{kanton.kanton}</option>
)
})}
</optgroup>
<option style={{fontWeight: "bold"}} value={Location.entiteti[2].distrikt}>{Location.entiteti[2].distrikt}</option>
</select>
</div>
)
}
export default LocationFilter;

View File

@@ -4,6 +4,7 @@ import { React, useEffect, useState } from 'react';
import CategoryPage from './CategoryPage';
import LandingPage from './LandingPage';
import FiltersPage from './FiltersPage';
import LocationPage from './LocationPage';
import EmailPage from './EmailPage';
import CongratsPage from './CongratsPage';
import LinkR from '../data/routes';
@@ -27,6 +28,7 @@ function App() {
<Route path='/' element={<LandingPage />} />
<Route path='category' element={<CategoryPage data={{filtersData, setFiltersData}} routes={LinkR.category} />}/>
<Route path='filters' element={<FiltersPage data={{filtersData, setFiltersData}} routes={LinkR.filters}/>}/>
<Route path='location' element={<LocationPage data={{filtersData, setFiltersData}} routes={LinkR.location}/>}/>
<Route path='email' element={<EmailPage data={{filtersData, setFiltersData}} routes={LinkR.email} />}/>
<Route path='congrats' element={<CongratsPage data={{filtersData, setFiltersData}} routes={LinkR.congrats} />}/>

View File

@@ -1,5 +1,4 @@
import Header from '../components/Header/Header';
import StandardBtn from '../components/Button/StandardBtn';
import TitleBtn from '../components/Button/TitleBtn';
import './css/CongratsPage.css'
import { Link } from 'react-router-dom';

View File

@@ -2,7 +2,7 @@ import {React, useState} from "react";
import './css/FiltersPage.css';
import Header from "../components/Header/Header";
import ButtonsToolbar from "../components/ButtonsToolbar/ButtonsToolbar";
import FiltersNav from '../components/FiltersNavbar/FiltersNav'
import FiltersNav from '../components/FiltersNavbar/FiltersNav';
import StandardFilters from "../components/Filters/Standard-filters";
import AdvancedFilters from "../components/Filters/Advanced-filters";

View File

@@ -0,0 +1,27 @@
import React, { useState } from 'react';
import './css/LocationPage.css';
import Header from "../components/Header/Header";
import Filter from '../components/Filters/Filter/Filter';
import Location from '../data/location';
import LocationFilter from '../components/Location/LocationFilter';
import ButtonsToolbar from '../components/ButtonsToolbar/ButtonsToolbar';
const LocationPage = (props) => {
const {filtersData, setFiltersData} = props.data
const naslov = "Dodajte lokaciju"
return (
<div>
<Header header={naslov}/>
<ButtonsToolbar routes={props.routes}/>
<LocationFilter data={{filtersData, setFiltersData}}/>
</div>
);
}
export default LocationPage

View File

@@ -0,0 +1,4 @@
*{
margin: 0;
padding: 0;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,223 @@
const Location = {
"ime": "Lokacija",
"entiteti": [
{"entitet":"Federacija BiH",
"kantoni": [
{"kanton": "Sarajevo",
"gradovi": [
"Hadžići",
"Ilidža",
"Ilijaš",
"Sarajevo - Centar",
"Sarajevo-Novi Grad",
"Sarajevo-Novo Sarajevo",
"Sarajevo-Stari Grad",
"Trnovo",
"Vogošća"
]
},
{"kanton":"Unsko-sanski",
"gradovi": [
"Bihać",
"Bosanska Krupa",
"Bosanski Petrovac",
"Bužim",
"Cazin",
"Ključ",
"Sanski Most",
"Velika Kladuša"
]
},
{"kanton": "Posavski",
"gradovi": [
"Domaljevac",
"Odžak",
"Orašje",
"Šamac"
]
},
{"kanton":"Tuzlanski",
"gradovi": [
"Banovići",
"Doboj-Istok",
"Gradačac",
"Gračanica",
"Kalesija",
"Kladanj",
"Lukavac",
"Sapna",
"Srebrenik",
"Teočak",
"Tuzla",
"Čelić",
"Živinice"
]
},
{"kanton":"Zeničko-dobojski",
"gradovi": [
"Breza",
"Doboj-Jug",
"Kakanj",
"Maglaj",
"Olovo",
"Tešanj",
"Usora",
"Vareš",
"Visoko",
"Zavidovići",
"Zenica",
"Žepče"
]
},
{"kanton":"Bosansko-podrinjski",
"gradovi": [
"Foča",
"Goražde",
"Pale"
]
},
{"kanton":"Srednjobosanski",
"gradovi": [
"Bugojno",
"Busovača",
"Dobretići",
"Donji Vakuf",
"Fojnica",
"Gornji Vakuf - Uskoplje",
"Jajce",
"Kiseljak",
"Kreševo",
"Novi Travnik",
"Travnik",
"Vitez"
]
},
{"kanton":"Hercegovačko-neretvanski",
"gradovi": [
"Grad Mostar",
"Jablanica",
"Konjic",
"Neum",
"Prozor",
"Ravno",
"Stolac",
"Čapljina",
"Čitluk"
]
},
{"kanton":"Zapadno-hercegovački",
"gradovi": [
"Grude",
"Ljubuški",
"Posušje",
"Široki Brijeg"
]
},
{"kanton":"Livanjski",
"gradovi": [
"Bosansko Grahovo",
"Drvar",
"Glamoč",
"Kupres",
"Livno",
"Tomislavgrad"
]
}
]
},
{"entitet":"Republika Srpska",
"kantoni": [
{"kanton":"Banjalučka",
"gradovi": [
"Banja Luka",
"Gradiška",
"Istočni Drvar",
"Jezero",
"Kneževo",
"Kostajnica",
"Kotor Varoš",
"Kozarska Dubica",
"Krupa na uni",
"Kupres",
"Laktaši",
"Mrkonjić Grad",
"Novi Grad",
"Oštra Luka",
"Petrovac",
"Prijedor",
"Prnjavor",
"Ribnik",
"Srbac",
"Čelinac",
"Šipovo"
]
},
{"kanton":"Dobojsko-Bijeljinska",
"gradovi": [
"Bijeljina",
"Brod",
"Derventa",
"Doboj",
"Donji Žabar",
"Lopare",
"Lukavac",
"Modriča",
"Pelagićevo",
"Petrovo",
"Stanari",
"Teslić",
"Tešanj",
"Tuzla",
"Ugljevik",
"Vukosavlje",
"Šamac"
]
},
{"kanton":"Sarajevsko-Zvornička",
"gradovi": [
"Bratunac",
"Han Pijesak",
"Ilijaš",
"Istočni Stari Grad",
"Kasindo",
"Kladanj",
"Lukavica",
"Milići",
"Olovo",
"Osmaci",
"Pale",
"Rogatica",
"Rudo",
"Sarajevo-Novi Grad",
"Sokolac",
"Srebrenica",
"Trnovo",
"Ustiprača",
"Višegrad",
"Vlasenica",
"Zvornik",
"Šekovići",
"Žepa"
]
},
{"kanton":"Trebinjsko-Fočanska",
"gradovi": [
"Berkovići",
"Bileća",
"Foča",
"Gacko",
"Istočni Mostar",
"Kalinovik",
"Ljubinje",
"Nevesinje",
"Trebinje",
"Čajniče"
]
}
]
},
{"distrikt":"Distrikt Brcko"}
]
}
export default Location;

View File

@@ -5,10 +5,14 @@ const LinkR = {
},
"filters": {
"prev": "/category",
"next": "/email"
"next": "/location"
},
"email": {
"location": {
"prev": "/filters",
"next": "/email"
},
"email": {
"prev": "/location",
"next": "/congrats"
}
}