Skip to content

Commit 2926b5e

Browse files
mathieumuremathieumure-disneySlashgear
authored
feat: add annoucement for lyonjs 100 (#454)
Co-authored-by: Mathieu Mure <[email protected]> Co-authored-by: Antoine Caron <[email protected]>
1 parent d28406b commit 2926b5e

26 files changed

+519
-49
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
.hero {
2+
position: relative;
3+
margin-top: 2rem;
4+
height: 10rem;
5+
overflow: hidden;
6+
border-radius: 0.5rem;
7+
}
8+
9+
.hero .background {
10+
position: absolute;
11+
top: 0;
12+
left: 0;
13+
right: 0;
14+
bottom: 0;
15+
object-fit: cover;
16+
object-position: bottom;
17+
}
18+
19+
.hero h1 {
20+
position: absolute;
21+
left: 0.5rem;
22+
bottom: 2rem;
23+
font-size: 3rem;
24+
color: var(--white-0);
25+
z-index: 1;
26+
}
27+
28+
.hero::after {
29+
content: '';
30+
position: absolute;
31+
top: 0;
32+
left: 0;
33+
right: 0;
34+
bottom: 0;
35+
background: rgb(12, 12, 13);
36+
background: linear-gradient(
37+
0deg,
38+
rgba(12, 12, 13, 1) 0%,
39+
rgba(12, 12, 13, 0.8421743697478992) 25%,
40+
rgba(12, 12, 13, 0) 83%
41+
);
42+
}
43+
44+
.logo {
45+
position: absolute;
46+
left: 50%;
47+
transform: translateX(-50%);
48+
z-index: 1;
49+
height: 90%;
50+
width: auto;
51+
bottom: 0;
52+
}
53+
54+
.cta {
55+
left: 0;
56+
right: 0;
57+
display: flex;
58+
justify-content: center;
59+
}
60+
61+
@media screen and (min-width: 768px) {
62+
.hero {
63+
height: 20rem;
64+
}
65+
66+
.hero h1 {
67+
left: 1rem;
68+
font-size: 5rem;
69+
}
70+
}

app/lyonjs-100/cinema.jpg

856 KB
Loading

app/lyonjs-100/content.mdx

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import { ListOfPeople } from '../../modules/person/ListOfPeople';
2+
import { Sponsors } from '../../modules/sponsors/Sponsors';
3+
import { gold, silver, bronze } from '../../data/lyonjs100-sponsors';
4+
import { speakers } from '../../data/lyonjs100-speakers';
5+
import Image from 'next/image';
6+
import cinema from './cinema.jpg';
7+
import styles from './LyonJS100.module.css';
8+
import { ButtonLink } from '../../modules/atoms/button/Button';
9+
10+
<div className={styles.hero}>
11+
<Image className={styles.background} src={cinema} width={1200} alt="" />
12+
<img className={styles.logo} src="/lyonjs100/LyonJS_100.webp" width={1440} height={810} alt="Logo du LyonJS 100" />
13+
</div>
14+
15+
## Qu'est ce que LyonJS 100 ?
16+
17+
Nous sommes ravis d'annoncer que pour célébrer notre 100ème événement, LyonJS organise une journée de conférence exceptionnelle ! 🎉
18+
19+
Nous ne pouvions pas laisser passer cette occasion spéciale sans marquer le coup, c'est pourquoi nous avons prévu une journée entière de conférences, de rencontres et de célébrations pour célébrer ça ensemble.
20+
21+
Pour se faire nous avons privatisez une **salle de cinéma pour l'occasion**, de quoi vous offrir un cadre agréable pour une journée rythmée par des talks de qualité.
22+
Un bon petit déjeuner pour commencer la journée et un buffet pour le déjeuner dans une zone du cinéma réservée pour l'occasion.
23+
24+
Nous allons donc ouvrir la billetterie le <time dateTime="2024-12-06T09:00">6 décembre 2024</time>, alors assurez-vous de réserver votre place dès que possible, car les places seront limitées à **100**!
25+
26+
## En résumé
27+
28+
- **📅 Date** : 21 février 2025
29+
- **📌 Lieu** : UGC Part dieu
30+
- **🎟️ Ouverture de la billetterie** : 6 décembre 2024
31+
32+
## Billetterie
33+
34+
La billeterie ouvrira le 6 décembre 2024 à 9h00. Les places seront limitées à 100 avec un prix de vente fixé à 40€, alors assurez-vous de réserver la vôtre dès que possible.
35+
36+
<div className={styles.cta}>
37+
<ButtonLink href="https://www.helloasso.com/associations/lyonjs/evenements/lyon-js-100">
38+
Je prends ma place ! <span aria-hidden="true">&rarr;</span>
39+
</ButtonLink>
40+
</div>
41+
42+
## Programme
43+
44+
Le programme complet de la journée sera annoncé prochainement. Restez à l'affût pour découvrir les conférences prévues pour cette journée spéciale.
45+
46+
<ListOfPeople people={speakers} />
47+
48+
## Sponsors
49+
50+
Un grand merci à nos sponsors pour leur soutien continu.
51+
Nous sommes reconnaissants de leur contribution à cet événement spécial.
52+
Certains de nos sponsors seront présents durant la journée, n'hésitez pas à aller à leur rencontre pour en apprendre plus sur leurs activités.
53+
54+
<Sponsors title="🥇Sponsors Gold" sponsors={gold} />
55+
<Sponsors title="🥈Sponsors Silver" sponsors={silver} />
56+
<Sponsors title="🥉Sponsors Bronze" sponsors={bronze} />
57+
58+
## Infos
59+
60+
Pour toute question ou demande de sponsoring, veuillez nous contacter à l'adresse suivante : [[email protected]](mailto:[email protected]).
61+
62+
Pour ne rien manquer des dernières nouvelles et mises à jour concernant cet événement, suivez-nous sur nos réseaux sociaux :
63+
Nous avons hâte de vous voir nombreux et nombreuses pour célébrer ensemble cette étape importante pour LyonJS ! 🌟

app/lyonjs-100/opengraph-image.jpg

3.04 MB
Loading

app/lyonjs-100/page.tsx

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { Metadata } from 'next';
2+
// @ts-ignore
3+
import Content from './content.mdx';
4+
5+
export default function LyonJS100() {
6+
return <Content />;
7+
}
8+
export const revalidate = 3600;
9+
const title = 'LyonJS | LyonJS 💯';
10+
const description = "Qu'est ce que le LyonJS 100 ? Comment participer à la journée de conférence ?";
11+
12+
export const metadata: Metadata = {
13+
title,
14+
description,
15+
twitter: {
16+
title,
17+
description,
18+
},
19+
openGraph: {
20+
title,
21+
description,
22+
},
23+
};

app/lyonjs-100/twitter-image.jpg

3.04 MB
Loading

app/page.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ import { Sponsors } from '../modules/sponsors/Sponsors';
77
import { NextEvent } from '../modules/home/NextEvent';
88
import { Numbers } from '../modules/home/Numbers';
99
import { LastReplays } from '../modules/home/LastReplays';
10+
import { HomeAnnouncement } from '../modules/lyonjs100/HomeAnnouncement';
1011

1112
export const revalidate = 3600;
13+
1214
export default function Home() {
1315
return (
1416
<main>
1517
<HomeHero />
18+
<HomeAnnouncement />
1619
<NextEvent />
1720
<SeePastEvents />
1821
<Numbers />
1922
<LastReplays />
20-
<Sponsors title="Sponsors" sponsors={sponsors} />
23+
<Sponsors title="Sponsors" sponsors={sponsors} withLink />
2124
<Sponsors title="Partneraires et Conférences" sponsors={partners} />
2225
</main>
2326
);

data/lyonjs100-speakers.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
type Speaker = {
2+
name: string;
3+
talk?: {
4+
title: string;
5+
description: string;
6+
};
7+
avatarUrl: string;
8+
social: {
9+
twitter?: string;
10+
linkedin?: string;
11+
};
12+
};
13+
export const speakers: Array<Speaker> = [
14+
{ name: 'Matthieu Lux', avatarUrl: '/speakers/matthieu-lux.webp', social: { twitter: 'swiip', linkedin: 'swiip' } },
15+
// { name: 'Jérémie Patonnier', avatarUrl: '/speakers/jeremie-patonnier.jpg', social: { twitter: 'jeremiepat' } },
16+
// {
17+
// name: 'Jonny Burger',
18+
// avatarUrl: '/speakers/jonny-burger.png',
19+
// social: { twitter: 'JNYBGR', linkedin: 'jonny-burger-4115109b' },
20+
// },
21+
{
22+
name: `Bientôt lui 🤫`,
23+
avatarUrl: '/speakers/secret.png',
24+
social: {},
25+
},
26+
{
27+
name: `Elle aussi !! 🤩`,
28+
avatarUrl: '/speakers/secret.png',
29+
social: {},
30+
},
31+
{
32+
name: `Non pas lui !! ?? 😱`,
33+
avatarUrl: '/speakers/secret.png',
34+
social: {},
35+
},
36+
];

data/lyonjs100-sponsors.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { Sponsor } from '../modules/event/types';
2+
import { bedrock, cleverCloud, indy, malt, theodo, wanadev, zenika } from './sponsors';
3+
4+
export const gold: Array<Sponsor> = [malt];
5+
6+
export const silver: Array<Sponsor> = [
7+
{ name: '365 Talent', url: 'https://www.365talents.com/fr/', logo: '/sponsors/365Talent.svg' },
8+
zenika,
9+
bedrock,
10+
indy,
11+
{ name: 'Akawaka', url: 'https://www.akawaka.fr/', logo: '/sponsors/akawaka.svg' },
12+
theodo,
13+
];
14+
15+
export const bronze = [
16+
cleverCloud,
17+
wanadev,
18+
{ name: 'Feelinjob', url: 'https://www.feelinjob.com/', logo: '/sponsors/feelinjob.svg' },
19+
];

data/orgas.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
export type Orga = {
22
name: string;
3-
description: string;
43
avatarUrl: string;
54
social: {
65
twitter?: string;
@@ -12,7 +11,6 @@ export const orgas: Array<Orga> = [
1211
{
1312
name: 'Paul Mougel',
1413
avatarUrl: '/orgas/paul.jpeg',
15-
description: 'CTO @365Talents / JS lover @LyonJS / NLP, Semantics & ML enthusiast',
1614
social: {
1715
twitter: 'paul_mougel',
1816
linkedin: 'paulmougel',
@@ -21,8 +19,6 @@ export const orgas: Array<Orga> = [
2119
{
2220
name: 'Mathieu Mure',
2321
avatarUrl: '/orgas/mathieu.jpeg',
24-
description:
25-
'CTO @zenika also Front-end dev | Co organizer of @lyonjs | Speakers in many conf | I do stuff on Twitch 👉 http://twitch.tv/Infrazull',
2622
social: {
2723
twitter: 'mathieumure',
2824
linkedin: 'mathieu-mure',
@@ -31,8 +27,6 @@ export const orgas: Array<Orga> = [
3127
{
3228
name: 'Antoine Caron',
3329
avatarUrl: '/orgas/antoine.jpg',
34-
description:
35-
'Web Maker @Bedrock_Tec , internet trublion and despote teacher @PolytechLyon #LyonJS #React #Node co-organiser of @LyonJ meetup',
3630
social: {
3731
twitter: 'slashgear_',
3832
linkedin: 'antoine-⚙%EF%B8%8F-c-7089788a/',
@@ -41,7 +35,6 @@ export const orgas: Array<Orga> = [
4135
{
4236
name: 'Mickael Alves',
4337
avatarUrl: '/orgas/mickael.jpeg',
44-
description: 'Consultant chez Zenika 🔴 Développeur chez Bedrock Streaming ⚫️ Co-Organisateur du LyonJS 🦁',
4538
social: {
4639
twitter: 'cruuzazul',
4740
linkedin: 'mickaelalves',
@@ -50,7 +43,6 @@ export const orgas: Array<Orga> = [
5043
{
5144
name: 'Mohamed Djebali',
5245
avatarUrl: '/orgas/mohamed.jpeg',
53-
description: 'Software Developer at Worldline | Co Organizer | Quiz Lover',
5446
social: {
5547
twitter: 'MohamedDjebali',
5648
linkedin: 'mohamed-djebali-developpeur-web',
@@ -59,7 +51,6 @@ export const orgas: Array<Orga> = [
5951
{
6052
name: 'Johana Lavigne',
6153
avatarUrl: '/orgas/johana.jpg',
62-
description: 'JS Developer | Co Organizer of @LyonJS & @DuchessFR | Fitness & Running Lover',
6354
social: {
6455
twitter: 'JohanaLavigne',
6556
linkedin: 'johana-lavigne',

0 commit comments

Comments
 (0)