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 MIXUP page #625

Merged
merged 45 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
c5cd03f
basic setup mixup site
thomcsmits Nov 13, 2024
9e6b9c2
add images for mixup
thomcsmits Nov 13, 2024
aa1290f
add importing system for upcoming events
thomcsmits Nov 13, 2024
b5edcd0
styling top of mixup page
thomcsmits Nov 13, 2024
b7fefd3
add bulletpoints and background image for mixup
thomcsmits Nov 13, 2024
787abdc
add highlights for mixup
thomcsmits Nov 14, 2024
bf737c3
rename icons mixup
thomcsmits Nov 14, 2024
e3f3c72
fix header and images mixup
thomcsmits Nov 18, 2024
4340c75
fix timing for same day and incorrect slicing mixup
thomcsmits Nov 18, 2024
0c90f41
adjust sizing of highlights to grid container with middle mixup
thomcsmits Nov 19, 2024
d043d84
update pictures, add dutch descriptions mixup
thomcsmits Nov 19, 2024
55a5258
cleanup
thomcsmits Nov 19, 2024
b8bbbe7
add mixup brand colors
thomcsmits Nov 20, 2024
5920231
update mixup brand
thomcsmits Nov 20, 2024
d48224d
update brand and add barbuddy
thomcsmits Nov 20, 2024
de7155c
add mixup to header/footer and change link for recurringevents
thomcsmits Nov 20, 2024
990fd1f
run lint
thomcsmits Nov 20, 2024
ca57235
move months to shared/lang
thomcsmits Nov 22, 2024
e0ed046
move LinkedEvents to separate component file
thomcsmits Nov 27, 2024
0581f9c
change mixup png for svg
thomcsmits Nov 28, 2024
eab7163
add padding
thomcsmits Dec 3, 2024
cbf2e3f
add barvisual to outsite for build
thomcsmits Dec 3, 2024
51e54ce
change mixup-colors to div instead of in set-up
thomcsmits Dec 3, 2024
8bd25b1
fixing opening hours element
thomcsmits Dec 3, 2024
83dc116
various fixes
thomcsmits Dec 3, 2024
3698448
add elementscontainers
thomcsmits Dec 3, 2024
98109a4
cleanup
thomcsmits Dec 3, 2024
f97077b
change string parsing to google sheets api
thomcsmits Dec 10, 2024
2115509
styling
thomcsmits Dec 10, 2024
9232d0f
Fix linked events async data issues
casperboone Dec 10, 2024
99b6792
Merge pull request #633 from dwh-outsite/linked-events-fix
thomcsmits Dec 11, 2024
ce779e1
change bg-image to scoped style for barvisual
thomcsmits Dec 11, 2024
1c7819c
change top triangle to gray-800
thomcsmits Dec 11, 2024
dacd842
move up classes to sections
thomcsmits Dec 11, 2024
dabb7bb
add mixup logo, move barnight to elementscontainer
thomcsmits Dec 11, 2024
5180707
png for text, jpg for non-text
thomcsmits Dec 11, 2024
c6ff344
fixes
thomcsmits Dec 11, 2024
95c6a66
fond bolt on events
thomcsmits Dec 11, 2024
30a14bc
replace bad svgs by pngs
thomcsmits Dec 17, 2024
d9c076c
add more icons mixup
thomcsmits Dec 17, 2024
05d0099
set icon height rather than width
thomcsmits Dec 17, 2024
dbaca84
Update dwhdelft.nl/components/pages/mixup/LinkedEvents.vue
thomcsmits Dec 17, 2024
a29c239
fixes
thomcsmits Dec 17, 2024
f80d7e3
build out BulletPoints into separate component
thomcsmits Dec 17, 2024
e4c5641
move first image higher so the text is wrapped
thomcsmits Dec 18, 2024
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions dwhdelft.nl/components/layout/Header.vue
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ en:
url: /education
- title: Jong&Out
url: /jongenout
- title: MIXUP
url: /mixup
- title: Andersblad
url: andersblad
- title: Contact
Expand All @@ -23,6 +25,8 @@ nl:
url: /education
- title: Jong&Out
url: /jongenout
- title: MIXUP
url: /mixup
- title: Andersblad
url: andersblad
- title: Contact
Expand Down
66 changes: 66 additions & 0 deletions dwhdelft.nl/components/pages/mixup/LinkedEvents.vue
thomcsmits marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it might be nice to have this use the format of the dance nights | parties | drag shows | events segment instead of the icons... and maybe have one or the other depending on whether the sheet is filled? With upcoming events, the general overview, the highlights and the Instagram we have a lot of event-like boxes summing up what we do.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you mean. I think it will a bit more tricky to import new images for new events every time, but I'll take a look to see what I can do. I also agree that it might be a bit much, though there isn't a whole lot of other content, so I'll discuss with MIXUP what they might want!

Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<i18n lang="yaml">
en:
events: Our UPcoming events
nl:
events: Onze UPkomende evenementen
</i18n>

