Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ball 2025 pages #729

Merged
merged 41 commits into from
Jan 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
09fcb33
Begin work on new ball page
MattyTheHacker Dec 17, 2024
d7012bc
Add more details and fix CSS
MattyTheHacker Dec 18, 2024
e2a7cf9
Merge branch 'main' into ball-2025
MattyTheHacker Dec 18, 2024
d2e2f89
Merge branch 'main' into ball-2025
MattyTheHacker Dec 18, 2024
47c3b9e
Update FAQ
MattyTheHacker Dec 20, 2024
676a3e5
fix typo
MattyTheHacker Dec 20, 2024
9c9dddb
Merge branch 'main' into ball-2025
MattyTheHacker Dec 22, 2024
68b07e9
Add provisional location
MattyTheHacker Dec 22, 2024
18493c1
update faq
MattyTheHacker Dec 22, 2024
0c77453
update image
MattyTheHacker Dec 22, 2024
3bafd48
add image
MattyTheHacker Dec 22, 2024
314b061
update faq
MattyTheHacker Dec 22, 2024
285608e
Merge branch 'main' into ball-2025
MattyTheHacker Dec 22, 2024
26b3d70
Merge branch 'main' into ball-2025
MattyTheHacker Dec 22, 2024
66ab09d
Merge branch 'main' into ball-2025
MattyTheHacker Dec 23, 2024
f164c5e
Merge branch 'main' into ball-2025
MattyTheHacker Dec 23, 2024
8478a46
Merge branch 'main' into ball-2025
MattyTheHacker Dec 24, 2024
8e3944c
fix data reference
MattyTheHacker Dec 24, 2024
97b1c65
fix map
MattyTheHacker Dec 24, 2024
a8580c7
fix variables
MattyTheHacker Dec 24, 2024
df21531
add menu favicon
MattyTheHacker Dec 24, 2024
be740b0
bump lock
MattyTheHacker Dec 24, 2024
2de9e0c
crop image
MattyTheHacker Dec 24, 2024
a942de7
blank out the menu
MattyTheHacker Dec 24, 2024
0b6eb8c
bup lock
MattyTheHacker Dec 25, 2024
6e41b0f
update faq
MattyTheHacker Dec 25, 2024
84cf11b
update accessability details
MattyTheHacker Dec 26, 2024
8f7743e
Merge branch 'main' into ball-2025
MattyTheHacker Dec 27, 2024
3d840f2
Merge branch 'main' into ball-2025
MattyTheHacker Jan 1, 2025
406b6f4
update lock
MattyTheHacker Jan 2, 2025
d7da7a7
Merge branch 'main' into ball-2025
MattyTheHacker Jan 2, 2025
d22a7d5
lock
MattyTheHacker Jan 6, 2025
7099d1e
Merge branch 'main' into ball-2025
MattyTheHacker Jan 13, 2025
6284367
Merge branch 'main' into ball-2025
MattyTheHacker Jan 19, 2025
ebbba0e
add provisional menu choices
MattyTheHacker Jan 28, 2025
d46fb1d
bundler update
MattyTheHacker Jan 28, 2025
cfbb49f
Merge branch 'main' into ball-2025
MattyTheHacker Jan 28, 2025
33d3e59
update bundler
MattyTheHacker Jan 28, 2025
53d051a
update final menu choices
MattyTheHacker Jan 28, 2025
05da005
Update ball tickets image
LMBishop Jan 28, 2025
5c32097
fix menu link in faq
MattyTheHacker Jan 29, 2025
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
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,4 @@ DEPENDENCIES
webrick

BUNDLED WITH
2.6.2
2.6.3
2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ menu:
- name: Ball
link: /ball
children:
- name: 2025
link: /ball/2025
- name: 2024
link: /ball/2024
- name: 2023
Expand Down
77 changes: 77 additions & 0 deletions _data/ball/2025.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: CSS BALL
year: 2025
location: Macdonald Burlington Hotel
date: 4th April

tickets:
- type: 3 Course
member-price: £35
non-member-price: £45
- type: Non-Food
member-price: £22
non-member-price: £28

