Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Resources/Views/Home/_drop-in-sessions.leaf
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<p class="d-md-none d-xl-block pb-2 pb-md-3 mb-3">
Included for free with every ticket, drop-in sessions give you exclusive
1-on-1 feedback sessions with our industry experts. You can book both
individual and group sessions to maximize your learning experience.
individual <strong>and</strong> group sessions to maximize your learning experience.
</p>
#if(count(regularDropInSessions) > 0 || count(groupDropInSessions) > 0):
#if(count(regularDropInSessions) > 0):
Expand All @@ -31,7 +31,7 @@
#endif

#if(count(groupDropInSessions) > 0):
<h3 class="h5 mb-3 mt-4">Group Drop-In Sessions</h3>
<h3 class="h5 mb-3 mt-4">#if(event.year == 2025):<span class="badge bg-primary fs-sm align-middle me-2">NEW</span>#endif Group Drop-In Sessions</h3>
<p class="d-md-none d-xl-block pb-2 pb-md-3 mb-3">
Join small group sessions for hands-on learning and in-depth exploration of specific topics.
Learn alongside other attendees with direct guidance from industry experts.
Expand Down
27 changes: 14 additions & 13 deletions Resources/Views/Hub/home.leaf
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,15 @@
Merch Preferences
</a>
#endif
#if(count(dropInSessions) > 0 && !event.isPast):

#if(regularDropInSessions || groupDropInSessions):
<a href="#dropin" data-scroll data-scroll-offset="70" class="list-group-item list-group-item-action d-flex align-items-center">
<i class="bx bx-chat fs-xl opacity-60 me-2"></i>
Drop-In Sessions
</a>
#endif

#if(count(groupSessions) > 0):
#if(groupDropInSessions):
<a href="#focus" data-scroll data-scroll-offset="70" class="list-group-item list-group-item-action d-flex align-items-center">
<i class="bx bx-group fs-xl opacity-60 me-2"></i>
Focus Groups
Expand Down Expand Up @@ -217,12 +217,12 @@

<hr />
#endif
#if(count(dropInSessions) > 0 && !event.isPast):

#if(regularDropInSessions || groupDropInSessions):
<!-- Drop-In -->
<h2 id="dropin" class="h5 text-primary pt-1 pt-lg-3 mt-4">Drop-In Sessions</h2>
<p>Drop-In sessions enable you to have a one-to-one conversation with one of our fantastic hosts below. Each session covers a unique subject, such as your apps, career, or anything else you want to discuss.</p>
<p>Drop-In sessions are free, and one session is included in your ticket cost. However, slots are limited and offered on a first-come, first-served basis, so why not book a slot below?</p>
<p>Drop-In sessions give you exclusive access to industry experts through both individual and group sessions. Each session covers unique subjects like your apps, career advice, or technical deep-dives.</p>
<p>All drop-in sessions are included free with your ticket. You can book both a regular 1-on-1 session <strong>and</strong> a group session. Slots are limited and offered on a first-come, first-served basis, so secure your spots below!</p>

#if(prompt):
<div class="alert alert-secondary" role="alert">#(prompt)</div>
Expand Down Expand Up @@ -268,19 +268,20 @@
#endfor
</div>
#endif
#for(session in dropInSessions):

#for(session in regularDropInSessions):
#extend("Hub/_carousel")
#endfor

<hr class="mt-3" />
#endif

#if(count(groupSessions) > 0):
#if(groupDropInSessions):
<h2 id="focus" class="h5 text-primary pt-1 pt-lg-3 mt-4">Focus Groups</h2>
<!-- TODO: add explanation of group sessions -->
<p>Join small group sessions for hands-on learning and in-depth exploration of specific topics. These interactive sessions allow you to learn alongside other attendees with direct guidance from industry experts.</p>
<p>Focus groups are perfect for collaborative learning and networking. You can book a focus group session in addition to your individual drop-in session.</p>

#for(session in groupSessions):
#for(session in groupDropInSessions):
#extend("Hub/_carousel")
#endfor

Expand Down
1 change: 0 additions & 1 deletion Sources/App/Context/HomeContext.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ struct HomeContext: Content {
var platinumSponsors: [Sponsor] = []
var silverSponsors: [Sponsor] = []
var goldSponsors: [Sponsor] = []
var dropInSessions: [DropInSession] = []
var regularDropInSessions: [DropInSession] = []
var groupDropInSessions: [DropInSession] = []
var schedule: [ScheduleDay] = []
Expand Down
1 change: 0 additions & 1 deletion Sources/App/Features/Home/HomeRouteController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,6 @@ struct HomeRouteController: RouteCollection {
platinumSponsors: platinumSponsors,
silverSponsors: silverSponsors,
goldSponsors: goldSponsors,
dropInSessions: dropInSessions,
regularDropInSessions: regularDropInSessions,
groupDropInSessions: groupDropInSessions,
schedule: phase.showSchedule ? schedule : [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ struct TicketHubRouteController: RouteCollection {
.all()
.filter { $0.isPublic }

let dropInSessions = sessions.filter { $0.maxTicketsPerSlot == 1 }.map { convertDropInSessionToViewModel($0, slug: ticket.slug) }
let groupSessions = sessions.filter { $0.maxTicketsPerSlot > 1 }.map { convertDropInSessionToViewModel($0, slug: ticket.slug) }

let regularDropInSessions = sessions.filter { $0.maxTicketsPerSlot == 1 }.map { convertDropInSessionToViewModel($0, slug: ticket.slug) }
let groupDropInSessions = sessions.filter { $0.maxTicketsPerSlot > 1 }.map { convertDropInSessionToViewModel($0, slug: ticket.slug) }

let userSessions = sessions.filter { $0.maxTicketsPerSlot > 0 && $0.slots.contains(where: { $0.ticket.contains(ticket.slug) }) }
.map { convertDropInSessionToViewModel($0, slug: ticket.slug) }

Expand Down Expand Up @@ -70,8 +72,8 @@ struct TicketHubRouteController: RouteCollection {
),
videos: videos,
userSessions: userSessions,
dropInSessions: dropInSessions,
groupSessions: groupSessions,
regularDropInSessions: regularDropInSessions,
groupDropInSessions: groupDropInSessions,
refund: .init(
active: Date() < refundDeadline,
days: refundDays,
Expand Down Expand Up @@ -310,8 +312,8 @@ struct TicketHubContext: Content {
let ticket: Ticket
let videos: [VideoPresentation]
let userSessions: [Session]
let dropInSessions: [Session]
let groupSessions: [Session]
let regularDropInSessions: [Session]
let groupDropInSessions: [Session]
let refund: Refund
let hasValidTicket: Bool
let canViewDropInSessionParticipants: Bool
Expand Down