Heavily customized version of smokesignal - https://whtwnd.com/kayrozen.com/3lpwe4ymowg2t

Location field compatibility:

Added location field as an alias for address_display
in both EventView struct and all its constructions

kayrozen b4705d64 20bac033

+1
src/filtering/hydration.rs
··· 272 272 mode: event_details.mode.map(|m| m.to_string()), 273 273 status: event_details.status.map(|s| s.to_string()), 274 274 address_display: None, 275 + location: None, // Alias for template compatibility 275 276 coordinates_lat: None, 276 277 coordinates_lng: None, 277 278 links: Vec::new(),
+6 -2
src/http/event_view.rs
··· 57 57 pub mode: Option<String>, 58 58 pub status: Option<String>, 59 59 pub address_display: Option<String>, 60 + /// Alias for address_display for template compatibility 61 + pub location: Option<String>, 60 62 pub coordinates_lat: Option<f64>, 61 63 pub coordinates_lng: Option<f64>, 62 64 pub links: Vec<(String, Option<String>)>, // (uri, name) ··· 274 276 count_interested: 0, 275 277 mode, 276 278 status, 277 - address_display, 279 + address_display: address_display.clone(), 280 + location: address_display, // Alias for template compatibility 278 281 coordinates_lat, 279 282 coordinates_lng, 280 283 links, ··· 446 449 count_interested: 0, 447 450 mode, 448 451 status, 449 - address_display, 452 + address_display: address_display.clone(), 453 + location: address_display, // Alias for template compatibility 450 454 coordinates_lat, 451 455 coordinates_lng, 452 456 links,
+6 -67
templates/single_event.en-us.incl.html
··· 154 154 <p>{% autoescape false %}{{ event.description_short }}{% endautoescape %}</p> 155 155 </div> 156 156 157 - <!-- Enhanced Location with Venue Information --> 158 - {% if event.location or event.venue_info %} 159 - <div class="event-location-enhanced mb-3"> 160 - {% if event.venue_info %} 161 - <!-- Enhanced venue display --> 162 - <div class="venue-info-card"> 163 - <div class="level"> 164 - <div class="level-left"> 165 - <div class="level-item"> 166 - <span class="icon venue-category-icon"> 167 - {% if event.venue_info.category == 'restaurant' %} 168 - <i class="fas fa-utensils"></i> 169 - {% elif event.venue_info.category == 'hotel' %} 170 - <i class="fas fa-bed"></i> 171 - {% elif event.venue_info.category == 'shop' %} 172 - <i class="fas fa-shopping-bag"></i> 173 - {% elif event.venue_info.category == 'entertainment' %} 174 - <i class="fas fa-ticket-alt"></i> 175 - {% elif event.venue_info.category == 'education' %} 176 - <i class="fas fa-graduation-cap"></i> 177 - {% elif event.venue_info.category == 'health' %} 178 - <i class="fas fa-hospital"></i> 179 - {% elif event.venue_info.category == 'transport' %} 180 - <i class="fas fa-bus"></i> 181 - {% else %} 182 - <i class="fas fa-map-marker-alt"></i> 183 - {% endif %} 184 - </span> 185 - </div> 186 - <div class="level-item"> 187 - <div> 188 - <div class="venue-name is-size-6 has-text-weight-semibold">{{ event.venue_info.name or event.location }}</div> 189 - {% if event.venue_info.address %} 190 - <div class="venue-address is-size-7 has-text-grey">{{ event.venue_info.address }}</div> 191 - {% endif %} 192 - {% if event.venue_info.category %} 193 - <span class="tag is-small is-info">{{ event.venue_info.category }}</span> 194 - {% endif %} 195 - </div> 196 - </div> 197 - </div> 198 - </div> 199 - 200 - {% if event.venue_info.latitude and event.venue_info.longitude %} 201 - <!-- Mini map for venue --> 202 - <div class="venue-mini-map mt-2" 203 - data-lat="{{ event.venue_info.latitude }}" 204 - data-lng="{{ event.venue_info.longitude }}" 205 - data-venue-name="{{ event.venue_info.name or event.location }}"> 206 - <div class="map-loading"> 207 - <span class="icon"><i class="fas fa-spinner fa-spin"></i></span> 208 - {{ t('loading-map') }} 209 - </div> 210 - </div> 211 - {% endif %} 212 - </div> 213 - {% else %} 214 - <!-- Basic location display --> 215 - <div class="event-location-basic"> 216 - <span class="icon-text"> 217 - <span class="icon"> 218 - <i class="fas fa-map-marker-alt"></i> 219 - </span> 220 - <span>{{ event.location }}</span> 221 - </span> 222 - </div> 223 - {% endif %} 157 + <!-- Location --> 158 + {% if event.location %} 159 + <div class="event-location" style="color: #aaa; font-size: 0.875rem; margin-bottom: 1rem;"> 160 + <i class="fas fa-map-marker-alt" style="color: #7dd87f; margin-right: 0.5rem;"></i> 161 + {{ event.location }} 224 162 </div> 225 163 {% endif %} 164 + 226 165 227 166 </div> 228 167 </article>
+6 -57
templates/single_event.fr-ca.incl.html
··· 105 105 </div> 106 106 {% endif %} 107 107 108 - <!-- Enhanced Location with Venue Information --> 109 - {% if event.location or event.venue_info %} 110 - <div class="event-location-enhanced"> 111 - {% if event.venue_info %} 112 - <!-- Enhanced venue display --> 113 - <div class="venue-info-card"> 114 - <div class="venue-header"> 115 - <div class="venue-icon"> 116 - {% if event.venue_info.category == 'restaurant' %} 117 - <i class="fas fa-utensils"></i> 118 - {% elif event.venue_info.category == 'hotel' %} 119 - <i class="fas fa-bed"></i> 120 - {% elif event.venue_info.category == 'shop' %} 121 - <i class="fas fa-shopping-bag"></i> 122 - {% elif event.venue_info.category == 'entertainment' %} 123 - <i class="fas fa-ticket-alt"></i> 124 - {% elif event.venue_info.category == 'education' %} 125 - <i class="fas fa-graduation-cap"></i> 126 - {% elif event.venue_info.category == 'health' %} 127 - <i class="fas fa-hospital"></i> 128 - {% elif event.venue_info.category == 'transport' %} 129 - <i class="fas fa-bus"></i> 130 - {% else %} 131 - <i class="fas fa-map-marker-alt"></i> 132 - {% endif %} 133 - </div> 134 - <div class="venue-details"> 135 - <div class="venue-name">{{ event.venue_info.name or event.location }}</div> 136 - {% if event.venue_info.address %} 137 - <div class="venue-address">{{ event.venue_info.address }}</div> 138 - {% endif %} 139 - {% if event.venue_info.category %} 140 - <span class="tag is-small is-info">{{ event.venue_info.category }}</span> 141 - {% endif %} 142 - </div> 143 - </div> 144 - 145 - {% if event.venue_info.latitude and event.venue_info.longitude %} 146 - <!-- Mini map for venue --> 147 - <div class="venue-mini-map" 148 - data-lat="{{ event.venue_info.latitude }}" 149 - data-lng="{{ event.venue_info.longitude }}" 150 - data-venue-name="{{ event.venue_info.name or event.location }}"> 151 - <div class="map-loading"> 152 - <span class="icon"><i class="fas fa-spinner fa-spin"></i></span> 153 - {{ t('loading-map') }} 154 - </div> 155 - </div> 156 - {% endif %} 157 - </div> 158 - {% else %} 159 - <!-- Basic location display --> 160 - <div class="event-location-basic"> 161 - <i class="fas fa-map-marker-alt"></i> 162 - <span>{{ event.location }}</span> 163 - </div> 164 - {% endif %} 108 + <!-- Location --> 109 + {% if event.location %} 110 + <div class="event-location" style="color: #aaa; font-size: 0.875rem; margin-bottom: 1rem;"> 111 + <i class="fas fa-map-marker-alt" style="color: #7dd87f; margin-right: 0.5rem;"></i> 112 + {{ event.location }} 165 113 </div> 166 114 {% endif %} 115 + 167 116 168 117 <!-- End Time --> 169 118 {% if event.ends_at_human %}