links:
- text: Menu
url: '/ball/2025/menu'
- text: Tickets
url: '#tickets'
- text: FAQs
url: '#faq'

menu-links:
- text: Home
url: '/ball/2025'
- text: Tickets
url: '/ball/2025#tickets'
- text: FAQs
url: '/ball/2025#faq'

menu:
starters:
- dish: Ham hock & pea terrine, wholegrain honey mustard & parsley
type:
- dish: Tomato & basil soup
type: vegetarian, vegan, gluten free
mains:
- dish: Honey glazed pork belly, mustard mash, seasonal vegetables, apple cider jus
type: gluten free
- dish: Pumpkin & sage ravioli, creamy mushroom sauce, parmesan
type: vegetarian, vegan on request
dessert:
- dish: Chocolate brownie, chocolate sauce, vanilla ice cream
type: vegan on request, gluten free on request
- dish: Raspberry cheesecake, chantilly cream, berries glaze
type:

faq:
- question: What is a Ball?
answer: A ball is a solid or hollow spherical or egg-shaped object that is kicked, thrown, or hit in a game. <br><br> Ok but seriously, a Ball is an opportunity to come together and celebrate the year. Many societies hold them for their members and we're no different. Our annual Ball is the biggest night of the year so if you're not attending you're really missing out.
- question: What will be there?
answer: The ball will have a 3 course meal, a bar, and a dancefloor. We will also have some bangin' tunes, a photobooth, and a photographer.
- question: Is the venue accessible?
answer: Yes! There is step free access and accessible toilets on the same floor. Full details can be found on the <a href="https://www.accessable.co.uk/birmingham-city-council/access-guides/macdonald-burlington-hotel">AccessAble website</a>.
- question: When can I buy tickets?
answer: SOON! Head over to the <a href=/ball/2024/#tickets> tickets section </a> for more details!
- question: How much do tickets cost?
answer: We have a number of different ticket options available and all of our member tickets are cheaper than the last 2 years! The Guild will also add on a £1 booking fee - There's nothing we can do about that sadly. Take a look at the <a href=/ball/2024/#tickets> tickets page </a> for more details.
- question: Can I bring a guest?
answer: Absolutely! Non-Member tickets will be available alongside member tickets. If your guest is not a student they will need to create a guest account on the Guild website. If they're a member of staff or current student resitting externally or on a leave of absence they can still get membership prices, but will need to follow the steps on the <a href=/membership>membership page</a>.
- question: Will I need to show my ticket when I arrive?
answer: No, but we will ask to see your student ID or any other form of ID to confirm your identity. You'll then be given a wristband so you can come and go as you wish.
- question: What time should I arrive?
answer: You are welcome to arrive any time from 7pm onwards, but we ask you to arrive no later than 7:45 as we expect to begin dinner service at 8pm.
- question: How do I get there?
answer: The Burlington is in the city centre - right across the street from New Street Station. <br><br>If you're coming from campus or Selly Oak, the 61 / 63 bus will get you to the otherside of New Street, from which it's a 5 minute walk. <br>From the Vale, you'll want the X22 or X21 and for Harborne you'll want the 23 / 24 all of which drop you just the other side of New Street. <br><br>There's also a tram stop right in front of the hotel if you're coming from the Jewellery Quarter or Wolverhampton.
- question: What will happen when I get there?
answer: When you arrive, come either up the stairs, or the lift, to the 1st floor. From there you'll come to the reception desk and will be asked for either your student ID or some other ID. We'll then tick your name off on the list and give you a wristband and optionally your physical ticket if you hadn't picked this up already. You'll then be able to sit down and wait for food service or hang out and get some pictures in the photobooth! <br><br>Food service will start around 8pm and expect to last approximately 2 hours. It'll then be up to you to sit and chat, boogy on the dance-floor, head over to the bar for another drink, or pop round to the photobooth to capture some great memories!
- question: Who will I sit next to for dinner?
answer: We'll ask you for the names of up to 2 people who you would like to sit near. We'll try our best to sit people near their friends, but we can't make promises you'll be next to both.<br><br> If you bring a +1 we will make sure you're sat with them, but we can only do this if you say so in the seating preference or contact us separately.<br><br> We can also only fit 10 people per table, so if you can please organise within your friend group who you would like to sit next to who and we will do our best to factor this in.
- question: What about my dietary requirements?
answer: The venue can handle catering for most dietary requirements, and there are vegan and gluten free options. Make sure to let us know any dietary requirements when you purchase your ticket. For more info on the menu please check the menu page <a href=/ball/2025/menu> here </a>.
- question: What should I wear?
answer: Dress to impress! <br>Don your fanciest frocks, smartest suits or whatever you feel fabulous in. It's going to be the big night of the year so feel free to go all out!
- question: Will I be photographed?
answer: Yes. We'll have a photographer taking photos all night so we can share them all with you afterwards. If you don't want to be in photos, please speak to our lovely photographer on the night or email us in advance.
- question: I bought a ticket but can't attend anymore.
answer: Oh no! That's okay though. You're welcome to sell your ticket to someone else, though we will not be able to offer a refund, nor are we able to change the meal options or dietary requirements once a ticket has been purchased. Please also contact committee to let us know who you've sold your ticket to.
2 changes: 1 addition & 1 deletion _redirects
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
/wa /whatsapp

