Skip to content

Feat/homepage#20

Closed
rensvmoorsel wants to merge 27 commits into
developmentfrom
feat/homepage
Closed

Feat/homepage#20
rensvmoorsel wants to merge 27 commits into
developmentfrom
feat/homepage

Conversation

@rensvmoorsel
Copy link
Copy Markdown
Contributor

@rensvmoorsel rensvmoorsel commented Dec 2, 2025

Home page and menu bar

@rensvmoorsel rensvmoorsel requested a review from MeesMaas December 2, 2025 15:53
Copy link
Copy Markdown
Contributor

@MeesMaas MeesMaas left a comment

Choose a reason for hiding this comment

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

Ik kan de review helaas niet afmaken wegens tijdgebrek maar hier alvast wat comments

<div class="flex gap-5">
{/* Activity Enrollments */}
<Tile class="bg-(--theme-460) border-2 border-white/20 grow">
<p>Aanmeldingen</p>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Willen we meteen ook iets als i18n er in fietsen voor vertalingen?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Had het er nu nog uitgelaten maar is wel iets wat snel moet idd, kunnen we of nu meepakken of als volgende feature doen

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Toch al toegevoegd :)

Comment thread Frontend/src/Components/DashboardHeader.tsx Outdated
Comment thread Frontend/src/Components/DashboardHeader.tsx Outdated
Comment thread Frontend/src/Components/Enrollments.tsx Outdated
Comment thread Frontend/src/Components/UI/Button.tsx
Comment thread Frontend/src/Components/UI/Menubar/MenuItem.tsx Outdated
Comment thread Frontend/src/Components/UI/Menubar/MenuItem.tsx Outdated
Comment thread Frontend/src/Components/UI/Menubar/MenuItem.tsx Outdated
},

setup(props) {
// Path to sticky logo
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Moet dit niet in een global constant oid?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ik vermoed dat we t sticky logo voor de rest nergens in koala nodig gaan hebben

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tot het wel zo is. Daarom is dit perfect om in een const genaamd images te gooien die in de lib folder komt. Dit is gewoon vervelend als het logo ook ooit op een andere plek komt te staan. dan moet je gaan zoeken in de code.

export default {
  sticky_logo: '..'
};

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Toegevoegd

Comment on lines +73 to +81
class={`
flex items-center gap-2 rounded-xl border-2 border-transparent
py-1 px-2
${
props.isMobile
? "w-full justify-start py-2 px-3"
: "cursor-pointer transition-colors duration-200 ease-in-out hover:bg-(--theme-460) hover:border-white/20"
}
`}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

waarom isMobile? tailwind heeft toch al die breakpoints van sm:w-full en md:w-25 bijvoorbeeld?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Klopt, maar dan kan je t niet in de code gebruiken om bijvoorbeeld uit te zetten dat er wat gebeurt als je klikt op de profile name/picture

Copy link
Copy Markdown
Contributor

@MeesMaas MeesMaas left a comment

Choose a reason for hiding this comment

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

Okay ik heb de review nu wel af kunnen maken

import type { Announcement } from "@/Types/Announcement";

export default defineComponent({
name: "AnnouncementsList",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Je bestandsnaam heet AnnouncementList en hier schrijf je het met een s erbij

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Scherp, gefixt

setup(props) {
return () => (
<ListTile class="w-full">
{props.CommitteeEnrollments.map((CommitteeEnrollment) => (
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hoe gaat dit component werken als je al meerdere jaren in een committee zit? Is daar rekening mee gehouden of komt dat in een volgende Pr?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Moeten we nog naar kijken hoe we dat willen, maar ik dacht dat dat iets was wat we met de verbinding met backend moeten doen (en niet in het component zelf)

Comment on lines +18 to +20
const handleClick = () => {
props.onClick?.();
};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Een hele functie die maar 1x wordt gebruikt lijkt mij persoonlijk overkill

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Als ik m niet als functie doe krijg ik dit:
Type 'void | undefined' is not assignable to type '((payload: PointerEvent) => void) | undefined'. Type 'void' is not assignable to type '((payload: PointerEvent) => void) | undefined'.

ik ga op zoek naar een andere oplossing

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

wait ik ben dom, gefixt

Comment on lines +23 to +47
// Function to update visible activities based on container width
const updateVisible = () => {
if (!containerRef.value) return;
const containerWidth = containerRef.value.getBoundingClientRect().width;
const tileWidth = 200;
const possibleTileBesidesEachother = Math.floor(
containerWidth / tileWidth,
);
comingActivitiesBelowEachother.value = possibleTileBesidesEachother === 1;
const count = comingActivitiesBelowEachother.value
? 3
: possibleTileBesidesEachother;
visibleActivities.value = props.activities.slice(0, count);
};

// Set up event listeners
onMounted(() => {
nextTick(updateVisible);
window.addEventListener("resize", updateVisible);
});

// Clean up event listeners
onBeforeUnmount(() => {
window.removeEventListener("resize", updateVisible);
});
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Deze logica voelt een beetje overbodig. Ik heb liever dat je dan kijkt naar grid md:grid-cols-3

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Probleem waar ik mee zat was dat ik het zonder de logica niet voor elkaar kreeg om zoveel items als past op een regel te krijgen zonder dat er ook items op de volgende regel komen

Comment thread Frontend/src/lib/utils.tsx Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

in principe kan je utils over meerdere bestanden uitspreiden. Dus dates.utils.ts en idk what die andere util functie is. Maar vnode.utils.ts zodat je echt structuur krijgt. Anders gaat dit bestand enorm uitgroeien.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

opgesplitst

return () => {
// Flatten the slot children
const raw = slots.default?.() ?? [];
const children = flattenChildren(raw);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Volgens mij kan dit trucje ook zonder dat je flattenChildren hoeft te doen. Dit doe je puur om de divider er tussen te krijgen toch?

Copy link
Copy Markdown
Contributor Author

@rensvmoorsel rensvmoorsel Dec 3, 2025

Choose a reason for hiding this comment

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

ik had t eerst zonder de flattenChildren maar toen splitste die niet goed de divs erin uit

@rensvmoorsel rensvmoorsel requested a review from MeesMaas December 5, 2025 08:25
@rensvmoorsel rensvmoorsel deleted the feat/homepage branch May 3, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants