Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
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
14 changes: 12 additions & 2 deletions app/components/header-nav.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@
</ddm.linkTo>
</ddm.item>
{{/each-in}}
{{! put links to other pages here }}
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Remove WIP comment before merging.

The comment "put links to other pages here" indicates this is still work in progress. Remove this comment before finalizing the PR.

-                {{! put links to other pages here }}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{{! put links to other pages here }}
🤖 Prompt for AI Agents
In app/components/header-nav.hbs around line 39, remove the WIP Handlebars
comment "{{! put links to other pages here }}" before merging; either delete the
comment entirely or replace it with the actual navigation link markup (or a
brief TODO with an issue reference) so no development placeholder remains in the
final commit.

<LinkTo @route='public.board' class="dropdown-item btn btn-primary">
{{t 'mixin.menuItems.board'}}
</LinkTo>
<LinkTo @route='public.identity' class="dropdown-item btn btn-primary">
{{t 'mixin.menuItems.identity'}}
</LinkTo>
<LinkTo @route='public.flux' class="dropdown-item btn btn-primary">
{{t 'mixin.menuItems.flux'}}
</LinkTo>
<LinkTo @route='public.room-forum' class="dropdown-item btn btn-primary">
{{t 'mixin.menuItems.roomForum'}}
</LinkTo>
Expand All @@ -44,8 +54,8 @@
<LinkTo @route='static-pages.static-page' @model='word-lid' class="page-actions-buttons">
<BsButton @type="primary" class="public-navbar-button {{if (eq this.router.currentURL '/static-pages/word-lid') 'selected'}}">{{t "component.headerNav.becomeMember"}}</BsButton>
</LinkTo>
<LinkTo @route='static-pages.static-page' @model='sponsoring' class="page-actions-buttons">
<BsButton @type="primary" class="public-navbar-button {{if (eq this.router.currentURL '/static-pages/sponsoring') 'selected'}}">{{t "component.headerNav.sponsoring"}}</BsButton>
<LinkTo @route='public.partners' class="page-actions-buttons">
<BsButton @type="primary" class="public-navbar-button {{if (eq this.router.currentURL '/public/partners') 'selected'}}">{{t "component.headerNav.partners"}}</BsButton>
</LinkTo>
{{/if}}
</div>
Expand Down
8 changes: 8 additions & 0 deletions app/components/public/card.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="circle-card {{if @horizontal "horizontal" "vertical"}}">
<img class="card-image" src={{@imgurl}} alt="">
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add meaningful alt text for accessibility.

The empty alt="" attribute makes the image decorative and invisible to screen readers. Since these images appear to be content-relevant (based on usage in board/identity pages), they should have descriptive alt text to ensure users with visual impairments can understand the card's purpose.

Consider passing alt text as a prop:

-  <img class="card-image" src={{@imgurl}} alt="">
+  <img class="card-image" src={{@imgurl}} alt={{@altText}}>

Then update all usages to provide meaningful alt text describing the image content.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<img class="card-image" src={{@imgurl}} alt="">
<img class="card-image" src={{@imgurl}} alt={{@altText}}>
🤖 Prompt for AI Agents
In app/components/public/card.hbs around line 2, the image tag uses an empty alt
attribute which makes the image invisible to screen readers; change the template
to accept and use a passed-in alt prop (e.g., @alt or @altText) instead of
hardcoding alt="", update the <img> to set alt={{@alt}} (or alt={{@altText}})
and then update every invocation of this component to supply a meaningful
descriptive string for the image content so that images on board/identity pages
are accessible.

<div class="content">
<h2 class="card-title">{{@title}}</h2>
<h3 class="card-subtitle">{{@subtitle}}</h3>
<p class="card-text">{{@text}}</p>
</div>
</div>
32 changes: 16 additions & 16 deletions app/components/public/index/about-alpha.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@
<h1 class="public-title">{{t 'component.public.index.aboutAlpha.intro-title'}}</h1>
<hr class="public-title-border border border-secondary bg-secondary border-3 opacity-100" />

<p class="mt-3 text-center about-text">{{t 'component.public.index.aboutAlpha.intro'}}</p>
<p class="mt-3 text-center public-text">{{t 'component.public.index.aboutAlpha.intro'}}</p>