# Ball
/ball /ball/2024
/ball /ball/2025
/ball/2024/photos https://photos.app.goo.gl/FaBg38bHxkFSE64x6
/ball/2023/photos https://photos.app.goo.gl/PZEahyV3CJed7ttA6
/ball/2022/photos https://photos.app.goo.gl/bSyPR6fyHGtGDW6h9
Expand Down
Binary file added assets/images/ball-2025-ticket-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/ball-25-venue.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
121 changes: 121 additions & 0 deletions ball/2025/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
---
layout: page
styles:
- /css/main.css
- /css/ball/2025/main.css
- "https://unpkg.com/[email protected]/dist/leaflet.css"
title: CSS Ball
favicon: /ball/favicon.ico
---

{% assign ball = site.data.ball['2025'] %}

<div class="text-center-div margin-top margin-bottom section-details">
<h1 class="title">
{{ball.name}} {{ball.year}}
</h1>
<h2>
<span class="avoidwrap">{{ball.location}}</span> • <span class="avoidwrap">{{ball.date}}</span>
</h2>

<h3 id="count"><br></h3>

{% for link in ball.links %}
<a href='{{link.url}}' class="button {% if link.url == '' %}empty"{% else %}" href='{{link.url}}' {% endif %}>
{{link.text}}{% if link.url == '' %} (Coming Soon){% endif %}</a>
{% endfor %}
</div>
<hr class="bleed-bottom">
<div class="text-center-div margin-top margin-bottom section-info" id="venue">
<h2 class="subtitle mobile-only">The Venue</h2>
<img class="image" src="/assets/images/ball-25-venue.jpg" alt="Image of the Horton Suite, where the CSS Ball is being held.">
<div class="description-left text-center-div">
<h2 class="subtitle">The Venue</h2>
<p class="text-block">Macdonald Burlington Hotel<br><br>
We'll have exclusive access to several rooms and facilities including a dedicated bar area, gorgeous dining room, and of course the dancefloor!<br><br>
We'll also have a cloakroom available to store coats and bags.
</p>
</div>
</div>
<hr class="bleed-top">
<div class="section-tickets" id="tickets">
<div class="icon">
<img class="icon" src="/assets/images/ball-2025-ticket-icon.png"/>
</div>
<div class="text text-center-div">
<h2 class="subtitle">Tickets</h2>
<p class="text-block">We have several different ticket types, designed to give you the most options possible! <br><br> Ticket prices for members are heavily discounted so be sure to pick up a membership if you haven't already!
<br>
<table class="ticket-table">
<tr>
<th><p class="text-block">Ticket Type</p></th>
<th><p class="text-block">Members' Price</p></th>
<th><p class="text-block">Non-Members' Price</p></th>
</tr>
{% for ticket in ball.tickets %}
<tr>
<td><p class="text-block">{{ ticket.type }}</p></td>
<td><p class="text-block"><span class="highlight">{{ ticket.member-price }}</span></p></td>
<td><p class="text-block"><span class="highlight">{{ ticket.non-member-price }}</span></p></td>
</tr>
{% endfor %}

