Skip to content

Commit ed16253

Browse files
authored
Merge pull request #33 from nixcon/coc
Add basic version of CoC based on the last one
2 parents 7e33ff2 + 9cb7d26 commit ed16253

File tree

6 files changed

+110
-19
lines changed

6 files changed

+110
-19
lines changed

public/coc.pdf

-51.4 KB
Binary file not shown.

src/app.jsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ export default function App() {
7272
>
7373
Privacy Policy
7474
</A>
75+
<div class="h-4 w-px bg-white/20 hidden md:block"></div>
76+
<A
77+
href="/coc"
78+
class="text-white/80 hover:text-white transition-colors text-base font-medium"
79+
aria-label="Code of Conduct"
80+
>
81+
Code of Conduct
82+
</A>
83+
7584
</div>
7685
</footer>
7786
</>

src/components/MobileMenu.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { useLocation } from "@solidjs/router";
22
import { A } from "@solidjs/router";
33
import { BsHouseFill } from "@aminya/solid-icons/bs/BsHouseFill";
44
import { BsPeopleFill } from "@aminya/solid-icons/bs/BsPeopleFill";
5+
import { BsFileTextFill } from "@aminya/solid-icons/bs/BsFileTextFill";
56
import { BsList } from "@aminya/solid-icons/bs/BsList";
67
import { BsX } from "@aminya/solid-icons/bs/BsX";
78
import { FaSolidHotel } from "@aminya/solid-icons/fa/FaSolidHotel";
@@ -101,6 +102,7 @@ export default function MobileMenu() {
101102
<BsPeopleFill />
102103
Organizers
103104
</A>
105+
104106
</nav>
105107
</div>
106108
</div>

src/components/TopMenu.jsx

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,16 @@ export default function TopMenu() {
3838
<div class="fixed top-0 left-0 right-0 z-50 hidden md:block">
3939
<div class="max-w-3xl mx-auto p-2.5">
4040
<div
41-
class={`flex items-center justify-center h-16 ${
42-
scrolled() ? "glass" : ""
43-
}`}
41+
class={`flex items-center justify-center h-16 ${scrolled() ? "glass" : ""
42+
}`}
4443
>
4544
{/* Navigation Links */}
4645
<nav class="flex items-center space-x-10">
4746
{/* Home with Logo */}
4847
<A
4948
href="/"
50-
class={`text-white hover:text-white/80 transition-all duration-75 ${
51-
isActive("/") ? "underline" : ""
52-
}`}
49+
class={`text-white hover:text-white/80 transition-all duration-75 ${isActive("/") ? "underline" : ""
50+
}`}
5351
aria-label="Home"
5452
>
5553
<div class="h-6">
@@ -60,9 +58,8 @@ export default function TopMenu() {
6058
{/* Sponsorship */}
6159
<A
6260
href="/sponsorship"
63-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg ${
64-
isActive("/sponsorship") ? "underline" : ""
65-
}`}
61+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg ${isActive("/sponsorship") ? "underline" : ""
62+
}`}
6663
aria-label="Sponsorship"
6764
>
6865
Sponsorship
@@ -71,9 +68,8 @@ export default function TopMenu() {
7168
{/* Accommodation */}
7269
<A
7370
href="/hotels"
74-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg ${
75-
isActive("/hotels") ? "underline" : ""
76-
}`}
71+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg ${isActive("/hotels") ? "underline" : ""
72+
}`}
7773
aria-label="Accommodation"
7874
>
7975
Accommodation
@@ -82,9 +78,8 @@ export default function TopMenu() {
8278
{/* Organizers */}
8379
<A
8480
href="/organizers"
85-
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg ${
86-
isActive("/organizers") ? "underline" : ""
87-
}`}
81+
class={`text-white hover:text-white/80 transition-all duration-75 font-bold text-lg ${isActive("/organizers") ? "underline" : ""
82+
}`}
8883
aria-label="Organizers"
8984
>
9085
Organizers

src/routes/coc.jsx

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import { BsFileTextFill } from '@aminya/solid-icons/bs/BsFileTextFill';
2+
import PageLayout from '~/components/PageLayout';
3+
4+
export default function CodeOfConduct() {
5+
const cubContainerClasses = "p-6 bg-white/10 backdrop-blur-lg rounded-xl border border-white/20 hover:bg-white/15 transition-colors";
6+
const mainSectionTitleClasses = "text-2xl font-bold mb-6 text-center"; // For H2s not in containers
7+
const principleHeadingClasses = "text-xl font-bold mb-3"; // For H3s within principle containers
8+
const listClasses = "list-disc list-inside space-y-2"; // Removed mb-4 as container provides bottom padding
9+
10+
return (
11+
<PageLayout>
12+
<div class="flex flex-col items-center gap-8">
13+
<h1 class="text-2xl md:text-4xl font-bold flex items-center gap-3">
14+
<BsFileTextFill class="text-xl md:text-3xl" />
15+
Code of Conduct
16+
</h1>
17+
18+
<div class="w-full max-w-3xl space-y-6">
19+
20+
<div class={cubContainerClasses}>
21+
<p class="font-semibold text-lg mb-2">NixCon 2025 - Code of Conduct</p>
22+
<p>This Code of Conduct is still subject to change. Check back here for the latest version. Last update: May 29, 2025.</p>
23+
<p>This Code of Conduct outlines our expectations for all participants at NixCon. We are committed to providing a respectful and inclusive experience for everyone.</p>
24+
</div>
25+
26+
<h2 class={mainSectionTitleClasses}>Core Principles</h2>
27+
28+
<div class={cubContainerClasses}>
29+
<h3 class={principleHeadingClasses}>1. Respectful Interaction</h3>
30+
<ul class={listClasses}>
31+
<li>Encounter everyone with as little bias as possible.</li>
32+
<li>Act considerately and respectfully towards others, their needs, and boundaries. This includes respecting personal space, listening attentively, and refraining from interrupting.</li>
33+
<li>Use gender-neutral ways of addressing people by default. Only use pronouns when you know which pronouns (if any) an individual prefers. Ask respectfully how others wish to be addressed. Respect preferences for names only or no pronouns. Support others in using correct pronouns.</li>
34+
</ul>
35+
</div>
36+
37+
<div class={cubContainerClasses}>
38+
<h3 class={principleHeadingClasses}>2. Personal Responsibility & Consent:</h3>
39+
<ul class={listClasses}>
40+
<li>Take responsibility for your own wellbeing and look after your needs. You can leave any conversation or situation at any time if you feel uncomfortable.</li>
41+
<li>Only take pictures or record individuals after obtaining their explicit consent.</li>
42+
</ul>
43+
</div>
44+
45+
<div class={cubContainerClasses}>
46+
<h3 class={principleHeadingClasses}>3. Openness & Support:</h3>
47+
<ul class={listClasses}>
48+
<li>If you are unsure if your behaviour is acceptable, ask. Boundaries and discrimination are defined by those who experience them.</li>
49+
<li>Approach conflicts or differences of opinion with openness, curiosity, and a willingness to listen.</li>
50+
<li>If someone asks for your support or if you notice something concerning, offer support if appropriate, but respect their wishes. Alert event staff if necessary.</li>
51+
<li>You are not alone. Ask for help or advice from event staff when you don&apos;t know what to do.</li>
52+
</ul>
53+
</div>
54+
55+
<div class={cubContainerClasses}>
56+
<h3 class={principleHeadingClasses}>4. Accountability & Learning:</h3>
57+
<ul class={listClasses}>
58+
<li>Apologize when you make mistakes and be open to criticism and feedback. View feedback as an opportunity to learn.</li>
59+
</ul>
60+
</div>
61+
62+
<div class={cubContainerClasses}>
63+
<h3 class={principleHeadingClasses}>5. Respect for the Environment</h3>
64+
<ul class={listClasses}>
65+
<li>Respect the event venue and any specific rules it may have. Help keep shared spaces tidy.</li>
66+
</ul>
67+
</div>
68+
69+
<h2 class={mainSectionTitleClasses}>Reporting & Assistance:</h2>
70+
<div class={cubContainerClasses}>
71+
<p class="mb-2">If you experience or witness behavior that violates this Code of Conduct, or if you need assistance for any reason:</p>
72+
<ul class={listClasses}>
73+
<li>Please contact event organizers or designated support staff.</li>
74+
<li>All reports will be treated with discretion. Event organizers are empowered to take appropriate actions in response to violations.</li>
75+
</ul>
76+
</div>
77+
78+
<h2 class={mainSectionTitleClasses}>Adaptation</h2>
79+
<div class={cubContainerClasses}>
80+
<p>This Code of Conduct is adapted from the NixCon 2024 Code of Conduct and the bUm Code of Conduct.</p>
81+
</div>
82+
83+
</div>
84+
</div>
85+
</PageLayout>
86+
);
87+
}

src/routes/index.jsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,10 @@ export default function Home() {
213213
<div class="flex flex-col items-center gap-3 w-full max-w-md">
214214
<p class="text-center">Our community guidelines and code of conduct ensure a respectful and inclusive environment for all attendees.</p>
215215
<a
216-
href="/coc.pdf"
217-
target="_blank"
218-
rel="noopener noreferrer"
216+
href="/coc"
219217
class="px-4 py-2 bg-white/10 hover:bg-white/20 transition-colors rounded-lg text-white"
220218
>
221-
Download Code of Conduct
219+
View Code of Conduct
222220
</a>
223221
</div>
224222
</ContentSection>

0 commit comments

Comments
 (0)