<div class="mt-3 row">
<div class="about-v col-12 col-md-4 mt-5">
<img class="about-v-image" src="/images/public/index/vriendschap.jpg" alt="">
<h2 class="about-v-title">{{t 'component.public.index.aboutAlpha.vriendschap-title'}}</h2>
<p class="about-v-text">
{{t 'component.public.index.aboutAlpha.vriendschap-text'}}
</p>
<Public::Card
@imgurl = "/images/public/index/vriendschap.jpg"
@title = {{t 'component.public.index.aboutAlpha.vriendschap-title'}}
@text = {{t 'component.public.index.aboutAlpha.vriendschap-text'}}
/>
</div>
<div class="about-v col-12 col-md-4">
<img class="about-v-image" src="/images/public/index/vorming.jpg" alt="">
<h2 class="about-v-title">{{t 'component.public.index.aboutAlpha.vorming-title'}}</h2>
<p class="about-v-text">
{{t 'component.public.index.aboutAlpha.vorming-text'}}
</p>
<Public::Card
@imgurl = "/images/public/index/vorming.jpg"
@title = {{t 'component.public.index.aboutAlpha.vorming-title'}}
@text = {{t 'component.public.index.aboutAlpha.vorming-text'}}
/>
</div>
<div class="about-v col-12 col-md-4 mt-5">
<img class="about-v-image" src="/images/public/index/verantwoordelijkheid.jpg" alt="">
<h2 class="about-v-title">{{t 'component.public.index.aboutAlpha.verantwoordelijkheid-title'}}</h2>
<p class="about-v-text">
{{t 'component.public.index.aboutAlpha.verantwoordelijkheid-text'}}
</p>
<Public::Card
@imgurl = "/images/public/index/verantwoordelijkheid.jpg"
@title = {{t 'component.public.index.aboutAlpha.verantwoordelijkheid-title'}}
@text = {{t 'component.public.index.aboutAlpha.verantwoordelijkheid-text'}}
/>
</div>
</div>
</div>
4 changes: 4 additions & 0 deletions app/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,10 @@ Router.map(function () {

this.route('public', function () {
this.route('room-forum');
this.route('flux');
this.route('board');
this.route('identity');
this.route('partners');
});

return true;
Expand Down
3 changes: 3 additions & 0 deletions app/routes/public/board.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Route from '@ember/routing/route';

export default class PublicBoardRoute extends Route {}
3 changes: 3 additions & 0 deletions app/routes/public/flux.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Route from '@ember/routing/route';

export default class PublicFluxRoute extends Route {}
3 changes: 3 additions & 0 deletions app/routes/public/identity.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Route from '@ember/routing/route';

export default class PublicIdentityRoute extends Route {}
3 changes: 3 additions & 0 deletions app/routes/public/partners.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Route from '@ember/routing/route';

export default class PublicPartnersRoute extends Route {}
2 changes: 2 additions & 0 deletions app/styles/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
@import 'components/pagination';
@import 'components/photo-tags';
@import 'components/public/header';
@import 'components/public/card';
@import 'components/public/index/about-alpha';
@import 'components/public/index/activities';
@import 'components/public/index/photo-albums';
Expand Down Expand Up @@ -72,6 +73,7 @@
@import 'routes/polls';
@import 'routes/public';
@import 'routes/sog/name-trainer';
@import 'routes/public/board';

// Import package style
@import 'ember-power-select/themes/bootstrap';
Expand Down
79 changes: 79 additions & 0 deletions app/styles/components/public/card.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
.circle-card {
display: flex;

&.vertical {
flex-direction: column;
align-items: center;

.content {
align-items: center; // center titles and text
text-align: center;
}
}

&.horizontal {
flex-direction: row;
align-items: flex-start;

.card-image {
margin-right: 2rem; // space between image and content
}

.content {
align-items: flex-start; // align left
text-align: left;

.card-title {
margin-top: 0;
}
}
}

.card-image {
width: 100%;
clip-path: circle();
object-fit: cover;
max-width: 25rem;
}

.content {
display: flex;
flex-direction: column;

.card-title {
margin-top: 1rem;
color: $brand-secondary;
font-family: "Libre Franklin", sans-serif;
}

.card-subtitle {
margin-top: 0.3rem;
color: $brand-secondary;
font-family: "Libre Franklin", sans-serif;
}

.card-text {
margin-top: 1rem;
text-align: justify;
font-size: 1.5rem;
}
}
}

/* Responsive: horizontal becomes vertical on small screens */
@media (width <= 768px) {
.circle-card.horizontal {
flex-direction: column;
align-items: center;

.card-image {
margin-right: 0;
margin-bottom: 1.5rem;
}

.content {
align-items: center;
text-align: center;
}
}
}
4 changes: 2 additions & 2 deletions app/styles/components/public/header.scss
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
border-bottom: 4px solid $brand-secondary;
height: 100%;
object-fit: cover;
object-position: bottom;
object-position: center;
}

.header-overlay {
Expand Down Expand Up @@ -60,4 +60,4 @@
text-transform: uppercase;
}
}
}
}
27 changes: 2 additions & 25 deletions app/styles/components/public/index/about-alpha.scss
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,7 @@
hyphens: none;
}