</table>
<br>
<div class="ticket-buttons">
<a class="button" href="https://www.guildofstudents.com/events/6531/10315/">Buy Tickets</a>
<a class="button" href="https://cssbham.com/join">Buy Membership</a>
</div>
</div>
</div>
<hr>
<div class="text-center-div margin-bottom section-faq" id="faq">
<h2 class="subtitle">FAQs</h2>
{% for qanda in ball.faq %}
<div class="faq">
<h3 class="subsubtitle question">{{ qanda.question }}</h3>
<p class="text-block answer">{{ qanda.answer }}</p>
</div>
{% endfor %}
</div>
<hr>
<div class="margin-top margin-bottom section-info">
<div id="map" style="width: 100%; height: 300px;"></div>
</div>
<hr>

<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script>
const pos = [52.47881, -1.89882];

let L = window.L;
let map = L.map('map').setView(pos, 17);

L.marker(pos).addTo(map);
L.tooltip(pos, {content: 'Burlington Hotel', permanent: true, offset: [5, 0]}).addTo(map);

L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);

const countDownDate = new Date("Apr 4, 2025 19:00:00").getTime();

(function updateTimer() {
let now = new Date().getTime();
let distance = countDownDate - now;
let days = Math.floor(distance / (1000 * 60 * 60 * 24));
let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
let seconds = Math.floor((distance % (1000 * 60)) / 1000);

document.getElementById("count").innerHTML = days + " <span>days</span> " + hours + " <span>hours</span> "
+ minutes + " <span>minutes</span> " + seconds + " <span>seconds</span>";

if (distance < 0) {
document.getElementById("count").innerHTML = "<a href='https://cssbham.com/join'>cssbham.com/join</a>";
} else {
setTimeout(updateTimer, 1000)
}
})();
</script>
51 changes: 51 additions & 0 deletions ball/2025/menu.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
layout: page
styles:
- /css/main.css
- /css/ball/2025/main.css
title: CSS Ball
favicon: /ball/favicon.ico
---

{% assign ball = site.data.ball['2025'] %}

<div class="text-center-div margin-top margin-bottom section-details">
<h1 class="title">
{{ ball.name }} {{ ball.year }}
</h1>

<h2>
<span class="avoidwrap">{{ball.location}}</span> • <span class="avoidwrap">{{ball.date}}</span>
</h2>

{% for link in ball.menu-links %}
<a href='{{link.url}}' class="button {% if link.url == '' %}empty"{% else %}" href='{{link.url}}' {% endif %}>
{{link.text}}{% if link.url == '' %} (Coming Soon){% endif %}</a>
{% endfor %}
</div>
<hr>
<div class="text-center-div menu margin-bottom">
<h2 class="subtitle">Menu</h2>
<div class="text-center-div margin-bottom menu-footer">
<p class="text-block">
The venue will alter your chosen dish to account for any dietary requirements. Please ensure to enter any allergy or dietary information when you purchase your ticket.
If a dietary requirement means that the dish cannot be altered to meet your requirements the venue will provide an alternative.
</p>
</div>
{% for section in ball.menu %}
<hr class="small">
<h3 class="menu-section-title">{{ section[0] | capitalize }}</h3>
{% assign first = false %}
{% for item in section[1] %}
{% if first != false %}<div class="menu-item-seperator">- OR -</div>{% endif %}
<div class="menu-item-container">
<h2 class="menu-item">{{ item.dish }}</h2>
<br>
{% if item.type %}
<h3 class="menu-type">{{ item.type }}</h3>
{% endif %}
</div>
{% assign first = true %}
{% endfor %}
{% endfor %}
</div>
Loading
Loading