Skip to content

Commit 01ba1eb

Browse files
committed
fix: register page iframe
1 parent abd3ce5 commit 01ba1eb

File tree

10 files changed

+416
-8
lines changed

10 files changed

+416
-8
lines changed

pwa/app/(con)/[locale]/con/2025/components/HomePage.tsx

-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ const HomePage = ({ speakers, partners, images }: HomePageProps) => {
3939
<p className="flex-1 text-lg md:text-xl font-extrabold pb-6 lg:text-3xl md:text-left">
4040
{t("2025.baseline")}
4141
</p>
42-
<p className="flex-1 text-sm md:text-md font-extrabold pb-6 lg:text-lg md:text-left">
43-
{t("2025.subbaseline")}
44-
</p>
4542
<div className="flex gap-2">
4643
{currentEdition === "2025" && (
4744
<BuyButton className="mr-2" id="cover">

pwa/app/(con)/[locale]/con/2025/tickets/RegisterPage.tsx

+42-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"use client";
2-
import { useContext } from "react";
2+
import { useContext, useEffect } from "react";
33
import { LanguageContext } from "contexts/con/LanguageContext";
44
import SectionTitle from "components/con/common/typography/SectionTitle";
55
import SectionSubTitle from "components/con/common/typography/SectionSubtitle";
@@ -36,14 +36,31 @@ export default function RegisterPage() {
3636
getLocaleDictionary?.()[2025].tickets.expect.points || [];
3737

3838
const onIframeLoaded = () => {
39+
console.log("loaded !");
3940
const iframe = document.getElementById(
4041
"yurplan-widget-141690"
4142
) as HTMLIFrameElement | null;
43+
console.log("iframe ?", !!iframe);
4244
if (!iframe) return;
45+
const loader = document.getElementById("loader");
46+
loader?.classList.add("hidden");
47+
4348
const contenu = iframe.contentWindow?.document.body.scrollHeight;
4449
iframe.style.height = contenu + "px";
4550
};
4651

52+
useEffect(() => {
53+
const iframe = document.getElementById(
54+
"yurplan-widget-141690"
55+
) as HTMLIFrameElement | null;
56+
if (!iframe) return;
57+
const handleLoad = () => {
58+
const loader = document.getElementById("loader");
59+
loader?.classList.add("hidden");
60+
};
61+
iframe.addEventListener("load", handleLoad, true);
62+
}, []);
63+
4764
return (
4865
<>
4966
<div className="container max-w-5xl flex flex-col items-center py-12 relative z-10">
@@ -144,17 +161,38 @@ export default function RegisterPage() {
144161
</div>
145162
))}
146163
</div>
147-
<div className="yurplan-widget-container max-w-5xl container pb-40 md:pt-12 -mb-[180px]">
164+
<svg
165+
id="loader"
166+
className="loader animate-spin mx-auto mt-8 size-10 text-blue"
167+
xmlns="http://www.w3.org/2000/svg"
168+
fill="none"
169+
viewBox="0 0 24 24"
170+
>
171+
<circle
172+
className="opacity-25"
173+
cx="12"
174+
cy="12"
175+
r="10"
176+
stroke="currentColor"
177+
strokeWidth="4"
178+
></circle>
179+
<path
180+
className="opacity-75"
181+
fill="currentColor"
182+
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
183+
></path>
184+
</svg>
185+
<div className="yurplan-widget-container max-w-5xl container pb-20 md:pt-12">
148186
<iframe
149-
onLoad={() => onIframeLoaded()}
150187
title="yurplan"
151188
src={`https://yurplan.com/events/API-Platform-Conference-2025/138927/tickets/widget?widget=dGlja2V0aW5nV2lkZ2V0WXBfMTM2ODk5XzE0MTY5MA%3D%3D&from=widget_141690&wversion=1&culture=${locale}`}
152189
width="100%"
153190
height="100%"
154191
frameBorder="0"
155192
scrolling="no"
193+
loading="eager"
156194
className="yurplan-widget"
157-
style={{ height: "auto", clipPath: "inset(0px 0px 180px 0px);" }}
195+
style={{ height: "auto" }}
158196
id="yurplan-widget-141690"
159197
data-id="141690"
160198
></iframe>

pwa/data/con/2025/footer.ts

+34
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,40 @@ const footer = [
1212
},
1313
],
1414
},
15+
{
16+
title: "footer.the_event.title",
17+
links: [
18+
{
19+
title: "footer.the_event.links.venue",
20+
link: "/{{locale}}/con/2025/#venue",
21+
},
22+
{
23+
title: "footer.the_event.links.speakers",
24+
link: "/{{locale}}/con/2025/#speakers",
25+
},
26+
{
27+
title: "footer.the_event.links.pricing",
28+
link: "/{{locale}}/con/2025/#pricing",
29+
},
30+
],
31+
},
32+
{
33+
title: "footer.legal.title",
34+
links: [
35+
{
36+
title: "footer.legal.links.faq",
37+
link: "/{{locale}}/con/2025/faq",
38+
},
39+
{
40+
title: "footer.legal.links.code_of_conduct",
41+
link: "/{{locale}}/con/2025/code-of-conduct",
42+
},
43+
{
44+
title: "footer.legal.links.transparency",
45+
link: "/{{locale}}/con/2025/transparency",
46+
},
47+
],
48+
},
1549
];
1650

1751
export default footer;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
type: legal
3+
---
4+
5+
# Code of conduct
6+
7+
## TL;DR
8+
9+
API Platform Con is dedicated to providing an **inclusive experience for everyone**. All participants (attendees, speakers, sponsors and staff) are required to agree with the following code of conduct to help ensure a **safe environment for everybody**.
10+
11+
## PURPOSE
12+
13+
API Platform Con is an **inclusive experience for every participants and speakers**, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, religion, or sexual identity and orientation.
14+
15+
Sexual language and imagery, including in talks, can make people feel uncomfortable. Unwelcome sexual attention from conference participants, which can include inappropriate questions of a sexual nature, asking for sexual favours or repeatedly asking for dates or contact information may be sanctioned or expelled from the conference without a refund at the discretion of the conference organizers.
16+
17+
## ANTI-HARASSMENT
18+
19+
Harassment includes, but is not limited to:
20+
21+
- Verbal comments that reinforce social structures of domination related to **gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, ethnicity, age, religion**
22+
- **Unwelcome sexual attention**
23+
- Deliberate **intimidation, stalking** or **following**
24+
- Insistent **photo-taking**
25+
- **Sustained disruption** of talks or other events
26+
- **Inappropriate physical contact**
27+
- Invasion of **personal space**
28+
- Advocating for, or encouraging, any of the above behavior
29+
30+
## REPORTING
31+
32+
We value your attendance. If someone makes you or anyone else feel unsafe or unwelcome, please **report it as soon as possible**, we will do our best to assist with any concerns you might have. Conference staff can be identified by their conference-specific staff t-shirts.
33+
34+
You can make a personal report by:
35+
36+
- Contacting a **staff member**, identified by staff badges or shirts. Our staff will **ensure you are safe and cannot be overheard**. They may involve other event staff to ensure your report is managed properly. Once safe, we'll ask you to tell us about what happened. This can be upsetting, but we'll handle it as respectfully as possible, and you can bring someone to support you. You won't be asked to confront anyone and we won't tell anyone who you are. Our team will be happy to help you contact hotel/venue security, local support services, or otherwise assist you to feel safe for the duration of the event.
37+
- Emailing us: <[email protected]>
38+
- **Calling us**: we’ll publish a phone number that is staffed during main conference hours.
39+
40+
&nbsp;
41+
&nbsp;
42+
&nbsp;
43+
44+
---
45+
46+
_Original source and credit: [The Ada Initiative](https://geekfeminism.wikia.org/wiki/Conference_anti-harassment/Policy)_

pwa/data/con/2025/legal/en/faq.md

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
type: legal
3+
---
4+
5+
# Frequently Asked Questions
6+
7+
## What is the API Platform Conference, and who is it for?
8+
9+
The API Platform Conference is a two-day event dedicated to the [API Platform’s](https://api-platform.com/) framework and its ecosystem. This conference brings together innovative companies and a community of developers of all skill levels. Topics cover a wide range of areas, such as APIs, PHP, Symfony, Go, JavaScript, FrankenPHP, and more. Sessions are delivered in both English and French, with two parallel tracks.
10+
11+
The 2024 API Platform Conference gathered 700 attendees (400 on-site and 300 online). Whether you’re a developer, CTO, or a marketing professional working in a company specializing in these technologies, this event is for you!
12+
13+
## Where does the event take place and how do we get there?
14+
15+
The API Platform Conference takes place in [Lille](https://en.lilletourism.com/), meeting point of big European cities. The conferences are held in [Euratechnologies](https://www.euratechnologies.com/), the 1st startup incubator and accelerator in Europe. All conferences will be streamed online.
16+
17+
## Is there a Code of Conduct?
18+
19+
The API Platform Conference is dedicated to providing **an inclusive experience for everyone**. Take a look at our [Code of Conduct page](/con/2025/code-of-conduct/).
20+
21+
## Is there a Nursing room at the event?
22+
23+
If you need to pump milk, there will be a room reserved for you with a refrigerator. If you want to bring your baby and you are breastfeeding, please contact [Cécile](mailto:[email protected]), and she will ensure that you are welcomed with the best conditions.
24+
25+
## What is the refund policy?
26+
27+
Tickets **are non refundable**. Tickets will only be refunded if Les-Tilleuls.coop cancels the event. However, you can transfer your ticket by your own: please reach [Cécile](mailto:[email protected]) once you've found a buyer so that she can change the name on the badge.
28+
29+
## Can I convert my on-site ticket to an online ticket?
30+
31+
You can convert your on-site ticket to an online ticket. However, please note that the price difference between the two tickets is non-refundable. If you wish to convert your ticket, [email us](mailto:[email protected]) and we will do our best to help you.
32+
33+
## Can I convert my online ticket to an on-site ticket?
34+
35+
You can convert your online ticket to an on-site ticket. The price difference between the online ticket and the current on-site rate at the time of your request will be charged to you. If you need to convert your ticket, [contact us](mailto:[email protected]).
36+
37+
## Can I access to a car park?
38+
39+
Once you’re arrived in Lille, we invite you to use public transport. You will find all travel information on how to get to the event [on this link](#venue).
40+
41+
The nearest metro station is Canteleu Euratechnologies, located at 10min walking distance from the event. Lille is also a bike-friendly city and has a bike-sharing station in front of the main track. There are, however, paid car parks nearby but in limited numbers.
42+
43+
## Is the on-site event accessible to people with reduced mobility?
44+
45+
Yes: the main entrance, all conference rooms, the exhibitors village and toilets are accessible to people with reduced mobility. You need a special arrangement? Email [Cécile](mailto:[email protected]) and she will come back to you asap.
46+
47+
## I haven’t received the access to the online conference, how do I get it?
48+
49+
Your invitation with your personal access will be sent a couple of hours before the D-day. If you didn’t receive anything, check your spam or trash for an email from <[email protected]>. If you still do not find it, email us <[email protected]> with your order email or order ID and we will get it to you as soon as possible.
50+
51+
## When does the event start?
52+
53+
The doors will open on **September 18 at 08:30 AM** and the opening keynote will start at 09:30 AM. After presenting a piece of ID at the reception desk, you will receive your access badge.
54+
55+
## How do I buy my ticket? Can I buy it at the registration desk?
56+
57+
You can buy your ticket on [our website](#pricing). You can also buy tickets at our registration desk.
58+
59+
## Can I join and leave the event at any time?
60+
61+
Your badge allows you to enter and exit the venue as you wish.
62+
63+
## Is there a special price?
64+
65+
The API Platform Conference, whether it is the in-person or online edition, is **free for students or unemployed developers**. Contact us at <[email protected]> to get your voucher (a proof of school attendance will be asked).
66+
67+
## Can I get lunch at the venue?
68+
69+
The on-site edition of the API Platform Conference gives you access to **coffee and vegetarian lunch breaks** provided by our caterer. Otherwise, several restaurants and food trucks are surrounding the area.
70+
71+
## Is there wifi?
72+
73+
A wifi connection will be provided by Euratechnologies. Logins will be indicated at the venue.
74+
75+
## Can I leave my belongings in a cloakroom?
76+
77+
There will be **a cloakroom** available at the venue. Les-Tilleuls.coop declines all responsibility for loss or theft.
78+
79+
## Do I have a guaranteed seat?
80+
81+
**Seats are not allocated**: we advise you to be present a few minutes before the launch of each conference.
82+
83+
## Can I ask questions at speakers?
84+
85+
During the last minutes of each conference, it would be possible to **question the speakers**. Raise your hand and a staff member will bring you a microphone.
86+
87+
## Am I allowed to take pictures of the conference?
88+
89+
You can take pictures of the venue and of the conferences, just **be careful to not disturb the speakers during their talk** and do not insist on taking pictures of the participants. Note that you are likely to be photographed and to appear on our communication media.
90+
91+
## How can I share the event through social media?
92+
93+
Use the hashtag **#ApiPlatformCon** and don’t forget to mention [@ApiPlatform](https://twitter.com/ApiPlatform)!
94+
95+
## Can I distribute flyers?
96+
97+
Unless you are a partner of the event, **it is forbidden to distribute anything to the participants** without the prior authorisation of the organisers.
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
type: legal
3+
---
4+
5+
# Revenues transparency
6+
7+
API Platform Con is financed by only two sources of revenues: [ticketing](#pricing) and [sales of sponsor packages](#partners) to tech companies in exchange for visibility.
8+
9+
Also, by organizing this event, we wanted to be **financially accessible for everyone**. For instance, online tickets are **free for students and unemployed developers**. However, making this day has various costs:
10+
11+
- **Conference rooms rentals** and hiring of audiovisual professionals.
12+
- **Speakers’ travel** accommodation.
13+
- **Catering**: orders of morning, lunch and afternoon coffee breaks and buffets.
14+
- **Communication & marketing**: graphic design, printing of rollups, badges and goodies, web advertising.
15+
16+
\
17+
&nbsp;
18+
19+
If profits are made from this event, **they will be donated to the development of the [API Platform project](/)**.
20+
21+
\
22+
&nbsp;
23+
24+
---
25+
26+
If you have any other questions about the event’s financing, please contact us: <[email protected]>.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
type: legal
3+
---
4+
5+
# Code de conduite
6+
7+
## TL;DR
8+
9+
L'API Platform Conference s'engage à offrir une **expérience inclusive à ses participants et participantes**. Toutes les personnes présentes (auditeurs, auditrices, speakers, partenaires et staff) s'engagent à respecter et à suivre le code de conduite suivant afin de garantir **un environment sûr pour tout le monde**.
10+
11+
## ENGAGEMENT
12+
13+
L'API Platform Conference est un événement qui vise à être **inclusif pour toutes les personnes qui y participent**, indépendamment de facteurs tels que l'âge, la taille, le handicap, l'ethnicité, les caractéristiques sexuelles, l'identité et l'expression de genre, le niveau d'éducation, le statut socio-économique, la nationalité, l'apparence personnelle, la religion, ou l'identité et l'orientation sexuelles.
14+
15+
L'utilisation d'un langage ou d'imagerie à caractère sexuel, y compris pendant les conférences, peut provoquer un malaise chez certaines personnes. Les comportements sexuellement déplacés de la part des participants à la conférence, tels que des questions inappropriées à caractère sexuel, des demandes (répétées ou non) de faveurs sexuelles, de rendez-vous ou de coordonnées peuvent entraîner l'expulsion de la conférence sans remboursement.
16+
17+
## HARCÈLEMENT
18+
19+
Nous condamnons toute forme de harcèlement. Cela comprend (mais n'est pas limité à) :
20+
21+
- Les commentaires verbaux qui renforcent les structures sociales de domination liées au **genre, à l'identité et à l'expression de genre, à l'orientation sexuelle, au handicap, à l'apparence physique, à la taille, à l'appartenance ethnique, à l'âge, à la religion**.
22+
- **L'attention sexuelle importune**
23+
- **L'intimidation, le stalking** ou **le suivi délibéré** d'une personne
24+
- La prise insistante de **photos**
25+
- **La perturbation** de discussions ou de l'événement
26+
- **Le contact physique inapproprié**
27+
- L'invasion de **l'espace personnel**
28+
- La défense ou l'encouragement de l'un des comportements susmentionnés.
29+
30+
## REPORTING
31+
32+
Si vous vous sentez ou si vous remarquez que quelqu'un se sent en insécurité, **veuillez nous le signaler dès que possible** :
33+
34+
- Rapprochez-vous **d'un membre du staff**, identifiable par son t-shirt spécifique. Il ou elle **s'assurera que vous êtes en un endroit sécurisé où vous ne serez pas entendu·e**, nous ne divulguerons pas votre identité à quiconque. Une fois en sécurité, nous vous demanderons de nous raconter ce qui s'est passé. Nous comprenons que cela peut être intimidant, mais nous ferons de notre mieux pour vous mettre à l'aise.
35+
- Envoyez-nous **un e-mail** : <[email protected]>
36+
- **Téléphonez-nous** : un numéro de téléphone sera mis à disposition pendant tout l'événement.
37+
38+
&nbsp;
39+
&nbsp;
40+
&nbsp;
41+
42+
---
43+
44+
_Certaines parties de ce Code de Conduite sont basées sur le wiki [Geek Feminism](https://geekfeminism.wikia.org/wiki/Conference_anti-harassment/Policy), sous licence Creative Commons Zero._

0 commit comments

Comments
 (0)