Skip to content

Commit 7d60f30

Browse files
committed
Update hotels
1 parent 23ac625 commit 7d60f30

File tree

2 files changed

+103
-42
lines changed

2 files changed

+103
-42
lines changed

public/the-yarn-rates.png

66 KB
Loading

src/routes/hotels.jsx

Lines changed: 103 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,36 @@
1-
import { FaSolidHotel } from 'solid-icons/fa';
2-
import { FaRegularComments } from 'solid-icons/fa';
1+
import { FaSolidComments, FaSolidHotel, FaSolidLink } from 'solid-icons/fa';
2+
import { FaSolidMapLocationDot } from 'solid-icons/fa'
3+
import { For } from 'solid-js';
34
import PageLayout from '~/components/PageLayout';
45

56
export default function Hotels() {
7+
// Sorted by confirmation date
8+
const hotelDeals = [
9+
{
10+
name: "The Yarn",
11+
additionalInformation: "Breakfast is included.",
12+
prices: [],
13+
travelTime: "Travel time by train can be as low as 30 minutes.",
14+
website: "https://theyarn.ch/",
15+
mapUrl: "https://maps.app.goo.gl/6a5Cfi281uYqgtpu5",
16+
bookingInfo: "Book via email at corporate@theyarn.ch, mentioning you are attending the NixCon conference.",
17+
imagePath: "/the-yarn-rates.png",
18+
imageAlt: "The Yarn Hotel Room Rates"
19+
},
20+
{
21+
name: "Hotel Swiss Star",
22+
additionalInformation: "",
23+
prices: [
24+
"Single room incl. breakfast CHF 150.00/night",
25+
"Double room incl. breakfast CHF 190.00/night"
26+
],
27+
travelTime: "Travel time by train to OST is about 28 minutes.",
28+
website: "https://www.hotel-swiss-star.ch",
29+
mapUrl: "https://maps.app.goo.gl/RDurEWjULhBkgX3M7",
30+
bookingInfo: "Book directly on the hotel website using promo code \"NixCon\"."
31+
},
32+
];
33+
634
return (
735
<PageLayout>
836
<div class="flex flex-col items-center gap-5">
@@ -11,64 +39,97 @@ export default function Hotels() {
1139
Hotel Recommendations
1240
</h1>
1341

14-
<div class="p-6 bg-white/10 backdrop-blur-lg rounded-xl border border-white/20 w-full">
15-
<p class="text-center text-lg mb-4">
16-
We're in the process of reaching out to hotels and will publish a list of accommodations with potential discounts or NixCon reserved rooms soon.
17-
</p>
18-
19-
<div class="flex justify-center mt-6">
20-
<a
21-
href="https://matrix.to/#/#nixcon-accommodation:nixos.org"
22-
target="_blank"
23-
rel="noopener noreferrer"
24-
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium flex items-center gap-2"
25-
>
26-
<FaRegularComments />
27-
Join our Matrix room to coordinate accommodation
28-
</a>
29-
</div>
30-
</div>
31-
32-
{/* Hotel Listings - Empty for now, ready to be populated */}
33-
<div class="w-full space-y-6 hidden">
34-
{/* Template for hotel entries */}
35-
{/*
42+
{/* Hotel Listings */}
43+
<div class="w-full space-y-6">
44+
<For each={hotelDeals}>
45+
{(hotel) => (
3646
<div class="p-6 bg-white/10 backdrop-blur-lg rounded-xl border border-white/20 hover:bg-white/15 transition-colors">
37-
<h3 class="text-2xl font-bold mb-2">[Hotel Name]</h3>
38-
<p class="text-lg mb-2">[Star Rating]</p>
39-
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4">
40-
<p><span class="font-semibold">Distance to venue:</span> [Distance]</p>
41-
<p><span class="font-semibold">Price range:</span> [Price]</p>
42-
<p><span class="font-semibold">Availability:</span> [Rooms left]</p>
43-
</div>
47+
<h3 class="text-2xl font-bold mb-2">{hotel.name}</h3>
48+
4449
<p class="mb-4">
45-
[Hotel description and special offers for NixCon attendees]
50+
{hotel.additionalInformation}
4651
</p>
52+
53+
{hotel.prices.length > 0 && (
54+
<div class="mb-4">
55+
<p class="font-semibold mb-1">Prices:</p>
56+
<ul class="list-disc pl-5">
57+
<For each={hotel.prices}>
58+
{(price) => <li>{price}</li>}
59+
</For>
60+
</ul>
61+
</div>
62+
)}
63+
64+
<p class="mb-4">{hotel.travelTime}</p>
65+
66+
{hotel.bookingInfo && (
67+
<p class="mb-4 font-medium bg-white/10 p-2 rounded">
68+
<span class="font-bold">Booking:</span> {hotel.bookingInfo}
69+
</p>
70+
)}
71+
72+
{hotel.imagePath && (
73+
<details class="mb-4 bg-white/5 rounded-lg overflow-hidden">
74+
<summary class="p-3 cursor-pointer hover:bg-white/10 transition-colors font-medium">
75+
View Room Rates
76+
</summary>
77+
<div class="p-3">
78+
<img
79+
src={hotel.imagePath}
80+
alt={hotel.imageAlt}
81+
class="w-full max-w-2xl mx-auto rounded-lg border border-white/20"
82+
/>
83+
</div>
84+
</details>
85+
)}
86+
4787
<div class="flex flex-wrap gap-4">
4888
<a
49-
href="[Website URL]"
89+
href={hotel.website}
5090
target="_blank"
5191
rel="noopener noreferrer"
52-
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium"
92+
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium flex items-center gap-2"
5393
>
54-
Visit Website
94+
<FaSolidLink /> Visit Website
5595
</a>
5696
<a
57-
href="[Map URL]"
97+
href={hotel.mapUrl}
5898
target="_blank"
5999
rel="noopener noreferrer"
60-
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium"
100+
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium flex items-center gap-2"
61101
>
62-
View on Map
102+
<FaSolidMapLocationDot /> View on Map
63103
</a>
64104
</div>
65105
</div>
66-
*/}
106+
)}
107+
</For>
67108
</div>
68109

69-
<p class="text-center mt-6">
70-
For assistance with accommodation, please contact <a href="mailto:nixcon@nixos.org" class="underline hover:text-white/80">nixcon@nixos.org</a>
71-
</p>
110+
<div class="mt-6 text-center">
111+
<h3 class="text-xl font-bold mb-4">Need Accommodation Assistance?</h3>
112+
113+
<div class="flex flex-col justify-center items-center gap-4">
114+
<a
115+
href="https://matrix.to/#/#nixcon-accommodation:nixos.org"
116+
target="_blank"
117+
rel="noopener noreferrer"
118+
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium flex items-center gap-2"
119+
>
120+
<FaSolidComments />
121+
Join our Matrix room to coordinate accommodation
122+
</a>
123+
124+
<a
125+
href="mailto:nixcon@nixos.org"
126+
class="px-4 py-2 bg-white/20 hover:bg-white/30 transition-colors rounded-lg text-white font-medium flex items-center gap-2"
127+
>
128+
<FaSolidLink />
129+
Contact us at nixcon@nixos.org
130+
</a>
131+
</div>
132+
</div>
72133
</div>
73134
</PageLayout>
74135
);

0 commit comments

Comments
 (0)