<script setup>
const { t } = useT()
import GSheetReader from 'g-sheets-api'

const { image: imageIcons } = useDynamicImages(
import.meta.glob('~/assets/images/photos/mixup/icons/*', { eager: true })
)

const events = ref(null)

const sheetOptions = {
apiKey: useRuntimeConfig().public.googleKey,
sheetId: '1_FqJ8RZHJr7duOvQpWudBiRUVjcE6DFSxjY-qAUypss',
sheetName: 'Public',
}

onMounted(() => {
GSheetReader(sheetOptions, (results) => {
const filteredResults = results.filter((r) => r['Event name'])
if (filteredResults.length === 0) {
console.error('No events')
}

events.value = filteredResults
.map((row) => ({
date: new Date(`${row[`Date`].split('-').reverse().join('/')} 23:59`),
eventName: row[`Event name`],
icon: imageIcons(row[`Icon`]) || imageIcons('bar'),
}))
.filter((event) => !isNaN(event.date) && event.date.getTime() > new Date().getTime())
.slice(0, 5)
})
})
</script>

<template>
<div v-if="events && events.length > 0" class="bg-gray-800 text-white">
<ElementsContainer>
<h1 class="text-center font-medium text-5xl">
{{ t('events') }}
</h1>
<div class="flex flex-wrap justify-center text-center">
<div
v-for="(event, index) in events"
:key="index"
class="w-48 p-4 m-4 bg-brand-900 rounded-lg shadow-lg space-y-2"
>
<div>{{ event.date.getDate() }} {{ $t(`month.${event.date.getMonth()}`) }}</div>
<div class="text-xl font-bold">
{{ event.eventName }}
</div>
<div class="flex justify-center">
<img :src="event.icon" alt="Event Icon" class="h-12" />
</div>
</div>
</div>
</ElementsContainer>
</div>
</template>
4 changes: 4 additions & 0 deletions dwhdelft.nl/content/footer_links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ categories:
nl: Fillum Programma
en: Fillum Programme
url: "http://homodelft.nl/films/"
- name:
nl: MIXUP
en: MIXUP
url: /mixup
- name:
nl: Kennismaken
en: Join DWH
Expand Down
208 changes: 208 additions & 0 deletions dwhdelft.nl/pages/mixup.vue
casperboone marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
<i18n lang="yaml">
en:
title: MIXUP
events: Our UPcoming events
intro:
- MIXUP is thé queer nightlife experience of Delft. We open our doors every Saturday at 22:00 and almost
every week we are more than just a bar. Drag performances of the HAUS of 4D, the city’s best karaoke,
delicious tastings, MIXUP Alternative with bands, dance nights with popular songs of now and your favorite
classics, Eurovision watch parties, a spicy Halloween and lots of other themed parties! If you happen to stumble
upon us when it’s just a barnight, you can have a great chat and perhaps even a dance.
- MIXUP consists completely of a team of enthusiastic volunteers of DWH. Did we get you excited and do you want
to contribute and be part of an amazing community? Become a member.
- Scared to come alone? We can match you with a barbuddy to chat with and introduce you to new people!
invite:
announcement: 'Come by during one of our bar nights:'
time: Every Saturday starting at {0}
membership_button: Sign up now for DWH
barbuddy_button: Find a buddy
instagram: Our Events and UPdates
bulletPoints:
- title: Dance Nights
description: We have drinks together each week and will often have a DJ to get the dance floor moving!
image: events-dancenights
- title: Parties
description: Disco, hard rock, Oktoberfest, Halloween and more... There’s always time for a party.
image: events-parties
- title: Drag Shows
description: Our own drag house HAUS of 4D performs every two months with amazing shows.
image: events-dragshow
- title: Events
description: Karaoke, tastings, vinyl night or a talent show, there is a lot to do on a night at MIXUP.
image: events-silentdisco
highlights:
title: Our Highlights
events:
- title: MIXUP Origin
description: The first ever party under the MIXUP branding was MIXUP Origin, the opening party! Miss Abby OMG gave a wonderful performance and people were living!
image: highlight-abbyomg
- title: Summer Party
description: The weather was hot and the people even hotter! DJ Maarten brought us tropical tunes whilst we could sip summer cocktails and cool off in an actual swimming pool!
image: highlight-summer-party

