Daan645 / lose-your-head-the-client-case

Ontwerp en maak een website voor een opdrachtgever op basis van een Headless CMS API
https://lose-your-head-the-client-case-5q6r.vercel.app/
0 stars 1 forks source link

Program card component #49

Closed driezie closed 1 month ago

driezie commented 1 month ago

Program card component

Screenshot 2024-10-09 at 11 21 28

  1. Ik groepeer door middel van een functie dat de radio stations de toegewezen shows/programmas krijgen
  2. De profiel foto wordt opgehaald door de eerste dj/gebruiker in de show, als deze niet wordt geladen wordt de thumbnail van de show geladen.
  3. De tijden worden afgekort dooe de slide functie. Hierdoor krijg je van 04:00:00 naar 04:00

getImageSource

// Helper function to get the image source function getImageSource(show) { // Pakt de koppeltabel van de show const programShow = show.mh_shows_id.show

    // Pakt de eerste user op van de show
    const firstUser = programShow && programShow.users && programShow.users[0] && programShow.users[0].mh_users_id && programShow.users[0].mh_users_id.cover;

    // Pakt de thumbnail van de show

    const thumbnail = programShow && programShow.thumbnail && programShow.thumbnail.id;

    // Als de cover niet bestaat of er geen users zijn, gebruik dan de thumbnail van de show
    // Als er geen thumbnail of cover is gebruik een lege string
    return firstUser ? `/${firstUser}` : (thumbnail ? `/${thumbnail}` : '');
}

> getShowTime
```js
// Helper function to get the show time
    function getShowTime(show) {
        const showId = show.mh_shows_id
        // Haalt de tijden op, als er geen tijden zijn, gebruik dan 00:00
        const from = showId && showId.from ? showId.from : '00:00';
        const until = showId && showId.until ? showId.until : '00:00';

        // Verkleint de tijd van 04:00:00 naar 04:00
        const formattedFrom = from.slice(0, 5);
        const formattedUntil = until.slice(0, 5);

        return `${formattedFrom} - ${formattedUntil}`;
    }
 // Group shows by radio station
    function groupByRadioStation(shows) {
        const radioStation = {};

        for (const show of shows) {
            const showId = show.mh_shows_id;

            // Pakt de radio station van de show
            const programShow = showId && showId.show;
            const station = programShow && programShow.radiostation;
            const stationName = station && station.name ? station.name : 'Unknown Station';

            // Als de radio station nog niet bestaat, maak dan een lege array aan
            if (!radioStation[stationName]) {
                radioStation[stationName] = [];
            }

            // Voeg de show toe aan de radio station groep
            radioStation[stationName].push(show);
        }
        return radioStation;
    }

    // Groepeer de shows per radio station (dit is de call)
    const groupedShows = groupByRadioStation((data && data.data && data.data[0] && data.data[0].shows) || []);

Welke testen heb ik uitgevoerd?

ik ben onze hele DOD afgegaan en heb de functionaliteit ook getest.

Code

Ontwerp

Responsive

Toegankelijkheid

Performance x- [x] Je hebt geen onnodige / dubbele code

Mergen

vercel[bot] commented 1 month ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
lose-your-head-the-client-case ✅ Ready (Inspect) Visit Preview 💬 Add feedback Oct 14, 2024 1:42pm
lose-your-head-the-client-case-5q6r ✅ Ready (Inspect) Visit Preview 💬 Add feedback Oct 14, 2024 1:42pm
TomDeeterink1 commented 1 month ago

He @driezie , kijk aub naar de conventies die we vast gesteld hebben.

Onderstaande punten die opgelost moeten worden

Als dit klaar is kijk ik hem opnieuw na!