Reducer for files and correct types
parent
df52776c28
commit
724b047eaa
@ -0,0 +1,47 @@
|
|||||||
|
export interface File {
|
||||||
|
img: string;
|
||||||
|
id: string;
|
||||||
|
selected: boolean;
|
||||||
|
}
|
||||||
|
interface FilesState {
|
||||||
|
files: Array<File>;
|
||||||
|
}
|
||||||
|
interface FilesAction {
|
||||||
|
type: string;
|
||||||
|
payload: {
|
||||||
|
img?: any;
|
||||||
|
id: string;
|
||||||
|
selected?: boolean;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
export function fileReducer(state: FilesState, action: FilesAction) {
|
||||||
|
switch (action.type) {
|
||||||
|
case "ADD_FILE":
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
files: [
|
||||||
|
...state.files,
|
||||||
|
{
|
||||||
|
img: action.payload.img,
|
||||||
|
id: action.payload.id,
|
||||||
|
selected: action.payload.selected,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
case "SELECT_FILE":
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
files: state.files.map((file: File) =>
|
||||||
|
file.id == action.payload.id
|
||||||
|
? { ...file, selected: true }
|
||||||
|
: { ...file, selected: false }
|
||||||
|
),
|
||||||
|
};
|
||||||
|
case "CLEAR_FILES":
|
||||||
|
return {
|
||||||
|
files: [],
|
||||||
|
};
|
||||||
|
default:
|
||||||
|
throw new Error();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,110 @@
|
|||||||
|
export type Offense = {
|
||||||
|
name: string;
|
||||||
|
car_is: string;
|
||||||
|
id: string;
|
||||||
|
implies?: string[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const offenses: Offense[] = [
|
||||||
|
{
|
||||||
|
id: "obszar_wyłączony",
|
||||||
|
name: "Parkowanie na obszarze wyłączonym z ruchu",
|
||||||
|
car_is: "jest zaparkowany na obszarze wyłączonym z ruchu",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "widoczność_pasy",
|
||||||
|
name: "Ograniczanie widoczności na pasach",
|
||||||
|
car_is:
|
||||||
|
"ogranicza widoczność na przejściu dla pieszych, powodując zagrożenie osób korzystających z przejścia",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "widoczność_skrz",
|
||||||
|
name: "Ograniczanie widoczności na skrzyżowaniu",
|
||||||
|
car_is:
|
||||||
|
"ogranicza widoczność na skrzyżowaniu, powodując zagrożenie dla uczestników ruchu",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "utrudnia_ruch_rowerom",
|
||||||
|
name: "Utrudnianie ruchu rowerowego",
|
||||||
|
car_is: "utrudnia ruch rowerowy",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "utrudnia_ruch_pieszym",
|
||||||
|
name: "Utrudnianie ruchu pieszego",
|
||||||
|
car_is: "utrudnia ruch pieszych",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "poza_wyzn",
|
||||||
|
name: "Parkowanie poza wyznaczonym miejscem",
|
||||||
|
car_is: "jest zaparkowany poza wyznaczonym miejscem parkingowym",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "przed_przejsc",
|
||||||
|
name: "Parkowanie <10m przed przejściem dla pieszych",
|
||||||
|
car_is: "jest zaparkowany mniej niż 10m przed przejściem dla pieszych",
|
||||||
|
implies: ["widoczność_pasy"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "na_zakazie",
|
||||||
|
name: "Parkowanie za znakiem zakazu parkowania",
|
||||||
|
car_is: "jest zaparkowany za znakiem zakazu parkowania",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "brama",
|
||||||
|
name: "Blokowanie bramy wjazdowej",
|
||||||
|
car_is: "blokuje bramę wjazdową",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "na_chodzie",
|
||||||
|
name: "Postój na chodzie",
|
||||||
|
car_is: "ma włączony silnik podczas postoju",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "blk_chodnik",
|
||||||
|
name: "Blokowanie chodnika",
|
||||||
|
car_is:
|
||||||
|
"jest zaparkowany na chodniku pozostawiając mniej niż 1,5m dla pieszych",
|
||||||
|
implies: ["utrudnia_ruch_pieszym"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "chyba2.5t",
|
||||||
|
name: "Duży samochód dostawczy na chodniku",
|
||||||
|
car_is:
|
||||||
|
"najprawdopodobniej przekracza dopuszczalną całkowitą masę 2,5t będąc zaparkowanym na chodniku",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "hydrant",
|
||||||
|
name: "Blokowanie hydrantu",
|
||||||
|
car_is: "blokuje dostęp do hydrantu",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "przystanek_15",
|
||||||
|
name: "Parkowanie <15m od przystanku",
|
||||||
|
car_is:
|
||||||
|
"jest zaparkowany w odległości mniejszej niż 15m od tablicy oznaczającej przystanek",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "utr_innym_zapark",
|
||||||
|
name: "Utrudnianie wyjazdu innym zaparkowanym samochodom",
|
||||||
|
car_is:
|
||||||
|
"dokonuje postoju w miejscu utrudniającym dostęp do innych, prawidłowo zaparkowanych pojazdów lub wyjazd tych pojazdów",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "pas_rowerow",
|
||||||
|
name: "blokuje pas rowerów",
|
||||||
|
car_is: "zaparkowany na pasie dla rowerów",
|
||||||
|
implies: ["utrudnia_ruch_rowerom"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "t30",
|
||||||
|
name: "Parkowanie niezgodnie z rysunkiem na tabliczce (T-30)",
|
||||||
|
car_is:
|
||||||
|
"nie stosuje się do znaku T-30, wskazującego sposób ustawienia pojazdu względem krawędzi jezdni",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "blokuje_znak",
|
||||||
|
name: "Zasłanianie znaku drogowego",
|
||||||
|
car_is:
|
||||||
|
"zaparkowany w odległości mniejszej niż 10m od przedniej strony znaku drogowego, zasłaniając go (Art 49, punkt 1, ust. 6)",
|
||||||
|
},
|
||||||
|
];
|
Loading…
Reference in New Issue