nl:
title: MIXUP
events: Onze UPkomende evenementen
intro:
- MIXUP is dé queer uitgaansavond van Delft. Iedere zaterdagavond zijn we vanaf 22:00 open en bijna
elke week zijn we meer dan alleen een bar. Drag performances van HAUS of 4D, de beste karaoke van de stad,
heerlijke proeverijen, MIXUP Alternative met bands, dansavonden met hitjes van nu of juist je favoriete
klassiekers, een hitsig Halloween en andere themafeesten, Eurovisie watch parties en meer! En als we dan toch
eens gewoon een bar zijn, is het heel gezellig bijkletsen en misschien een dansje wagen.
- MIXUP wordt volledig mogelijk gemaakt door een team enthousiaste vrijwilligers van DWH. Ben je enthousiast geworden en wil je
bijdragen aan en onderdeel worden van een fantastische community? Wordt dan lid.
- Bang om alleen te komen? We kunnen je aan een barbuddy koppelen om te leren kennen, die je ook aan anderen kan voorstellen!
invite:
announcement: 'Kom gerust langs op onze baravond:'
time: Elke Zaterdag vanaf {0}
membership_button: Schrijf je nu in bij DWH
barbuddy_button: Vind een buddy
instagram: Onze evenementen en UPdates
bulletPoints:
- title: Dansavonden
description: Elke week komen we samen voor drankjes, vaak is er zelfs een DJ om die voetjes op te bewegen!
image: events-dancenights
- title: Feesten
description: Disco, hard rock, Oktoberfest, Halloween en nog veel meer... Er is altijd tijd voor een feestje.
image: events-parties
- title: Drag optredens
description: Ons eigen drag huis HAUS of 4D geeft elke twee maanden geweldige shows
image: events-dragshow
- title: Evenementen
description: Karaoke, proeverijen, vinyl nachten of een talentenshow, er is veel te beleven op een MIXUP avond.
image: events-silentdisco
highlights:
thomcsmits marked this conversation as resolved.
Show resolved Hide resolved
title: Onze Hoogtepunten
events:
- title: MIXUP Oorsprong
description: Het allereerste feestje onder de MIXUP banner was MIXUP Origin’s, het openingsfeest! Miss Abby OMG gaf ons een prachtig optreden, het feest was aan!
image: highlight-abbyomg
- title: Zomerfeest
description: Heet weer en nog hetere mensen! DJ Maarten verzorgde tropische tunes terwijl we zomercocktails aan het nippen waren en afkoelde in een daadwerkelijk zwembad!
image: highlight-summer-party
</i18n>

<script setup>
const { t, tt } = useT()

import MIXUPLogo from '#shared/assets/images/mixup_logo.svg'

const { data: openingHours } = await useAsyncData(() => queryContent('opening_hours').findOne())
const barOpeningHours = openingHours.value.events.find((event) => event.day.en === 'Saturday')

const { image: imageOverviews } = useDynamicImages(import.meta.glob('~/assets/images/photos/mixup/*', { eager: true }))

const instagramChannelsMixup = [
{
name: 'MIXUP',
widgetId: '219aedf13a4355fe95c6e27ed1f7386c',
instagram: 'mixupdelft',
},
]
</script>

<template>
<div class="mixup-colors">
<LayoutSmallHeader triangleClass="border-gray-800">
{{ t('title') }}
</LayoutSmallHeader>

<section>
<PagesMixupLinkedEvents />
</section>

<section class="bg-brand-900 text-white text-lg mx-auto pt-12 pb-24 md:flex">
<ElementsContainer>
<div class="flex flex-1 px-4 lg:pr-32 space-x-16 lg:space-y-24">
<div class="space-y-4">
<ElementsParagraphedText :paragraphs="t('intro')" class="md:text-xl md:leading-relaxed space-y-4" />
<div>
<div class="flex flex-1 space-x-8 space-y-16 md:space-y-8 lg:space-y-6">
<div>
<p
v-if="barOpeningHours.announcement"
class="mt-3 mb-4 text-brand-500"
v-text="tt(barOpeningHours.announcement)"
/>
<PagesHomeInvite
class="my-8 md:my-4"
:announcement="t('invite.announcement')"
:time="t('invite.time', [barOpeningHours.start_time])"
/>
</div>
<div>
<MIXUPLogo class="h-20" />
</div>
</div>
<div class="flex flex-1 space-x-4">
<div>
<a href="https://my.dwhdelft.nl/signup">
<ElementsSecondaryButton class="!text-brand-450" arrow>
{{ t('membership_button') }}
</ElementsSecondaryButton>
</a>
</div>
<div>
<nuxt-link :to="localePath('barbuddy')">
<ElementsPrimaryButton class="!text-brand-50" arrow>
{{ t('barbuddy_button') }}
</ElementsPrimaryButton>
</nuxt-link>
</div>
</div>
</div>
</div>
<div class="hidden 2xl:block">
<div>
<img src="~/assets/images/photos/mixup/barnight.jpg" class="w-256" />
</div>
</div>
</div>
</ElementsContainer>
</section>

