- {AMENITY_LIST.map(a => {
+ {allAmenities.map(a => {
const selected = amenities.includes(a)
return (
-
+
+
+ Справочник удобств — на странице «Номера»
+
- {AMENITY_LIST.map(a => {
+ {allAmenities.map(a => {
const sel = amenities.includes(a)
return (
- {/* Add custom amenity */}
-
- setCustomInput(e.target.value)}
- onKeyDown={e => e.key === 'Enter' && (e.preventDefault(), addCustom())}
- />
-
-
-
+ {amenities.length > 0 && (
+
Выбрано: {amenities.length}
+ )}
>
)}
diff --git a/src/pages/RoomsPage.tsx b/src/pages/RoomsPage.tsx
index 7d846a3..49fe96f 100644
--- a/src/pages/RoomsPage.tsx
+++ b/src/pages/RoomsPage.tsx
@@ -1,5 +1,6 @@
import { useState } from 'react'
-import { BedDouble, Users, Wifi, Plus, Search, Pencil } from 'lucide-react'
+import { BedDouble, Users, Wifi, Plus, Search, Pencil, ChevronDown, ChevronUp, Check, Trash2, X as XIcon } from 'lucide-react'
+import { useAmenities } from '../contexts/AmenitiesContext'
import { MOCK_ROOMS } from '../data/mockData'
import { MOCK_CATEGORIES } from './RoomCategoriesPage'
import type { Room } from '../types'
@@ -14,6 +15,12 @@ export function RoomsPage() {
const [modalOpen, setModalOpen] = useState(false)
const [editingRoom, setEditingRoom] = useState
(undefined)
+ const { amenities, addAmenity, removeAmenity, renameAmenity } = useAmenities()
+ const [showAmenities, setShowAmenities] = useState(false)
+ const [newAmenity, setNewAmenity] = useState('')
+ const [editingAmenity, setEditingAmenity] = useState(null)
+ const [editAmenityValue, setEditAmenityValue] = useState('')
+
const floors = [...new Set(rooms.map(r => r.floor))].sort()
const filtered = rooms.filter(r => {
@@ -130,6 +137,96 @@ export function RoomsPage() {
))}
+ {/* Справочник удобств */}
+