Posodobitev komponent in dodajanje novih strani
Build and Deploy / build-and-deploy (push) Failing after 22s
Build and Deploy / build-and-deploy (push) Failing after 22s
This commit is contained in:
1 parent
b3548287b4
commit
9b3a5e0895
101 files changed
+3088
-22578
No files matched your search
+90
-24
@@ -236,63 +236,63 @@ Ta dokument vsebuje kratek pregled vseh komponent v aplikaciji za rezervacije re
|
||||
|
||||
### 50. SearchNavBar
|
||||
**Lokacija:** `/src/components/SearchNavBar.tsx`
|
||||
**Namen:** Navigacijska vrstica za stran z iskanjem, z naslovom in gumbi za ponastavitev filtrov in pomoč.
|
||||
**Uporaba:** Uporabite na vrhu strani za iskanje in filtriranje restavracij.
|
||||
**Namen:** Navigacijska vrstica za stran z iskanjem, ki vsebuje naslov strani in gumbe za hitro ponastavitev filtrov in dostop do pomoči.
|
||||
**Uporaba:** Uporabite kot glavno navigacijo na vrhu strani za iskanje in filtriranje.
|
||||
|
||||
### 51. AdvancedSearchBar
|
||||
**Lokacija:** `/src/components/AdvancedSearchBar.tsx`
|
||||
**Namen:** Napredno iskalno polje z možnostjo čiščenja vnosa.
|
||||
**Uporaba:** Uporabite na vrhu strani za iskanje, ko želite omogočiti iskanje po imenih restavracij ali jedi.
|
||||
**Namen:** Iskalno polje s podporo za vnos in čiščenje poizvedbe, s poudarjeno vizualno podobo.
|
||||
**Uporaba:** Uporabite kot glavni vnos za iskalno poizvedbo na strani za iskanje.
|
||||
|
||||
### 52. FilterHeader
|
||||
**Lokacija:** `/src/components/FilterHeader.tsx`
|
||||
**Namen:** Glava sekcije filtrov z naslovom in gumbom za ponastavitev.
|
||||
**Uporaba:** Uporabite kot uvod v sekcijo filtrov na strani za iskanje.
|
||||
**Namen:** Naslovni del filtrirne sekcije, ki prikazuje naslov "Filtri" in gumb za ponastavitev vseh filtrov.
|
||||
**Uporaba:** Uporabite kot uvod v sklop filtrov na strani za iskanje.
|
||||
|
||||
### 53. LocationFilter
|
||||
**Lokacija:** `/src/components/LocationFilter.tsx`
|
||||
**Namen:** Filter za izbiro lokacije z vnosnim poljem in hitro izbiro priljubljenih lokacij.
|
||||
**Uporaba:** Uporabite v sekciji filtrov za filtriranje restavracij po lokaciji.
|
||||
**Namen:** Kompleksna komponenta za filtriranje po lokaciji, ki združuje vnosno polje in hitre izbire priljubljenih lokacij.
|
||||
**Uporaba:** Uporabite za omogočanje različnih načinov določanja lokacije pri iskanju restavracij.
|
||||
|
||||
### 54. CuisineFilterGrid
|
||||
**Lokacija:** `/src/components/CuisineFilterGrid.tsx`
|
||||
**Namen:** Mreža izbirnih polj za filtriranje po vrstah kuhinje.
|
||||
**Uporaba:** Uporabite v sekciji filtrov za izbiro željenih vrst kuhinj.
|
||||
**Namen:** Vizualno privlačna mreža za izbiro vrst kuhinje z ikonami in besedilom, podpira večkratno izbiro.
|
||||
**Uporaba:** Uporabite za filtriranje restavracij po vrstah kuhinje.
|
||||
|
||||
### 55. PriceRangeFilter
|
||||
**Lokacija:** `/src/components/PriceRangeFilter.tsx`
|
||||
**Namen:** Filter za izbiro cenovnih razredov restavracij (od € do €€€€).
|
||||
**Uporaba:** Uporabite v sekciji filtrov za filtriranje po cenovnem razredu.
|
||||
**Namen:** Filter za izbiro enega ali več cenovnih razredov (€, €€, €€€, €€€€).
|
||||
**Uporaba:** Uporabite za filtriranje restavracij po cenovnem razredu.
|
||||
|
||||
### 56. RatingSlider
|
||||
**Lokacija:** `/src/components/RatingSlider.tsx`
|
||||
**Namen:** Drsnik za filtriranje restavracij po minimalni oceni.
|
||||
**Uporaba:** Uporabite v sekciji filtrov za filtriranje restavracij po minimalni oceni.
|
||||
**Namen:** Drsnik za izbiro minimalne ocene pri filtriranju, z natančnim prikazom trenutno izbrane vrednosti.
|
||||
**Uporaba:** Uporabite za filtriranje restavracij glede na oceno (od 0 do 5).
|
||||
|
||||
### 57. AdditionalOptionsFilter
|
||||
**Lokacija:** `/src/components/AdditionalOptionsFilter.tsx`
|
||||
**Namen:** Skupina potrditvenih polj za dodatne možnosti filtriranja (odprto zdaj, parkirišče, ipd.).
|
||||
**Uporaba:** Uporabite v sekciji filtrov za bolj natančno filtriranje restavracij.
|
||||
**Namen:** Zbirka potrditvenih polj za dodatne možnosti filtriranja, kot so trenutno odprto, parkirišče in podobno.
|
||||
**Uporaba:** Uporabite za omogočanje filtriranja po dodatnih specifikacijah restavracij.
|
||||
|
||||
### 58. SearchResultsHeader
|
||||
**Lokacija:** `/src/components/SearchResultsHeader.tsx`
|
||||
**Namen:** Glava sekcije rezultatov iskanja z naslovom in izbirnikom za razvrščanje.
|
||||
**Uporaba:** Uporabite kot uvod v sekcijo rezultatov iskanja.
|
||||
**Namen:** Naslovni del rezultatov iskanja z naslovom in izbirnikom za razvrščanje rezultatov po različnih kriterijih.
|
||||
**Uporaba:** Uporabite na začetku sekcije z rezultati iskanja.
|
||||
|
||||
### 59. ActiveFiltersDisplay
|
||||
**Lokacija:** `/src/components/ActiveFiltersDisplay.tsx`
|
||||
**Namen:** Prikaz aktivnih filtrov in možnost njihove odstranitve.
|
||||
**Uporaba:** Uporabite nad rezultati iskanja za prikaz in hitro odstranjevanje aplikaciranih filtrov.
|
||||
**Namen:** Prikaz trenutno aktivnih filtrov v obliki značk (chips) z možnostjo hitrega odstranjevanja posameznih filtrov.
|
||||
**Uporaba:** Uporabite pod naslovom rezultatov iskanja za pregleden prikaz uporabljenih filtrov.
|
||||
|
||||
### 60. SearchRestaurantCard
|
||||
**Lokacija:** `/src/components/SearchRestaurantCard.tsx`
|
||||
**Namen:** Razširjena kartica restavracije s podrobnostmi za prikaz v rezultatih iskanja.
|
||||
**Uporaba:** Uporabite za prikaz posamezne restavracije v rezultatih iskanja.
|
||||
**Namen:** Podrobna kartica posamezne restavracije v rezultatih iskanja, ki prikazuje sliko, osnovne podatke, oceno, kuhinje in gumb za rezervacijo.
|
||||
**Uporaba:** Uporabite za vsako restavracijo v seznamu rezultatov iskanja.
|
||||
|
||||
### 61. LoadMoreButton
|
||||
**Lokacija:** `/src/components/LoadMoreButton.tsx`
|
||||
**Namen:** Gumb za nalaganje dodatnih rezultatov iskanja.
|
||||
**Uporaba:** Uporabite na koncu seznama rezultatov iskanja za prikaz več restavracij.
|
||||
**Namen:** Gumb za nalaganje dodatnih rezultatov iskanja za implementacijo paginacije.
|
||||
**Uporaba:** Uporabite na koncu seznama rezultatov iskanja, ko je na voljo več rezultatov kot je trenutno prikazano.
|
||||
|
||||
## Strani aplikacije
|
||||
|
||||
@@ -379,3 +379,69 @@ const handleButtonClick = () => {
|
||||
navigateTo('pageName'); // kjer je pageName ena izmed: 'home', 'detail', 'reservation', 'confirmation', 'reservations'
|
||||
};
|
||||
```
|
||||
|
||||
## Nove komponente za iskanje in filtriranje
|
||||
|
||||
V sklopu posodobitve strani za iskanje smo ustvarili naslednje nove komponente:
|
||||
|
||||
### SearchNavBar
|
||||
**Lokacija:** `/src/components/SearchNavBar.tsx`
|
||||
**Namen:** Navigacijska vrstica za stran z iskanjem, ki vsebuje naslov strani in gumbe za hitro ponastavitev filtrov in dostop do pomoči.
|
||||
**Uporaba:** Uporabite kot glavno navigacijo na vrhu strani za iskanje in filtriranje.
|
||||
|
||||
### AdvancedSearchBar
|
||||
**Lokacija:** `/src/components/AdvancedSearchBar.tsx`
|
||||
**Namen:** Iskalno polje s podporo za vnos in čiščenje poizvedbe, s poudarjeno vizualno podobo.
|
||||
**Uporaba:** Uporabite kot glavni vnos za iskalno poizvedbo na strani za iskanje.
|
||||
|
||||
### FilterHeader
|
||||
**Lokacija:** `/src/components/FilterHeader.tsx`
|
||||
**Namen:** Naslovni del filtrirne sekcije, ki prikazuje naslov "Filtri" in gumb za ponastavitev vseh filtrov.
|
||||
**Uporaba:** Uporabite kot uvod v sklop filtrov na strani za iskanje.
|
||||
|
||||
### LocationFilter
|
||||
**Lokacija:** `/src/components/LocationFilter.tsx`
|
||||
**Namen:** Kompleksna komponenta za filtriranje po lokaciji, ki združuje vnosno polje in hitre izbire priljubljenih lokacij.
|
||||
**Uporaba:** Uporabite za omogočanje različnih načinov določanja lokacije pri iskanju restavracij.
|
||||
|
||||
### CuisineFilterGrid
|
||||
**Lokacija:** `/src/components/CuisineFilterGrid.tsx`
|
||||
**Namen:** Vizualno privlačna mreža za izbiro vrst kuhinje z ikonami in besedilom, podpira večkratno izbiro.
|
||||
**Uporaba:** Uporabite za filtriranje restavracij po vrstah kuhinje.
|
||||
|
||||
### PriceRangeFilter
|
||||
**Lokacija:** `/src/components/PriceRangeFilter.tsx`
|
||||
**Namen:** Filter za izbiro enega ali več cenovnih razredov (€, €€, €€€, €€€€).
|
||||
**Uporaba:** Uporabite za filtriranje restavracij po cenovnem razredu.
|
||||
|
||||
### RatingSlider
|
||||
**Lokacija:** `/src/components/RatingSlider.tsx`
|
||||
**Namen:** Drsnik za izbiro minimalne ocene pri filtriranju, z natančnim prikazom trenutno izbrane vrednosti.
|
||||
**Uporaba:** Uporabite za filtriranje restavracij glede na oceno (od 0 do 5).
|
||||
|
||||
### AdditionalOptionsFilter
|
||||
**Lokacija:** `/src/components/AdditionalOptionsFilter.tsx`
|
||||
**Namen:** Zbirka potrditvenih polj za dodatne možnosti filtriranja, kot so trenutno odprto, parkirišče in podobno.
|
||||
**Uporaba:** Uporabite za omogočanje filtriranja po dodatnih specifikacijah restavracij.
|
||||
|
||||
### SearchResultsHeader
|
||||
**Lokacija:** `/src/components/SearchResultsHeader.tsx`
|
||||
**Namen:** Naslovni del rezultatov iskanja z naslovom in izbirnikom za razvrščanje rezultatov po različnih kriterijih.
|
||||
**Uporaba:** Uporabite na začetku sekcije z rezultati iskanja.
|
||||
|
||||
### ActiveFiltersDisplay
|
||||
**Lokacija:** `/src/components/ActiveFiltersDisplay.tsx`
|
||||
**Namen:** Prikaz trenutno aktivnih filtrov v obliki značk (chips) z možnostjo hitrega odstranjevanja posameznih filtrov.
|
||||
**Uporaba:** Uporabite pod naslovom rezultatov iskanja za pregleden prikaz uporabljenih filtrov.
|
||||
|
||||
### SearchRestaurantCard
|
||||
**Lokacija:** `/src/components/SearchRestaurantCard.tsx`
|
||||
**Namen:** Podrobna kartica posamezne restavracije v rezultatih iskanja, ki prikazuje sliko, osnovne podatke, oceno, kuhinje in gumb za rezervacijo.
|
||||
**Uporaba:** Uporabite za vsako restavracijo v seznamu rezultatov iskanja.
|
||||
|
||||
### LoadMoreButton
|
||||
**Lokacija:** `/src/components/LoadMoreButton.tsx`
|
||||
**Namen:** Gumb za nalaganje dodatnih rezultatov iskanja za implementacijo paginacije.
|
||||
**Uporaba:** Uporabite na koncu seznama rezultatov iskanja, ko je na voljo več rezultatov kot je trenutno prikazano.
|
||||
|
||||
Te komponente skupaj omogočajo moderno, prilagodljivo in uporabniku prijazno izkušnjo iskanja in filtriranja restavracij, ki sledi najboljšim praksam komponentno usmerjenega razvoja v Reactu.
|
||||
+835
File diff suppressed because it is too large.
Load diff
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Add.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Add_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"
|
||||
}), "Add");
|
||||
export {
|
||||
Add_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Add.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Add.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,cAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,KAAK;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/ArrowBack.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var ArrowBack_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"
|
||||
}), "ArrowBack");
|
||||
export {
|
||||
ArrowBack_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_ArrowBack.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/ArrowBack.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z\"\n}), 'ArrowBack');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,oBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,WAAW;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/BookmarkBorder.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var BookmarkBorder_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"
|
||||
}), "BookmarkBorder");
|
||||
export {
|
||||
BookmarkBorder_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_BookmarkBorder.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/BookmarkBorder.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z\"\n}), 'BookmarkBorder');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,yBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,gBAAgB;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/CalendarMonth.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var CalendarMonth_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 16H5V10h14zM9 14H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2zm-8 4H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2z"
|
||||
}), "CalendarMonth");
|
||||
export {
|
||||
CalendarMonth_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_CalendarMonth.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/CalendarMonth.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 16H5V10h14zM9 14H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2zm-8 4H7v-2h2zm4 0h-2v-2h2zm4 0h-2v-2h2z\"\n}), 'CalendarMonth');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,wBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,eAAe;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/CalendarToday.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var CalendarToday_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"
|
||||
}), "CalendarToday");
|
||||
export {
|
||||
CalendarToday_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_CalendarToday.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/CalendarToday.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z\"\n}), 'CalendarToday');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,wBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,eAAe;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Call.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Call_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99"
|
||||
}), "Call");
|
||||
export {
|
||||
Call_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Call.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Call.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99\"\n}), 'Call');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,eAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,MAAM;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Collections.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Collections_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2m-11-4 2.03 2.71L16 11l4 5H8zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6z"
|
||||
}), "Collections");
|
||||
export {
|
||||
Collections_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Collections.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Collections.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2m-11-4 2.03 2.71L16 11l4 5H8zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6z\"\n}), 'Collections');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,sBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,aAAa;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Directions.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Directions_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83M13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11z"
|
||||
}), "Directions");
|
||||
export {
|
||||
Directions_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Directions.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Directions.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83M13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11z\"\n}), 'Directions');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,qBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,YAAY;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/ExpandLess.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var ExpandLess_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
|
||||
}), "ExpandLess");
|
||||
export {
|
||||
ExpandLess_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_ExpandLess.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/ExpandLess.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\n}), 'ExpandLess');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,qBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,YAAY;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/ExpandMore.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var ExpandMore_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"
|
||||
}), "ExpandMore");
|
||||
export {
|
||||
ExpandMore_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_ExpandMore.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/ExpandMore.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,qBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,YAAY;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/HelpOutline.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var HelpOutline_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"
|
||||
}), "HelpOutline");
|
||||
export {
|
||||
HelpOutline_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_HelpOutline.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/HelpOutline.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4\"\n}), 'HelpOutline');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,sBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,aAAa;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/InfoOutlined.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var InfoOutlined_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"
|
||||
}), "InfoOutlined");
|
||||
export {
|
||||
InfoOutlined_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_InfoOutlined.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/InfoOutlined.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'InfoOutlined');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,uBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,cAAc;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Language.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Language_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"
|
||||
}), "Language");
|
||||
export {
|
||||
Language_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Language.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Language.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z\"\n}), 'Language');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,mBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,UAAU;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/LocalFireDepartment.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var LocalFireDepartment_default = createSvgIcon([(0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m12 12.9-2.13 2.09c-.56.56-.87 1.29-.87 2.07C9 18.68 10.35 20 12 20s3-1.32 3-2.94c0-.78-.31-1.52-.87-2.07z"
|
||||
}, "0"), (0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m16 6-.44.55C14.38 8.02 12 7.19 12 5.3V2S4 6 4 13c0 2.92 1.56 5.47 3.89 6.86-.56-.79-.89-1.76-.89-2.8 0-1.32.52-2.56 1.47-3.5L12 10.1l3.53 3.47c.95.93 1.47 2.17 1.47 3.5 0 1.02-.31 1.96-.85 2.75 1.89-1.15 3.29-3.06 3.71-5.3.66-3.55-1.07-6.9-3.86-8.52"
|
||||
}, "1")], "LocalFireDepartment");
|
||||
export {
|
||||
LocalFireDepartment_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_LocalFireDepartment.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/LocalFireDepartment.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon([/*#__PURE__*/_jsx(\"path\", {\n d: \"m12 12.9-2.13 2.09c-.56.56-.87 1.29-.87 2.07C9 18.68 10.35 20 12 20s3-1.32 3-2.94c0-.78-.31-1.52-.87-2.07z\"\n}, \"0\"), /*#__PURE__*/_jsx(\"path\", {\n d: \"m16 6-.44.55C14.38 8.02 12 7.19 12 5.3V2S4 6 4 13c0 2.92 1.56 5.47 3.89 6.86-.56-.79-.89-1.76-.89-2.8 0-1.32.52-2.56 1.47-3.5L12 10.1l3.53 3.47c.95.93 1.47 2.17 1.47 3.5 0 1.02-.31 1.96-.85 2.75 1.89-1.15 3.29-3.06 3.71-5.3.66-3.55-1.07-6.9-3.86-8.52\"\n}, \"1\")], 'LocalFireDepartment');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,8BAAQ,cAAc,KAAc,mBAAAA,KAAK,QAAQ;AAAA,EACtD,GAAG;AACL,GAAG,GAAG,OAAgB,mBAAAA,KAAK,QAAQ;AAAA,EACjC,GAAG;AACL,GAAG,GAAG,CAAC,GAAG,qBAAqB;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/LocationOnOutlined.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var LocationOnOutlined_default = createSvgIcon([(0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7M7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 2.88-2.88 7.19-5 9.88C9.92 16.21 7 11.85 7 9"
|
||||
}, "0"), (0, import_jsx_runtime.jsx)("circle", {
|
||||
cx: "12",
|
||||
cy: "9",
|
||||
r: "2.5"
|
||||
}, "1")], "LocationOnOutlined");
|
||||
export {
|
||||
LocationOnOutlined_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_LocationOnOutlined.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/LocationOnOutlined.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon([/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7M7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 2.88-2.88 7.19-5 9.88C9.92 16.21 7 11.85 7 9\"\n}, \"0\"), /*#__PURE__*/_jsx(\"circle\", {\n cx: \"12\",\n cy: \"9\",\n r: \"2.5\"\n}, \"1\")], 'LocationOnOutlined');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,6BAAQ,cAAc,KAAc,mBAAAA,KAAK,QAAQ;AAAA,EACtD,GAAG;AACL,GAAG,GAAG,OAAgB,mBAAAA,KAAK,UAAU;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AACL,GAAG,GAAG,CAAC,GAAG,oBAAoB;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Map.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Map_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m20.5 3-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5M15 19l-6-2.11V5l6 2.11z"
|
||||
}), "Map");
|
||||
export {
|
||||
Map_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Map.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Map.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m20.5 3-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5M15 19l-6-2.11V5l6 2.11z\"\n}), 'Map');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,cAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,KAAK;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Menu.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Menu_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"
|
||||
}), "Menu");
|
||||
export {
|
||||
Menu_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Menu.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Menu.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z\"\n}), 'Menu');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,eAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,MAAM;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/People.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var People_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3m-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3m0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5m8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5"
|
||||
}), "People");
|
||||
export {
|
||||
People_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_People.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/People.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3m-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3m0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5m8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5\"\n}), 'People');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,iBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,QAAQ;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/PersonOutline.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var PersonOutline_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4"
|
||||
}), "PersonOutline");
|
||||
export {
|
||||
PersonOutline_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_PersonOutline.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/PersonOutline.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4\"\n}), 'PersonOutline');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,wBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,eAAe;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/PhoneOutlined.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var PhoneOutlined_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M6.54 5c.06.89.21 1.76.45 2.59l-1.2 1.2c-.41-1.2-.67-2.47-.76-3.79zm9.86 12.02c.85.24 1.72.39 2.6.45v1.49c-1.32-.09-2.59-.35-3.8-.75zM7.5 3H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.49c0-.55-.45-1-1-1-1.24 0-2.45-.2-3.57-.57-.1-.04-.21-.05-.31-.05-.26 0-.51.1-.71.29l-2.2 2.2c-2.83-1.45-5.15-3.76-6.59-6.59l2.2-2.2c.28-.28.36-.67.25-1.02C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1"
|
||||
}), "PhoneOutlined");
|
||||
export {
|
||||
PhoneOutlined_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_PhoneOutlined.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/PhoneOutlined.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M6.54 5c.06.89.21 1.76.45 2.59l-1.2 1.2c-.41-1.2-.67-2.47-.76-3.79zm9.86 12.02c.85.24 1.72.39 2.6.45v1.49c-1.32-.09-2.59-.35-3.8-.75zM7.5 3H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.49c0-.55-.45-1-1-1-1.24 0-2.45-.2-3.57-.57-.1-.04-.21-.05-.31-.05-.26 0-.51.1-.71.29l-2.2 2.2c-2.83-1.45-5.15-3.76-6.59-6.59l2.2-2.2c.28-.28.36-.67.25-1.02C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1\"\n}), 'PhoneOutlined');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,wBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,eAAe;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Remove.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Remove_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M19 13H5v-2h14z"
|
||||
}), "Remove");
|
||||
export {
|
||||
Remove_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Remove.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Remove.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13H5v-2h14z\"\n}), 'Remove');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,iBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,QAAQ;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Search.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Search_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"
|
||||
}), "Search");
|
||||
export {
|
||||
Search_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Search.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Search.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,iBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,QAAQ;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Share.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Share_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92"
|
||||
}), "Share");
|
||||
export {
|
||||
Share_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Share.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Share.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92\"\n}), 'Share');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,gBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,OAAO;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Spa.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Spa_default = createSvgIcon([(0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M8.55 12c-1.07-.71-2.25-1.27-3.53-1.61 1.28.34 2.46.9 3.53 1.61m10.43-1.61c-1.29.34-2.49.91-3.57 1.64 1.08-.73 2.28-1.3 3.57-1.64"
|
||||
}, "0"), (0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M15.49 9.63c-.18-2.79-1.31-5.51-3.43-7.63-2.14 2.14-3.32 4.86-3.55 7.63 1.28.68 2.46 1.56 3.49 2.63 1.03-1.06 2.21-1.94 3.49-2.63m-6.5 2.65c-.14-.1-.3-.19-.45-.29.15.11.31.19.45.29m6.42-.25c-.13.09-.27.16-.4.26.13-.1.27-.17.4-.26M12 15.45C9.85 12.17 6.18 10 2 10c0 5.32 3.36 9.82 8.03 11.49.63.23 1.29.4 1.97.51.68-.12 1.33-.29 1.97-.51C18.64 19.82 22 15.32 22 10c-4.18 0-7.85 2.17-10 5.45"
|
||||
}, "1")], "Spa");
|
||||
export {
|
||||
Spa_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Spa.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Spa.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon([/*#__PURE__*/_jsx(\"path\", {\n d: \"M8.55 12c-1.07-.71-2.25-1.27-3.53-1.61 1.28.34 2.46.9 3.53 1.61m10.43-1.61c-1.29.34-2.49.91-3.57 1.64 1.08-.73 2.28-1.3 3.57-1.64\"\n}, \"0\"), /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.49 9.63c-.18-2.79-1.31-5.51-3.43-7.63-2.14 2.14-3.32 4.86-3.55 7.63 1.28.68 2.46 1.56 3.49 2.63 1.03-1.06 2.21-1.94 3.49-2.63m-6.5 2.65c-.14-.1-.3-.19-.45-.29.15.11.31.19.45.29m6.42-.25c-.13.09-.27.16-.4.26.13-.1.27-.17.4-.26M12 15.45C9.85 12.17 6.18 10 2 10c0 5.32 3.36 9.82 8.03 11.49.63.23 1.29.4 1.97.51.68-.12 1.33-.29 1.97-.51C18.64 19.82 22 15.32 22 10c-4.18 0-7.85 2.17-10 5.45\"\n}, \"1\")], 'Spa');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,cAAQ,cAAc,KAAc,mBAAAA,KAAK,QAAQ;AAAA,EACtD,GAAG;AACL,GAAG,GAAG,OAAgB,mBAAAA,KAAK,QAAQ;AAAA,EACjC,GAAG;AACL,GAAG,GAAG,CAAC,GAAG,KAAK;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
} from "./chunk-WMQC35LZ.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/StarHalf.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var StarHalf_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03zM12 15.4V6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z"
|
||||
}), "StarHalf");
|
||||
export {
|
||||
StarHalf_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_StarHalf.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/StarHalf.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03zM12 15.4V6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z\"\n}), 'StarHalf');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,mBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,UAAU;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/StarOutline.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var StarOutline_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z"
|
||||
}), "StarOutline");
|
||||
export {
|
||||
StarOutline_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_StarOutline.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/StarOutline.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z\"\n}), 'StarOutline');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,sBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,aAAa;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/ThreeSixty.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var ThreeSixty_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M12 7C6.48 7 2 9.24 2 12c0 2.24 2.94 4.13 7 4.77V20l4-4-4-4v2.73c-3.15-.56-5-1.9-5-2.73 0-1.06 3.04-3 8-3s8 1.94 8 3c0 .73-1.46 1.89-4 2.53v2.05c3.53-.77 6-2.53 6-4.58 0-2.76-4.48-5-10-5"
|
||||
}), "ThreeSixty");
|
||||
export {
|
||||
ThreeSixty_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_ThreeSixty.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/ThreeSixty.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 7C6.48 7 2 9.24 2 12c0 2.24 2.94 4.13 7 4.77V20l4-4-4-4v2.73c-3.15-.56-5-1.9-5-2.73 0-1.06 3.04-3 8-3s8 1.94 8 3c0 .73-1.46 1.89-4 2.53v2.05c3.53-.77 6-2.53 6-4.58 0-2.76-4.48-5-10-5\"\n}), 'ThreeSixty');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,qBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,YAAY;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
createSvgIcon
|
||||
} from "./chunk-Y7GULVZW.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-CWMN43OP.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-37AZBUIX.js";
|
||||
|
||||
// node_modules/@mui/icons-material/esm/Warning.js
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
||||
var Warning_default = createSvgIcon((0, import_jsx_runtime.jsx)("path", {
|
||||
d: "M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"
|
||||
}), "Warning");
|
||||
export {
|
||||
Warning_default as default
|
||||
};
|
||||
//# sourceMappingURL=@mui_icons-material_Warning.js.map
|
||||
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@mui/icons-material/esm/Warning.js"],
|
||||
"sourcesContent": ["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z\"\n}), 'Warning');"],
|
||||
"mappings": ";;;;;;;;;;;;AAGA,yBAA4B;AAC5B,IAAO,kBAAQ,kBAA2B,mBAAAA,KAAK,QAAQ;AAAA,EACrD,GAAG;AACL,CAAC,GAAG,SAAS;",
|
||||
"names": ["_jsx"]
|
||||
}
|
||||
+20
-194
@@ -1,274 +1,100 @@
|
||||
{
|
||||
"hash": "5ef07269",
|
||||
"configHash": "09fb8e3b",
|
||||
"lockfileHash": "831dfe8f",
|
||||
"browserHash": "45e8d737",
|
||||
"hash": "8ebffc56",
|
||||
"configHash": "a6bbf03f",
|
||||
"lockfileHash": "3a42d559",
|
||||
"browserHash": "40d3e13b",
|
||||
"optimized": {
|
||||
"react": {
|
||||
"src": "../../react/index.js",
|
||||
"file": "react.js",
|
||||
"fileHash": "7fb7686f",
|
||||
"fileHash": "48e354ea",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react-dom": {
|
||||
"src": "../../react-dom/index.js",
|
||||
"file": "react-dom.js",
|
||||
"fileHash": "df7d2859",
|
||||
"fileHash": "79612f02",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react/jsx-dev-runtime": {
|
||||
"src": "../../react/jsx-dev-runtime.js",
|
||||
"file": "react_jsx-dev-runtime.js",
|
||||
"fileHash": "6ecc5f3c",
|
||||
"fileHash": "b266e8aa",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react/jsx-runtime": {
|
||||
"src": "../../react/jsx-runtime.js",
|
||||
"file": "react_jsx-runtime.js",
|
||||
"fileHash": "8e582a50",
|
||||
"fileHash": "cbf05157",
|
||||
"needsInterop": true
|
||||
},
|
||||
"@mui/icons-material/Bolt": {
|
||||
"src": "../../@mui/icons-material/esm/Bolt.js",
|
||||
"file": "@mui_icons-material_Bolt.js",
|
||||
"fileHash": "d9f5a101",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/BookmarkBorder": {
|
||||
"src": "../../@mui/icons-material/esm/BookmarkBorder.js",
|
||||
"file": "@mui_icons-material_BookmarkBorder.js",
|
||||
"fileHash": "056b53e6",
|
||||
"fileHash": "f86d1873",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/BookmarkBorderOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/BookmarkBorderOutlined.js",
|
||||
"file": "@mui_icons-material_BookmarkBorderOutlined.js",
|
||||
"fileHash": "d5424b85",
|
||||
"fileHash": "1b7152dd",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Favorite": {
|
||||
"src": "../../@mui/icons-material/esm/Favorite.js",
|
||||
"file": "@mui_icons-material_Favorite.js",
|
||||
"fileHash": "5c7d1679",
|
||||
"fileHash": "a4e2c7a3",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/FavoriteBorder": {
|
||||
"src": "../../@mui/icons-material/esm/FavoriteBorder.js",
|
||||
"file": "@mui_icons-material_FavoriteBorder.js",
|
||||
"fileHash": "222f66ec",
|
||||
"fileHash": "bd44a34f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/HomeOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/HomeOutlined.js",
|
||||
"file": "@mui_icons-material_HomeOutlined.js",
|
||||
"fileHash": "6ad849c1",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Map": {
|
||||
"src": "../../@mui/icons-material/esm/Map.js",
|
||||
"file": "@mui_icons-material_Map.js",
|
||||
"fileHash": "48df0f94",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Menu": {
|
||||
"src": "../../@mui/icons-material/esm/Menu.js",
|
||||
"file": "@mui_icons-material_Menu.js",
|
||||
"fileHash": "e09e4ac3",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/People": {
|
||||
"src": "../../@mui/icons-material/esm/People.js",
|
||||
"file": "@mui_icons-material_People.js",
|
||||
"fileHash": "0043bea8",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/PersonOutline": {
|
||||
"src": "../../@mui/icons-material/esm/PersonOutline.js",
|
||||
"file": "@mui_icons-material_PersonOutline.js",
|
||||
"fileHash": "1e63241b",
|
||||
"fileHash": "1f6ed9ce",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/PersonOutlineOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/PersonOutlineOutlined.js",
|
||||
"file": "@mui_icons-material_PersonOutlineOutlined.js",
|
||||
"fileHash": "b25f8bad",
|
||||
"fileHash": "722ee881",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Schedule": {
|
||||
"src": "../../@mui/icons-material/esm/Schedule.js",
|
||||
"file": "@mui_icons-material_Schedule.js",
|
||||
"fileHash": "2d43d762",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Search": {
|
||||
"src": "../../@mui/icons-material/esm/Search.js",
|
||||
"file": "@mui_icons-material_Search.js",
|
||||
"fileHash": "a7b7bf11",
|
||||
"fileHash": "73ecbc4d",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/SearchOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/SearchOutlined.js",
|
||||
"file": "@mui_icons-material_SearchOutlined.js",
|
||||
"fileHash": "bba631f6",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Spa": {
|
||||
"src": "../../@mui/icons-material/esm/Spa.js",
|
||||
"file": "@mui_icons-material_Spa.js",
|
||||
"fileHash": "287698ce",
|
||||
"fileHash": "933e8dc9",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Star": {
|
||||
"src": "../../@mui/icons-material/esm/Star.js",
|
||||
"file": "@mui_icons-material_Star.js",
|
||||
"fileHash": "499e2dfb",
|
||||
"fileHash": "a6bf3f83",
|
||||
"needsInterop": false
|
||||
},
|
||||
"react-dom/client": {
|
||||
"src": "../../react-dom/client.js",
|
||||
"file": "react-dom_client.js",
|
||||
"fileHash": "8816a7b7",
|
||||
"fileHash": "a09bec96",
|
||||
"needsInterop": true
|
||||
},
|
||||
"@mui/icons-material/ArrowBack": {
|
||||
"src": "../../@mui/icons-material/esm/ArrowBack.js",
|
||||
"file": "@mui_icons-material_ArrowBack.js",
|
||||
"fileHash": "26cb48ab",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Share": {
|
||||
"src": "../../@mui/icons-material/esm/Share.js",
|
||||
"file": "@mui_icons-material_Share.js",
|
||||
"fileHash": "796301c3",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/StarHalf": {
|
||||
"src": "../../@mui/icons-material/esm/StarHalf.js",
|
||||
"file": "@mui_icons-material_StarHalf.js",
|
||||
"fileHash": "90e94703",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/StarOutline": {
|
||||
"src": "../../@mui/icons-material/esm/StarOutline.js",
|
||||
"file": "@mui_icons-material_StarOutline.js",
|
||||
"fileHash": "92a31d90",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Call": {
|
||||
"src": "../../@mui/icons-material/esm/Call.js",
|
||||
"file": "@mui_icons-material_Call.js",
|
||||
"fileHash": "36ed310e",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Directions": {
|
||||
"src": "../../@mui/icons-material/esm/Directions.js",
|
||||
"file": "@mui_icons-material_Directions.js",
|
||||
"fileHash": "62829467",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Language": {
|
||||
"src": "../../@mui/icons-material/esm/Language.js",
|
||||
"file": "@mui_icons-material_Language.js",
|
||||
"fileHash": "00dcdbbd",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/ExpandMore": {
|
||||
"src": "../../@mui/icons-material/esm/ExpandMore.js",
|
||||
"file": "@mui_icons-material_ExpandMore.js",
|
||||
"fileHash": "0b8cc1b4",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/LocalFireDepartment": {
|
||||
"src": "../../@mui/icons-material/esm/LocalFireDepartment.js",
|
||||
"file": "@mui_icons-material_LocalFireDepartment.js",
|
||||
"fileHash": "df6a7447",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Warning": {
|
||||
"src": "../../@mui/icons-material/esm/Warning.js",
|
||||
"file": "@mui_icons-material_Warning.js",
|
||||
"fileHash": "49c2238e",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Add": {
|
||||
"src": "../../@mui/icons-material/esm/Add.js",
|
||||
"file": "@mui_icons-material_Add.js",
|
||||
"fileHash": "181647c0",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Remove": {
|
||||
"src": "../../@mui/icons-material/esm/Remove.js",
|
||||
"file": "@mui_icons-material_Remove.js",
|
||||
"fileHash": "9314724d",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/CalendarMonth": {
|
||||
"src": "../../@mui/icons-material/esm/CalendarMonth.js",
|
||||
"file": "@mui_icons-material_CalendarMonth.js",
|
||||
"fileHash": "0a3f523f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/Collections": {
|
||||
"src": "../../@mui/icons-material/esm/Collections.js",
|
||||
"file": "@mui_icons-material_Collections.js",
|
||||
"fileHash": "121e09e9",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/ThreeSixty": {
|
||||
"src": "../../@mui/icons-material/esm/ThreeSixty.js",
|
||||
"file": "@mui_icons-material_ThreeSixty.js",
|
||||
"fileHash": "bc898f7a",
|
||||
"needsInterop": false
|
||||
},
|
||||
"react-router-dom": {
|
||||
"src": "../../react-router-dom/dist/index.mjs",
|
||||
"file": "react-router-dom.js",
|
||||
"fileHash": "0b4ed6cc",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/ExpandLess": {
|
||||
"src": "../../@mui/icons-material/esm/ExpandLess.js",
|
||||
"file": "@mui_icons-material_ExpandLess.js",
|
||||
"fileHash": "9f28451f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/LocationOnOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/LocationOnOutlined.js",
|
||||
"file": "@mui_icons-material_LocationOnOutlined.js",
|
||||
"fileHash": "766b07fd",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/PhoneOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/PhoneOutlined.js",
|
||||
"file": "@mui_icons-material_PhoneOutlined.js",
|
||||
"fileHash": "e371a20f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/InfoOutlined": {
|
||||
"src": "../../@mui/icons-material/esm/InfoOutlined.js",
|
||||
"file": "@mui_icons-material_InfoOutlined.js",
|
||||
"fileHash": "af5a8ac9",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/HelpOutline": {
|
||||
"src": "../../@mui/icons-material/esm/HelpOutline.js",
|
||||
"file": "@mui_icons-material_HelpOutline.js",
|
||||
"fileHash": "5bb97e48",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@mui/icons-material/CalendarToday": {
|
||||
"src": "../../@mui/icons-material/esm/CalendarToday.js",
|
||||
"file": "@mui_icons-material_CalendarToday.js",
|
||||
"fileHash": "6a98d87e",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {
|
||||
"chunk-GJJM2GG4": {
|
||||
"file": "chunk-GJJM2GG4.js"
|
||||
},
|
||||
"chunk-Y7GULVZW": {
|
||||
"file": "chunk-Y7GULVZW.js"
|
||||
"chunk-WMQC35LZ": {
|
||||
"file": "chunk-WMQC35LZ.js"
|
||||
},
|
||||
"chunk-CWMN43OP": {
|
||||
"file": "chunk-CWMN43OP.js"
|
||||
|
||||
-9458
File diff suppressed because it is too large.
Load diff
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../prop-types/node_modules/react-is/cjs/react-is.development.js", "../../prop-types/node_modules/react-is/index.js", "../../object-assign/index.js", "../../prop-types/lib/ReactPropTypesSecret.js", "../../prop-types/lib/has.js", "../../prop-types/checkPropTypes.js", "../../prop-types/factoryWithTypeCheckers.js", "../../prop-types/index.js", "../../react-is/cjs/react-is.development.js", "../../react-is/index.js", "../../hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js", "../../hoist-non-react-statics/node_modules/react-is/index.js", "../../hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js", "../../@mui/material/esm/utils/createSvgIcon.js", "../../@mui/material/esm/SvgIcon/SvgIcon.js", "../../clsx/dist/clsx.mjs", "../../@mui/utils/esm/composeClasses/composeClasses.js", "../../@mui/utils/esm/capitalize/capitalize.js", "../../@mui/material/esm/utils/capitalize.js", "../../@mui/material/esm/zero-styled/index.js", "../../@mui/utils/esm/deepmerge/deepmerge.js", "../../@mui/system/esm/merge/merge.js", "../../@mui/system/esm/responsivePropType/responsivePropType.js", "../../@mui/system/esm/breakpoints/breakpoints.js", "../../@mui/system/esm/cssContainerQueries/cssContainerQueries.js", "../../@mui/system/esm/style/style.js", "../../@mui/system/esm/memoize/memoize.js", "../../@mui/system/esm/spacing/spacing.js", "../../@mui/system/esm/compose/compose.js", "../../@mui/system/esm/borders/borders.js", "../../@mui/system/esm/cssGrid/cssGrid.js", "../../@mui/system/esm/palette/palette.js", "../../@mui/system/esm/sizing/sizing.js", "../../@mui/system/esm/styleFunctionSx/defaultSxConfig.js", "../../@mui/system/esm/styleFunctionSx/styleFunctionSx.js", "../../@mui/system/esm/styleFunctionSx/extendSxProp.js", "../../@mui/material/esm/styles/useTheme.js", "../../@babel/runtime/helpers/esm/extends.js", "../../@emotion/react/dist/emotion-element-489459f2.browser.development.esm.js", "../../@emotion/sheet/dist/emotion-sheet.development.esm.js", "../../stylis/src/Enum.js", "../../stylis/src/Utility.js", "../../stylis/src/Tokenizer.js", "../../stylis/src/Parser.js", "../../stylis/src/Serializer.js", "../../stylis/src/Middleware.js", "../../@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js", "../../@emotion/memoize/dist/emotion-memoize.esm.js", "../../@emotion/cache/dist/emotion-cache.browser.development.esm.js", "../../@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.development.esm.js", "../../@emotion/utils/dist/emotion-utils.browser.esm.js", "../../@emotion/hash/dist/emotion-hash.esm.js", "../../@emotion/unitless/dist/emotion-unitless.esm.js", "../../@emotion/serialize/dist/emotion-serialize.development.esm.js", "../../@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js", "../../@emotion/react/dist/emotion-react.browser.development.esm.js", "../../@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.js", "../../@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js", "../../@emotion/styled/dist/emotion-styled.browser.development.esm.js", "../../@mui/styled-engine/esm/StyledEngineProvider/StyledEngineProvider.js", "../../@mui/styled-engine/esm/GlobalStyles/GlobalStyles.js", "../../@mui/styled-engine/esm/index.js", "../../@mui/system/esm/GlobalStyles/GlobalStyles.js", "../../@mui/system/esm/createBreakpoints/createBreakpoints.js", "../../@mui/system/esm/createTheme/shape.js", "../../@mui/system/esm/createTheme/createSpacing.js", "../../@mui/system/esm/createTheme/applyStyles.js", "../../@mui/system/esm/createTheme/createTheme.js", "../../@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js", "../../@mui/system/esm/useTheme/useTheme.js", "../../@mui/system/esm/display/display.js", "../../@mui/system/esm/flexbox/flexbox.js", "../../@mui/system/esm/positions/positions.js", "../../@mui/system/esm/shadows/shadows.js", "../../@mui/system/esm/typography/typography.js", "../../@mui/system/esm/getThemeValue/getThemeValue.js", "../../@mui/system/esm/Box/Box.js", "../../@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js", "../../@mui/system/esm/createBox/createBox.js", "../../@mui/utils/esm/generateUtilityClass/generateUtilityClass.js", "../../@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js", "../../@mui/system/esm/Box/boxClasses.js", "../../@mui/utils/esm/getDisplayName/getDisplayName.js", "../../@mui/system/esm/preprocessStyles.js", "../../@mui/system/esm/createStyled/createStyled.js", "../../@mui/system/esm/styled/styled.js", "../../@mui/utils/esm/resolveProps/resolveProps.js", "../../@mui/system/esm/useThemeProps/getThemeProps.js", "../../@mui/system/esm/useThemeProps/useThemeProps.js", "../../@mui/system/esm/useMediaQuery/useMediaQuery.js", "../../@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js", "../../@mui/utils/esm/clamp/clamp.js", "../../@mui/system/esm/colorManipulator/colorManipulator.js", "../../@mui/system/esm/ThemeProvider/ThemeProvider.Line truncated
|
||||
"sourcesContent": ["/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() iLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["hasSymbol", "isValidElementType", "ForwardRef", "Fragment", "Memo", "from", "values", "assign", "isValidElement", "i", "checker", "require_react_is_development", "require_react_is", "require_react_is_development", "hasSymbol", "isValidElementType", "ForwardRef", "Fragment", "Memo", "require_react_is", "hoistNonReactStatics", "React", "React", "import_prop_types", "React", "PropTypes", "import_prop_types", "css", "node", "style", "prev", "next", "arg", "abs", "style", "style", "arg", "style", "styleFunctionSx", "css", "React", "r", "React", "StyleSheet", "isImportRule", "length", "length", "length", "character", "characters", "length", "length", "weakMemoize", "arg", "memoize", "arg", "identifierWithPointTracking", "character", "toRules", "getRules", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "node", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "prefix", "length", "prefixer", "getSourceMap", "createCache", "stylis", "insert", "registerStyles", "isStringTag", "insertStyles", "isDevelopment", "isCustomProperty", "isProcessableValue", "memoize", "processStyleValue", "match", "keyframes", "next", "React", "syncFallback", "useInsertionEffect", "withEmotionCache", "getTheme", "getLastPart", "getFunctionNameFromStackTraceLine", "line", "match", "sanitizeIdentifier", "identifier", "getLabelFromStackTrace", "createEmotionProps", "Insertion", "isStringTag", "React", "import_hoist_non_react_statics", "isDevelopment", "jsx", "_jsx", "node", "classnames", "arg", "merge", "css", "Insertion", "isDevelopment", "cx", "isBrowser", "React", "memoize", "isDevelopment", "testOmitPropsOnComponent", "getDefaultShouldForwardProp", "composeShouldForwardProps", "shouldForwardProp", "ILLEGAL_ESCAPE_SEQUENCE_ERROR", "Insertion", "isStringTag", "createStyled", "newStyled", "import_react", "React", "import_prop_types", "_jsx", "PropTypes", "React", "import_prop_types", "import_jsx_runtime", "defaultTheme", "_jsx", "PropTypes", "style", "React", "import_prop_types", "values", "spacing", "spacing", "React", "useTheme", "defaultTheme", "useTheme", "defaultTheme", "import_jsx_runtime", "GlobalStyles", "defaultTheme", "_jsx", "PropTypes", "position", "import_prop_types", "React", "import_jsx_runtime", "defaultTheme", "Box", "_jsx", "PropTypes", "import_react_is", "style", "systemDefaultTheme", "defaultTheme", "isObjectEmpty", "style", "createStyled", "rootShouldForwardProp", "slotShouldForwardProp", "styled", "styled", "createStyled", "defaultTheme", "React", "React", "match", "React", "useMediaQuery", "color", "color", "values", "color", "values", "React", "import_prop_types", "React", "import_prop_types", "import_prop_types", "PropTypes", "import_prop_types", "isClassComponent", "PropTypes", "import_prop_types", "PropTypes", "React", "React", "safeReact", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "React", "ThemeContext", "React", "useTheme", "import_jsx_runtime", "ThemeProvider", "useTheme", "_jsx", "PropTypes", "React", "import_prop_types", "import_jsx_runtime", "_jsx", "PropTypes", "React", "import_prop_types", "import_jsx_runtime", "_jsx", "PropTypes", "getThemeProps", "import_jsx_runtime", "ThemeProvider", "useTheme", "_jsx", "PropTypes", "React", "import_prop_types", "React", "import_jsx_runtime", "React", "import_jsx_runtime", "prefix", "prefix", "shouldSkipGeneratingVar", "css", "css", "_a", "_b", "React", "import_prop_types", "import_jsx_runtime", "maxWidth", "useThemeProps", "Container", "_jsx", "PropTypes", "import_prop_types", "PropTypes", "import_prop_types", "React", "import_prop_types", "style", "style", "spacing", "import_jsx_runtime", "defaultTheme", "defaultCreateStyledComponent", "useThemePropsDefault", "useThemeProps", "useTheme", "useUtilityClasses", "spacing", "Grid", "_jsx", "PropTypes", "PropTypes", "spacing", "import_prop_types", "React", "import_prop_types", "import_jsx_runtime", "defaultTheme", "defaultCreateStyledComponent", "useThemePropsDefault", "style", "useThemeProps", "useUtilityClasses", "Stack", "Grid", "spacing", "_jsx", "PropTypes", "PropTypes", "palette", "color", "typography", "palette", "typography", "fontFamily", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "shadows_default", "height", "zIndex", "palette", "shadows_default", "node", "palette", "css", "color", "createGetCssVar", "palette", "shouldSkipGeneratingVar", "attachColorScheme", "createTheme", "palette", "defaultTheme", "createTheme", "React", "import_prop_types", "import_jsx_runtime", "GlobalStyles", "_jsx", "PropTypes", "import_jsx_runtime", "styled", "createStyled", "styled_default", "React", "import_prop_types", "import_jsx_runtime", "DefaultPropsProvider", "_jsx", "PropTypes", "useDefaultProps", "import_jsx_runtime", "useUtilityClasses", "color", "fontSize", "styled_default", "_a", "_b", "SvgIcon", "useDefaultProps", "_jsxs", "_jsx", "PropTypes", "import_jsx_runtime", "_jsx"]
|
||||
}
|
||||
-11963
File diff suppressed because it is too large.
Load diff
-7
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../cookie/src/index.ts", "../../set-cookie-parser/lib/set-cookie.js", "../../react-router/dist/development/chunk-LSOULM7L.mjs", "../../turbo-stream/dist/turbo-stream.mjs", "../../react-router/dist/development/dom-export.mjs"],
|
||||
"sourcesContent": ["/**\n * RegExp to match cookie-name in RFC 6265 sec 4.1.1\n * This refers out to the obsoleted definition of token in RFC 2616 sec 2.2\n * which has been replaced by the token definition in RFC 7230 appendix B.\n *\n * cookie-name = token\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" /\n * \"*\" / \"+\" / \"-\" / \".\" / \"^\" / \"_\" /\n * \"`\" / \"|\" / \"~\" / DIGIT / ALPHA\n *\n * Note: Allowing more characters - https://github.com/jshttp/cookie/issues/191\n * Allow same range as cookie value, except `=`, which delimits end of name.\n */\nconst cookieNameRegExp = /^[\\u0021-\\u003A\\u003C\\u003E-\\u007E]+$/;\n\n/**\n * RegExp to match cookie-value in RFC 6265 sec 4.1.1\n *\n * cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )\n * cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\n * ; US-ASCII characters excluding CTLs,\n * ; whitespace DQUOTE, comma, semicolon,\n * ; and backslash\n *\n * Allowing more characters: https://github.com/jshttp/cookie/issues/191\n * Comma, backslash, and DQUOTE are not part of the parsing algorithm.\n */\nconst cookieValueRegExp = /^[\\u0021-\\u003A\\u003C-\\u007E]*$/;\n\n/**\n * RegExp to match domain-value in RFC 6265 sec 4.1.1\n *\n * domain-value = <subdomain>\n * ; defined in [RFC1034], Section 3.5, as\n * ; enhanced by [RFC1123], Section 2.1\n * <subdomain> = <label> | <subdomain> \".\" <label>\n * <label> = <let-dig> [ [ <ldh-str> ] <let-dig> ]\n * Labels must be 63 characters or less.\n * 'let-dig' not 'letter' in the first char, per RFC1123\n * <ldh-str> = <let-dig-hyp> | <let-dig-hyp> <ldh-str>\n * <let-dig-hyp> = <let-dig> | \"-\"\n * <let-dig> = <letter> | <digit>\n * <letter> = any one of the 52 alphabetic characters A through Z in\n * upper case and a through z in lower case\n * <digit> = any one of the ten digits 0 through 9\n *\n * Keep support for leading dot: https://github.com/jshttp/cookie/issues/173\n *\n * > (Note that a leading %x2E (\".\"), if present, is ignored even though that\n * character is not permitted, but a trailing %x2E (\".\"), if present, will\n * cause the user agent to ignore the attribute.)\n */\nconst domainValueRegExp =\n /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;\n\n/**\n * RegExp to match path-value in RFC 6265 sec 4.1.1\n *\n * path-value = <any CHAR except CTLs or \";\">\n * CHAR = %x01-7F\n * ; defined in RFC 5234 appendix B.1\n */\nconst pathValueRegExp = /^[\\u0020-\\u003A\\u003D-\\u007E]*$/;\n\nconst __toString = Object.prototype.toString;\n\nconst NullObject = /* @__PURE__ */ (() => {\n const C = function () {};\n C.prototype = Object.create(null);\n return C;\n})() as unknown as { new (): any };\n\n/**\n * Parse options.\n */\nexport interface ParseOptions {\n /**\n * Specifies a function that will be used to decode a [cookie-value](https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.1).\n * Since the value of a cookie has a limited character set (and must be a simple string), this function can be used to decode\n * a previously-encoded cookie value into a JavaScript string.\n *\n * The default function is the global `decodeURIComponent`, wrapped in a `try..catch`. If an error\n * is thrown it will return the cookie's original value. If you provide your own encode/decode\n * scheme you must ensure errors are appropriately handled.\n *\n * @default decode\n */\n decode?: (str: string) => string | undefined;\n}\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n */\nexport function parse(\n str: string,\n options?: ParseOptions,\n): Record<string, string | undefined> {\n const obj: Record<string, string | undefined> = new NullObject();\n const len = str.length;\n // RFC 6265 sec 4.1.1, RFC 2616 2.2 defines a cookie name consists of one char minimum, plus '='.\n if (len < 2) return obj;\n\n const dec = options?.decode || decode;\n let index = 0;\n\n do {\n const eqIdx = str.indexOf(\"=\", index);\n if (eqIdx === -1) break; // No more cookie pairs.\n\n const colonIdx = str.indexOf(\";\", index);\n const endIdx = colonIdx === -1 ? len : colonIdx;\n\n if (eqIdx > endIdx) {\n // backtrack on prior semicolon\n index = str.lastIndexOf(\";\", eqIdx - 1) + 1;\n continue;\n }\n\n const keyStartIdx = startIndex(str, index, eqIdx);\n const keyEndIdx = endIndex(str, eqIdx, keyStartIdx);\n const key = str.slice(keyStartIdx, keyEndIdx);\n\n // only assign once\n if (obj[key] === undefined) {\Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["parse", "serialize", "decode", "value", "parse", "cookies", "splitCookiesString", "encoder", "stringify", "router", "flushSync", "Deferred", "hydrate", "_a", "_b", "React", "React2"]
|
||||
}
|
||||
Generated
+837
-1
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -34,6 +34,6 @@
|
||||
"tailwindcss": "^3.3.5",
|
||||
"typescript": "~5.7.2",
|
||||
"typescript-eslint": "^8.26.1",
|
||||
"vite": "^6.3.1"
|
||||
"vite": "^6.3.2"
|
||||
}
|
||||
}
|
||||
+7
-4
@@ -7,11 +7,12 @@ import ReservationPage from './pages/ReservationPage'
|
||||
import ConfirmationPage from './pages/ConfirmationPage'
|
||||
import ReservationsHistoryPage from './pages/ReservationsHistoryPage'
|
||||
import SearchPage from './pages/SearchPage'
|
||||
import ProfilePage from './pages/ProfilePage'
|
||||
|
||||
// Ustvarimo kontekst za navigacijo
|
||||
export const NavigationContext = createContext<{
|
||||
navigateTo: (page: 'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search', restaurantId?: number) => void;
|
||||
currentPage: 'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search';
|
||||
navigateTo: (page: 'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search' | 'profile', restaurantId?: number) => void;
|
||||
currentPage: 'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search' | 'profile';
|
||||
currentRestaurantId?: number;
|
||||
}>({
|
||||
navigateTo: () => {},
|
||||
@@ -19,11 +20,11 @@ export const NavigationContext = createContext<{
|
||||
});
|
||||
|
||||
function App() {
|
||||
const [currentPage, setCurrentPage] = useState<'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search'>('home');
|
||||
const [currentPage, setCurrentPage] = useState<'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search' | 'profile'>('home');
|
||||
const [currentRestaurantId, setCurrentRestaurantId] = useState<number | undefined>(1);
|
||||
|
||||
// Funkcija za navigacijo med stranmi
|
||||
const navigateTo = (page: 'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search', restaurantId?: number) => {
|
||||
const navigateTo = (page: 'home' | 'detail' | 'reservation' | 'confirmation' | 'reservations' | 'search' | 'profile', restaurantId?: number) => {
|
||||
setCurrentPage(page);
|
||||
if (restaurantId) {
|
||||
setCurrentRestaurantId(restaurantId);
|
||||
@@ -57,6 +58,8 @@ function App() {
|
||||
return <ReservationsHistoryPage />;
|
||||
case 'search':
|
||||
return <SearchPage />;
|
||||
case 'profile':
|
||||
return <ProfilePage />;
|
||||
default:
|
||||
return <HomePage />;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import React from 'react';
|
||||
|
||||
interface ActiveFiltersDisplayProps {
|
||||
activeFilters: string[];
|
||||
onRemoveFilter: (filter: string) => void;
|
||||
}
|
||||
|
||||
const ActiveFiltersDisplay: React.FC<ActiveFiltersDisplayProps> = ({
|
||||
activeFilters,
|
||||
onRemoveFilter
|
||||
}) => {
|
||||
if (activeFilters.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex flex-wrap gap-2 mb-4">
|
||||
{activeFilters.map(filter => (
|
||||
<div
|
||||
key={filter}
|
||||
className="px-3 py-1 bg-black text-white text-xs rounded-full flex items-center"
|
||||
>
|
||||
{filter}
|
||||
<span
|
||||
className="material-icons-outlined text-xs ml-1 cursor-pointer"
|
||||
onClick={() => onRemoveFilter(filter)}
|
||||
>
|
||||
close
|
||||
</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ActiveFiltersDisplay;
|
||||
@@ -0,0 +1,79 @@
|
||||
import React from 'react';
|
||||
|
||||
interface AdditionalOptions {
|
||||
openNow: boolean;
|
||||
hasParking: boolean;
|
||||
acceptsReservations: boolean;
|
||||
hasWifi: boolean;
|
||||
outdoorSeating: boolean;
|
||||
}
|
||||
|
||||
interface AdditionalOptionsFilterProps {
|
||||
options: AdditionalOptions;
|
||||
onOptionChange: (option: keyof AdditionalOptions) => void;
|
||||
}
|
||||
|
||||
const AdditionalOptionsFilter: React.FC<AdditionalOptionsFilterProps> = ({
|
||||
options,
|
||||
onOptionChange
|
||||
}) => {
|
||||
return (
|
||||
<div className="mb-4">
|
||||
<h3 className="text-sm font-medium text-black mb-2">Dodatne možnosti</h3>
|
||||
<div className="space-y-2">
|
||||
<div className="flex items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="open-now"
|
||||
checked={options.openNow}
|
||||
onChange={() => onOptionChange('openNow')}
|
||||
className="w-4 h-4 mr-2"
|
||||
/>
|
||||
<label htmlFor="open-now" className="text-sm text-black">Trenutno odprto</label>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="has-parking"
|
||||
checked={options.hasParking}
|
||||
onChange={() => onOptionChange('hasParking')}
|
||||
className="w-4 h-4 mr-2"
|
||||
/>
|
||||
<label htmlFor="has-parking" className="text-sm text-black">Parkirišče</label>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="accepts-reservations"
|
||||
checked={options.acceptsReservations}
|
||||
onChange={() => onOptionChange('acceptsReservations')}
|
||||
className="w-4 h-4 mr-2"
|
||||
/>
|
||||
<label htmlFor="accepts-reservations" className="text-sm text-black">Sprejema rezervacije</label>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="wifi"
|
||||
checked={options.hasWifi}
|
||||
onChange={() => onOptionChange('hasWifi')}
|
||||
className="w-4 h-4 mr-2"
|
||||
/>
|
||||
<label htmlFor="wifi" className="text-sm text-black">Brezplačen Wi-Fi</label>
|
||||
</div>
|
||||
<div className="flex items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="outdoor-seating"
|
||||
checked={options.outdoorSeating}
|
||||
onChange={() => onOptionChange('outdoorSeating')}
|
||||
className="w-4 h-4 mr-2"
|
||||
/>
|
||||
<label htmlFor="outdoor-seating" className="text-sm text-black">Zunanja terasa</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default AdditionalOptionsFilter;
|
||||
@@ -1,61 +1,35 @@
|
||||
import React, { useState } from 'react';
|
||||
import React from 'react';
|
||||
|
||||
interface AdvancedSearchBarProps {
|
||||
onSearch: (query: string) => void;
|
||||
initialQuery?: string;
|
||||
placeholder?: string;
|
||||
query: string;
|
||||
onSearch: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
||||
onClear: () => void;
|
||||
}
|
||||
|
||||
const AdvancedSearchBar: React.FC<AdvancedSearchBarProps> = ({
|
||||
onSearch,
|
||||
initialQuery = '',
|
||||
placeholder = 'Išči restavracije, jedi...'
|
||||
}) => {
|
||||
const [query, setQuery] = useState(initialQuery);
|
||||
|
||||
const handleClear = () => {
|
||||
setQuery('');
|
||||
onSearch('');
|
||||
};
|
||||
|
||||
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setQuery(e.target.value);
|
||||
};
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
onSearch(query);
|
||||
};
|
||||
|
||||
const AdvancedSearchBar: React.FC<AdvancedSearchBarProps> = ({ query, onSearch, onClear }) => {
|
||||
return (
|
||||
<form
|
||||
onSubmit={handleSubmit}
|
||||
className="w-full px-5 py-3"
|
||||
>
|
||||
<div className="relative">
|
||||
<span className="absolute left-3 top-1/2 transform -translate-y-1/2 material-icons-outlined text-gray-500">
|
||||
search
|
||||
</span>
|
||||
<div className="px-5 pt-4 pb-2">
|
||||
<div className="relative mb-4">
|
||||
<span className="material-icons-outlined absolute left-3 top-3 text-gray-400">search</span>
|
||||
<input
|
||||
type="text"
|
||||
value={query}
|
||||
onChange={handleChange}
|
||||
placeholder={placeholder}
|
||||
className="w-full pl-10 pr-10 py-3 border border-gray-300 rounded-xl focus:outline-none focus:ring-2 focus:ring-blue-400"
|
||||
aria-label="Iskalni vnos"
|
||||
onChange={onSearch}
|
||||
placeholder="Išči po imenu restavracije ali jedi"
|
||||
aria-label="Iskanje restavracij po imenu"
|
||||
className="w-full py-3 pl-10 pr-10 rounded-xl border border-gray-200 bg-white text-black card-shadow focus:outline-none focus:ring-2 focus:ring-blue-200"
|
||||
/>
|
||||
{query.length > 0 && (
|
||||
{query && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleClear}
|
||||
className="absolute right-3 top-1/2 transform -translate-y-1/2 material-icons-outlined text-gray-500"
|
||||
aria-label="Počisti iskalno polje"
|
||||
className="absolute right-3 top-3 text-gray-400"
|
||||
aria-label="Počisti iskanje"
|
||||
onClick={onClear}
|
||||
>
|
||||
cancel
|
||||
<span className="material-icons-outlined">close</span>
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import React from 'react';
|
||||
import { Category } from '../types';
|
||||
|
||||
interface CuisineFilterGridProps {
|
||||
categories: Category[];
|
||||
selectedCuisines: string[];
|
||||
onCuisineSelect: (cuisineId: string) => void;
|
||||
}
|
||||
|
||||
const CuisineFilterGrid: React.FC<CuisineFilterGridProps> = ({
|
||||
categories,
|
||||
selectedCuisines,
|
||||
onCuisineSelect
|
||||
}) => {
|
||||
return (
|
||||
<div className="mb-4">
|
||||
<h3 className="text-sm font-medium text-black mb-2">Vrsta kuhinje</h3>
|
||||
<div className="grid grid-cols-3 gap-2">
|
||||
{categories.slice(0, 8).map((category) => (
|
||||
<div key={category.id} className="cuisine-filter-item">
|
||||
<input
|
||||
type="checkbox"
|
||||
id={`cuisine-${category.id}`}
|
||||
checked={selectedCuisines.includes(category.id.toString())}
|
||||
onChange={() => onCuisineSelect(category.id.toString())}
|
||||
className="hidden cuisine-checkbox"
|
||||
/>
|
||||
<label
|
||||
htmlFor={`cuisine-${category.id}`}
|
||||
className={`flex flex-col items-center p-3 ${selectedCuisines.includes(category.id.toString()) ? 'bg-black text-white' : 'bg-white text-black'} border border-gray-200 rounded-xl cursor-pointer`}
|
||||
>
|
||||
<span className="text-xl mb-1">{category.emoji}</span>
|
||||
<span className="text-xs">{category.name}</span>
|
||||
</label>
|
||||
</div>
|
||||
))}
|
||||
<button className="flex flex-col items-center justify-center p-3 bg-white border border-gray-200 rounded-xl text-black">
|
||||
<span className="material-icons-outlined mb-1">add</span>
|
||||
<span className="text-xs">Več</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default CuisineFilterGrid;
|
||||
@@ -1,29 +1,29 @@
|
||||
import React from 'react';
|
||||
|
||||
interface EmptyReservationsProps {
|
||||
onFindRestaurantsClick?: () => void;
|
||||
onFindRestaurantsClick: () => void;
|
||||
}
|
||||
|
||||
const EmptyReservations: React.FC<EmptyReservationsProps> = ({
|
||||
onFindRestaurantsClick
|
||||
}) => {
|
||||
return (
|
||||
<div className="px-5 py-10">
|
||||
<div className="flex flex-col items-center justify-center text-center">
|
||||
<div className="w-20 h-20 rounded-full bg-gray-100 flex items-center justify-center mb-4">
|
||||
<span className="material-icons-outlined text-gray-400 text-3xl">calendar_today</span>
|
||||
</div>
|
||||
<h3 className="text-lg font-medium text-black mb-2">Ni rezervacij</h3>
|
||||
<p className="text-sm text-black opacity-70 mb-6 max-w-[250px]">
|
||||
Trenutno nimate nobenih rezervacij. Raziščite restavracije in ustvarite svojo prvo rezervacijo.
|
||||
</p>
|
||||
<button
|
||||
className="px-6 py-3 bg-black text-white rounded-xl font-medium btn-press"
|
||||
onClick={onFindRestaurantsClick}
|
||||
>
|
||||
Poišči restavracije
|
||||
</button>
|
||||
<div className="flex flex-col items-center justify-center px-5 py-12 h-full">
|
||||
<div className="bg-gray-100 w-20 h-20 rounded-full flex items-center justify-center mb-6">
|
||||
<span className="material-icons-outlined text-gray-400 text-4xl">event_busy</span>
|
||||
</div>
|
||||
|
||||
<h2 className="text-xl font-bold text-black mb-2 text-center">Nimate še rezervacij</h2>
|
||||
<p className="text-gray-600 text-center mb-8">
|
||||
Odkrijte odlične restavracije v vaši bližini in rezervirajte mizo.
|
||||
</p>
|
||||
|
||||
<button
|
||||
className="py-3 px-6 bg-black text-white rounded-lg font-medium"
|
||||
onClick={onFindRestaurantsClick}
|
||||
>
|
||||
Poiščite restavracije
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
import React from 'react';
|
||||
import { restaurants } from '../data/mockData';
|
||||
|
||||
interface FavoriteRestaurantsProps {
|
||||
onRestaurantClick: (id: number) => void;
|
||||
onReservationClick: (id: number) => void;
|
||||
}
|
||||
|
||||
const FavoriteRestaurants = ({
|
||||
onRestaurantClick,
|
||||
onReservationClick
|
||||
}: FavoriteRestaurantsProps) => {
|
||||
// Uporabimo nekaj naključnih restavracij za demo
|
||||
const favoriteRestaurants = restaurants.slice(0, 2);
|
||||
|
||||
if (favoriteRestaurants.length === 0) {
|
||||
return (
|
||||
<div className="px-5 py-8 text-center">
|
||||
<span className="material-icons-outlined text-gray-400 text-5xl mb-2">restaurant</span>
|
||||
<p className="text-gray-600 mb-4">Nimate še priljubljenih restavracij</p>
|
||||
<button
|
||||
className="py-2 px-4 bg-black text-white rounded-lg text-sm"
|
||||
onClick={() => onRestaurantClick(1)}
|
||||
>
|
||||
Raziščite restavracije
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="px-5 py-4">
|
||||
<div className="space-y-4">
|
||||
{favoriteRestaurants.map(restaurant => (
|
||||
<div
|
||||
key={restaurant.id}
|
||||
className="bg-white rounded-xl overflow-hidden card-shadow"
|
||||
>
|
||||
<img
|
||||
src={restaurant.image}
|
||||
alt={restaurant.imageAlt}
|
||||
className="w-full h-48 object-cover cursor-pointer"
|
||||
onClick={() => onRestaurantClick(restaurant.id)}
|
||||
loading="lazy"
|
||||
/>
|
||||
<div className="p-3">
|
||||
<div className="flex justify-between items-start">
|
||||
<div className="cursor-pointer" onClick={() => onRestaurantClick(restaurant.id)}>
|
||||
<h3 className="font-semibold text-black">{restaurant.name}</h3>
|
||||
<p className="text-xs text-black opacity-70">{restaurant.location} • {restaurant.distance}</p>
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="flex items-center gap-1">
|
||||
<span className="material-icons-outlined text-sm text-black">star</span>
|
||||
<span className="text-sm font-medium text-black">{restaurant.rating}</span>
|
||||
</div>
|
||||
<button
|
||||
className="favorite-btn p-1"
|
||||
aria-label="Odstrani iz priljubljenih"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
alert('Odstranjeno iz priljubljenih');
|
||||
}}
|
||||
>
|
||||
<span className="material-icons text-red-500 text-sm">favorite</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-wrap items-center gap-2 mt-2">
|
||||
{restaurant.cuisines.map(cuisine => (
|
||||
<span
|
||||
key={cuisine}
|
||||
className="text-xs text-black bg-gray-100 px-2 py-1 rounded-full"
|
||||
>
|
||||
{cuisine}
|
||||
</span>
|
||||
))}
|
||||
<span className={`text-xs text-black ${restaurant.isOpen ? 'bg-green-100' : 'bg-orange-100'} px-2 py-1 rounded-full flex items-center`}>
|
||||
<span className="material-icons-outlined text-xs mr-0.5">schedule</span>
|
||||
{restaurant.isOpen ? 'Odprto zdaj' : 'Trenutno zaprto'}
|
||||
</span>
|
||||
</div>
|
||||
<div className="mt-2 pt-2 border-t border-gray-100 flex justify-between items-center">
|
||||
<div className="text-xs text-black">
|
||||
<span className="font-medium">€€</span>
|
||||
<span className="opacity-70 ml-1">Povprečen obrok</span>
|
||||
</div>
|
||||
<button
|
||||
className="py-1 px-3 bg-black text-white text-xs rounded-lg"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
onReservationClick(restaurant.id);
|
||||
}}
|
||||
>
|
||||
Rezerviraj
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default FavoriteRestaurants;
|
||||
@@ -0,0 +1,21 @@
|
||||
import React from 'react';
|
||||
|
||||
interface FilterHeaderProps {
|
||||
onReset: () => void;
|
||||
}
|
||||
|
||||
const FilterHeader: React.FC<FilterHeaderProps> = ({ onReset }) => {
|
||||
return (
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<h2 className="text-base font-semibold text-black">Filtri</h2>
|
||||
<button
|
||||
className="text-sm text-blue-500"
|
||||
onClick={onReset}
|
||||
>
|
||||
Ponastavi vse
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default FilterHeader;
|
||||
@@ -0,0 +1,18 @@
|
||||
import React from 'react';
|
||||
|
||||
interface LoadMoreButtonProps {
|
||||
onClick: () => void;
|
||||
}
|
||||
|
||||
const LoadMoreButton: React.FC<LoadMoreButtonProps> = ({ onClick }) => {
|
||||
return (
|
||||
<button
|
||||
className="w-full py-3 text-center text-sm font-medium text-black border border-gray-200 rounded-xl mt-2"
|
||||
onClick={onClick}
|
||||
>
|
||||
Naloži več
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
||||
export default LoadMoreButton;
|
||||
@@ -0,0 +1,45 @@
|
||||
import React from 'react';
|
||||
|
||||
interface LocationFilterProps {
|
||||
selectedLocation: string;
|
||||
onLocationChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
||||
onLocationSelect: (location: string) => void;
|
||||
availableLocations?: string[];
|
||||
}
|
||||
|
||||
const LocationFilter: React.FC<LocationFilterProps> = ({
|
||||
selectedLocation,
|
||||
onLocationChange,
|
||||
onLocationSelect,
|
||||
availableLocations = ['V bližini', 'Ljubljana Center', 'Šiška', 'Bežigrad', 'Vič']
|
||||
}) => {
|
||||
return (
|
||||
<div className="mb-4">
|
||||
<h3 className="text-sm font-medium text-black mb-2">Lokacija</h3>
|
||||
<div className="relative">
|
||||
<span className="material-icons-outlined absolute left-3 top-3 text-gray-400">place</span>
|
||||
<input
|
||||
type="text"
|
||||
value={selectedLocation}
|
||||
onChange={onLocationChange}
|
||||
placeholder="Vnesite lokacijo ali razdaljo"
|
||||
aria-label="Filter po lokaciji"
|
||||
className="w-full py-3 pl-10 pr-3 rounded-xl border border-gray-200 bg-white text-black focus:outline-none focus:ring-2 focus:ring-blue-200"
|
||||
/>
|
||||
</div>
|
||||
<div className="flex overflow-x-auto hide-scrollbar gap-2 mt-2">
|
||||
{availableLocations.map((location) => (
|
||||
<button
|
||||
key={location}
|
||||
className={`py-2 px-3 border ${selectedLocation === location ? 'bg-black text-white' : 'border-gray-200 text-black'} rounded-lg whitespace-nowrap text-xs font-medium`}
|
||||
onClick={() => onLocationSelect(location)}
|
||||
>
|
||||
{location}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default LocationFilter;
|
||||
@@ -0,0 +1,40 @@
|
||||
import React from 'react';
|
||||
|
||||
interface PriceRangeFilterProps {
|
||||
selectedPriceRange: string[];
|
||||
onPriceSelect: (price: string) => void;
|
||||
}
|
||||
|
||||
const PriceRangeFilter: React.FC<PriceRangeFilterProps> = ({
|
||||
selectedPriceRange,
|
||||
onPriceSelect
|
||||
}) => {
|
||||
const priceOptions = ['€', '€€', '€€€', '€€€€'];
|
||||
|
||||
return (
|
||||
<div className="mb-4">
|
||||
<h3 className="text-sm font-medium text-black mb-2">Cenovni razred</h3>
|
||||
<div className="flex gap-2">
|
||||
{priceOptions.map((price, index) => (
|
||||
<div key={price} className="price-filter-item flex-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
id={`price-${index + 1}`}
|
||||
checked={selectedPriceRange.includes(price)}
|
||||
onChange={() => onPriceSelect(price)}
|
||||
className="hidden price-checkbox"
|
||||
/>
|
||||
<label
|
||||
htmlFor={`price-${index + 1}`}
|
||||
className={`flex items-center justify-center py-3 ${selectedPriceRange.includes(price) ? 'bg-black text-white' : 'bg-white text-black'} border border-gray-200 rounded-xl cursor-pointer w-full`}
|
||||
>
|
||||
<span className="text-sm">{price}</span>
|
||||
</label>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default PriceRangeFilter;
|
||||
@@ -0,0 +1,66 @@
|
||||
import React from 'react';
|
||||
|
||||
interface ProfileHeaderProps {
|
||||
userName: string;
|
||||
userEmail: string;
|
||||
userImageUrl?: string;
|
||||
reservationsCount: number;
|
||||
favoritesCount: number;
|
||||
onEditProfileClick: () => void;
|
||||
}
|
||||
|
||||
const ProfileHeader = ({
|
||||
userName,
|
||||
userEmail,
|
||||
userImageUrl,
|
||||
reservationsCount,
|
||||
favoritesCount,
|
||||
onEditProfileClick
|
||||
}: ProfileHeaderProps) => {
|
||||
return (
|
||||
<div className="px-5 py-6 bg-white">
|
||||
<div className="flex items-center">
|
||||
<div className="relative mr-4">
|
||||
{userImageUrl ? (
|
||||
<img
|
||||
src={userImageUrl}
|
||||
alt={`Profilna slika uporabnika ${userName}`}
|
||||
className="w-20 h-20 rounded-full object-cover"
|
||||
/>
|
||||
) : (
|
||||
<div className="w-20 h-20 rounded-full bg-gray-300 flex items-center justify-center">
|
||||
<span className="material-icons text-gray-500 text-3xl">person</span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="flex-1">
|
||||
<h1 className="text-xl font-bold text-black">{userName}</h1>
|
||||
<p className="text-gray-600 text-sm">{userEmail}</p>
|
||||
|
||||
<button
|
||||
className="mt-2 text-sm text-primary-600 font-medium"
|
||||
onClick={onEditProfileClick}
|
||||
aria-label="Uredi profil"
|
||||
>
|
||||
Uredi profil
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-between mt-6">
|
||||
<div className="text-center">
|
||||
<p className="text-2xl font-bold text-black">{reservationsCount}</p>
|
||||
<p className="text-sm text-gray-600">Rezervacij</p>
|
||||
</div>
|
||||
|
||||
<div className="text-center">
|
||||
<p className="text-2xl font-bold text-black">{favoritesCount}</p>
|
||||
<p className="text-sm text-gray-600">Priljubljenih</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProfileHeader;
|
||||
@@ -0,0 +1,39 @@
|
||||
import React from 'react';
|
||||
|
||||
interface ProfileNavBarProps {
|
||||
onSettingsClick: () => void;
|
||||
onHelpClick: () => void;
|
||||
}
|
||||
|
||||
const ProfileNavBar = ({
|
||||
onSettingsClick,
|
||||
onHelpClick
|
||||
}: ProfileNavBarProps) => {
|
||||
return (
|
||||
<nav
|
||||
className="sticky top-0 bg-white py-4 px-5 flex items-center justify-between shadow-sm z-10"
|
||||
role="navigation"
|
||||
aria-label="Glavna navigacija"
|
||||
>
|
||||
<div className="font-bold text-lg text-black">Moj profil</div>
|
||||
<div className="flex items-center gap-4">
|
||||
<button
|
||||
aria-label="Nastavitve profila"
|
||||
className="p-1"
|
||||
onClick={onSettingsClick}
|
||||
>
|
||||
<span className="material-icons-outlined text-black">settings</span>
|
||||
</button>
|
||||
<button
|
||||
aria-label="Pomoč"
|
||||
className="p-1"
|
||||
onClick={onHelpClick}
|
||||
>
|
||||
<span className="material-icons-outlined text-black">help_outline</span>
|
||||
</button>
|
||||
</div>
|
||||
</nav>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProfileNavBar;
|
||||
@@ -0,0 +1,44 @@
|
||||
import React from 'react';
|
||||
|
||||
interface ProfileTabsProps {
|
||||
activeTab: 'favorites' | 'reservations' | 'reviews';
|
||||
onTabChange: (tab: 'favorites' | 'reservations' | 'reviews') => void;
|
||||
}
|
||||
|
||||
const ProfileTabs = ({
|
||||
activeTab,
|
||||
onTabChange
|
||||
}: ProfileTabsProps) => {
|
||||
return (
|
||||
<div className="px-5 pt-4 pb-2 bg-white">
|
||||
<div className="flex border-b border-gray-200">
|
||||
<button
|
||||
className={`flex-1 text-center py-3 text-sm font-medium ${activeTab === 'favorites' ? 'border-b-2 border-black text-black' : 'text-gray-500'}`}
|
||||
onClick={() => onTabChange('favorites')}
|
||||
aria-selected={activeTab === 'favorites'}
|
||||
role="tab"
|
||||
>
|
||||
Priljubljene
|
||||
</button>
|
||||
<button
|
||||
className={`flex-1 text-center py-3 text-sm font-medium ${activeTab === 'reservations' ? 'border-b-2 border-black text-black' : 'text-gray-500'}`}
|
||||
onClick={() => onTabChange('reservations')}
|
||||
aria-selected={activeTab === 'reservations'}
|
||||
role="tab"
|
||||
>
|
||||
Rezervacije
|
||||
</button>
|
||||
<button
|
||||
className={`flex-1 text-center py-3 text-sm font-medium ${activeTab === 'reviews' ? 'border-b-2 border-black text-black' : 'text-gray-500'}`}
|
||||
onClick={() => onTabChange('reviews')}
|
||||
aria-selected={activeTab === 'reviews'}
|
||||
role="tab"
|
||||
>
|
||||
Mnenja
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProfileTabs;
|
||||
@@ -0,0 +1,32 @@
|
||||
import React from 'react';
|
||||
|
||||
interface RatingSliderProps {
|
||||
rating: number;
|
||||
onRatingChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
||||
}
|
||||
|
||||
const RatingSlider: React.FC<RatingSliderProps> = ({ rating, onRatingChange }) => {
|
||||
return (
|
||||
<div className="mb-4">
|
||||
<h3 className="text-sm font-medium text-black mb-2">Ocena</h3>
|
||||
<div className="flex items-center mb-3">
|
||||
<input
|
||||
type="range"
|
||||
min="0"
|
||||
max="5"
|
||||
step="0.5"
|
||||
value={rating}
|
||||
onChange={onRatingChange}
|
||||
className="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer"
|
||||
/>
|
||||
<span className="ml-3 text-sm font-medium">{rating > 0 ? `${rating.toFixed(1)}+` : 'Vse'}</span>
|
||||
</div>
|
||||
<div className="flex justify-between text-xs text-gray-500">
|
||||
<span>Vse ocene</span>
|
||||
<span>5.0</span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default RatingSlider;
|
||||
@@ -1,5 +1,6 @@
|
||||
import React from 'react';
|
||||
import ReservationHistoryCard, { ReservationHistoryItem } from './ReservationHistoryCard';
|
||||
import { ReservationHistoryItem } from './ReservationHistoryCard';
|
||||
import ReservationHistoryCard from './ReservationHistoryCard';
|
||||
|
||||
interface ReservationsGroup {
|
||||
title: string;
|
||||
@@ -25,34 +26,54 @@ const ReservationsList: React.FC<ReservationsListProps> = ({
|
||||
onLoadMoreClick,
|
||||
hasMoreItems = false
|
||||
}) => {
|
||||
// Preveri, če so sploh kakšne rezervacije
|
||||
const hasReservations = groups.some(group => group.items.length > 0);
|
||||
|
||||
if (!hasReservations) {
|
||||
return (
|
||||
<div className="p-5 text-center">
|
||||
<div className="mb-3 text-gray-400">
|
||||
<span className="material-icons-outlined text-6xl">event_busy</span>
|
||||
</div>
|
||||
<h3 className="font-semibold text-black mb-1">
|
||||
{isPastList ? 'Nimate preteklih rezervacij' : 'Nimate prihajajočih rezervacij'}
|
||||
</h3>
|
||||
<p className="text-sm text-gray-600">
|
||||
{isPastList
|
||||
? 'Ko boste obiskali restavracije, se bodo pojavile tukaj.'
|
||||
: 'Ko rezervirate mizo, se bodo rezervacije pojavile tukaj.'}
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="tab-content">
|
||||
{groups.map((group, index) => (
|
||||
<div key={index} className={`px-5 ${index === 0 ? 'pt-6 pb-3' : 'py-3'}`}>
|
||||
<h2 className="text-sm font-medium text-black opacity-70 mb-4">{group.title}</h2>
|
||||
<div className="p-4">
|
||||
{groups.map((group, index) =>
|
||||
group.items.length > 0 && (
|
||||
<div key={group.title} className={index > 0 ? 'mt-6' : ''}>
|
||||
<h3 className="text-sm font-medium text-black mb-3">{group.title}</h3>
|
||||
|
||||
{group.items.map(reservation => (
|
||||
<ReservationHistoryCard
|
||||
key={reservation.id}
|
||||
reservation={reservation}
|
||||
onEditClick={onEditClick}
|
||||
onCancelClick={onCancelClick}
|
||||
onRateClick={onRateClick}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
))}
|
||||
{group.items.map(reservation => (
|
||||
<ReservationHistoryCard
|
||||
key={reservation.id}
|
||||
reservation={reservation}
|
||||
onEditClick={isPastList ? undefined : onEditClick}
|
||||
onCancelClick={isPastList ? undefined : onCancelClick}
|
||||
onRateClick={isPastList ? onRateClick : undefined}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
)}
|
||||
|
||||
{/* Gumb za nalaganje več (samo za pretekle rezervacije) */}
|
||||
{isPastList && hasMoreItems && (
|
||||
<div className="px-5 py-3">
|
||||
<button
|
||||
className="w-full py-3 text-center text-sm font-medium text-black border border-gray-200 rounded-lg mt-2 btn-press"
|
||||
onClick={onLoadMoreClick}
|
||||
>
|
||||
Prikaži več rezervacij
|
||||
</button>
|
||||
</div>
|
||||
<button
|
||||
className="w-full py-3 text-center text-sm font-medium text-black border border-gray-200 rounded-lg mt-4"
|
||||
onClick={onLoadMoreClick}
|
||||
>
|
||||
Naloži več
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import React from 'react';
|
||||
|
||||
interface ReservationsNavBarProps {
|
||||
onFilterClick?: () => void;
|
||||
onHelpClick?: () => void;
|
||||
onFilterClick: () => void;
|
||||
onHelpClick: () => void;
|
||||
}
|
||||
|
||||
const ReservationsNavBar: React.FC<ReservationsNavBarProps> = ({
|
||||
@@ -13,9 +13,9 @@ const ReservationsNavBar: React.FC<ReservationsNavBarProps> = ({
|
||||
<nav
|
||||
className="sticky top-0 bg-white py-4 px-5 flex items-center justify-between shadow-sm z-10"
|
||||
role="navigation"
|
||||
aria-label="Glavna navigacija"
|
||||
aria-label="Navigacijska vrstica za rezervacije"
|
||||
>
|
||||
<div className="font-bold text-lg text-black">Moje rezervacije</div>
|
||||
<div className="font-bold text-lg text-black">Rezervacije</div>
|
||||
<div className="flex items-center gap-4">
|
||||
<button
|
||||
aria-label="Filtriraj rezervacije"
|
||||
|
||||
@@ -10,25 +10,21 @@ const ReservationsTabs: React.FC<ReservationsTabsProps> = ({
|
||||
onTabChange
|
||||
}) => {
|
||||
return (
|
||||
<div className="sticky bg-white py-2 px-5 z-10">
|
||||
<div className="sticky top-14 z-10 bg-white px-5 pt-4 pb-0 shadow-sm">
|
||||
<div className="flex border-b border-gray-200">
|
||||
<button
|
||||
className={`px-4 py-3 text-sm font-medium text-black flex-1 tab-button ${activeTab === 'upcoming' ? 'border-b-2 border-black' : 'opacity-60'}`}
|
||||
className={`flex-1 text-center py-3 text-sm font-medium ${activeTab === 'upcoming' ? 'border-b-2 border-black text-black' : 'text-gray-500'}`}
|
||||
onClick={() => onTabChange('upcoming')}
|
||||
aria-selected={activeTab === 'upcoming'}
|
||||
role="tab"
|
||||
aria-controls="upcoming-reservations"
|
||||
id="tab-upcoming"
|
||||
>
|
||||
Prihajajoče
|
||||
</button>
|
||||
<button
|
||||
className={`px-4 py-3 text-sm font-medium text-black flex-1 tab-button ${activeTab === 'past' ? 'border-b-2 border-black' : 'opacity-60'}`}
|
||||
className={`flex-1 text-center py-3 text-sm font-medium ${activeTab === 'past' ? 'border-b-2 border-black text-black' : 'text-gray-500'}`}
|
||||
onClick={() => onTabChange('past')}
|
||||
aria-selected={activeTab === 'past'}
|
||||
role="tab"
|
||||
aria-controls="past-reservations"
|
||||
id="tab-past"
|
||||
>
|
||||
Pretekle
|
||||
</button>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import React from 'react';
|
||||
|
||||
interface SearchNavBarProps {
|
||||
onResetClick?: () => void;
|
||||
onHelpClick?: () => void;
|
||||
onResetClick: () => void;
|
||||
onHelpClick: () => void;
|
||||
}
|
||||
|
||||
const SearchNavBar: React.FC<SearchNavBarProps> = ({
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
import React from 'react';
|
||||
import { Restaurant } from '../types';
|
||||
|
||||
interface SearchRestaurantCardProps {
|
||||
restaurant: Restaurant;
|
||||
onRestaurantClick: (id: number) => void;
|
||||
onReservationClick: (id: number) => void;
|
||||
}
|
||||
|
||||
const SearchRestaurantCard: React.FC<SearchRestaurantCardProps> = ({
|
||||
restaurant,
|
||||
onRestaurantClick,
|
||||
onReservationClick
|
||||
}) => {
|
||||
return (
|
||||
<div
|
||||
className="bg-white rounded-xl overflow-hidden card-shadow hover-card"
|
||||
onClick={() => onRestaurantClick(restaurant.id)}
|
||||
>
|
||||
<img
|
||||
src={restaurant.image}
|
||||
alt={restaurant.imageAlt}
|
||||
className="w-full h-48 object-cover"
|
||||
loading="lazy"
|
||||
/>
|
||||
<div className="p-3">
|
||||
<div className="flex justify-between items-start">
|
||||
<div>
|
||||
<h3 className="font-semibold text-black">{restaurant.name}</h3>
|
||||
<p className="text-xs text-black opacity-70">{restaurant.location} • {restaurant.distance}</p>
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="flex items-center gap-1">
|
||||
<span className="material-icons-outlined text-sm text-black">star</span>
|
||||
<span className="text-sm font-medium text-black">{restaurant.rating}</span>
|
||||
</div>
|
||||
<button
|
||||
className="favorite-btn p-1"
|
||||
aria-label="Dodaj med priljubljene"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
alert('Dodano med priljubljene');
|
||||
}}
|
||||
>
|
||||
<span className="material-icons-outlined text-sm">favorite_border</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-wrap items-center gap-2 mt-2">
|
||||
{restaurant.cuisines.map(cuisine => (
|
||||
<span
|
||||
key={cuisine}
|
||||
className="text-xs text-black bg-gray-100 px-2 py-1 rounded-full"
|
||||
>
|
||||
{cuisine}
|
||||
</span>
|
||||
))}
|
||||
<span className={`text-xs text-black ${restaurant.isOpen ? 'bg-green-100' : 'bg-orange-100'} px-2 py-1 rounded-full flex items-center`}>
|
||||
<span className="material-icons-outlined text-xs mr-0.5">schedule</span>
|
||||
{restaurant.isOpen ? 'Odprto zdaj' : 'Trenutno zaprto'}
|
||||
</span>
|
||||
</div>
|
||||
<div className="mt-2 pt-2 border-t border-gray-100 flex justify-between items-center">
|
||||
<div className="text-xs text-black">
|
||||
<span className="font-medium">€€</span>
|
||||
<span className="opacity-70 ml-1">Povprečen obrok</span>
|
||||
</div>
|
||||
<button
|
||||
className="py-1 px-3 bg-black text-white text-xs rounded-lg"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
onReservationClick(restaurant.id);
|
||||
}}
|
||||
>
|
||||
Rezerviraj
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default SearchRestaurantCard;
|
||||
@@ -0,0 +1,34 @@
|
||||
import React from 'react';
|
||||
|
||||
interface SearchResultsHeaderProps {
|
||||
sortBy: string;
|
||||
onSortChange: (e: React.ChangeEvent<HTMLSelectElement>) => void;
|
||||
}
|
||||
|
||||
const SearchResultsHeader: React.FC<SearchResultsHeaderProps> = ({ sortBy, onSortChange }) => {
|
||||
return (
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<h2 className="text-base font-semibold text-black">Rezultati iskanja</h2>
|
||||
<div className="flex items-center">
|
||||
<span className="text-sm text-black mr-2">Razvrsti po:</span>
|
||||
<div className="relative">
|
||||
<select
|
||||
className="text-sm text-black bg-white py-1 pl-2 pr-6 rounded-lg border border-gray-200 appearance-none"
|
||||
value={sortBy}
|
||||
onChange={onSortChange}
|
||||
>
|
||||
<option>Priporočeno</option>
|
||||
<option>Ocena</option>
|
||||
<option>Razdalja</option>
|
||||
<option>Popularnost</option>
|
||||
</select>
|
||||
<span className="material-icons-outlined absolute right-1 top-1/2 transform -translate-y-1/2 text-black text-sm pointer-events-none">
|
||||
expand_more
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default SearchResultsHeader;
|
||||
@@ -0,0 +1,99 @@
|
||||
import React from 'react';
|
||||
|
||||
interface UserReservationsProps {
|
||||
onDetailsClick: (id: number) => void;
|
||||
}
|
||||
|
||||
const UserReservations = ({
|
||||
onDetailsClick
|
||||
}: UserReservationsProps) => {
|
||||
// Demo podatki za rezervacije
|
||||
const reservations = [
|
||||
{
|
||||
id: 1,
|
||||
restaurantName: "Gostilna Pri lipi",
|
||||
date: "Petek, 15. maj 2023",
|
||||
time: "19:00",
|
||||
guests: 2,
|
||||
status: "confirmed",
|
||||
image: "https://images.unsplash.com/photo-1514933651103-005eec06c04b?ixlib=rb-1.2.1&auto=format&fit=crop&w=1074&q=80"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
restaurantName: "Azijska kuhinja Sakura",
|
||||
date: "Ponedeljek, 22. maj 2023",
|
||||
time: "20:30",
|
||||
guests: 4,
|
||||
status: "completed",
|
||||
image: "https://images.unsplash.com/photo-1555396273-367ea4eb4db5?ixlib=rb-1.2.1&auto=format&fit=crop&w=1074&q=80"
|
||||
}
|
||||
];
|
||||
|
||||
if (reservations.length === 0) {
|
||||
return (
|
||||
<div className="px-5 py-8 text-center">
|
||||
<span className="material-icons-outlined text-gray-400 text-5xl mb-2">event_busy</span>
|
||||
<p className="text-gray-600 mb-4">Nimate še rezervacij</p>
|
||||
<button
|
||||
className="py-2 px-4 bg-black text-white rounded-lg text-sm"
|
||||
onClick={() => onDetailsClick(1)}
|
||||
>
|
||||
Rezervirajte zdaj
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="px-5 py-4">
|
||||
<div className="space-y-4">
|
||||
{reservations.map(reservation => (
|
||||
<div
|
||||
key={reservation.id}
|
||||
className="bg-white rounded-xl overflow-hidden card-shadow"
|
||||
onClick={() => onDetailsClick(reservation.id)}
|
||||
>
|
||||
<div className="flex">
|
||||
<div className="w-24 h-24 flex-shrink-0">
|
||||
<img
|
||||
src={reservation.image}
|
||||
alt={`Restavracija ${reservation.restaurantName}`}
|
||||
className="w-full h-full object-cover"
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
||||
<div className="p-3 flex-1">
|
||||
<h3 className="font-semibold text-black">{reservation.restaurantName}</h3>
|
||||
<div className="flex flex-col text-xs text-black mt-1">
|
||||
<span className="mb-1 flex items-center">
|
||||
<span className="material-icons-outlined text-xs mr-1">calendar_today</span>
|
||||
{reservation.date}
|
||||
</span>
|
||||
<span className="mb-1 flex items-center">
|
||||
<span className="material-icons-outlined text-xs mr-1">schedule</span>
|
||||
{reservation.time}
|
||||
</span>
|
||||
<span className="flex items-center">
|
||||
<span className="material-icons-outlined text-xs mr-1">people</span>
|
||||
{reservation.guests} {reservation.guests === 1 ? 'oseba' : 'osebi'}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-3 flex items-center">
|
||||
<span className={`px-2 py-1 rounded-full text-xs ${
|
||||
reservation.status === 'confirmed'
|
||||
? 'bg-green-100 text-green-800'
|
||||
: 'bg-gray-100 text-gray-800'
|
||||
}`}>
|
||||
{reservation.status === 'confirmed' ? 'Potrjeno' : 'Zaključeno'}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default UserReservations;
|
||||
@@ -0,0 +1,94 @@
|
||||
import React from 'react';
|
||||
|
||||
const UserReviews = () => {
|
||||
// Demo podatki za ocene
|
||||
const reviews = [
|
||||
{
|
||||
id: 1,
|
||||
restaurantName: "Gostilna Pri lipi",
|
||||
date: "15. maj 2023",
|
||||
rating: 4.5,
|
||||
text: "Odlična hrana in prijazna postrežba. Ambient je zelo prijeten in primeren za večerjo v dvoje ali s prijatelji. Priporočam njihove domače jedi!",
|
||||
image: "https://images.unsplash.com/photo-1514933651103-005eec06c04b?ixlib=rb-1.2.1&auto=format&fit=crop&w=1074&q=80"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
restaurantName: "Azijska kuhinja Sakura",
|
||||
date: "22. april 2023",
|
||||
rating: 5,
|
||||
text: "Najboljši suši v mestu! Svež in odlično pripravljen. Strežno osebje je zelo pozorno in hitro. Definitivno se bom še vrnil.",
|
||||
image: "https://images.unsplash.com/photo-1555396273-367ea4eb4db5?ixlib=rb-1.2.1&auto=format&fit=crop&w=1074&q=80"
|
||||
}
|
||||
];
|
||||
|
||||
const renderStars = (rating: number) => {
|
||||
const stars = [];
|
||||
const fullStars = Math.floor(rating);
|
||||
const hasHalfStar = rating % 1 >= 0.5;
|
||||
|
||||
for (let i = 0; i < fullStars; i++) {
|
||||
stars.push(<span key={`full-${i}`} className="material-icons-outlined text-black text-sm">star</span>);
|
||||
}
|
||||
|
||||
if (hasHalfStar) {
|
||||
stars.push(<span key="half" className="material-icons-outlined text-black text-sm">star_half</span>);
|
||||
}
|
||||
|
||||
const remainingStars = 5 - fullStars - (hasHalfStar ? 1 : 0);
|
||||
for (let i = 0; i < remainingStars; i++) {
|
||||
stars.push(<span key={`empty-${i}`} className="material-icons-outlined text-black opacity-30 text-sm">star</span>);
|
||||
}
|
||||
|
||||
return stars;
|
||||
};
|
||||
|
||||
if (reviews.length === 0) {
|
||||
return (
|
||||
<div className="px-5 py-8 text-center">
|
||||
<span className="material-icons-outlined text-gray-400 text-5xl mb-2">rate_review</span>
|
||||
<p className="text-gray-600 mb-4">Nimate še mnenj</p>
|
||||
<button className="py-2 px-4 bg-black text-white rounded-lg text-sm">
|
||||
Odkrijte restavracije
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="px-5 py-4">
|
||||
<div className="space-y-4">
|
||||
{reviews.map(review => (
|
||||
<div key={review.id} className="bg-white p-4 rounded-xl card-shadow">
|
||||
<div className="flex items-start mb-3">
|
||||
<div className="w-12 h-12 mr-3">
|
||||
<img
|
||||
src={review.image}
|
||||
alt={`Restavracija ${review.restaurantName}`}
|
||||
className="w-full h-full object-cover rounded-full"
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="font-semibold text-black">{review.restaurantName}</h3>
|
||||
<div className="flex items-center text-xs text-black mt-1">
|
||||
<span className="flex">{renderStars(review.rating)}</span>
|
||||
<span className="ml-2 opacity-70">{review.date}</span>
|
||||
</div>
|
||||
</div>
|
||||
<button className="p-1 text-black">
|
||||
<span className="material-icons-outlined text-sm">more_vert</span>
|
||||
</button>
|
||||
</div>
|
||||
<p className="text-sm text-black">{review.text}</p>
|
||||
<div className="mt-3 pt-2 border-t border-gray-100 flex justify-end">
|
||||
<button className="text-xs text-blue-600 ml-auto">Uredi</button>
|
||||
<button className="text-xs text-red-600 ml-3">Izbriši</button>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default UserReviews;
|
||||
@@ -43,8 +43,7 @@ const HomePage: React.FC = () => {
|
||||
} else if (itemId === 'search') {
|
||||
navigateTo('search');
|
||||
} else if (itemId === 'profile') {
|
||||
// Implementacija navigacije na profil
|
||||
alert('Stran za profil še ni implementirana.');
|
||||
navigateTo('profile');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
import React, { useState, useContext } from 'react';
|
||||
import { NavigationContext } from '../App';
|
||||
import ProfileNavBar from '../components/ProfileNavBar';
|
||||
import ProfileHeader from '../components/ProfileHeader';
|
||||
import ProfileTabs from '../components/ProfileTabs';
|
||||
import FavoriteRestaurants from '../components/FavoriteRestaurants';
|
||||
import UserReservations from '../components/UserReservations';
|
||||
import UserReviews from '../components/UserReviews';
|
||||
import Footer from '../components/Footer';
|
||||
|
||||
const ProfilePage = () => {
|
||||
const [activeTab, setActiveTab] = useState('favorites' as 'favorites' | 'reservations' | 'reviews');
|
||||
const { navigateTo } = useContext(NavigationContext);
|
||||
|
||||
const handleTabChange = (tab: 'favorites' | 'reservations' | 'reviews') => {
|
||||
setActiveTab(tab);
|
||||
};
|
||||
|
||||
const handleNavItemClick = (itemId: string) => {
|
||||
if (itemId === 'home') {
|
||||
navigateTo('home');
|
||||
} else if (itemId === 'search') {
|
||||
navigateTo('search');
|
||||
} else if (itemId === 'reservations') {
|
||||
navigateTo('reservations');
|
||||
} else if (itemId === 'profile') {
|
||||
// Že smo na profilu, ne naredi nič
|
||||
}
|
||||
};
|
||||
|
||||
const handleSettingsClick = () => {
|
||||
console.log('Nastavitve profila');
|
||||
// Implementacija odpiranja nastavitev
|
||||
};
|
||||
|
||||
const handleHelpClick = () => {
|
||||
console.log('Pomoč za profil');
|
||||
// Implementacija odpiranja pomoči
|
||||
};
|
||||
|
||||
const handleEditProfileClick = () => {
|
||||
console.log('Urejanje profila');
|
||||
// Implementacija urejanja profila
|
||||
};
|
||||
|
||||
const handleRestaurantClick = (id: number) => {
|
||||
navigateTo('detail', id);
|
||||
};
|
||||
|
||||
const handleReservationClick = (id: number) => {
|
||||
navigateTo('reservation', id);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="h-full gradient-bg relative">
|
||||
{/* Skip to content link za dostopnost */}
|
||||
<a href="#profile-content" className="sr-only focus:not-sr-only focus:absolute focus:bg-white focus:text-black focus:p-2 focus:z-50">
|
||||
Preskoči na vsebino
|
||||
</a>
|
||||
|
||||
<ProfileNavBar
|
||||
onSettingsClick={handleSettingsClick}
|
||||
onHelpClick={handleHelpClick}
|
||||
/>
|
||||
|
||||
{/* Vsebina začne tukaj - main content z dodatnim padding-bottom za sticky footer */}
|
||||
<div className="content-container overflow-y-auto hide-scrollbar h-full has-sticky-footer">
|
||||
<main id="profile-content">
|
||||
<ProfileHeader
|
||||
userName="Janez Novak"
|
||||
userEmail="janez.novak@email.com"
|
||||
userImageUrl="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?ixlib=rb-1.2.1&auto=format&fit=crop&w=400&q=80"
|
||||
reservationsCount={12}
|
||||
favoritesCount={8}
|
||||
onEditProfileClick={handleEditProfileClick}
|
||||
/>
|
||||
|
||||
<ProfileTabs
|
||||
activeTab={activeTab}
|
||||
onTabChange={handleTabChange}
|
||||
/>
|
||||
|
||||
{activeTab === 'favorites' && (
|
||||
<FavoriteRestaurants
|
||||
onRestaurantClick={handleRestaurantClick}
|
||||
onReservationClick={handleReservationClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
{activeTab === 'reservations' && (
|
||||
<UserReservations
|
||||
onDetailsClick={handleRestaurantClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
{activeTab === 'reviews' && (
|
||||
<UserReviews />
|
||||
)}
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<Footer activeItem="profile" onNavItemClick={handleNavItemClick} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProfilePage;
|
||||
@@ -59,9 +59,9 @@ const ReservationsHistoryPage: React.FC = () => {
|
||||
if (itemId === 'home') {
|
||||
navigateTo('home');
|
||||
} else if (itemId === 'search') {
|
||||
// Implementacija navigacije na iskanje
|
||||
navigateTo('search');
|
||||
} else if (itemId === 'profile') {
|
||||
// Implementacija navigacije na profil
|
||||
navigateTo('profile');
|
||||
}
|
||||
// Za 'reservations' smo že na tej strani
|
||||
};
|
||||
|
||||
Loaded 100 of 101 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user