<section class="bg-highlights bg-cover bg-center py-10">
<BulletPoints :bulletPoints="t('bulletPoints')" :image="imageOverviews" :descriptionColor="'text-brand-900'" />
</section>

<section class="bg-brand-900 pb-12">
<ElementsContainer>
thomcsmits marked this conversation as resolved.
Show resolved Hide resolved
<div class="mx-auto pt-12 pb-8">
<h1 class="text-center text-white font-medium text-5xl mb-6 leading-tight" v-html="t('highlights.title')" />
</div>
<div class="grid grid-cols-[1fr_minmax(0,1280px)_1fr]">
casperboone marked this conversation as resolved.
Show resolved Hide resolved
<div
v-for="(event, index) in t('highlights.events')"
:key="event.name"
class="rounded-2xl md:rounded-full mb-6 bg-white p-4 md:flex items-center space-y-2 md:space-y-0 md:space-x-4 shadow-xl space-y-6 max-w-5xl col-start-2"
:class="index % 2 !== 0 ? 'ml-auto' : ''"
>
<div class="rounded-full h-32 w-32 bg-white overflow-hidden">
<img :src="imageOverviews(event.image)" class="object-cover h-full" />
</div>
<div class="flex-1 md:pr-8">
<div class="flex space-x-2 items-baseline">
<h3 class="text-xl text-brand-450 font-semibold" v-text="event.title" />
</div>
<p class="text-brand-900 text-lg" v-html="event.description" />
</div>
</div>
</div>
</ElementsContainer>
</section>

<LayoutStraightSection contentBackgroundClass="!bg-brand-450" contentClass="md:py-12">
<PagesHomeInstagramChannels class="xl:w-2/3 mx-auto" :brands="instagramChannelsMixup">
<template #title>
<h1 class="text-center text-white font-medium text-5xl mb-6 leading-tight" v-html="t('instagram')" />
</template>
</PagesHomeInstagramChannels>
</LayoutStraightSection>
</div>
</template>

<style scoped>
.bg-highlights {
background-image: url('~/assets/images/photos/mixup/barvisual.jpg');
}
</style>
15 changes: 2 additions & 13 deletions outsite.nl/components/pages/home/BulletPoints.vue
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,9 @@ nl:
const { t } = useT()

const { image } = useDynamicImages(import.meta.glob('~/assets/images/photos/bullets/*', { eager: true }))
const bulletImage = (img) => image(`bullet_${img}`)
</script>

<template>
<ElementsContainer>
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-3">
<ElementsActionCard v-for="point in t('bulletPoints')" :key="point.title" :title="point.title">
<template #header>
<div class="w-full h-40 overflow-hidden mx-auto">
<img :src="image(`bullet_${point.image}`)" class="object-cover w-full h-full" />
</div>
</template>

<p class="-mt-3 text-gray-600 text-lg leading-snug" v-text="point.description" />
</ElementsActionCard>
</div>
</ElementsContainer>
<BulletPoints :bulletPoints="t('bulletPoints')" :image="bulletImage" />
</template>
19 changes: 19 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"@nuxtjs/i18n": "^8.5.5",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.0",
"g-sheets-api": "^2.2.0",
"nuxt-svgo": "^4.0.6",
"postcss": "^8.4.47",
"tailwind-heropatterns": "^0.0.8",
Expand Down
15 changes: 15 additions & 0 deletions shared/assets/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,18 @@ html {
--color-brand-800: 157 23 77;
--color-brand-900: 131 24 67;
}

.mixup-colors {
--color-brand-50: 253 230 243;
--color-brand-100: 254 204 231;
--color-brand-200: 254 163 210;
--color-brand-300: 253 105 179;
--color-brand-350: 247 61 151;
--color-brand-400: 231 29 115;
--color-brand-450: 231 29 115;
--color-brand-500: 201 13 88;
--color-brand-600: 166 14 72;
--color-brand-700: 138 17 64;
--color-brand-800: 138 17 64;
--color-brand-900: 10 9 16;
}
Loading
Loading