.about-v {
display: flex;
flex-direction: column;
align-items: center;
.about-v{
padding: 0 5%;

.about-v-image {
width: 100%;
clip-path: circle();
object-fit: cover;
max-width: 25rem;
}

.about-v-title {
margin-top: 1rem;
text-align: center;
color: $brand-secondary;
font-family: "Libre Franklin", sans-serif;
}

.about-v-text {
text-align: justify;
line-height: 1.6rem;
font-size: 1.3rem;
}
}
}
}
26 changes: 23 additions & 3 deletions app/styles/routes/public.scss
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,19 @@
text-align: center;
font-family: "Libre Franklin", sans-serif;
font-size: 3rem;

&.public-title-smaller {
margin-bottom: 0.8rem;
font-size: 2.5rem;
}
}

.public-text {
width: 80vw;
font-size: 1.5rem;
hyphens: none;
}

.public-title-border {
width: 30vw;
}
Expand All @@ -24,4 +25,23 @@
text-align: center;
font-size: 1.2rem;
}
}

.red-container{
position: relative;
left: 50%;
margin-left: -50vw;
background: linear-gradient(90deg, rgba(0 0 0 / 40%) 0%, $brand-secondary 100%), $brand-secondary;
padding: 1rem;
width: 100vw;
max-width: 100vw;


.public-title,.public-title-smaller{
color: $brand-cream;
}

.public-title-border{
border-color: $brand-primary-dark;
}
}
}
9 changes: 9 additions & 0 deletions app/styles/routes/public/board.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.board{
.members{
.member{
margin: 2rem 0;
padding: 0 5%;
}
}
}

77 changes: 77 additions & 0 deletions app/templates/public/board.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<div class="public">
<Public::Header
@imageUrl="/images/public/board/banner.jpeg"
@title="{{t 'template.public.board.header'}}"
/>
<div class="board row my-4 d-flex flex-column align-items-center">
<h1 class="public-title">{{t 'template.public.board.senaat'}}</h1>
<hr class="public-title-border border border-secondary bg-secondary border-3 opacity-100" />
<p class="mt-3 text-center public-text">{{t 'template.public.board.intro'}}</p>
<p class="text-center public-text"><i>{{t 'template.public.board.slogan'}}</i></p>
<div class="members row">
<div class="member col-12 col-md-6" >
<Public::Card
@imgurl="/images/public/board/Stefan.jpg"
@title="{{t 'template.public.board.chair'}}"
@subtitle="{{t 'template.public.board.chair-name'}}"
@text="{{t 'template.public.board.chair-story'}}"
/>
</div>
<div class="member col-12 col-md-6">
<Public::Card
@imgurl="/images/public/board/Jesse.jpg"
@title="{{t 'template.public.board.secretary'}}"
@subtitle="{{t 'template.public.board.secretary-name'}}"
@text="{{t 'template.public.board.secretary-story'}}"
/>
</div>
<div class="member col-12 col-md-6">
<Public::Card
@imgurl="/images/public/board/Niels.jpg"
@title="{{t 'template.public.board.treasurer'}}"
@subtitle="{{t 'template.public.board.treasurer-name'}}"
@text="{{t 'template.public.board.treasurer-story'}}"
/>
</div>
<div class="member col-12 col-md-6">
<Public::Card
@imgurl="/images/public/board/Alina.jpg"
@title="{{t 'template.public.board.assessor1'}}"
@subtitle="{{t 'template.public.board.assessor1-name'}}"
@text="{{t 'template.public.board.assessor1-story'}}"
/>
</div>
</div>
<a class="text-center" href="{{t 'template.public.board.photographer-url'}}">{{t 'template.public.board.photographer'}}</a>
</div>
<div class="red-container row d-flex flex-column align-items-center">
<h1 class="public-title">{{t 'template.public.board.previous-boards'}}</h1>
<hr class="public-title-border border border-primary bg-primary border-3 opacity-100" />
<div class="previous-boards row px-10">
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board1'}}</h3>
<img src="/images/public/board/XLIV.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board2'}}</h3>
<img src="/images/public/board/XLIII.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board3'}}</h3>
<img src="/images/public/board/XLII.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board4'}}</h3>
<img src="/images/public/board/XLI.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board5'}}</h3>
<img src="/images/public/board/XL.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board6'}}</h3>
<img src="/images/public/board/XXXIX.jpeg">
Comment on lines +53 to +73
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Add alt attributes to all images for accessibility.

