Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
174 commits
Select commit Hold shift + click to select a range
ec35885
branch test
Tindyy May 12, 2025
14a2db7
Update server.js
RenzoWille May 12, 2025
d91fcd1
Merge pull request #23 from RenzoWille/Server-build
RenzoWille May 12, 2025
ce28c85
feature branche test
Safae-e May 12, 2025
349e227
Create route for admin page in server.js
Tindyy May 12, 2025
e2dd814
#16 feature branche test
Karima002 May 12, 2025
f69b380
add stylesheetl.css
Tindyy May 12, 2025
153c82e
Update server.js
RenzoWille May 12, 2025
b8ae87b
Merge pull request #27 from RenzoWille/branch-test
RenzoWille May 12, 2025
cbc7f80
Merge pull request #25 from RenzoWille/Styleguide
Tindyy May 12, 2025
13a5c77
Update server.js
Tindyy May 12, 2025
5ae0b67
test#2
Safae-e May 12, 2025
c89e733
Merge pull request #26 from RenzoWille/acquisition-page
fatimahilali May 12, 2025
f218ded
test3
Safae-e May 12, 2025
09fca4b
Merge branch 'main' into Detail-page
Safae-e May 12, 2025
b89a2a1
Merge pull request #24 from RenzoWille/Detail-page
Safae-e May 12, 2025
f0218f1
Update server.js
RenzoWille May 12, 2025
beaeaa9
#19 server update
RenzoWille May 12, 2025
584c96c
#6 afbeeldingen ophalen
RenzoWille May 12, 2025
c11de3d
Merge branch 'main' into Server-build
RenzoWille May 12, 2025
7f64997
#10 details route
RenzoWille May 12, 2025
9c69d01
Merge branch 'Server-build' of https://github.com/RenzoWille/pleasura…
RenzoWille May 12, 2025
a12309d
#11 post for like button
RenzoWille May 12, 2025
7c5c302
#12 delete for like button
RenzoWille May 12, 2025
64bb79f
Merge pull request #28 from RenzoWille/Server-build
RenzoWille May 12, 2025
36a4096
Merge branch 'main' into admin-page
fatimahilali May 12, 2025
7961f0c
Merge pull request #22 from RenzoWille/admin-page
fatimahilali May 12, 2025
5142146
stylesheet
Tindyy May 12, 2025
ead4d08
#21
Tindyy May 12, 2025
7f24310
#19 Switch naar arabisch via server verbeterd met parameter
Karima002 May 12, 2025
6159f1a
Merge branch 'main' into Server-build
Karima002 May 12, 2025
f766bcd
#21 add font
Tindyy May 12, 2025
5667941
Merge pull request #30 from RenzoWille/Server-build
Karima002 May 12, 2025
025f77b
#29 #21 fonts bestanden toegevoegd
Karima002 May 12, 2025
ab6e2ab
Detail pagina route gemaakt(#7)
Safae-e May 13, 2025
fd90bed
Merge branch 'main' into Detail-page
Safae-e May 13, 2025
4203990
Merge pull request #31 from RenzoWille/Detail-page
Safae-e May 13, 2025
cadf3a9
html detail pagina(#7)
Safae-e May 13, 2025
62cdf6d
Merge branch 'Detail-page' of https://github.com/RenzoWille/pleasurab…
Safae-e May 13, 2025
6612027
update server.js
Safae-e May 13, 2025
27aa2fc
#5 navbar htmt toegevoegd
May 13, 2025
915477b
#16 Engelse html opzet acquisitionpage
Karima002 May 13, 2025
e83eef6
#16 #33 Arabische form acquisition opzet HTML
Karima002 May 13, 2025
6ea2caa
#16 #33 error bij invoeren onbekende taal URL
Karima002 May 13, 2025
8403f8e
Merge pull request #32 from RenzoWille/navbar
fatimahilali May 14, 2025
11b7245
Merge main into Styleguide – stylesheet.css verplaatst en conflict op…
May 14, 2025
31d4dee
Merge pull request #29 from RenzoWille/Styleguide
fatimahilali May 14, 2025
573e87d
#21 fonts ingeladen met @font-face & variablen gemaakt
Karima002 May 14, 2025
a57a2b7
#21 #40 font-sizes toegevoegd stylesheet
Karima002 May 14, 2025
6636602
Merge pull request #40 from RenzoWille/Styleguide
Karima002 May 15, 2025
8bd6ea0
#41 css style toegevoegd aan de nav
May 15, 2025
53086c9
#33 comment
Karima002 May 15, 2025
b8f9f15
Merge pull request #42 from RenzoWille/navbar-style
fatimahilali May 15, 2025
873003a
hero img gestyled(#7)
Safae-e May 15, 2025
b117d06
Merge branch 'main' into Detail-page
Safae-e May 15, 2025
2ae39c7
css in styles map gezet(#)
Safae-e May 15, 2025
1ca82a6
Merge pull request #34 from RenzoWille/Detail-page
Safae-e May 15, 2025
0af7a1b
html info artwork(#20)
Safae-e May 15, 2025
89943fc
info artwork gestyled(#29)
Safae-e May 15, 2025
8d3ff7b
html art suggesties gemaakt(#35)
Safae-e May 15, 2025
77d78fd
#18 html prototype
Tindyy May 15, 2025
6263046
#18 add button and route
Tindyy May 15, 2025
8bcfff0
suggesties gestyled(#35)
Safae-e May 15, 2025
9f0827b
#17 Post voor acquisition pagina
Karima002 May 15, 2025
c88cb51
Merge pull request #43 from RenzoWille/Feature-issue-20
Safae-e May 16, 2025
afe49cc
#45 #16 CSS toegevoegd aan de acquisition pagina
Karima002 May 16, 2025
70e13e1
Merge pull request #33 from RenzoWille/acquisition-page
Karima002 May 16, 2025
722e162
#45 font-sizes aanpassingen
Karima002 May 16, 2025
5d755ae
detail link aangepast(#10)
Safae-e May 16, 2025
7f6f261
Merge pull request #48 from RenzoWille/Feature-issue-20
Safae-e May 16, 2025
6f126dc
Merge pull request #45 from RenzoWille/acquisition-post
Karima002 May 16, 2025
775ca4e
li class gegeven(#20)
Safae-e May 16, 2025
f19d6af
Merge pull request #49 from RenzoWille/Feature-issue-20
Safae-e May 16, 2025
b59116a
V2 tickets pagina
amirnapoletano May 16, 2025
59af49a
Merge pull request #50 from RenzoWille/Ticketspagina-Amir
amirnapoletano May 16, 2025
aefda8f
update detail.css(#54)
Safae-e May 16, 2025
dedb4dc
#56 HTML: left en right content toegevoegd
May 18, 2025
e0f4e82
#56 Top menu bar content toegevoegd aan dropdown-menu
May 18, 2025
19d11f7
#56 Navigatiekolommen toegevoegd aan dropdown-menu
May 18, 2025
5a83d76
#56 Additional links sectie toegevoegd aan dropdown
May 18, 2025
f3929db
#56 Footer links en logo toegevoegd aan dropdown-menu
May 18, 2025
3966e81
#56 Semantische HTML verbeterd en overbodige nesting verwijderd
May 18, 2025
d509739
#56 Responsive afbeelding voor logo toegevoegd met <picture>
May 18, 2025
d7c6561
Merge pull request #44 from RenzoWille/admin-page
Tindyy May 19, 2025
6fb3b98
#16 post toegevoegd acquisition met language parameter
Karima002 May 19, 2025
dc7d9e5
#16 If else state voor ar/en parameter url
Karima002 May 19, 2025
e606a69
#16 #59 feat: stylesheet toegevoegd aan head & renderen
Karima002 May 19, 2025
7b39912
#16 #59 CSS verbeterd
Karima002 May 19, 2025
cca837a
#16 #59 CSS arabische pagina verbeterd
Karima002 May 19, 2025
9359b30
#59 #17 POST voor succes state (pagina)
Karima002 May 19, 2025
9d33621
#59 Route verbeterd
Karima002 May 19, 2025
17c0f80
#59 #16 HTML succespagina
Karima002 May 19, 2025
1d7e412
#59 #16 CSS verbeterd mobiel succespagina
Karima002 May 19, 2025
97c14b2
H2 class gegeven(#54)
Safae-e May 20, 2025
01d437a
#61 Mobile CSS layout en menu-bar toegevoegd
May 20, 2025
042902f
#61 mobile Knopstijlen, Arabic & nav-columns CSS toegevoegd
May 20, 2025
b3e7a7e
Merge pull request #59 from RenzoWille/acquisition-feat
Karima002 May 20, 2025
99f1164
#61 mobile Sub-links en dropdown-overlay CSS toegevoegd
May 20, 2025
12d0fd9
#61 Desktop layout en dropdown styling toegevoegd
May 20, 2025
2b29d58
#61 Hover-effect toegevoegd aan tickets-btn
May 20, 2025
3899a44
#61 Styling verbeterd voor sub-links (hover + spacing)
May 20, 2025
7898185
Merge pull request #60 from RenzoWille/Feature-issue-54
Safae-e May 20, 2025
7f0465a
#62 opnieuw de HTML geschreven, meer semantisch
Tindyy May 20, 2025
e5a640f
#61 Column headings gestyled aangepast voor Arabisch en Engels
May 20, 2025
0aad4e0
#64 fetching liked object image, title, and artist
Tindyy May 20, 2025
2a4781e
#64 test fetching data id
Tindyy May 20, 2025
e088f1f
#64 test
Tindyy May 20, 2025
e7603f1
Merge pull request #57 from RenzoWille/dropdown-html
fatimahilali May 21, 2025
2b72d60
Merge pull request #65 from RenzoWille/dropdown-css
fatimahilali May 21, 2025
a821931
#56 #61 wijzigingen in de dropdown: HTML en CSS gedaan, classnaam gew…
May 21, 2025
bdf34e8
Merge pull request #67 from RenzoWille/change
fatimahilali May 21, 2025
7725983
#6
RenzoWille May 21, 2025
56a5909
Micro-interaction #58
amirnapoletano May 22, 2025
2ad21b8
Merge pull request #63 from RenzoWille/admin-page
Tindyy May 22, 2025
9311af1
Merge branch 'main' into Admin-fetching-from-API-(ft-#64)
Tindyy May 22, 2025
5acdf29
# 52Feed back verwerkt: layout verbeterd, fonts lokaal, CLS opgelost
May 22, 2025
9638608
#68 flashcard scoll-animation
RenzoWille May 23, 2025
87a6b8a
Merge branch 'main' into Ticketspagina-Amir
amirnapoletano May 23, 2025
db9a8d6
Merge pull request #70 from RenzoWille/feedback-performance
amirnapoletano May 23, 2025
84488d8
#71 grid ipv flex en titel styling + see more link
RenzoWille May 23, 2025
ae59363
#58 CSS toegevoegd voor pleasurable UI button
Karima002 May 23, 2025
466b35f
navbar animatie toegevoegd
May 23, 2025
76fbaff
#73 try en catch error toevoegen
Karima002 May 23, 2025
6c9533a
#73 comments toegevoegd
Karima002 May 23, 2025
8df3863
Merge pull request #73 from RenzoWille/acquisition-feat
Karima002 May 23, 2025
c63bff6
Merge branch 'main' into Admin-fetching-from-API-(ft-#64)
amirnapoletano May 23, 2025
2143528
Merge pull request #74 from RenzoWille/nav-animation
fatimahilali May 23, 2025
393df33
Merge pull request #72 from RenzoWille/Ticketspagina-Amir
amirnapoletano May 23, 2025
27b461f
#71 @media query toegevoegd voor mobiele versie
RenzoWille May 23, 2025
6b21496
#71 font grootte en stijl veranderd voor de titel
RenzoWille May 23, 2025
639f4ab
Merge pull request #71 from RenzoWille/gallery
RenzoWille May 23, 2025
6227fd3
Last version Tickets pagina
amirnapoletano May 23, 2025
88b8f62
Merge branch 'main' into Admin-fetching-from-API-(ft-#64)
Tindyy May 25, 2025
1906f59
Merge pull request #66 from RenzoWille/Admin-fetching-from-API-(ft-#64)
Tindyy May 25, 2025
dd66050
#19 Directus URL uitgebreid
Karima002 May 26, 2025
2792e43
#19 Queryparameter aan route toegevoegd
Karima002 May 26, 2025
34edd26
#19 Arabische HTML basis
Karima002 May 26, 2025
922c105
#19 if-else state toegevoegd & inspringen verbeterd
Karima002 May 26, 2025
2a83077
#19 error bij onbekende taal
Karima002 May 26, 2025
73b227a
#19 small CSS en HTML changes
Karima002 May 26, 2025
a1096ba
#19 dropdown toegevoegd
Karima002 May 26, 2025
719b6fb
#19 arabische informatie uit API gehaald
Karima002 May 26, 2025
3bb36b8
#56 Fix: dropdownmenu op desktop juist gepositioneerd en uitgelijnd
May 26, 2025
b4ad5a6
#58 Fix: micro-animatie toegevoegd aan links in kolommen
May 26, 2025
d1d09a2
#5 Fix: navbar op desktop correct gepositioneerd
May 26, 2025
21ea55d
#78 #16 verwijziging van detailpagina naar acquisition
Karima002 May 26, 2025
fbe7db2
#19 #78 verwijzing nav naar arabische homepage
Karima002 May 26, 2025
36faf7a
#81
RenzoWille May 26, 2025
47a16a0
#78 #19 nieuwe HTML liquid file arabisch
Karima002 May 26, 2025
8668ed2
#78 #19 default title detailpagina
Karima002 May 26, 2025
d4ab65a
#78 #19 API URL /ar uitgebreid
Karima002 May 26, 2025
b55ff58
Merge pull request #79 from RenzoWille/menu-fix-desktop
fatimahilali May 27, 2025
6af8ccb
Merge pull request #82 from RenzoWille/gallery
RenzoWille May 27, 2025
4ad284c
Merge pull request #78 from RenzoWille/arabic-switch
Karima002 May 27, 2025
5d84750
#84 scroll-animation fade in
RenzoWille May 27, 2025
ff1e792
Update README.md
Karima002 May 27, 2025
4f7d251
Update README.md
Karima002 May 27, 2025
3d12766
#86 readme
May 27, 2025
32bfcdf
Update README.md
Karima002 May 27, 2025
39ff647
Merge pull request #88 from RenzoWille/readme
fatimahilali May 27, 2025
21d737c
Update README: mijn gedeelte toegevoegd
May 27, 2025
f1bbe16
Update README
May 27, 2025
7673b0f
#85 using of column instead of grid
RenzoWille May 27, 2025
32d4b73
kleine wijzigingen aangebracht aan de readme
May 27, 2025
1f56f54
#85 small changes
RenzoWille May 27, 2025
d036bf0
56: a href linkjes toegevoegd
May 27, 2025
09725cb
Merge branch 'main' into gallery
RenzoWille May 27, 2025
8e5672b
Merge pull request #90 from RenzoWille/feature/add-links
fatimahilali May 27, 2025
eab05ff
Update README.md
RenzoWille May 27, 2025
7fc9345
Update README.md
RenzoWille May 27, 2025
e0bf99e
#85 JS explanation
RenzoWille May 27, 2025
0b9ae4e
Merge branch 'gallery' of https://github.com/RenzoWille/pleasurable-u…
RenzoWille May 27, 2025
4e8bf55
Merge pull request #85 from RenzoWille/gallery
RenzoWille May 27, 2025
8c36941
#87 goede link naar detailpagina
Karima002 May 27, 2025
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ logs
npm-debug.log*
node_modules
.npm
.env
.env
.idea
253 changes: 244 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@

# Pleasurable User Interface

Ontwerp en maak met een team voor een opdrachtgever een interface waar gebruikers blij van worden.

De instructie vind je in: [INSTRUCTIONS.md](https://github.com/fdnd-task/pleasurable-ui/blob/main/docs/INSTRUCTIONS.md)



## Inhoudsopgave

* [Beschrijving](#beschrijving)
Expand All @@ -16,21 +15,257 @@ De instructie vind je in: [INSTRUCTIONS.md](https://github.com/fdnd-task/pleasur
* [Licentie](#licentie)

## Beschrijving
<!-- Bij Beschrijving staat kort beschreven wat voor project het is en wat je hebt gemaakt -->
<!-- Voeg een mooie poster visual toe 📸 -->
<!-- Voeg een link toe naar Github Pages 🌐-->

Voor deze sprint hebben we als team gewerkt aan het opnieuw bouwen van de website van het Qatar Museum. We hebben de taken verdeeld en iedereen heeft aan zijn eigen onderdeel gewerkt. In deze Readme leggen we per teamlid uit wat hij of zij heeft gedaan, welke keuzes daarbij zijn gemaakt en hoe het proces is verlopen.

**Live:** [https://pleasurable-ui-mw41.onrender.com/](https://pleasurable-ui-mw41.onrender.com/)

---

## Gebruik
<!-- Bij Gebruik staat de user story, hoe het werkt en wat je er mee kan. -->

## Kenmerken
<!-- Bij Kenmerken staat welke technieken zijn gebruikt en hoe. Wat is de HTML structuur? Wat zijn de belangrijkste dingen in CSS? Wat is er met JS gedaan en hoe? Misschien heb je iets met NodeJS gedaan, of heb je een framwork of library gebruikt? -->
Deze website is bedoeld voor bezoekers van het Qatar Museum die informatie willen opzoeken over kunstobjecten, in zowel het Arabisch als het Engels.

---

### Fatima Menu Overlay, Dropdown & Home Route

### De gebruiker

Mijn onderdeel was het bouwen van het overlaymenu aan de frontend en de GET/ route voor de homepage

- Als je op MENU klikt, verschijnt een overlay over het hele scherm.
- Op desktop zie je links een grote afbeelding en rechts grote navigatielinks in Arabisch en Engels.
- Op mobiel is de afbeelding verborgen en het menu simpeler, zodat het rustig en overzichtelijk blijft.

---

### Screenshots

<img src="public/assets/dropd.png" width="300" alt="Desktop dropdown menu" />
<br>
<img src="public/assets/navd.png" width="300" alt="Desktop navigation" />
<br>
<img src="public/assets/dropm.png" width="300" alt="Mobile dropdown menu" />
<br>
<img src="public/assets/navm.png" width="300" alt="Mobile navigation" />

---

#### Feedback & Feedforward

- Als je over een menu link hovert, verschijnt een subtiele pulse animatie: zo ziet de gebruiker dat je kunt klikken.
- Andere links worden roze bij hover, wat extra feedback geeft.
- De CLOSE-knop maakt duidelijk hoe je het menu weer sluit.
- Het menu opent met een rustige animatie, zodat de overgang niet stoort.

Deze keuzes zorgen ervoor dat het menu makkelijker te gebruiken is

---

#### Toegankelijkheid

- Belangrijke titels zijn alleen zichtbaar voor screenreaders via `.visually-hidden`.
- Er is een hoog contrast tussen zwarte tekst en gele achtergrond, in de huisstijl van Qatar Museums.
- Het menu werkt:
- Zonder JavaScript
- In oudere browsers
- Met alleen een toetsenbord (voor mensen met een beperking)
- Afbeeldingen zijn responsive en worden lazy geladen.

---

### Ontwerpkeuzes

Ik wilde dat het menu door iedereen te gebruiken is op elk apparaat, met of zonder ondersteuning voor CSS of JS. Daarom heb ik het gebouwd in lagen (volgens Progressive Enhancement):

1. **Functional (HTML)**
- Semantische structuur met `<nav>`, `<section>`, `<article>`, `<h1>`, `<h3>`
- Werkt zonder styling
- Afbeeldingen via `<picture>` met AVIF/WebP/JPG als fallback
- RTL styling voor Arabische teksten

2. **Reliable (CSS)**
- Eenvoudige CSS zonder afhankelijk te zijn van grid of animatie
- Basislayout blijft werken in oude browsers

3. **Usable (CSS + JS)**
- Responsive layout via media queries
- Duidelijke hover, focus en active states
- Menu opent met alleen een `#dropdown-menu` (geen JS nodig)
- SVG iconen

4. **Pleasurable (Interactie & Animatie)**
- Animatie bij openen (`@keyframes dropdownEnter`)
- Glow effect via `mix blend-mode` en `clip path`
- Micro interactie met `subtlePulse` animatie
- Fallback styling voor browsers zonder ondersteuning
- Afbeeldingen worden snel geladen met lazy loading en moderne formaten

---

### Homepagina Route (Server-side)

Ik maakte de `GET /` route voor de homepage. Deze haalt kunstobjecten op uit de Directus API en stuurt ze naar de template:

```js
app.get('/', async (req, res) => {
try {
const apiResponse = await fetch('https://fdnd-agency.directus.app/items/fabrique_art_objects');
const apiResponseJSON = await apiResponse.json();

res.render('index.liquid', {
artworkData: apiResponseJSON.data
});
} catch (error) {
console.error('Fout bij ophalen van data:', error);
res.status(500).send('Er ging iets mis bij het laden van de homepage.');
}
});
```

---

### Karima

### Loading State
Voordat het formulier wordt verzonden krijg je een loading state te zien. De opacity van de button wordt verlaagd en er komt een zandloper emoji tevoorschijn. De loading state is gecodeerd met behulp van javascript en CSS.



### Succes State
Na het verzenden van het acquisition formulier krijg je een “succes state” te zien. Het is een apart scherm die ziet nadat je een formulier succesvol hebt ingevuld. Dit is belangrijk voor de gebruikerservaring (UX) omdat het geeft duidelijkheid en het bevestigd dat alles goed is gegaan.

![image](https://github.com/user-attachments/assets/a028b967-26d0-4d19-a345-ca960062337a)

### Tweetalige navigatie (Engels & Arabisch)
Vanuit de navigatie kan je switchen van een Engelse site naar een Arabische site. Op de homepage kan je vervolgens een artobject kiezen. De informatie van het artobject wordt in het arabisch opgehaald vanuit de database. Als er geen informatie beschikbaar wordt een default tekst weergegeven. Vanuit het artobject kan je ervoor kiezen een formulier in te vullen. De bezoeker kan het formulier invullen als de bezoeker een artobject wil verkopen of verdere informatie heeft over een bepaald artobject. Dit formulier kan zowel in het arabisch als engels worden ingevuld.

De taalswitch wordt via de backend uitgevoerd. De juiste taalversie van de content wordt op basis van de URL geladen (bijvoorbeeld /en/object/:id/ of /ar/object/:id/). De Express-route vangt het :lang-deel van de URL op en geeft het door aan de parameter in de URL. In de Liquid-template wordt vervolgens bepaald welke vertalingen getoond worden:

``` LIQUID.JS
{% if lang == 'en' %}
<h1>{{ artwork.title }}</h1>
<p>{{ artwork.summary }}</p>
{% elsif lang == 'ar' %}
<h1>{{ artwork.titleAR }}</h1>
<p>{{ artwork.summaryAR }}</p>
{% else %}
<p>Language not supported</p>
{% endif %}
```

---

### Tessa


### Renzo Home page & Server build

Mijn deel van de opdracht ging over het stylen van de home pagina en het opzetten van de server met server-side JavaScript. Als feedback van de opdrachtgever had ik de opdracht gekregen de home pagina meer te laten lijken op het ontwerp. Dit heb ik gedaan door gebruik te maken van veel witruimte, de afbeeldingen zonder styling, zonder te croppen, en ook heb ik een fijne scroll-animatie toegevoegd. Voor de scroll-animatie heb ik gebruik gemaakt van een fade-in op scroll basis, zo lijkt het net alsof de afbeeldingen rustig binnenvallen op de pagina hoe verder je srollt. Ook heb ik op aanvraag van de opdrachtgever niet meer gebruik gemaakt van `display: grid`, maar gebruik gemaakt van `column` om zo de kolommen weer te geven.

``` Client-side JS voor scroll-fade-in animatie
document.addEventListener("DOMContentLoaded", function () {
// Wacht tot de hele pagina is geladen. Pas dan begint het script te draaien, zodat het zeker weet dat alle afbeeldingen in de HTML staan.

const elements = document.querySelectorAll('.scroll-fade-in');
// Zoek op de pagina alle elementen met de class .scroll-fade-in. Dat zijn de afbeeldingen die je later wilt laten "fade-in"-animeren.

const observer = new IntersectionObserver((entries) => {
// Hier maken we een “waarnemer” (observer) aan. Die kijkt of een afbeelding in beeld komt (dus of jij ernaartoe scrollt).

entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
// Voor elk element dat in beeld komt controleert het script of dat element daadwerkelijk zichtbaar is op je scherm. Als dat zo is, voegt het de class visible toe
}, {
threshold: 0.1
});
// Als minstens 10% van het element zichtbaar is op het scherm, dan moet de fade-in gestart worden.

elements.forEach(el => observer.observe(el));
});
// “Hou elk van die elementen in de gaten.” Dus nu weet de browser welke afbeeldingen hij moet laten animeren als je naar beneden scrollt.
```

In de server heb ik ervoor gezorgd dat wat /GET routes klaarstonden om te gebruiken door de rest van de groep, ook is er een POST en DELETE gemaakt voor de like buttons die worden gebruikt op de Admin page.

### Feedback & Feedforward
Tijdens het hoveren over de afbeelding krijgt deze een animatie zodat het duidelijk wordt dat er op geklikt kan worden, als er op geklikt wordt, wordt de bezoeker naar de detail pagina gestuurd.

``` Feedback
.image-container {
break-inside: avoid;
margin-bottom: 1rem;
display: inline-block;
width: 100%;
transition: transform 0.3s ease;
}

.image-container:hover {
transform: scale(0.97);
}
```

### Video van de homepage

https://github.com/user-attachments/assets/68cc7549-856a-4c35-b829-a718843b9944




### Amir

---

## Installatie
<!-- Bij Instalatie staat hoe een andere developer aan jouw repo kan werken -->

Volg deze stappen om het project lokaal te draaien:

### 1️⃣ Clone de repository

Open je terminal en voer het volgende commando uit:

```bash
git clone https://github.com/RenzoWille/pleasurable-ui.git
cd pleasurable-ui

```

2️⃣ Installeer de afhankelijkheden

Installeer alle benodigde packages met:

```bash
npm install
```

3️⃣ Start de applicatie

```bash
npm start
```

4️⃣ Open in je browser

Ga in je browser naar:

```bash
http://localhost:8000
```

Nu draait je project lokaal!

---

## Bronnen

-[Qatar Museums](https://qm.org.qa) Voor inhoud, inspiratie en visuele stijl.

---

## Licentie

This project is licensed under the terms of the [MIT license](./LICENSE).
Loading