All six previous board images are missing alt attributes, which is a WCAG accessibility violation and prevents screen reader users from understanding the content.

Apply this diff to add descriptive alt text:

       <div class="previous-board col-12 col-sm-6 col-md-4 p-3">
         <h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board1'}}</h3>
-        <img src="/images/public/board/XLIV.jpeg">
+        <img src="/images/public/board/XLIV.jpeg" alt="{{t 'template.public.board.old-boards.board1'}}">
       </div>
       <div class="previous-board col-12 col-sm-6 col-md-4 p-3">
         <h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board2'}}</h3>
-        <img src="/images/public/board/XLIII.jpeg">
+        <img src="/images/public/board/XLIII.jpeg" alt="{{t 'template.public.board.old-boards.board2'}}">
       </div>
       <div class="previous-board col-12 col-sm-6 col-md-4 p-3">
         <h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board3'}}</h3>
-        <img src="/images/public/board/XLII.jpeg">
+        <img src="/images/public/board/XLII.jpeg" alt="{{t 'template.public.board.old-boards.board3'}}">
       </div>
       <div class="previous-board col-12 col-sm-6 col-md-4 p-3">
         <h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board4'}}</h3>
-        <img src="/images/public/board/XLI.jpeg">
+        <img src="/images/public/board/XLI.jpeg" alt="{{t 'template.public.board.old-boards.board4'}}">
       </div>
       <div class="previous-board col-12 col-sm-6 col-md-4 p-3">
         <h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board5'}}</h3>
-        <img src="/images/public/board/XL.jpeg">
+        <img src="/images/public/board/XL.jpeg" alt="{{t 'template.public.board.old-boards.board5'}}">
       </div>
       <div class="previous-board col-12 col-sm-6 col-md-4 p-3">
         <h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board6'}}</h3>
-        <img src="/images/public/board/XXXIX.jpeg">
+        <img src="/images/public/board/XXXIX.jpeg" alt="{{t 'template.public.board.old-boards.board6'}}">
       </div>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<img src="/images/public/board/XLIV.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board2'}}</h3>
<img src="/images/public/board/XLIII.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board3'}}</h3>
<img src="/images/public/board/XLII.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board4'}}</h3>
<img src="/images/public/board/XLI.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board5'}}</h3>
<img src="/images/public/board/XL.jpeg">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board6'}}</h3>
<img src="/images/public/board/XXXIX.jpeg">
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board1'}}</h3>
<img src="/images/public/board/XLIV.jpeg" alt="{{t 'template.public.board.old-boards.board1'}}">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board2'}}</h3>
<img src="/images/public/board/XLIII.jpeg" alt="{{t 'template.public.board.old-boards.board2'}}">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board3'}}</h3>
<img src="/images/public/board/XLII.jpeg" alt="{{t 'template.public.board.old-boards.board3'}}">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board4'}}</h3>
<img src="/images/public/board/XLI.jpeg" alt="{{t 'template.public.board.old-boards.board4'}}">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board5'}}</h3>
<img src="/images/public/board/XL.jpeg" alt="{{t 'template.public.board.old-boards.board5'}}">
</div>
<div class="previous-board col-12 col-sm-6 col-md-4 p-3">
<h3 class="public-title-smaller text-center">{{t 'template.public.board.old-boards.board6'}}</h3>
<img src="/images/public/board/XXXIX.jpeg" alt="{{t 'template.public.board.old-boards.board6'}}">
</div>
🤖 Prompt for AI Agents
In app/templates/public/board.hbs around lines 53 to 73 the six previous-board
<img> tags are missing alt attributes; add descriptive alt attributes to each
<img> (use the matching i18n labels used in the <h3> where possible, e.g.
alt="{{t 'template.public.board.old-boards.board1'}}" etc.) so screen readers
get meaningful descriptions for each board image; ensure each <img> has a
non-empty alt that accurately describes the board rather than leaving it blank.

</div>
</div>
</div>
</div>
Loading
Loading