Senly
Releases & changelog
Live · v13.27

Wat is er nieuw in Senly

Een transparant overzicht van elke verbetering, fix en nieuwe functie. We bouwen Senly elke dag een stukje beter.

1066
Updates totaal
793
Releases
v13.27
Laatste release · maandag 8 juni 2026
v13.27
maandag 8 juni 2026
15:32

Affiliate — Stripe-status automatisch hersteld na gemiste callback

Bug fix

Stripe "Verbind met Stripe" verdwijnt nu zodra de koppeling al gemaakt is

stripeOnboarded-flag bleef false als de ?onboarding=complete callback niet kon voltooien (bv. door de 500-bug)

v13.26
maandag 8 juni 2026
15:30

Affiliate — 500 na Stripe-redirect opgelost

Bug fix

Geen 500-fout meer na Stripe Connect onboarding

useSearchParams() zonder Suspense gooit een Next.js 14 error zodra Stripe terugredirect met ?onboarding=complete

v13.00
maandag 8 juni 2026
11:15

Klantprofiel-gate: inactieve en gepauzeerde profielen zijn geblokkeerd

Nieuwe functie

Overlay bij openen van inactief of gepauzeerd klantprofiel

Gebruikers konden inactieve klanten gewoon openen en gebruiken zonder te betalen (verdienmodel-lek)

v12.86
maandag 8 juni 2026
00:10

AI brand-analyse bij nieuwe klant aanmaken

Nieuwe functie

Vul je klant-profiel automatisch in vanaf hun website

Een nieuwe klant aanmaken kostte 5-10 minuten handwerk: naam, branche, kleur, doelgroep en tone-of-voice allemaal handmatig invullen — waardoor velden vaak leeg bleven.

Nieuwe functie

Brand-voice profile beschikbaar voor alle AI-content per klant

De geanalyseerde tone-of-voice + doelgroep wordt opgeslagen in Client.toneOfVoice en Client.audience. Bestaande AI-features (captiongeneratie, content-kalender, maandrapport-narratives) kunnen dit profiel meelezen in hun system-prompts zodat alle gegenereerde content meteen op de stem van de klant aansluit zonder dat het bureau het handmatig hoeft te beschrijven.

v12.84
zondag 7 juni 2026
20:25

Bulk-acties + saved filters + extra webhook-events op CRM contacten

Nieuwe functie

Bulk-select op CRM contactenlijst

Tags toepassen of contacten verwijderen moest één voor één.

Nieuwe functie

Saved filters dropdown in CRM contactenlijst

Naast de zoekbalk verschijnt nu een Filters-knop die per user (en optioneel team-breed) zoek-query + sortering kan opslaan. Eén klik herstelt de filter.

Nieuwe functie

Extra webhook-events: lead.status_changed, contract.signed, payment.received

Status-wijziging in een lead, ondertekend contract en Stripe-betalingen vuren nu ook outgoing webhooks. Webhook-receivers kunnen daarmee onboarding-flows, accounting-syncs of Slack-notificaties automatiseren zonder code.

v12.83
zondag 7 juni 2026
20:00

Tags-catalogus, outgoing webhooks en saved filters

Nieuwe functie

Centrale tags-catalogus met kleuren en cascade-rename

Tags werden alleen als string opgeslagen op contacten en leads; bij import ontstond ruis (bv. `csv-import-2026-…`) en duplicates met varianten in spelling. Geen manier om kleur toe te kennen of in bulk op te ruimen.

Nieuwe functie

Outgoing webhooks voor integraties zonder code

Voor automatiseringen met Zapier, Make, n8n of een eigen backend was er geen out-of-the-box manier om Senly-events naar buiten te sturen.

Nieuwe functie

Saved filters voor CRM en klanten

Power-users met veel klanten of leads moesten elke keer dezelfde filter-combinaties handmatig instellen.

v12.79
zondag 7 juni 2026
18:23

Eigen velden per klant en CRM-contact + CSV-import met veld-mapping

Nieuwe functie

Definieer eigen velden per tenant via Admin → Eigen velden

Bureaus willen data per klant of contact opslaan die niet in het standaard-schema past — NPS-score, contract-einddatum, branche-code, functie, regio, lead-bron-detail.

Nieuwe functie

Eigen-velden-sectie op klantprofiel én CRM-contact-detail

Klant-detail krijgt een collapsible "Eigen velden"-sectie onder Notities; CRM-contact-detail toont dezelfde velden in de slide-over. Beide secties verbergen zichzelf automatisch als er voor die entity nog geen velden gedefinieerd zijn — geen lege ruimte voor bureaus die deze feature niet gebruiken.

Nieuwe functie

CSV-import van contacten ondersteunt nu kolom-mapping naar eigen velden

Bij CSV-import gingen kolommen die niet in het auto-detect-lijstje stonden verloren — terwijl ze vaak de waardevolste lead-context bevatten (functie, sector, lead-score).

v12.63
zondag 7 juni 2026
17:47

Kleine UI-verbeteringen: commissieknop, tools en takenpagina

Polish

Witte tekst op de commissieclaim-knop

De tekst op de groene "Dien commissieclaim in"-knop was zwart en moeilijk leesbaar

Polish

"Aanbevolen voor jou" sectie verborgen als er geen aanbevelingen zijn

Het kopje "Aanbevolen voor jou" bleef zichtbaar ook al stonden er geen apps onder

Polish

GoHighLevel-vermelding verwijderd uit de takenpagina

De melding "niet gekoppeld" op de takenpagina noemt geen externe tool meer bij naam

v12.62
zondag 7 juni 2026
17:43

CRM: zichtbaarheid beperkt tot eigen gekoppelde contacten

Beveiliging

Gebruikers zien in het CRM alleen hun eigen toegewezen leads en contacten

Managers, setters en closers konden elkaars leads en contacten inzien in het CRM-systeem

v12.58
zondag 7 juni 2026
16:59

Privacy en algemene voorwaarden volledig vernieuwd (Google API compliance)

Infra

Privacyverklaring uitgebreid met Google API Services User Data Policy en alle nieuwe features

De privacyverklaring miste een uitgebreide Google API Services sectie (vereist voor de Google OAuth verificatie van Analytics, Search Console en Bedrijfsprofiel). Verder waren veel features die er sinds de laatste update zijn bijgekomen niet beschreven: Google Insights, AI fallback ladder met 8 providers, Booking, Outreach + cookieloze tracking, Stripe + Stripe Connect, klantreview portaal.

Infra

Algemene voorwaarden geactualiseerd met actuele prijzen + nieuwe features

De voorwaarden noemden verouderde prijzen (70/60 euro per klant tot 20 daarna) en ontbeerden de nieuwe Solo/Growth/Scale tiers met IP gebaseerde valuta detectie. Ook ontbraken vermeldingen van trial, refund policy, AI ondersteuning, Senly Connector eigen verantwoordelijkheid en API derden disclaimers.

v12.56
zondag 7 juni 2026
16:26

Admin: bekijk portaal als teamlid

Nieuwe functie

View-as knop op gebruikersbeheer

Admin kon niet controleren hoe het portaal eruitziet vanuit het perspectief van een setter of manager.

v12.55
zondag 7 juni 2026
16:26

AI-samenvatting: source-citation + cache-invalidatie bij promptbump

Polish

AI mag alleen nog naar pagina-paden en queries verwijzen die letterlijk in de data staan

Gemini stelde soms acties voor over een verzonnen pagina (bv "agency-alternatief") die niet in jouw Google Analytics of Search Console data zat. Minor hallucinatie, maar storend als je actiepunten letterlijk wilt opvolgen.

Infra

Cache invalideert automatisch bij elke prompt-bump

Een nieuwe prompt-versie zou pas na 24 uur effect hebben omdat de 24u-cache nog de oude samenvatting bevatte.

v12.53
zondag 7 juni 2026
16:05

AI-samenvatting: 8-provider fallback + thinking-budget fix

Bug fix

AI-samenvatting werkt nu robuust via de hele provider-ladder

De widget toonde "Kon de samenvatting niet genereren". Twee oorzaken: (1) Gemini-flash is een thinking-model en het thinking at het output-budget op waardoor JSON truncated terugkwam, (2) ik gebruikte een directe Gemini-call zonder fallback naar de 7 andere providers die Senly al heeft.

v12.52
zondag 7 juni 2026
15:59

AI-samenvatting: truncated output + defensievere JSON-parser

Bug fix

AI-samenvatting widget toonde "Kon de samenvatting niet genereren"

Gemini gaf wel een response terug, maar maxOutputTokens stond op 600 wat soms te krap was voor een NL samenvatting plus 2 actiepunten in JSON. De output werd halverwege afgekapt en mijn JSON.parse faalde met "Unterminated string in JSON".

v12.51
zondag 7 juni 2026
15:49

Nieuwe AI-samenvatting widget: Gemini schrijft je wekelijkse insights

Nieuwe functie

AI leest je GA + Search Console data en schrijft een leesbare samenvatting

KPIs zijn handig maar abstract. Een eigenaar die snel wil weten wat er deze week gebeurde moest zelf grafieken interpreteren en actiepunten verzinnen. Voor agencies die dit voor klanten doen is dat herhaalbaar werk dat slim kan.

Infra

TenantAiInsight model + structured JSON-prompt naar Gemini

Het was nog niet vastgelegd hoe AI-output gepersisteerd of gerate-limited werd voor de Insights-toepassing.

v12.50
zondag 7 juni 2026
15:30

Insights-sparkline werd paginahoog op brede widgets

Bug fix

Sparkline-grafiekjes hadden geen vaste hoogte

De SVG-sparklines in Bezoekers, Bedrijfsprofiel en de nieuwe Zoekprestaties-widget waren paginalang uitgerokken zodra de widget breder dan ~150px was. De viewBox-ratio bepaalde de hoogte automatisch i.p.v. mijn bedoelde 50-70px.

v12.46
zondag 7 juni 2026
13:38

Insights-widgets bleven niet bewaard na pagina-wissel

Bug fix

Aangevinkte Google Insights-widgets verdwenen weer bij refresh

Je kon de 5 nieuwe widgets (Website KPIs / Bezoekers / Bronnen / Nu online / Bedrijfsprofiel) aanzetten via Widgets beheren, maar zodra je naar een andere pagina ging en terugkwam stonden ze er weer NIET. De keuze ging dus niet naar de DB.

v12.77
zondag 7 juni 2026
13:09

Homepage: feature-carousel detail-panel vaste hoogte op mobiel

Polish

Pagina-content verspringt niet meer bij wisselen van feature

Op mobiel verschilde de hoogte van de detail-panel (eyebrow + titel + body + bullets) per feature omdat sommige meer/langere bullets hadden. Alles eronder (de "Krachtige extras"-sectie en verder) sprong elke wissel ~50-100px omhoog of omlaag.

v12.76
zondag 7 juni 2026
13:07

Support-chat tooltip close-knop: ei -> rondje (iOS Safari fix)

Bug fix

Sluit-knopje (X) van het chat-tooltip was ei-vormig op mobiel

De X-knop in het support-chat tooltip (rechtsboven) werd op iOS Safari verticaal uitgerekt — leek een ei i.p.v. een rondje. Width/height stonden beide op 20px maar UA-button-styling pushte de hoogte hoger.

v12.75
zondag 7 juni 2026
02:32

Affiliate-voorwaarden 4-talig + footer-link

Nieuwe functie

Volledige NL/EN/DE/FR vertaling van affiliate-voorwaarden + footer-link

De voorwaarden-pagina was NL-only en niet vindbaar voor bezoekers die niet door /partners of /affiliate kwamen.

v12.74
zondag 7 juni 2026
02:26

Nieuw: affiliate-voorwaarden pagina + akkoord-checkbox + portal-link

Nieuwe functie

Affiliate-voorwaarden gestructureerd vastgelegd

Het partner-programma had nog geen publieke voorwaarden. Geen regels over wat wel en niet mag, geen uitbetaalvoorwaarden, geen termination clauses. Juridisch zwak en partners wisten niet waar ze aan toe waren.

v12.73
zondag 7 juni 2026
02:16

Homepage: sticky pill mobiel gecentreerd, Senly tekst verborgen

Polish

Mobile pill compactere layout zonder Senly tekst

Op mobiel in sticky-state stond de pill niet gecentreerd — links veel meer ruimte dan rechts omdat de "Senly" tekst de inhoud naar links duwde. Plus de padding was asymmetrisch (20px links / 14px rechts).

v12.72
zondag 7 juni 2026
02:05

Homepage: sectie-titels ietsje groter op desktop (50 -> 56)

Polish

Hero/Section/CTA titels bumped van max 50px naar 56px

Na de v12.62-verkleining naar clamp(28, 3.7vw, 50) voelde de titel op desktop net te klein.

v12.71
zondag 7 juni 2026
02:01

Homepage: mobile hero nog +45px lucht tussen nav en eyebrow

Polish

Padding-top van clamp 120-170 naar clamp 165-215

v12.70 voegde +67px ruimte toe tussen nav-row en eyebrow — gebruiker wilde nog ~45px extra erbij.

v12.70
zondag 7 juni 2026
01:40

Homepage: mobiele hero uniform 4px wit + meer lucht tussen nav-row en eyebrow

Polish

Hero margin uniform aan alle zijden + ruimte tussen nav en eyebrow

Mobiele hero had asymmetrische witruimte: 4px links/rechts maar 14px boven/onder. En de nav-row (Senly logo + Inloggen + NL pill) zat te dicht op de eyebrow-badge eronder.

v12.69
zondag 7 juni 2026
01:32

Homepage: mobile hero begint nog hoger op het scherm

Polish

Padding-top verder verkleind van clamp 80-130 naar clamp 50-90

Vorige iteratie maakte padding-top clamp(80, 12vh, 130) — gebruiker wilde de content nog hoger zien (zoals na ~30px scroll vanaf de standaard view).

v12.68
zondag 7 juni 2026
01:30

Homepage: hero-subtitle eerste zin 2 woorden uitgebreid

Polish

"en compleet" toegevoegd aan eerste zin van hero-subtitle

De vorige fix toonde de hele tweede zin op mobiel — dat was te veel. De gebruiker wilde slechts ~2 woorden langer, niet 2 extra regels.

v12.67
zondag 7 juni 2026
01:23

Homepage: mobiel minder lucht bovenaan + langere subtitle

Polish

Hero-content begint hoger op het scherm + tweede zin subtitle terug

Op mobiel zat de titel ver onder de bovenrand door een te grote padding-top (clamp 130-200). En de subtitle was bewust ingekort tot alleen de eerste zin — voelde te kaal.

v12.66
zondag 7 juni 2026
01:21

Homepage: Growth-calculator tabs als slider op mobiel

Polish

Instagram / TikTok / LinkedIn / Facebook tabs worden swipe-slider <720px

De 4 platform-tabs (Instagram, TikTok, LinkedIn, Facebook) pasten niet allemaal naast elkaar op mobiele schermen — Facebook viel deels of helemaal buiten beeld, en de tabs werden te krap geknepen.

v12.65
zondag 7 juni 2026
00:41

Homepage: mobiele hero breder en hoger

Polish

Mobile hero krijgt ademruimte (margins + padding)

Op mobiel zat de hero binnen relatief brede zijmarges en met een krappe padding-bottom van 48px. Daardoor oogde de content geknepen — de "Bekijk demo" knop en de checklist eronder eindigden te krap tegen de hero-rand.

v12.64
zaterdag 6 juni 2026
22:45

Homepage: hero-lengte terug, pill verder van zijkanten, nav iets lager

Polish

Hero padding-bottom terug + nav meer lucht aan de zijkanten en bovenkant

De extra hero-lengte van v12.63 (padding-bottom clamp 140-180) was te lang — origineel 90px voelt beter. De sticky pill stond na scroll te dicht op de viewport-randen (17px lucht). En de hele nav (initial + sticky pill) zat met top:14 te dicht tegen de bovenrand.

v12.63
zaterdag 6 juni 2026
22:36

Homepage: hero onderkant witruimte + meer lengte

Polish

Hero symmetrisch wit aan alle vier kanten + langere sectie

Live meting op senly.io toonde: hero-top 18px, links 17px, rechts 17px witruimte, maar onderkant 0px — de hero raakte de volgende sectie direct. Asymmetrisch.

v12.62
zaterdag 6 juni 2026
22:30

Homepage: sectie-titels kleiner (van 64px max naar 50px)

Polish

Hero/Section/CTA-titels uniform verkleind

De grote titels op de homepage (Het all-in-one platform, Krachtige extras, Alles wat je nodig hebt, Live binnen een middag, etc.) waren clamp(32, 4.8vw, 64) en oogden te dominant. De pagina las als een aaneenschakeling van geschreeuwde headlines.

v12.61
zaterdag 6 juni 2026
22:27

Homepage: nav-pill symmetrisch + zachte morph i.p.v. scroll-klap

Polish

Nav rechts net zo ver van de zijkant als links + smooth scroll-overgang

Bij scrollen sprong de nav-pill als een klap van de brede non-pill state (margins clamp 24-64) naar de smalle pill state (margins 14). Geen tussenliggende animatie. En ondanks scrollbar-compensatie leek de pill rechts ruimer dan links omdat .sn-nav zelf op left:14/right:14 stond, waardoor (100vw - 100%) binnen .sn-nav-inner de 28px gap meerekende i.p.v. alleen de scrollbar.

v12.60
zaterdag 6 juni 2026
22:12

Homepage: nav-pill verbreedt op scroll i.p.v. versmalt

Polish

Pill-morph richting omgekeerd — bij scroll naar hero-rand-breedte

De vorige iteratie maakte de nav full-width edge-to-edge (v12.58) — dat was niet wat bedoeld was. Voor de v12.58-fix versmalde de pill op scroll naar max-width 760px in het midden.

v12.58
zaterdag 6 juni 2026
22:02

Homepage: nieuwe full-width sticky nav (glass-effect, edge-to-edge)

Polish

Volledig nieuwe nav-bar bovenaan senly.io

De vorige nav was een gecentreerde "pill" met witte marges links/rechts en een morph-animatie bij scrollen. Voelde meer als een micro-component dan een echte website-header — en past niet bij "duur, premium" design.

v12.52
zaterdag 6 juni 2026
20:57

Homepage: dubbele disclaimer onder de calculator weggehaald

Polish

Tweede asterisk-regel onder de calc-card verwijderd

Onder de Growth-calculator stonden twee bijna-identieke disclaimer-regels onder elkaar — één binnen de info-card en één los onder de card. Visueel lelijk en redundant.

v12.51
zaterdag 6 juni 2026
20:55

Homepage: ruimere witruimte tussen secties (elegant ritme)

Polish

Padding-y van alle secties + margin tussen kaarten vergroot

De homepage secties zaten te krap op elkaar — voelde gehaast en weinig premium. Elegantie komt voor een groot deel van ademruimte.

v12.50
zaterdag 6 juni 2026
20:51

Homepage: Growth-calculator stats-rij naar premium "metric-display"-look

Polish

High-end SaaS finish voor de stats-rij

De stats-rij oogde te plat — flat lichtgrijs blok met simpele iconen en tekst. Voelde niet als een duur, premium product.

v12.49
zaterdag 6 juni 2026
20:47

Homepage: Growth-calculator rustiger en eleganter (huisstijl-look)

Polish

Calculator naar elegant wit + teal i.p.v. platform-gradient overload

De Growth-calculator op de homepage had per platform een kleurrijke gradient achtergrond, gradient tab-pill, gradient cijfers in de stats-rij en een platform-gekleurde CTA-knop. Te druk in vergelijking met de rest van de pagina.

v12.46
zaterdag 6 juni 2026
20:29

Homepage: feature-carousel kan nu loop-video tonen i.p.v. screenshot

Nieuwe functie

Optionele video op de Platform-carousel kaarten

Elke feature in de "Alles wat je nodig hebt"-carousel toonde alleen een statische screenshot. Voor sommige features (zoals het klantprofiel met brand kits) zegt een korte schermopname meer dan een stilstaand beeld.

v12.45
zaterdag 6 juni 2026
20:26

Insights-widgets: 7/30/90 dagen toggle + "vs vorige periode"-badges

Nieuwe functie

Zelf kiezen of je 7, 30 of 90 dagen wilt zien per widget

Alle GA- en Bedrijfsprofiel-widgets toonden hardcoded 30 dagen. Wilde je vandaags piek of het kwartaaltrend zien, dan moest je naar Google.

Nieuwe functie

Delta-badges: pijltje + % vs vorige periode op alle KPIs

Een KPI-getal op zichzelf is moeilijk te beoordelen — is 2.300 bezoekers veel of weinig? Je had geen referentie zonder GA open te klikken.

v12.43
zaterdag 6 juni 2026
20:22

Homepage: raster-textuur op witte secties lichter

Polish

Grid-lijntjes op de Platform/Vergelijking-kaarten subtieler

De rastertextuur (rgba 15,23,42 / 0.045) op de witte raster-kaarten was iets te aanwezig — leidde af van de content erin.

v12.42
zaterdag 6 juni 2026
20:20

Changelog: italic "y" van Senly werd rechtsonder afgesneden

Polish

Padding-right van .cl-hero-accent ruimer

In de hero-titel "Wat is er nieuw in Senly" werd de schuine descender van de italic "y" rechts afgesneden. Oorzaak: padding-right van 0.1em op het accent-span was niet genoeg om de italic descender op te vangen onder background-clip: text.

v12.41
zaterdag 6 juni 2026
20:17

Partners: aanvraag-popup in 2 kolommen — past nu onder de top-nav

Polish

Signup-formulier in de partner-popup verdeeld over 2 kolommen

Het signup-formulier ("Bedrijfsnaam", "Contactpersoon", "E-mail", "Type", "Klantvolume", "Status") stond als één lange lijst onder elkaar. Daardoor was de modal hoger dan de viewport en viel 'ie onder de top-nav weg.

v12.40
zaterdag 6 juni 2026
20:08

Homepage: hero + raster-kaarten gecentreerd t.o.v. viewport (scrollbar-aware)

Polish

Scrollbar-bewuste margin maakt asymmetrie eindelijk nul

Devtools-meting toonde aan dat in Chrome op macOS scrollbar-gutter: stable both-edges niet daadwerkelijk een gutter aan de linkerkant reserveert — body zit strak links, scrollbar zit 6px rechts buiten body. Daardoor was hero-rechts tot viewport-rand altijd 14+scrollbar (= 20) terwijl links 14 was. Visueel 6px scheef ondanks identieke CSS-margin-waardes.

v12.39
zaterdag 6 juni 2026
20:04

Homepage: hero-margin met !important + split scrollbar-gutter rules

Polish

Definitieve garantie voor 14px-margin links/rechts hero

Ondanks auto-margin en scrollbar-gutter bleef de hero in sommige browsers visueel asymmetrisch — rechterkant ruimer dan linkerkant.

v12.38
zaterdag 6 juni 2026
19:59

Homepage: scrollbar-gutter robuuster gezet voor hero-centrering

Polish

Symmetrische scrollbar-gutter op alle root-niveaus

Op sommige browsers werd de oude :root:has(.sn-root) selector niet matched of laat geparsed, waardoor scrollbar-gutter: stable both-edges niet altijd actief was. Dat kon de hero alsnog asymmetrisch t.o.v. de viewport positioneren — rechterkant oogde dan ruimer dan de linkerkant.

v12.37
zaterdag 6 juni 2026
19:56

Google Insights widgets nu zichtbaar in "Widgets beheren" op dashboard

Bug fix

GA + Bedrijfsprofiel widgets verschenen niet in de widget-catalog

In fase 2 waren de 5 nieuwe widgets opgehangen aan PremiumDashboard, maar het actieve dashboard is TaskioDashboard met een eigen WIDGET_REGISTRY. Daardoor stonden de widgets nergens in "Widgets beheren" en kon niemand ze aanzetten.

v12.36
zaterdag 6 juni 2026
19:54

Homepage: hero + raster-secties echt symmetrisch (auto-margin fix)

Polish

Witruimte links/rechts van hero gegarandeerd gelijk

Ondanks symmetrische margin (14px L+R) liep de rechterkant van de hero-kaart visueel verder van de viewportrand af dan de linkerkant. Oorzaak: in sommige browsers werkt scrollbar-gutter niet ideaal, waardoor 14px-margin niet 1-op-1 gerendered wordt.

v12.35
zaterdag 6 juni 2026
19:47

Insights: rode "koppel-sessie niet gevonden" banner verdwijnt na refresh

Bug fix

Achtergebleven foutbanner op /admin/integraties/google-insights bij refresh

Na een afgebroken Google-koppelpoging bleef ?gi_error=session_not_found in de URL staan. Elke refresh van de pagina toonde dan opnieuw de rode banner — ook al was de koppeling al lang succesvol.

v12.34
zaterdag 6 juni 2026
19:45

Homepage: raster-secties als kaart-vorm + nav-symmetrie

Polish

Platform/Vergelijking secties krijgen dezelfde kaart-vorm als de hero

De rasterachtergrond van de Platform- en Vergelijking-secties liep van rand tot rand. De hero zit juist als afgeronde "floating card" met 14px lucht aan beide zijden — visueel onsamenhangend.

Polish

Top-nav rechts/links witruimte gelijk getrokken

.sn-nav-inner had padding 24px links en 14px rechts. Daardoor zat de rechtse content (Inloggen / NL) dichter op de pill-rand dan de linker logo+links — visueel asymmetrisch.

v12.33
zaterdag 6 juni 2026
19:38

Google Insights fase 2: GA4-property & locatie kiezers + 5 dashboard-widgets

Nieuwe functie

Kies welke GA4-property en bedrijfslocatie je wilt tonen na het koppelen

Na het verbinden met Google was er nog geen manier om aan te geven welke GA4-property of welke bedrijfsprofiel-locatie de data moest leveren.

Nieuwe functie

5 nieuwe dashboard-widgets onder Aanpassen → Rapportage

Bureau-eigenaren konden hun website- en bedrijfsprofiel-statistieken niet in Senly zien. Switchen tussen Google Analytics en Bedrijfsprofiel kostte tijd en bleef vaak liggen.

Infra

OAuth data-layer voor GA4 Data API + Business Profile Performance API

De OAuth-koppeling was er, maar er was nog geen code om met de tokens daadwerkelijk data van Google op te halen.

v12.32
zaterdag 6 juni 2026
19:33

Homepage: wit ↔ raster ↔ wit ritme tussen secties

Polish

Platform- en Vergelijking-secties krijgen subtiele rastertextuur

Na de hero liepen meerdere kale-witte secties achter elkaar, zonder visueel ritme tegenover de teal-gradient secties (clock, pricing, testi). De rastertextuur die de hero zo herkenbaar maakt, kwam nergens terug.

v12.31
zaterdag 6 juni 2026
19:14

Affiliate: uitbetaling-kaart lichter (off-white ipv lichtgrijs)

Polish

Lichtere achtergrond voor de Uitbetaling-kaart

De Uitbetaling-kaart op /affiliate kreeg eerder #eef0f2 als achtergrond. Solide, maar wat zwaarder grijs dan nodig op de witte pagina.

v12.30
zaterdag 6 juni 2026
19:04

Statistieken: laatste section-strepen in light-mode weg

Polish

Resterende hairlines boven SECTIE 2/3/4 verwijderd

Na de vorige fix waren de strepen rond "SECTIE X" weg, maar boven elke nieuwe sectie liep nog een dunne grijze lijn (border-top) horizontaal door het grid-patroon. Bron: een latere light-theme override die de algemene fix overruled met !important.

v12.28
zaterdag 6 juni 2026
18:50

Statistieken: lange sectie-strepen weg uit eyebrow en header

Polish

Geen rommelige horizontale lijntjes meer rond "SECTIE X"

De eyebrow boven elke statistieken-sectie had een 1px streep aan de rechterkant van de tekst en een border-top boven de header. Op de pagina met grid-textuur liepen die als slordige horizontale lijnen door het raster heen.

v12.27
zaterdag 6 juni 2026
18:43

Affiliate: uitbetaling-sectie krijgt solide grijze achtergrond

Polish

Uitbetaling-kaart op /affiliate niet langer half-doorzichtig

De "Uitbetaling"-kaart had in light-mode een achtergrond van rgba(255,255,255,0.02) — 2% opacity — waardoor het grid-patroon van de pagina dwars door de kaart heen liep.

v12.26
zaterdag 6 juni 2026
18:36

Onboarding: drag-handle icoontje weg, kolomkop blijft sleepbaar

Polish

Geen 6-stippen icoontje meer naast stage-titel

Het kleine verplaats-icoontje (6 stippen) links van elke stage-titel was visueel ruis — de hele kolomkop is al sleepbaar, dus het icoon voegde alleen drukte toe.

v12.24
zaterdag 6 juni 2026
18:27

Onboarding/CRM: kanban-kolommen wit (geen blauwzweem meer)

Polish

Kolom-achtergrond van licht-blauwgrijs naar puur wit

De vorige fix gebruikte #f1f3f7 als kolom-achtergrond — die had een lichte blauwe ondertoon waardoor het bord er koeler/blauwiger uitzag dan de rest van de pagina.

v12.23
zaterdag 6 juni 2026
18:21

Onboarding & CRM: kolommen niet meer doorzichtig

Polish

Kanban-kolommen krijgen een solide achtergrond

De stage-kolommen op /onboarding en /crm hadden een halfdoorzichtige achtergrond (rgba 0,025). Daardoor lekte de grid-textuur van de pagina dwars door de kolommen heen — vooral zichtbaar bij hogere kolommen (twee-regelige titels) waar het patroon door de kolom liep.

v12.22
zaterdag 6 juni 2026
18:12

Onboarding: stages verslepen om volgorde te wijzigen + flow hernoemen

Nieuwe functie

Sleep stages (kolommen) om hun volgorde aan te passen

Je kon contacten wel tussen kolommen slepen, maar de volgorde van de kolommen zelf zat vast op de volgorde waarin ze waren aangemaakt. Wilde je "Onboarding klaar" tussen "Start Feedback" en "Actief" zetten, dan moest je een nieuwe kolom maken en alles handmatig overzetten.

Nieuwe functie

Flow-naam achteraf wijzigen

Een nieuwe flow kreeg z'n naam alleen bij aanmaken — typo of veranderd inzicht betekende dat je 'm moest verwijderen en opnieuw bouwen.

v12.21
zaterdag 6 juni 2026
17:49

Financieel: aparte tab voor jaarlijkse kosten (automatisch /12 in maandtotaal)

Nieuwe functie

Twee tabs onder Kosten: Maandelijks en Jaarlijks

Sommige uitgaven betaal je per jaar (domeinen, jaarabonnementen, hosting). Voorheen moest je die zelf delen door 12 voordat je ze als maandbedrag invulde — anders klopten de portaalcijfers niet.

v12.19
zaterdag 6 juni 2026
17:18

Partner-aanvraag popup: nu definitief boven alle pagina-content (portal-fix)

Bug fix

Vervolg: pagina-tekst kwam ondanks vorige z-index-fix nog door de popup heen

Ook na de eerste z-index-verhoging schoten de commissieniveau-titel ("30% standaard, 40% vanaf 10 bureaus"), de subtekst en de Standaard/Premium-cards nog door de popup-backdrop heen. Oorzaak: een element hogerop in de pagina-tree creëerde een lokale stacking-context (door een transform op de tier-cards), waardoor de popup-backdrop opgesloten zat in die lokale context en niet boven alle pagina-content uit kon komen.

v12.18
zaterdag 6 juni 2026
16:55

Partner-aanvraag popup: menu blijft zichtbaar, pagina-tekst schiet er niet meer doorheen

Bug fix

Aanvraag-popup op /partners stond achter het menu, pagina-tekst kwam over de popup heen

De popup ("Meld je aan / Partner-aanvraag") verdween achter het sticky menu bovenaan, en de hero-tekst ("30% standaard, 40% vanaf 10 bureaus" + "Word nu partner") schoot tegelijk door de donkere overlay heen — onleesbare stapeling.

v12.14
zaterdag 6 juni 2026
16:46

Footer-tagline: positionering verbreed van "bureaus" naar "professionals"

Polish

Footer-tagline volgt nu dezelfde positionering als de homepage

De footer zei "voor social media bureaus die willen schalen" — een nauwere positionering dan de homepage ("voor social media professionals"). Beide regels nu gelijk: "Het operating system voor social media professionals — zonder de tooling-chaos." Vertaald in NL/EN/DE/FR. Past bij de bredere doelgroep (bureaus, freelancers, content creators, in-house) die ook eigen landingspagina's hebben.

v12.11
zaterdag 6 juni 2026
19:00

Partners-demo: levende mock-UIs en velden matchen het echte formulier

Polish

De demo per partner-stap beweegt nu en gebruikt dezelfde velden als het echte aanvraagformulier

De demo-modal toonde "Naam / E-mail / Bereik" terwijl het echte formulier "Bedrijfsnaam / Contactpersoon / E-mail / Type / Klantvolume" vraagt — en alles was statisch waardoor de waarde van een "demo" beperkt was.

v12.03
zaterdag 6 juni 2026
15:43

Homepage: Takenbeheer toegevoegd aan de feature-carousel

Nieuwe functie

Nieuwe tab "Takenbeheer" op senly.io

De feature-pillen op de homepage (Brand kits → Kalender → Meetings → … → Tools) krijgen er een tab "Takenbeheer" tussen Meetings en Activiteiten. Toont workload per team, deadlines/prioriteiten en de keuze tussen lijst, kanban of kalender. Per-taal screenshot (NL/EN/DE/FR) zoals de andere features, accent paars (#a855f7).

v10.71
vrijdag 5 juni 2026
17:26

Kortingscodes-pagina: labels en invoerveld nu leesbaar in light mode

Bug fix

Labels en invoervelden waren nauwelijks leesbaar in light mode

De Kortingscodes-pagina gebruikte hardgecodeerde donkere kleuren (rgba(226,232,240,…)), die in light mode bijna onzichtbaar werden — labels grijs-op-grijs, inputs zonder duidelijke contour.

v10.46
vrijdag 5 juni 2026
03:57

Growth Automation-sectie: futuristische hub-layout

Polish

De drie groeicijfers verbinden nu visueel naar een centrale glow-hub, met vier USP-punten eronder

De drie stat-cards stonden los naast elkaar in een vlakke rij — weinig samenhang en geen "automation"-gevoel.

v10.20
donderdag 4 juni 2026
21:15

Tools: schaduw van de tool-kaarten wordt niet meer afgesneden

Polish

De zachte gloed/schaduw onder elke tool-kaart werd aan de onderkant afgekapt

De tools-rij is horizontaal scrollbaar; door een browser-eigenaardigheid clipte die scroll-container ook verticaal, waardoor de hover-schaduw van de kaarten aan boven- en onderkant werd afgesneden.

v10.19
donderdag 4 juni 2026
21:15

Contracten: overzicht-knop + links nu correct gestyled (styled-jsx scope-fix)

Bug fix

De knop "Bekijk alle verstuurde contracten" bleef een platte tekstlink

De knop-styling stond op een Next.js <Link>-component. styled-jsx voegt zijn scope-class alleen toe aan gewone HTML-elementen, niet aan React-componenten — waardoor de CSS de link nooit raakte (ook niet na cache legen).

v10.17
donderdag 4 juni 2026
20:36

Tools: de 11 nieuwe tools hebben nu elk een eigen gekleurd icoon

Polish

De nieuwe tools toonden een generiek rondje i.p.v. een eigen icoon

Elke nieuwe tool heeft nu een eigen gradient-icoon in de tools-grid (hartje, grafiek, euro, pijl, schild, palet…), passend bij de kleur van de tool zelf.

v10.15
donderdag 4 juni 2026
20:24

11 nieuwe gratis tools in het Tools-tabblad (zonder AI)

Nieuwe functie

Een batch handige, snelle tools die volledig in je browser werken — geen AI nodig

Toegevoegd: Engagement-rate calculator (met benchmark per platform), Advertentie-statistieken (CPM/CPC/CPA/ROAS/break-even), Influencer-tarief calculator, Groei-projectie, Klant-ROI calculator, Instagram witregel-fixer, Fancy tekst generator (unicode bold/cursief), Formaat & safe-zones (export per social-formaat), Carousel-splitter, Kleurenpalet-extractor en een Brand-safety check. Allemaal direct, privacy-vriendelijk (alles client-side) en in 4 talen.

v10.12
donderdag 4 juni 2026
20:09

Contracten-instellingen: overzicht-knop duidelijker zichtbaar

Polish

"Bekijk alle verstuurde contracten" is nu een duidelijke teal pill-knop

De vorige knop-styling was te subtiel en oogde nog als een gewone tekstlink.

v10.5
donderdag 4 juni 2026
19:11

Financieel: maandomzet-grafiek vernieuwd + maanden nu vertaald

Polish

De maandelijkse omzetgrafiek (Financieel) heeft een moderne, premium look

De maandbalken hebben nu gradient-vullingen met diepte en een subtiele gloed, afgeronde vormen, een fijne scheiding tussen vast (recurrent) en eenmalig, een soepele opbouw-animatie en een duidelijker hover-effect (de maand komt omhoog en licht op). Toekomstige maanden tonen nu als een nette, vlakke projectie. Werkt in light- en dark-mode.

Bug fix

De maand-afkortingen onder de grafiek stonden altijd in het Nederlands

De labels (jan, feb, mrt…) waren hardcoded Nederlands en vertaalden niet mee met de taal van het portaal.

v10.4
donderdag 4 juni 2026
19:10

Contracten-instellingen: "Bekijk alle verstuurde contracten" als nette knop

Polish

De link naar het contracten-overzicht is nu een subtiele knop

In Instellingen → Contracten staat "Bekijk alle verstuurde contracten" nu als smalle, omrande knop in plaats van een platte tekstlink.

v10.2
donderdag 4 juni 2026
19:00

Contracten: snelle voorvertoning vanuit de lijst, zoeken in het overzicht + notificatie-instelling

Polish

"Voorbeeld"-knop direct bij elke template

Je moest een template eerst openen in de editor om een voorvertoning te zien.

Nieuwe functie

Zoeken in het contracten-overzicht + notificatie aan/uit

In het overzicht zoek je nu direct op klantnaam of contract. En in de instellingen zet je met één vinkje de "contract bekeken"-melding aan of uit voor je bureau.

v10.1
donderdag 4 juni 2026
18:52

Contracten-automatisering: melding bij bekeken, welkomstmail na tekenen, automatische herinnering

Nieuwe functie

Melding zodra de klant je contract opent

Je krijgt nu een in-app melding (belletje rechtsboven) zodra een klant je verstuurde contract voor het eerst opent. Uit te zetten per bureau.

Nieuwe functie

Automatische herinnering + welkomstmail

Stel per template in dat een niet-getekend contract na X dagen automatisch een herinnering krijgt (dagelijkse cron). En kies "welkomstmail" als actie na ondertekenen, dan ontvangt de klant direct een persoonlijke welkomstmail van je bureau.

v10.0
donderdag 4 juni 2026
18:45

Contracten: centraal overzicht van alle klanten + bulk versturen

Nieuwe functie

Eén overzicht met alle verstuurde contracten

Je kon contracten alleen per klant bekijken. Geen totaaloverzicht van wat verstuurd/bekeken/getekend is.

Nieuwe functie

Bulk versturen

Stuur in één keer hetzelfde contract naar meerdere klanten: kies een template, vink de klanten aan en verstuur. Klanten zonder e-mailadres worden netjes overgeslagen en gerapporteerd.

v9.99
donderdag 4 juni 2026
18:35

Contracten: tegen-ondertekening door het bureau + optionele e-mailverificatie

Nieuwe functie

Tegen-ondertekening: ook het bureau zet een handtekening

Tot nu tekende alleen de klant. Voor sommige overeenkomsten wil je dat beide partijen tekenen.

Nieuwe functie

Optionele e-mailverificatie vóór ondertekenen

Zet "E-mailverificatie vereisen" aan op een template. De klant vraagt dan eerst een 6-cijferige code aan die naar zijn e-mailadres wordt gestuurd, en moet die invullen om te kunnen tekenen — een extra zekerheid dat de juiste persoon ondertekent.

v9.98
donderdag 4 juni 2026
18:25

Contracten ondertekenen: echte handtekening, klant-invulvelden, audit-bewijs, vervaldatum en PDF-download

Nieuwe functie

Klant zet een echte handtekening en kan zelf velden invullen

Ondertekenen was alleen een vinkje + naam. Niet alle bureaus vonden dat genoeg, en de klant kon geen eigen gegevens toevoegen.

Nieuwe functie

Audit-bewijs, vervaldatum en PDF-download

Bij ondertekening leggen we datum/tijd, e-mail, IP-adres én een SHA-256 documentcontrole (hash) vast — zichtbaar onderaan het getekende contract als bewijs dat er niets is gewijzigd. Een verlopen ondertekenlink wordt netjes geblokkeerd, en zowel klant als bureau kunnen het contract met één klik als PDF downloaden (via printen → bewaar als PDF).

v9.97
donderdag 4 juni 2026
18:11

Contracten flink uitgebreid: 4 nieuwe voorbeeld-templates, eigen variabelen, klant-invulvelden, dupliceren en ondertekenopties

Nieuwe functie

4 nieuwe kant-en-klare templates: geheimhouding (NDA), influencer-samenwerking, projectovereenkomst en advertentiebeheer

Er was maar één standaard dienstverleningsovereenkomst. Voor andere situaties moest je alles zelf schrijven.

Nieuwe functie

Eigen variabelen en klant-invulvelden

Je kon alleen de vaste variabelen (klantnaam, tarief, etc.) gebruiken.

Nieuwe functie

Template dupliceren + ondertekenopties per template

Dupliceer een template met één klik als startpunt voor een variant. Per template stel je opties in: e-mailverificatie vereisen, het bureau laten tegen-ondertekenen, de ondertekenlink laten verlopen na X dagen, automatisch een herinnering sturen, en een actie na ondertekenen (welkomstmail).

v9.96
donderdag 4 juni 2026
17:52

Statistieken: lelijke grijze "Overige"-boog in het branche-diagram weg

Polish

Het branche-ringdiagram toonde een grote, zilver-grijze boog die er goedkoop uitzag

Branches voorbij de top 8 werden gebundeld tot één "Overige"-segment met een doorzichtig-witte kleur. In de demo (waar elke klant z'n eigen branche heeft) werd dat een groot grijs blok, dat door een kleur-renderbug ook nog eens een zilveren verloop kreeg.

v9.90
donderdag 4 juni 2026
17:20

Statistieken: scrollbalk in de diagram-legenda verschijnt alleen nog bij hover

Polish

De legenda van de ringdiagrammen toonde een (horizontale én verticale) scrollbalk, ook als je er niet overheen ging

Bij veel branches/platforms werd de legenda scrollbaar en bleef de scrollbalk constant zichtbaar — een browser-eigenaardigheid liet zelfs een overbodige horizontale balk verschijnen.

v9.86
donderdag 4 juni 2026
16:55

Statistieken: staafdiagrammen high-end gemaakt + weekdagen nu vertaald

Polish

De staafdiagrammen (klantcohort, productiviteit per weekdag) kregen een premium look

De balken hebben nu gradient-vullingen met diepte, een subtiele gloed, afgeronde "zwevende" vormen, een fijne scheiding tussen gestapelde delen (actief/inactief), een soepele opbouw-animatie en oplichten-bij-hover. Werkt in light- en dark-mode — in dezelfde stijl als de vernieuwde ringdiagrammen.

Bug fix

De weekdag-namen in "productiviteit per weekdag" stonden altijd in het Nederlands

De afkortingen (ma, di, wo…) waren hardcoded Nederlands en vertaalden niet mee met de gekozen taal.

v9.83
donderdag 4 juni 2026
16:44

Statistieken: ronde diagrammen kregen een high-end, luxere look

Polish

De donut-grafieken (branches, platforms) zien er nu high-tech en premium uit

De ringdiagrammen op de Statistieken-pagina hebben nu gradient-segmenten met diepte, een subtiele gekleurde gloed per segment, strakke scheidingen tussen de delen, een fijne binnenring, een teal-gloed met gradient-cijfer in het midden en een soepele opbouw-animatie. Beweeg je over een segment, dan licht dat segment op en dimmen de andere. Werkt in zowel light- als dark-mode.

v9.81
donderdag 4 juni 2026
16:38

E-mail: conversatie-teller toont weer het juiste aantal berichten

Bug fix

Letterlijke "{count}" verdwenen uit de berichtenteller

In de e-mail-module stond boven een gesprek "2 {count} berichten in deze conversatie" — de placeholder "{count}" werd letterlijk getoond i.p.v. vervangen (een foutje uit de grote vertaalronde).

v9.79
donderdag 4 juni 2026
15:21

Demo: Engelse/Duitse/Franse demo toont nu hetzelfde bureau-logo als de Nederlandse

Bug fix

De taal-demo's lieten het standaard platform-logo zien i.p.v. het ingestelde bureau-logo

De nieuw aangemaakte taal-demo's (EN/DE/FR) hadden geen eigen logo, waardoor de zijbalk terugviel op het standaard platform-logo in plaats van het bureau-logo dat op de Nederlandse demo is ingesteld.

v9.78
donderdag 4 juni 2026
15:06

Demo: taal wisselen schakelt nu de hele demo om (klanten + data mee in je taal)

Bug fix

Taal wijzigen in de demo veranderde wel de knoppen, maar de klanten/agenda/CRM bleven Nederlands

Elke taal heeft een eigen, volledig vertaalde demo-omgeving. Maar de taal-routing gebeurde alleen op het moment dat je op "Bekijk demo" klikte. Wisselde je daarna van taal terwijl je al in de demo zat, dan kreeg je wel de vertaalde interface maar bleef je op de Nederlandse demo-tenant — dus Nederlandse klanten, afspraken en CRM.

v9.76
donderdag 4 juni 2026
14:50

Grote vertaalronde: 100 schermen door het hele dashboard nu in alle 4 talen

Nieuwe functie

Tools, CRM, onboarding, meetings, e-mail en tientallen andere schermen vertalen nu mee

Veel onderdelen van het portaal stonden nog hardcoded in het Nederlands en bleven dus Nederlands voor wie EN/DE/FR had ingesteld — denk aan de tools (bezwaren-bibliotheek, QR-, ROI- en voice-memo-generator, reply-scorer, speedtest, enz.), de CRM- en onboarding-borden, de meetings-instellingen, de e-mail-inbox en diverse beheer- en klantprofiel-schermen.

v9.75
donderdag 4 juni 2026
14:44

Demo-portaal nu volledig in 4 talen — klanten, taken, CRM en onboarding in je eigen taal

Nieuwe functie

De demo toont nu een compleet gelokaliseerde beleving (NL/EN/DE/FR) in plaats van altijd Nederlandse data

Wie de demo in het Engels, Duits of Frans bekeek kreeg wel een vertaalde interface, maar de inhoud bleef Nederlands: Nederlandse klantnamen (Bloem & Stijl), een Nederlandse CRM-pipeline, Nederlandse taken, onboarding en mailbox. Een Franse bezoeker zag dus klanten en een CRM die hij niet kon lezen.

v9.74
donderdag 4 juni 2026
14:25

Contracten: logo altijd zichtbaar — kopbalk kiest automatisch de juiste kleur

Bug fix

Een wit logo (voor donkere achtergrond) was onzichtbaar op het witte contract — de branding-preview leek leeg

Het contract is een wit document, dus het pakte je logo voor lichte achtergrond. Had je alleen het standaard "logo donker" ingesteld (meestal een wit logo voor je donkere sidebar), dan stond er een wit logo op een witte achtergrond — onzichtbaar. De branding-preview in de instellingen oogde daardoor leeg.

v9.72
donderdag 4 juni 2026
14:05

Contracten-instellingen: knoptekst weer goed leesbaar (wit op teal)

Bug fix

De knoppen "Opslaan" en "+ Nieuwe template" hadden donkere, slecht leesbare tekst op de teal achtergrond

In Instellingen → Contracten was de tekst van de primaire knoppen donker (bijna zwart) op de teal/petrol achtergrond, vooral in dark mode nauwelijks leesbaar.

v9.71
donderdag 4 juni 2026
13:59

Meer vertaalgaten gedicht + inlogformulier flitst niet meer + Contracts-streepje recht

Bug fix

Inlogformulier verschijnt niet meer kort in dark mode bij uitloggen

Wie vanuit het portaal in dark mode uitlogde, zag het inlogformulier ~1 seconde in donker en daarna pas naar light verspringen.

Bug fix

Tabbladen en teksten op de huisstijl- en klantprofiel-pagina vertalen nu mee

In EN/DE/FR bleven diverse onderdelen Nederlands: de tabs Huisstijl/Abonnement en Identiteit/Kleuren/Domein/E-mail, de LinkedIn-tip en sectie "Platformen", de commissie/koppel-velden bij contracten, en de "AI brand-voice"-tab in het bewerk-venster.

Polish

Streepje naast "Contracts" stond te ver van de titel

In de Contracts-sectie van het klantprofiel duwde de uitlijning het decoratieve streepje, de titel en de knop uit elkaar, waardoor de titel midden in de balk zweefde.

v9.70
donderdag 4 juni 2026
13:49

Contract-preview bij het versturen is nu ook gebrand (logo + accentkleur)

Polish

De voorvertoning op het klantprofiel toont nu hetzelfde gebrande contract als de template-editor

Bij het versturen van een contract vanaf het klantprofiel toonde de voorvertoning alleen de kale inhoud, zonder je logo of accentkleur. Dat kwam niet overeen met de preview in de template-editor en gaf geen volledig beeld van wat de klant zou zien.

v9.69
donderdag 4 juni 2026
13:39

Light mode: subtiel raster-vierkantjes op de dashboard-achtergrond

Polish

Het fijne blueprint-raster op de achtergrond is nu ook zichtbaar in light mode

Het 64×64 raster-backdrop dat het dashboard zijn premium "blueprint"-uitstraling geeft, was in light mode praktisch onzichtbaar: de lijnen stonden op slechts 2,2% dekking én de content-laag dekte het raster volledig af met een dekkende crème achtergrond. In dark mode was het wél zichtbaar.

v9.68
donderdag 4 juni 2026
13:30

Contracten: voorvertoning in de template-editor (gebrand, met voorbeelddata)

Nieuwe functie

Knop "Voorbeeld" in de template-editor toont het contract precies zoals de klant het ziet

Bij het schrijven of bewerken van een contract-template zag je alleen de ruwe Markdown-tekst met {{variabelen}}. Je kon niet controleren hoe het uiteindelijke contract eruit zou zien zonder het eerst op te slaan en naar een echte klant te sturen.

v9.67
donderdag 4 juni 2026
13:26

Launchpad volledig meertalig: alle onboarding-taken + categorieën in EN/DE/FR

Nieuwe functie

De volledige Launchpad-onboarding vertaalt nu mee naar Engels, Duits en Frans

De Launchpad toonde in EN/DE/FR een mix: de chrome (kopteksten, knoppen) was deels vertaald, maar de 35 onboarding-taken (titel, beschrijving, knoptekst, waarde-belofte), de 7 categorie-namen in de linkerkolom en een handvol UI-labels (Aanbevolen/Klaar/Overgeslagen, "Wat is nieuw?", hulp-tekst) stonden hardcoded in het Nederlands.

v9.66
donderdag 4 juni 2026
13:08

Contracten dragen nu automatisch je huisstijl (logo + accentkleur)

Nieuwe functie

Je bureaulogo en accentkleur staan nu op het contract en de ondertekenpagina

De ondertekenpagina toonde bovenaan alleen je bureaunaam als tekst — het logo werd wel opgehaald maar nergens getoond. Een contract zag er daardoor minder af en minder "van jou" uit.

v9.65
donderdag 4 juni 2026
12:53

Contracten: ook bruikbaar voor buitenlandse bedrijven (zonder KvK/BTW) + dubbele titel weg

Nieuwe functie

Contracten werken nu ook voor bedrijven zonder KvK/BTW (bijv. een Amerikaans bedrijf met EIN/Tax ID)

De bedrijfsgegevens en de standaard-templates waren hard op de Nederlandse situatie gebouwd: vaste velden "KvK-nummer" en "BTW-nummer". Een buitenlands bureau (bv. een Amerikaans bedrijf) heeft geen KvK of BTW, maar een EIN en Tax ID — en kon dat nergens kwijt zonder dat het contract krom oogde.

Polish

Instellingen → Contracten toonde twee keer "Contracten" boven elkaar

De kleine kop-label (eyebrow) en de paginatitel toonden allebei hetzelfde woord "Contracten", waardoor het er dubbel uitzag.

v9.64
donderdag 4 juni 2026
12:43

Contentkalender: blueprint-raster schijnt niet meer door het kalender-paneel (geen "vakjes achter vakjes")

Polish

Het kalender-paneel toonde in dark mode het achtergrond-raster van het portaal er doorheen

De .calendar-page-container had in dark mode een semi-transparante achtergrond (rgba(255,255,255,0.025)). Daardoor scheen het vaste blueprint-raster van het portaal (.app-shell::before, 64px grid) door het paneel heen — een doubled "vakjes achter vakjes"-effect in en rond de header/agenda. In light mode speelde dit niet, want daar was het paneel al ondoorzichtig (#ffffff).

v9.61
donderdag 4 juni 2026
12:13

Taalkeuze hangt nu aan je account en reist met je mee

Nieuwe functie

Je voorkeurstaal wordt onthouden per gebruiker, ook op een ander apparaat

De taalkeuze zat alleen in een browser-cookie. Dat werkte op hetzelfde apparaat, maar je account "onthield" je taal niet: log je in op je telefoon of een andere browser, dan moest je opnieuw kiezen. En op een gedeelde computer kon de laatste bezoeker-keuze jouw taal overschrijven.

v9.60
donderdag 4 juni 2026
12:11

Contentkalender week-view: geen dubbele rasterlijnen meer in de "vandaag"-kolom

Bug fix

De "vandaag"-kolom in de week-agenda toonde dubbele/rommelige lijnen ("strepen over strepen")

De vandaag-kolom (cel + dagheader) had een semi-transparante teal-achtergrond (rgba). De andere kolommen waren ondoorzichtig, maar door de transparante vandaag-cellen scheen het pagina-achtergrond-raster (80px grid) heen — bovenop de eigen rasterlijnen van de kalender. Daardoor zag je in die ene kolom twee niet-uitgelijnde sets lijnen over elkaar.

v9.59
donderdag 4 juni 2026
12:08

Contracten: automatisch versturen zodra je een nieuwe klant aanmaakt

Nieuwe functie

Stuur een contract volautomatisch bij elke nieuwe klant

Je kon contracten al handmatig sturen, maar niet automatisch bij het aanmaken van een klant — wat je vaak juist wilt aan het begin van een samenwerking.

v9.57
donderdag 4 juni 2026
12:02

Taalwissel: geen NL-flits meer voor EN/DE/FR-gebruikers

Bug fix

Bij het wisselen van taal (en bij het laden van pagina's in EN/DE/FR) zag je kort de Nederlandse versie flitsen

De useLanguage-hook startte altijd op 'nl' en las de werkelijke taal pas in een useEffect — dus ná de eerste paint. Voor een EN/DE/FR-gebruiker rendeerde elke client-component daardoor één frame in het Nederlands voordat de juiste taal werd toegepast. Extra zichtbaar na een taalwissel, omdat die een volledige reload doet en je dan de hele pagina even in NL zag.

v9.55
donderdag 4 juni 2026
11:51

Contracten: maak templates en stuur ze automatisch ter ondertekening naar klanten

Nieuwe functie

Digitale contracten — van template tot getekende handtekening, volledig in Senly

Bureaus moesten contracten buiten Senly opstellen (Word/PDF), los mailen en handmatig bijhouden of een klant had getekend. Geen overzicht, geen audit-trail, losse tools.

Nieuwe functie

Bedrijfsgegevens centraal — KvK, BTW en adres één keer invullen

Bedrijfsgegevens stonden nergens centraal en moesten in elk contract opnieuw worden getypt.

v9.53
donderdag 4 juni 2026
11:45

Thema "Systeem" volgt het OS nu correct en live

Bug fix

"Systeem"-thema volgt nu betrouwbaar je licht/donker-instelling

De systeem-optie testte op (prefers-color-scheme: light) en viel bij twijfel terug op donker — een systeem zonder harde voorkeur werd zo onterecht donker. Ook werd de thema-cookie niet bijgewerkt en schakelde het portaal niet live mee.

v9.52
donderdag 4 juni 2026
11:39

Alle changelog-updates nu volledig vertaald in 4 talen

Nieuwe functie

Elke update vertaalt nu mee naar Engels, Duits en Frans

De changelog-pagina toonde de titel en knoppen wel in je taal, maar de honderden updates zelf bleven in het Nederlands staan. De vertaling hing af van een cache die via een trage achtergrond-taak werd gevuld en de gedeelde AI-quota telkens uitputte — waardoor het overgrote deel van de updates nooit vertaald raakte.

v9.50
donderdag 4 juni 2026
11:28

Affiliate-dashboard toont nu het aantal actieve klanten per verwezen bureau

Nieuwe functie

Nieuwe kolom "Actieve klanten" in het overzicht van verwezen bureaus

Affiliates zagen wel hun verdiende commissie per bureau, maar niet hoeveel actieve klanten een verwezen bureau op dat moment heeft — terwijl dat juist de commissie aanstuurt (30% van wat het bureau per klant aan Senly betaalt).

v9.47
donderdag 4 juni 2026
00:58

Changelog rendert direct in de gekozen taal (geen NL-flits meer)

Polish

Hero, labels en filters komen al vertaald uit de server

De changelog-titel, subtekst, statistiek-labels en filterknoppen werden eerst kort in het Nederlands getoond en klapten pas ná het laden om naar de gekozen taal. Die korte NL-flits liet de pagina "onvertaald" ogen, en zoekmachines zagen de Nederlandse versie.

v9.44
donderdag 4 juni 2026
00:37

Taalkeuze geldt nu voor de hele pagina (inclusief <html lang>)

Bug fix

Gekozen taal stuurt nu het taal-attribuut van elke pagina aan

Het `lang`-attribuut van de pagina stond altijd hard op "nl", ook als je EN/DE/FR had gekozen. Daardoor bleef de browser "deze pagina vertalen?" aanbieden en oogde de pagina onvertaald, terwijl de inhoud wél in de juiste taal stond. Op de changelog zag je bijvoorbeeld een Duitse titel maar een Nederlandse browser-vertaalprompt.

Bug fix

Taalwissel schrijft één schone cookie — geen achtergebleven NL meer

Oude bezoekers konden meerdere portal_locale-cookies tegelijk hebben (een legacy host-locked "nl" naast de nieuwe cross-subdomain keuze). De client koos daar soms de stale "nl" uit en herschreef de cookie terug naar NL, waardoor een net gekozen taal stilletjes terugviel.

v9.38
donderdag 4 juni 2026
00:03

IP-valuta nu werkend: geo-API gewisseld naar country.is

Bug fix

Geo-lookup gaf 403 omdat ipwho.is server-side calls blokkeert op het gratis plan

De IP-geolocatie via ipwho.is gaf vanaf de Railway-server een 403 terug met "CORS is not supported on the Free plan" — die service staat server-to-server calls niet toe zonder betaald abonnement. Daardoor bleef de valuta null en viel 'ie terug op browsertaal. (Gediagnosticeerd via een tijdelijke debug-modus die het gedetecteerde IP + de rauwe API-respons toonde — IP-detectie zelf bleek correct.)

v9.35
woensdag 3 juni 2026
23:42

IP-valuta werkt nu écht: server-side geolocatie als fallback

Bug fix

Valuta-detectie viel altijd terug op taal omdat er geen geo-header binnenkwam

Het /api/geo-currency endpoint las het land uit edge-headers (cf-ipcountry e.d.), maar die komen niet door op app.senly.io (niet via Cloudflare geproxied). Resultaat: country was altijd null en de valuta viel terug op browsertaal — een Amerikaan met niet-Engelse browser kreeg euro's.

v9.31
woensdag 3 juni 2026
22:55

Valuta op basis van IP-land bij signup — VS betaalt echt in dollars

Nieuwe functie

Signup-formulier toont én rekent af in de valuta van het bezoeker-land

Het signup-formulier toonde de valuta op basis van browsertaal (EN → USD), maar de Stripe-afschrijving stond hardcoded op EUR. Een Amerikaanse bezoeker zag dollars maar werd in euro's afgeschreven — een mismatch tussen weergave en incasso.

Infra

Pricing-helpers en abonnement-weergave volledig valuta-bewust

De tariefberekening (lib/pricing) en alle Stripe-flows gingen uit van euro's.

v9.22
woensdag 3 juni 2026
21:52

Changelog-taal: stale-cookie bug opgelost + juiste entries vertaald

Bug fix

Server koos verkeerde taal bij dubbele taal-cookie

Oude bezoekers konden twee portal_locale cookies hebben: een legacy host-locked (vaak nog "nl") naast de nieuwe cross-subdomain cookie (bv. "fr"). De server pakte er willekeurig één — meestal de oude "nl" — waardoor de changelog in het Nederlands bleef ondanks taalkeuze FR/EN/DE.

Bug fix

Vertaal-cache warmde de verkeerde changelog-entries

De cache-warming pakte alle versie-nummers uit de broncode, inclusief interne (verborgen) entries. Daardoor vielen juist een deel van de ZICHTBARE entries buiten de gewarmde set en bleven die in het Nederlands.

v9.21
woensdag 3 juni 2026
21:47

Signup-formulier vertaalt nu mee met de gekozen taal

Bug fix

Laatste signup-stap bleef in het Nederlands bij EN/DE/FR

De quiz-banner toonde de juiste taal (bv. "FAST GESCHAFFT" in het Duits) maar het aanmeldformulier eronder bleef Nederlands. Oorzaak: twee gescheiden taalsystemen — de landing/quiz gebruikt de "senly-lang" bron, terwijl het formulier via useLanguage() de "portal_locale" cookie leest die op /signup nog op NL kon staan.

v9.20
woensdag 3 juni 2026
19:42

Nieuwe klantstatus "Gepauzeerd" tussen Actief en Inactief

Nieuwe functie

Klanten die tijdelijk pauzeren kun je nu op "Gepauzeerd" zetten

Een klant kon alleen Actief of Inactief zijn. Voor klanten die de dienstverlening even on hold zetten maar binnen enkele maanden terugkomen, was er geen passende status — je moest ze op Inactief zetten, waardoor ze niet meer te onderscheiden waren van echt beëindigde klanten.

Infra

Technische opzet: onHold-veld + backwards-compatible afgeleide status

Een volledige migratie van het isActive-boolean naar een enum zou 150+ plekken in de code raken — te risicovol.

v9.18
woensdag 3 juni 2026
19:37

Founder-tarief banner: eyebrow-tekst wit

Polish

"TIJDELIJK · FOUNDER-TARIEF" tekst wit i.p.v. teal

v9.17
woensdag 3 juni 2026
19:16

Changelog-vertaling nu server-side: HTML komt al in EN/DE/FR binnen

Bug fix

Changelog bleef hardnekkig NL door fragiele client-side aanpak

De eerste opzet vertaalde de changelog client-side ná page-load. Dat bleek onbetrouwbaar: een service-worker serveerde oude bundles, en de fetch-trigger miste door een hydration-timing race regelmatig z'n moment. Resultaat: bezoekers in EN/DE/FR zagen alsnog Nederlands.

v9.15
woensdag 3 juni 2026
19:11

Signup-quiz form breder + nettere "Verwezen via"-badge

Polish

Aanmeldformulier (laatste stap) is nu veel breder over de pagina

De embedded SignupForm in de quiz was 640px breed — voelde te smal en krap op grote schermen.

Bug fix

"Verwezen via PARTNERS"-badge was deels onleesbaar en niet netjes opgemaakt

De affiliate-code in de badge had een witte transparante achtergrond (rgba(255,255,255,0.06)) — relic van het oude donkere thema, dus nagenoeg onzichtbaar op de lichte form-achtergrond. De code "PARTNERS" leek los te zweven.

v9.14
woensdag 3 juni 2026
18:48

Changelog-vertaling werkt nu écht: service-worker cache-bump + load-trigger fix

Bug fix

Changelog bleef in NL ondanks taalkeuze EN/DE/FR

Twee samenlopende oorzaken. (1) De runtime-translate fetch vuurde niet op natuurlijke page-load door een effect-volgorde race tijdens hydration. (2) Veel hardnekkiger: de service worker (cache senly-v27) serveerde de OUDE JS-bundle, waardoor zelfs na deploy van de fix de gefixte code nooit in de browser laadde — elke test draaide tegen verouderde code.

v9.13
woensdag 3 juni 2026
18:36

Homepage: countdown-timer voor Founder-tarief (15 min urgency)

Nieuwe functie

Urgency-banner met countdown boven de pricing-section

De Founder-korting was visueel zichtbaar via doorgestreepte prijzen, maar mistte een tijdscomponent — geen reden om NU te beslissen.

v9.12
woensdag 3 juni 2026
18:31

Signup-quiz laatste stap: lichte volle-breedte form ipv smalle donkere tab

Polish

SignupForm rendert nu zonder eigen donkere achtergrond binnen de quiz

De laatste stap van de quiz (het 14-dagen aanmeldformulier) toonde een smalle witte card op een donkere mesh-achtergrond. Dat botste met de lichte quiz-stappen ervoor — het leek een aparte donkere tab midden op het scherm.

v9.09
woensdag 3 juni 2026
17:58

Build-fix: TypeScript faalde op submitQuizAndAdvance onClick handler

Bug fix

Railway-deploy v9.08 faalde tijdens TS-compile op de "Anders"-knop in quiz stap 4

Na de v9.08 fix kreeg submitQuizAndAdvance een optionele Attribution-parameter, maar de onClick-handler op de Doorgaan-knop (bij "Anders"-flow) gaf het MouseEvent als argument door — TypeScript klaagde dat MouseEvent geen Attribution is. Railway-build crashte op "Type 'MouseEvent' is not assignable to type 'Attribution'".

v9.08
woensdag 3 juni 2026
17:54

Signup-quiz: stap 4→5 blokkade gefixt + TikTok-logo zichtbaar

Bug fix

Na het kiezen van attribution-bron ging quiz niet door naar signup-formulier

In stap 4 (Waar gevonden?) bleef de quiz vast hangen na selectie. submitQuizAndAdvance() las data.attribution uit een stale closure (setData is async), waardoor de guard-clause de submit blokkeerde. Resultaat: bezoeker zit vast, geen signup-form, dropoff op laatste stap voor je conversie.

Bug fix

TikTok-logo onzichtbaar op stap 3 (witte cards)

TikTok-platform-card op stap 3 ("Welke platformen beheer je?") had kleur #ffffff (wit) ingesteld voor donker-thema, maar de quiz heeft een lichte achtergrond. Logo verdween dus volledig in de witte card.

v9.06
woensdag 3 juni 2026
17:33

Changelog automatisch vertaald naar EN/DE/FR (on-demand + cached)

Nieuwe functie

665+ releases lazy-vertaald via Gemini, server-side gecached

De pagina chrome (header, filters, labels) was vertaald, maar de inhoud van elke release-entry stond hardcoded NL in lib/changelog.ts. Een bureau-eigenaar die op EN/DE/FR het portaal gebruikt, zag de changelog in het Nederlands. Statisch vertalen van 600+ historische releases × 4 talen is ondoenbaar.

v9.05
woensdag 3 juni 2026
17:33

Signup-quiz: Higgsfield-layout in lichte Senly-stijl

Polish

Quiz refactored naar grid-cards layout (zoals Higgsfield) met witte achtergrond

De v9.00 quiz had list-style opties met emoji-iconen op de SignupForm light-theme. Voelde inconsistent met de "premium" Higgsfield-feel die als referentie was gegeven. Plus de eerste donker-versie streek niet met de rest van Senly's lichte huisstijl.

v9.02
woensdag 3 juni 2026
17:07

Pricing: Growth-card tekst weer leesbaar op marketing-pagina

Bug fix

Featured Growth-card had wit-op-licht tekst en was nauwelijks te lezen

De middelste pricing-card had alleen een teal-gradient als achtergrond zonder ondoorzichtige base. Op de marketing-pagina (lichte page-bg) schoof de page door de transparante gradient heen, waardoor de card bijna wit werd terwijl tekst + ondertitels + features op witte styling stonden — onleesbaar.

v8.95
woensdag 3 juni 2026
14:08

Portal-grid: lijnen subtieler — 4.5% → 2.2% opacity

Polish

Blueprint-grid in dashboard-achtergrond minder opdringerig

De grid-lijnen die in v8.94 zijn toegevoegd waren op sommige plekken net te aanwezig en concurreerden met de content-cards.

v8.91
woensdag 3 juni 2026
13:40

Calculator-CTA per platform in officiële brand-kleuren

Polish

Start-trial knop matcht nu de kleur van het gekozen platform-logo

De "Start 14 dagen gratis" CTA stond altijd in LinkedIn-blauw, ongeacht of je op Instagram, TikTok of Facebook tab stond. Inconsistent met het platform-specifieke karakter van de info-cards.

v8.87
woensdag 3 juni 2026
02:53

Calculator: alle 4 platforms tonen nu directe info-card met groei-cijfers

Nieuwe functie

Instagram + TikTok krijgen ook info-card stijl (in lijn met LinkedIn + Facebook)

IG en TT gebruikten een scrape die op productie vaak faalde (Railway IP geblokt), met als fallback een manual-input flow. Niet consistent met LinkedIn/Facebook die direct een info-card toonden. Bezoekers vonden de inconsistentie verwarrend.

Nieuwe functie

TikTok info-card heeft expliciete veiligheid-disclaimer over lage limiet

TikTok-cijfers (+150-250 volgers/mnd) lijken laag vergeleken met Instagram. Bezoekers vroegen zich af waarom.

Polish

Calculator-code drastisch vereenvoudigd: scrape/error/manual-input/result UI verwijderd

De component had ~200 regels dood code voor de scrape-flow, error-states, manual-input fallback, profile-rendering en result-state. Niet meer nodig nu alle 4 platforms statisch zijn.

v8.85
dinsdag 2 juni 2026
22:41

Facebook info-card: invite-volume + conversie-cijfers

Polish

Facebook-stats vertellen nu het hele verhaal: 30k invites → 3-5k nieuwe volgers/mnd

De Facebook-stat "+200-400 nieuwe page-likes per maand" gaf alleen het eind-resultaat zonder context. Bezoekers vroegen zich af hoe Senly aan die cijfers komt.

v8.84
dinsdag 2 juni 2026
22:22

Growth calculator: Facebook erbij + per-maand cijfers + leesbare CTA

Nieuwe functie

Facebook als 4e platform met info-card (+200-400 page-likes / +15-25 leads per maand)

Calculator had alleen Instagram, TikTok en LinkedIn. Veel bezoekers vragen ook naar Facebook-groei.

Polish

Volgersgroei-card toont nu per-maand cijfer in plaats van 3-maands totaal

Bezoekers zagen "+19.976 extra volgers in 3 mnd" maar moesten zelf delen door 3 om te begrijpen wat dat per maand betekent. Per-maand is concreter voor de "wat krijg ik elke maand"-vraag.

Bug fix

LinkedIn/Facebook "Start 14 dagen gratis" CTA: tekst was wit-op-wit onleesbaar

De LinkedIn-blauwe CTA-knop werd door een generieke .sn-calc-card a-rule overschreven met witte achtergrond. Witte tekst op witte bg = onleesbaar tenzij je met de muis hovert. Conversion-killer.

v8.83
dinsdag 2 juni 2026
22:07

Calculator: manual-input fallback bij IG-block ipv vastlopen

Nieuwe functie

Als Instagram-scrape faalt, kan bezoeker zelf z'n volgers invullen voor een persoonlijke prognose

Instagram blokt alle datacenter-IPs (Railway, Vercel én Cloudflare). De growth calculator viel terug op een nette "schakel over naar TikTok"-melding, maar IG-bezoekers die liever niet wilden switchen liepen alsnog vast zonder resultaat te zien.

v8.82
dinsdag 2 juni 2026
21:50

Rebrand: alle publieke e-mailadressen nu @senly.io

Polish

Achtergebleven @socialmediatools.nl-adressen vervangen door @senly.io

Op verschillende publieke pagina's en in support-content stond nog "info@socialmediatools.nl" / "support@socialmediatools.nl" / "noreply@socialmediatools.nl". Inconsistent met de Senly-merknaam.

v8.79
dinsdag 2 juni 2026
21:43

LinkedIn-tab in growth calculator toont nu directe waarde-propositie

Nieuwe functie

LinkedIn werkt nu zonder scrape — statische info-card met realistische cijfers

Bij het kiezen van LinkedIn in de growth calculator kreeg de bezoeker alleen een "binnenkort beschikbaar"-error. Niet ideaal voor conversie: bezoekers zagen direct dat een feature kapot was. LinkedIn heeft sinds 2018 geen publieke endpoint meer zonder OAuth, dus echt scrapen is geen optie zonder login-flow (wat conversie zou killen).

v8.78
dinsdag 2 juni 2026
21:37

E-mail bulk-verwijderen: "thread niet gevonden" telt als gelukt

Bug fix

Geen valse foutmelding meer als de mail al weg was

Bij snel verwijderen kwam de melding "0 verwijderen gelukt, 4 mislukt: Thread niet gevonden — mogelijk is de mail inmiddels al verplaatst". Maar als de mail er al niet meer was, is het eind-resultaat (mail weg uit inbox) feitelijk gewoon bereikt — onnodig om er een fout van te maken.

v8.77
dinsdag 2 juni 2026
21:34

Contactformulier: neutralere placeholders ipv persoonsnaam

Polish

Naam- en e-mail-placeholders zijn nu generieke voorbeelden

Het naam-veld toonde "Dylan van Dijk" als placeholder, het e-mail-veld "dylan@bureau.nl". Voor bezoekers oogde dat als pre-filled formulier (alsof er al iemand ingevuld stond) en het hint nergens naar wat er verwacht wordt.

v8.76
dinsdag 2 juni 2026
21:29

E-mail bulk-verwijderen: retry + pacing tegen Gmail "Command failed"

Bug fix

Gmail-throttling fout opgevangen bij snel achter elkaar verwijderen

Na de vorige fix (batched bulk-move) was de rate-limit weg, maar Gmail's eigen per-seconde quota zorgde dat individuele moves binnen een batch nog "Command failed" kregen. Resultaat: alert met "0 verwijderen gelukt, 1 mislukt".

v8.75
dinsdag 2 juni 2026
21:21

E-mail images van GitHub, Railway en andere afzenders laden weer

Bug fix

Image-proxy whitelist te smal voor email-bodies

De image-proxy stond alleen images toe van een whitelist (Metricool, Instagram, Facebook etc.). E-mails van GitHub, Railway, Cloudflare en eigenlijk iedere afzender met images werden geblokkeerd → broken-image-icoontjes in de inbox.

v8.73
dinsdag 2 juni 2026
21:18

E-mail: 30+ mails snel achter elkaar verwijderen werkt nu

Bug fix

"Te veel verzoeken" weg bij rapid-fire prullenbak-klikken

Als je snel achter elkaar de prullenbak op 20-40 mails klikte, sloeg de globale 120-req/min rate-limit aan en kreeg je "Te veel verzoeken". Sommige mails verdwenen wel uit de UI maar werden niet daadwerkelijk verwijderd.

Polish

Avatar-checkbox uit eerdere experiment teruggedraaid

De korte-tijdse avatar-vervang-checkbox is eruit; de inbox ziet er weer hetzelfde uit als daarvoor. Bulk via per-mail prullenbak-klik is met de queue snel genoeg dat aparte multi-select-UI niet nodig is.

v8.71
dinsdag 2 juni 2026
21:05

E-mail bulk-select: checkbox vervangt avatar + icon-only action-bar

Polish

Selectie-checkbox vervangt het avatar i.p.v. ernaast komen

De checkbox stond als extra kolom voor de avatar, wat de grid-layout van de thread-row brak: rijen kregen verschillende breedtes, geselecteerde rijen leken groter. Plus de "Verplaats naar prullenbak"-knop in de bulk-bar was zo lang dat de tekst over drie regels brak en de hele bar uitelkaar trok.

v8.67
dinsdag 2 juni 2026
20:33

Content Dagboek: re-render impact gereduceerd via memoization van sub-componenten

Snelheid

Typen in het zoekveld en klikken op een kaart triggert nu alleen herrenders van de componenten waarvan de props wijzigen

Na v8.64 was de wiskunde rondom de data al optimaal, maar React rendert standaard nog steeds het hele component-subtree bij elke state-wijziging. Concreet: 1 toetsaanslag in de zoekbalk triggerde een herrender van alle 12 maand-tabs, alle 8 categorie-tabs en alle 132 dag-kaarten (ook al was alleen de filter-output veranderd). Bij het uit/open klikken van 1 kaart herrenderden alle 132.

v8.65
dinsdag 2 juni 2026
20:32

E-mail: bulk-select met snelle prullenbak-actie

Nieuwe functie

Vink meerdere mails aan, één klik om alles in de prullenbak

20 mails snel achter elkaar verwijderen liep tegen de globale 120-req/min rate-limit aan ("Te veel verzoeken"). En zelfs zonder rate-limit was elke mail per stuk klikken simpelweg te traag. Outlook en Gmail hebben dit al jaren.

Snelheid

Eén API-call voor 200 mails ipv 200 losse

Iedere thread-move was een aparte HTTP-call die door de middleware rate-limit ging. Bij 20+ acties tegelijk = direct 429.

v8.64
dinsdag 2 juni 2026
20:09

Content Dagboek: aanzienlijk sneller laden en snellere filter-respons

Snelheid

Drie perf-issues opgelost waardoor de Content Dagboek pagina merkbaar sneller laadt en filters direct reageren

De pagina had drie cumulerende issues: (1) "kapotte" memoization — `now = new Date()` binnen de render maakte elke render een nieuwe Date-instance, waardoor de useMemo dependency steeds verschilde en ALL_DAYS bij iedere render opnieuw werd geconcat + gesorteerd; (2) de maand-tab-bar deed bij elke render 12 × 132 = 1584 iteraties omdat de count per maand telkens via .filter().length werd berekend; (3) de page was force-dynamic en deed bij elke request een redundante getServerSession() DB-call ondanks dat alle data statisch is en de middleware de auth al doet.

v8.63
dinsdag 2 juni 2026
19:52

Klantprofiel-tabs: klik scrollt nu volledig naar de doelsectie

Bug fix

Klikken op een tab landde soms niet volledig op de doelsectie (bv. Klantinfo werd niet bovenaan getoond)

De smooth-scroll werkte met een vooraf berekende targetY (genomen op klik-moment) en interpoleerde daar lineair naartoe. Maar tijdens de animatie kan de layout boven de doelsectie verschuiven: door de Framer Motion expand van CollapsibleSections, asynchrone re-renders, of resize-observers. Het resultaat: de scroll eindigde op een verouderde Y en kwam een aantal pixels (soms 50-150) tekort.

v8.62
dinsdag 2 juni 2026
19:21

Klantprofiel-tabs: pill knippert niet meer naar tussenliggende sectie bij klikken op verre tab

Bug fix

Klikken op een verre tab (bv. Klantinfo) liet de pill kort op Content "stilstaan" tijdens het scrollen

De scroll-spy werd gelockt voor 800ms na een tab-klik, om te voorkomen dat tussenliggende secties als actief gemarkeerd werden. Maar de smooth-scroll + CollapsibleSection expand-animatie kan langer dan 800ms duren — dan keek de spy halverwege "Content" als laatste-gepasseerde sectie en zette de pill daar, tot de scroll z'n doel bereikte en de pill weer naar Klantinfo schoot. Zichtbaar als een knipper.

v8.61
dinsdag 2 juni 2026
19:10

Klantprofiel-tabs vervolg-fix: dubbele CSS-overrides die de pill nog steeds inset gaven

Bug fix

Pill van actieve tab plakte nog steeds niet tegen de bar-rand ondanks v8.60

De vorige fix paste alleen de base .client-tabs regel aan, maar twee verderop in globals.css stonden overrides die mijn padding terug op een waarde >0 zetten: een mobile mediaquery (padding: 8px 4px !important) en een .client-profile-container variant (padding: 6px !important). Die laatste is exact de selector die op de klant-detailpagina actief is — dus die override won altijd.

v8.60
dinsdag 2 juni 2026
18:55

Klantprofiel-tabs: actieve pill nu strak tegen de bar-rand

Polish

De actieve tab-pill (groen) zat met een paar pixels witruimte van de bar-rand af; nu vult 'ie de bar tot tegen de border

De .client-tabs container had padding: 5px en de pill een kleinere border-radius (16px vs bar 20px). Het resultaat: een dubbele "indent" — de pill leek alsof er bewust ruimte omheen was gelaten, wat onbedoeld een lossere relatie tussen pill en bar gaf.

v8.59
dinsdag 2 juni 2026
18:51

Maak klantmap-knop: betere leesbaarheid in light mode

Polish

Knop nu solid teal met witte tekst i.p.v. zwakke teal-on-light

De Maak klantmap-knop was teal tekst op een lichte teal-tint achtergrond — dat werkt in dark mode maar wast volledig weg in light mode. Op witte cards bijna onleesbaar.

v8.58
dinsdag 2 juni 2026
17:30

Drive: één klik om een submap als klantmap te onthouden

Nieuwe functie

Maak klantmap-knop bij elke submap in de Drive-sectie

Stel je klantprofiel staat per ongeluk gekoppeld aan een te brede map (bv. de hele "Klanten"-folder met daarin alle bureau-klanten). Dan zag je in de Drive-sectie alle andere klanten als submappen staan. Er was geen snelle manier om vanuit die weergave te zeggen: "deze ene submap is de echte klantmap van dit klantprofiel".

v8.57
dinsdag 2 juni 2026
17:02

Drive klanten-root onthouden: één keer kiezen, daarna auto-koppeling per klant

Nieuwe functie

Bewaar je "Klanten"-map als root, Senly matcht automatisch per klant

Na Drive-koppeling stond de root op je hele Drive ("Mijn Drive"). Daardoor scanden auto-koppeling en de folder-picker ALLE top-level mappen — inclusief vakantiefoto's, Inbox, etc. Bij een klant als "Noes Fiolet Studio's" zocht Senly tussen al die top-levels, vond geen match, en je moest manueel per klant doorklikken.

v8.56
dinsdag 2 juni 2026
15:56

Drive folder-picker met navigatie: open mappen, klik door, breadcrumbs

Nieuwe functie

Navigeer door je Drive vóór je een klant-folder kiest

De folder-picker bij Klant > Content > Google Drive toonde alleen de top-level mappen in je Drive — geen manier om in een map "Klanten" of "Studio X" te kijken om de juiste submap te koppelen. Niet bruikbaar bij geneste structuren.

v8.55
dinsdag 2 juni 2026
15:40

Drive-koppeling ziet nu ALLE mappen in je Drive — niet meer alleen door Senly aangemaakte

Nieuwe functie

Bestaande klantmappen worden direct herkend

Bij de eerste versie van de bureau-eigen Drive-koppeling vroeg Senly alleen de `drive.file` scope: toegang tot files die Senly zelf had aangemaakt. Resultaat: bureau's zagen na koppelen een lege "Senly Klanten"-folder en moesten al hun bestaande klantmappen handmatig verslepen. Onbruikbaar.

v8.54
dinsdag 2 juni 2026
15:05

Drive-OAuth whitelabel-proof: canonical host doet de dans, custom-domein krijgt de eind-redirect

Nieuwe functie

Bureau's met eigen whitelabel-domein kunnen ook gewoon Drive koppelen

Google OAuth eist een statische redirect-URI whitelist. Als bureau X z'n portaal whitelabelt naar app.bureauX.nl, zou de Drive-callback ook daar moeten landen — maar die URL staat niet in onze Google OAuth-client. Resultaat: redirect_uri_mismatch error. Per bureau handmatig whitelisten schaalt niet.

Infra

Schema: Tenant.customDomain + OAuthSession.returnUrl

Tenant krijgt een optioneel customDomain veld (unieke whitelabel-host). OAuthSession krijgt een returnUrl-veld voor de canonical-redirect flow. Dezelfde aanpak werkt straks voor Microsoft/OneDrive, Canva, GHL en elke andere OAuth-integratie — moet alleen per provider geretrofit worden.

v8.53
dinsdag 2 juni 2026
14:57

E-mail: switchen tussen mailboxen in de sidebar

Nieuwe functie

Mailbox-filter in de e-mail-inbox

In het e-mail-overzicht zag je wel je gekoppelde mailboxen, maar je kon niet filteren om alleen de mails van één specifieke inbox te zien.

v8.52
dinsdag 2 juni 2026
14:48

Bureau-eigen Google Drive koppelen — eindelijk per-tenant OAuth

Nieuwe functie

Bureau's koppelen hun eigen Google Drive met één klik

Tot nu toe liep alle Drive-opslag via één centraal service account (mijn Drive). Klantbestanden van alle bureau's zaten in mijn account, en als het service account onderuit ging — zoals vanmiddag — viel ALLE Drive-toegang in één klap weg voor iedereen.

Beveiliging

Drive-scope beperkt tot "drive.file" — alleen Senly-content

Een full drive-scope geeft toegang tot ALLES in iemand's Google Drive — vakantiefoto's, belastingaangiftes, alles. Voor een SaaS-integratie veel te ruim.

Infra

Nieuwe DB-model TenantDriveConnection + 4 OAuth-routes

Schema: 1 koppeling per tenant (uniek), met accessToken/refreshToken/expiresAt/googleEmail/rootFolderId. Routes: /api/integrations/gdrive/{connect,callback,disconnect,status}. lib/gdrive.ts heeft nu een getDriveContext(tenantId) resolver die transparant kiest tussen tenant-OAuth en central service account — bestaande callers blijven werken zonder aanpassing.

v8.48
dinsdag 2 juni 2026
13:53

Analyserapport-viewer: topbar nu duidelijk zichtbaar

Bug fix

Topbar van het analyserapport was nauwelijks leesbaar

De Terug-knop, titel en Download-knop in de viewer-topbar waren bijna onzichtbaar. De viewer zat onder de dashboard-header (Header + AppSidebar) en de gebruikte CSS-variabelen resolveden anders in light mode dan verwacht.

v8.44
dinsdag 2 juni 2026
13:15

Analyserapport-viewer: Terug-knop + vlot scrollen door grote PDFs

Polish

Analyserapport opent in een eigen viewer met "Terug naar klant" knop

PDF-rapporten openden in een verse tab zonder geschiedenis, dus de browser-terugknop deed niets. Je moest m sluiten en de klantpagina opnieuw zoeken.

Snelheid

Vlot scrollen door grote PDF-rapporten

Doorheen een 30-pagina rapport scrollen voelde alsof Chrome elke pagina opnieuw moest downloaden. Klopte ook: de download-API leverde de hele PDF in een blok met no-store, dus geen progressive rendering mogelijk.

v8.42
dinsdag 2 juni 2026
13:02

Analyserapporten bij evaluatiegesprekken: download werkt weer + access-check

Bug fix

PDF van evaluatiegesprek opent niet meer in 404

Na het uploaden van een analyserapport bij een evaluatiegesprek gaf de download-link een 404. Next.js production-server bouwt de static-files index bij startup; PDFs die na de build naar /uploads/evaluations werden geschreven werden niet langer geserveerd, zelfs niet met het Railway-volume gemount op /app/public/uploads.

Beveiliging

PDF-rapporten alleen zichtbaar voor mensen met toegang tot de klant

Het oude pad /uploads/evaluations/eval-<clientId>-... was raadbaar — iedereen die de URL kende kon de PDF binnenhalen, ook zonder login.

v8.37
dinsdag 2 juni 2026
03:58

Launchpad: "Plan een demo" knop in Hulp-widget linkt nu naar /contact

Bug fix

De "Plan een demo" knop in de Hulp nodig-kaart op de Launchpad werkt weer

De knop linkte naar /helpdesk, maar die route bestaat niet — klikken leidde nergens heen (404 of stille no-op).

v8.22
maandag 1 juni 2026
20:15

Canva OAuth: cookie-loos via state-in-URL — werkt 100% cross-site

Bug fix

Geen "verifier_ontbreekt" meer, zelfs niet in incognito of strict-cookie modus

Ook na verhuizing van PKCE-state naar DB (v8.20) bleef het koppelen falen, omdat we nog steeds een session_id-cookie nodig hadden om de DB-row te kunnen vinden. Bij cross-site OAuth-redirects worden zelfs kleine SameSite=Lax cookies door incognito en Chrome strict tracking blocking soms niet doorgestuurd. Bureaus die voor het eerst willen koppelen liepen hierop vast.

v8.20
maandag 1 juni 2026
19:03

Canva OAuth: PKCE-state in DB i.p.v. cookies — voor betrouwbare bureau-koppeling

Bug fix

Geen "verifier_ontbreekt" / "state_mismatch" meer bij verbinden

Bij het koppelen van een Canva-account zetten we PKCE code_verifier + CSRF state in HTTP-only cookies. Bij de redirect terug van Canva naar Senly werden die SameSite=Lax cookies door sommige browsers (incognito, Chrome met strict tracking-blocking) niet teruggestuurd → koppeling faalt. Symptomen: rode banner "verifier_ontbreekt" of "state_mismatch", terwijl alles aan onze kant correct was. Nieuwe bureaus konden hierdoor geen verbinding maken.

v8.18
maandag 1 juni 2026
17:46

Launchpad: titel op exacte hoogte van Takenbeheer-titel

Polish

Launchpad padding-top gelijk aan Takenbeheer (112px)

padding-top berekend als container-top (80px) + eyebrow-hoogte (12px) + eyebrow-margin (18px) + sa-title-row-margin (2px) zodat de h1 op dezelfde verticale positie staat.

v8.17
maandag 1 juni 2026
17:39

Launchpad: horizontale witruimte gelijk aan andere dashboardpagina's

Polish

Launchpad-content heeft nu dezelfde zij-padding als Takenbeheer

20px extra horizontale padding toegevoegd aan lp-root zodat de afstand tot de zijbalk overeenkomt met pagina's die een .container wrapper gebruiken.

v8.16
maandag 1 juni 2026
17:28

Launchpad: titel op zelfde positie als andere dashboardpagina's

Polish

Launchpad-content start bovenaan i.p.v. verticaal gecentreerd

justify-content: center verwijderd van lp-root zodat de titel op dezelfde verticale hoogte staat als Takenbeheer en andere pagina's.

v8.14
maandag 1 juni 2026
17:20

Launchpad: paginatitel en info-icoontje gelijk aan rest van portaal

Polish

Launchpad-titel en info-popover gelijk aan Takenbeheer en andere pagina's

Titel gebruikt nu th2-title + sa-title-row, info-icoontje en popover zijn de gedeelde InfoPopover-component. Popover verschijnt altijd op de voorgrond via een hogere z-index op de titel-sectie.

v8.13
maandag 1 juni 2026
17:15

Klantinfo: nieuwe sectie "Persoonsprofiel" voor team-overdracht

Nieuwe functie

Per klant nu een vrije tekstbeschrijving van de persoon

Bij overdracht tussen social media managers ging persoonlijke kennis over de klant verloren — hoe iemand communiceert, voorkeuren, gevoeligheden. De bestaande "Notities & wensen" sectie is bedoeld voor schrijfinstructies aan de AI, niet voor het overdragen van mens-kennis.

v8.12
maandag 1 juni 2026
17:07

Launchpad: paginatitel met info-icoontje

Polish

Launchpad-paginatitel met klikbaar info-icoontje

Boven de voortgangsbalk staat nu "Launchpad" als paginatitel. Het info-icoontje ernaast opent een popover met uitleg over het doel van de Launchpad.

v8.11
maandag 1 juni 2026
17:04

Documenten-sectie alleen zichtbaar als de lokale Bedrijven-map ingesteld is

Polish

Geen rode "niet gevonden"-melding meer op de klantpagina

Onder Klantinfo verscheen voor elke klant de "Documenten"-sectie met een rode foutmelding "Geen lokale map gevonden voor X. Controleer BEDRIJVEN_FOLDER_PATH." De feature werkt alleen als de server-env var BEDRIJVEN_FOLDER_PATH is gezet en er een persistent volume aan dat pad gemount is — op productie zonder die setup heeft de sectie geen nut en geeft ze alleen visuele ruis.

v8.10
maandag 1 juni 2026
16:59

Onboarding entry-modal: titel dunner font-weight

Polish

"Nieuwe entry toevoegen" niet meer dik-vet

Modal-titel had font-weight: 800 (extra bold) — voelde te zwaar voor een lichte glas-card.

v8.09
maandag 1 juni 2026
16:45

Onboarding entry-modal: bestaand CRM-contact selecteren met auto-fill

Nieuwe functie

Contact-picker bovenin "Nieuwe entry toevoegen"

Bij het aanmaken van een nieuwe onboarding-entry moest je alle contactgegevens (naam, bedrijf, email, telefoon) opnieuw intypen, zelfs als het contact al bekend was in het CRM. Duplicaat-werk + foutgevoelig (typo's, ontbrekende velden).

v8.08
maandag 1 juni 2026
16:34

Tools-pagina: stagger fade-in animation weg — geen "dubbel laden" effect meer

Snelheid

Cards verschijnen nu direct i.p.v. ~1 seconde golf

v8.06 fixte de data-fetch dubbel-load (server-side data), maar gebruiker zag de cards nog steeds twee keer komen. Oorzaak: .tx-rec-card had een fade-in animation van 0.6s met per-card stagger van 0.05s tot 0.45s. Voor 6 cards is dat een ~1 seconde wave per rij. Met twee rijen ("Recent gebruikt" + "Aanbevolen voor jou") tegelijk werd dat visueel ervaren als "dubbel laden". Plus tijdens hydration herstart de CSS animation, wat de flash versterkte.

v8.07
maandag 1 juni 2026
16:23

Klantprofiel sales-attributie: invulvelden niet meer donkergrijs in light mode

Bug fix

Light-mode override op select/input werkte niet — styled-jsx scoped html-selector verkeerd

In het Financieel-tabblad van het klantprofiel hadden de "Kies…"-dropdowns (Appointmentsetter / Closer / Sales Manager) een donkergrijze achtergrond in light mode — paste niet bij de witte cards eromheen.

v8.06
maandag 1 juni 2026
16:19

Tools-pagina laadt niet meer dubbel — personal data nu server-side

Snelheid

Geen visuele dubbel-flash meer bij /tools openen

ToolsIndex initialiseerde personal state met FEATURED_SLUGS-fallback (7 cards), daarna fetch /api/tools/personal in useEffect → setPersonal → re-render met DB-data. Resultaat: gebruiker zag de tool-cards twee keer achter elkaar laden (eerst fallback, dan API-data).

v8.05
maandag 1 juni 2026
16:14

Boekingspagina + manage-pagina: draaiende spinner i.p.v. statische "Laden…" linksboven

Polish

Inline-styled loading-state met SVG-spinner — meteen vanaf eerste paint

Bij het openen van een boekingslink (en de manage-link voor annuleren/verzetten) zag je ~1 sec ongestyled "Laden…" linksboven verschijnen voordat de echte pagina inviel. Oorzaak: de styles stonden in `style jsx global` die pas NA hydration actief wordt — voor die periode kreeg de browser dus puur HTML zonder CSS.

v8.04
maandag 1 juni 2026
16:04

User-card pijl: niet langer in een eigen regel onderaan

Bug fix

Pijl sprong naar row 2 onder de avatar

.user-card had grid-template-columns: 44px 1fr auto (3 kolommen), maar v7.98 voegde een vierde child toe (sessies-knop) naast de bestaande pijl. CSS Grid plaatste het 4e element (pijl) automatisch op row 2 col 1 — onder de avatar. Resultaat: elke card 28px hoger dan nodig.

v8.03
maandag 1 juni 2026
15:56

"Mijn compensatie" widget op setters-dashboard nu ook leesbaar in dark mode

Bug fix

Wit blok over donker dashboard opgelost — verkeerde CSS-vars

Op het appointment-setters dashboard verscheen de "Mijn compensatie"-widget in dark mode als een groot WIT blok waardoor tekst (flat fee, commissie, totaal, tabel) niet leesbaar was. In light mode werkte het wel.

v8.01
maandag 1 juni 2026
15:54

Gebruikers-overzicht: cards compacter zodat meer users in beeld passen

Polish

User-cards ~40% lager zonder data te verliezen

Op /admin/users zag je maar 3-4 user-cards per scherm. Veel verticale ruimte tussen elementen, grote avatar, dikke padding.

v8.00
maandag 1 juni 2026
14:19

Metricool callers volledig tenant-aware — alle 13 routes geven nu tenantId door

Nieuwe functie

lib/metricool.ts en alle 13 aanroepende routes herwerkt zodat per-tenant credentials overal worden gebruikt

Na v7.95+v7.97 was de credentials-infrastructuur (secret-vault + Tenant-velden + UI) klaar, maar alle 13 aanroepende routes gebruikten nog de oude sync authHeaders/userId helpers die alleen env vars lezen. Een bureau dat via /admin/integraties/content-kalender z'n eigen Metricool-token instelde, zag nog steeds platform-quota gebruikt worden bij sync/post/analytics/calendar/canva-send/ai-content/ai-post-image/feed-style/monthly-report/calendar-aggregate/review.

v7.98
maandag 1 juni 2026
14:07

Gebruikersbeheer: sessie-beheer + "log overal uit" + 2FA-status zichtbaar

Nieuwe functie

Sessies-overzicht per gebruiker met "log overal uit"

Geen manier om te zien wie waar ingelogd is of om een gecompromitteerde sessie te beëindigen. Een admin die ontdekt dat een ex-medewerker nog ingelogd is, kon alleen het wachtwoord wijzigen en hopen dat de JWT verloopt.

Nieuwe functie

2FA-status zichtbaar in gebruikerslijst

2FA-data zat al in de DB (User.mfaEnabled + mfaSecret) maar werd nergens in admin/users getoond. Admin kon niet snel zien welke users 2FA hadden ingesteld.

Infra

IP-privacy via hash + prefix-only opslag

Volledige IP-adressen opslaan = privacy-overweging onder AVG/GDPR. Vereist rechtvaardigingsgrond en kort bewaartermijn.

v7.97
maandag 1 juni 2026
14:05

Integraties → Content kalender: UI voor eigen Metricool-koppeling

Nieuwe functie

Nieuwe admin-page /admin/integraties/content-kalender met token + userId formulier

Per-tenant Metricool-credentials konden alleen via API (PATCH /api/integrations/metricool/credentials) ingesteld worden — geen UI. Bureaus moesten dus DevTools openen of een aparte client gebruiken om hun eigen token in te voeren.

v7.96
maandag 1 juni 2026
14:01

Activiteiten-pagina: server-side filtering + paginering + datumrange + "Laad meer"

Snelheid

Geen "verdwijnende oudere events" meer bij schaal

De activiteiten-pagina haalde altijd 100 items op en filterde client-side. Bij grote tenants betekende dat: zodra je meer dan 100 events had, miste je de oudere — geen enkele zoekopdracht of filter kon erbij komen. Search en type-filter beperkten zich tot het 100-venster.

v7.92
maandag 1 juni 2026
13:12

Klantprofiel: gloeiende multi-kleur gradient-line BOVEN Content sectie eindelijk gefixt

Bug fix

platforms-card ::before/::after lekten uit hun container in dark mode

In dark mode verscheen een gloeiende cyaan→blauw→paars→rood gradient-line boven de Content sectie op klantprofiel. Alleen zichtbaar zonder taken (toevallig — de scroll-positie maakte het opvallend). Oorzaak: .platforms-card had alleen in light mode position: relative + overflow: hidden. In dark mode misten beide. De ::before (4px platform-accent strip met linear-gradient TikTok #25F4EE→#FE2C55, Instagram orange→pink→purple, etc.) en ::after (30px blur-glow) hebben position: absolute + top: 0; left: 0; right: 0. Zonder positioned ancestor zochten ze de dichtstbijzijnde — vaak meerdere niveaus hoger. 8 platforms-cards stapelden zo hun gradient-bars op TOP van de hele Content section → multi-color gloeiende horizontale lijn.

Infra

Alle diagnose-test CSS-overrides verwijderd

Tijdens de zoektocht naar de bron heb ik 5 diagnose-blokken in globals.css toegevoegd (v7.79: knop verbergen, v7.81: hele Content verbergen, v7.82: collapsible-stack + platforms + spacer, v7.85: alleen collapsible-stack, v7.90: alleen platforms-strip).

v7.90
maandag 1 juni 2026
12:57

Klantprofiel diagnose-test 5: alleen platforms-strip verbergen

Infra

cp-collapsible-stack uitgesloten → testen platforms-strip

v7.85 wees uit dat de 4 CollapsibleSection cards NIET de bron zijn. Bron is dus de platforms-strip (Platformen-blok met platform-cards) of de spacer-div met margin-top: 72px.

v7.89
maandag 1 juni 2026
12:51

CRM "Nieuwe pipeline": template-picker met 4 archetypes (Snel/Standaard/B2B/Eigen)

Nieuwe functie

Pipeline-creatie krijgt zelfde card-grid UX als de Onboarding-modal, met 4 startpunten van compact (5 stages) tot uitgebreid (17)

Elke nieuwe pipeline kreeg automatisch dezelfde 17 hardcoded stages (Lead binnen → Gekwalificeerd → Gebeld → ... → Inactieve klant). Voor solo-bureaus of korte sales-cycli was dat overweldigend en moest je handmatig 10+ kolommen wegklikken om iets bruikbaars over te houden. Modal was bovendien een platte naam-input zonder enige indicatie van wat je kreeg.

v7.88
maandag 1 juni 2026
12:44

Onboarding "Alle diensten"-filter: slim verbergen + alleen aanwezige typen tonen

Polish

Service-filter verschijnt nu pas bij 2+ verschillende dienst-types in de flow, en toont alleen de typen die er ook echt in zitten

De "Alle diensten"-dropdown stond altijd in de toolbar — ook bij flows met 0 contacten, mono-dienst flows (alles SM Beheer), of bureaus die per dienst al een aparte flow hebben (waardoor filteren binnen die flow zinloos was). Plus toonde de dropdown alle 9 SERVICE_TYPES opties terwijl er bijvoorbeeld alleen "SM Coaching" en "SM Beheer" in de flow voorkwamen — visueel cluttered.

v7.87
maandag 1 juni 2026
12:43

Launchpad: groene "Markeer als voltooid"-knop voor stappen zonder auto-detectie

Nieuwe functie

Taken zoals "zoom 80%" en "probeer dark mode" kun je nu netjes afvinken (i.p.v. "Sla over")

Voor stappen zonder DB-detectie was de enige manier om ze van de actieve lijst te krijgen "Sla over" — wat ze visueel als "Overgeslagen" markeerde, ook als je de actie wel had uitgevoerd. Voelde niet eerlijk.

v7.86
maandag 1 juni 2026
12:40

Onboarding: actieve flow verwijderen via 2-staps confirm-knop in toolbar

Nieuwe functie

Nieuwe prullenbak-knop naast de flow-selector + DELETE-handler die de UI bijwerkt

Backend had al een DELETE /api/onboarding/flows/[id]-endpoint, maar er was geen UI-knop om een flow te verwijderen. Gebruikers konden onbedoeld duplicaten of testflows niet kwijtraken.

v7.85
maandag 1 juni 2026
12:39

Klantprofiel diagnose-test 4: alleen cp-collapsible-stack verbergen

Infra

Verder isoleren binnen Content sectie

v7.84 bevestigde dat een van drie elementen (cp-collapsible-stack / platforms-strip / spacer-div) de bron is. Nu testen we welke specifiek.

v7.84
maandag 1 juni 2026
12:29

Klantprofiel diagnose-test 3: cp-collapsible-stack verbergen om bron verder te isoleren

Infra

Bron is binnen Content sectie bevestigd → nu collapsible-stack isoleren

v7.81 test was succesvol: hele Content sectie verbergen liet de gradient-line verdwijnen. Bron is dus binnen Content. Maar binnen Content zitten 4 dingen: header-row (titel + knop), cp-collapsible-stack (4 cards), platforms strip, en een lege spacer-div.

v7.83
maandag 1 juni 2026
12:24

Onboarding "Nieuwe flow": volledige template-picker met preview-stages

Nieuwe functie

NewFlowModal vervangen door visuele card-grid met 9 templates en stage-previews

De "Nieuwe flow"-modal had een platte <select>-dropdown waarin je een template kon kiezen — niet inzichtelijk wat je kreeg en gebruikers wisten niet welke template bij hun proces paste. Plus de modal was 440px breed met alleen een naam-input + dropdown, voelde meer aan als databank-formulier dan als productverkenning.

v7.82
maandag 1 juni 2026
12:22

Launchpad: nieuwe categorie "Begin hier" + 13 extra onboarding-stappen per rol

Nieuwe functie

Stap 1 voor iedereen: zet je browser-zoom op 80%

De launchpad miste een universele eerste stap die direct uitlegt hoe je het portaal het comfortabelst gebruikt.

Nieuwe functie

+13 nieuwe onboarding-stappen verdeeld over rollen

Basisinstellingen kreeg: taal kiezen, notificaties instellen, dark mode proberen, valuta instellen (admin), eigen domein koppelen (admin). Klanten & werk kreeg: eerste taak aanmaken, eerste maandrapport versturen (beide bureau). Meetings & boeken kreeg: video-meeting app koppelen, booking-emails personaliseren. E-mail kreeg: email-handtekening instellen. Tools & integraties kreeg: cloud-opslag koppelen (admin). Sales-flow kreeg: lead-bronnen configureren (sales manager), eerste outreach-template (sales). Per rol zie je nu een veel completer onboarding-pad.

v7.81
maandag 1 juni 2026
12:21

Klantprofiel diagnose-test 2: Content sectie verborgen om bron gradient-line te lokaliseren

Infra

Hypothese "Deel review-link knop" gefalsifieerd → nu hele Content sectie verbergen

v7.79 verborg de Deel review-link knop in dark mode op klantprofiel om te testen of die de bron was van de gradient-line. Gebruiker meldt dat de lijn er nog is — knop is dus niet de bron.

v7.79
maandag 1 juni 2026
12:12

Klantprofiel: gradient-line shotgun-fixes teruggedraaid + diagnose-test op Deel review-link

Infra

v7.71 + v7.76 defensieve neutralisaties verwijderd

De pseudo-element neutralisatie (v7.71) en de tweede shotgun-pass met overflow:clip + box-shadow weghalen (v7.76) hadden geen effect op de gloeiende gradient-line. Beter terugdraaien om de codebase schoon te houden.

Infra

TIJDELIJKE diagnose: Deel review-link knop verborgen in dark mode

Gebruiker vermoedt dat de Deel review-link knop de bron is van de gradient-line. Om dit te valideren zonder live DOM-inspectie nodig te hebben, verbergen we de knop tijdelijk in dark mode op klantprofiel.

v7.78
maandag 1 juni 2026
12:11

Onboarding-pagina: eyebrow en titel omgewisseld — "Onboarding" wordt nu de H1

Polish

"FLOWS" als eyebrow, "Onboarding" als hoofd-titel (was andersom)

De Onboarding-pagina had "ONBOARDING" als kleine eyebrow boven een grote "Flows"-titel. Gebruiker vond de hiërarchie logischer omgekeerd: het primaire onderwerp van de pagina is Onboarding, en Flows is de feature-naam — die hoort als label boven de titel.

v7.77
maandag 1 juni 2026
12:03

Changelog: filter-zone matched nu 1-op-1 de meetings-kalender achtergrond

Polish

Solid bg-elev + drie accent-radials erbovenop (zelfde stack als .app-shell-main)

v7.75 gebruikte een color-mix(accent 14% + diep donker) — leek wel groen maar matchde niet exact de meetings-kalender. Die ziet er groener uit door twee gestapelde lagen: var(--bg-elev) als solid basis + de .app-shell-main accent-radials (19/13/14% teal) die door transparante cellen heen schemeren.

v7.76
maandag 1 juni 2026
12:02

Klantprofiel dark mode: tweede shotgun-pass op gradient-line

Bug fix

Aggressievere neutralisatie van gradient-line boven Content sectie

v7.71 schakelde pseudo-elements uit op cp-section-header-row / client-section / cp-collapsible-stack — maar de lijn bleef. Gebruiker meldt dat de lijn alleen verschijnt wanneer Taken via EmptyState gerendered wordt (zonder taken). Kandidaten: empty-state-icon box-shadow glow, Deel review-link knop, overhangende shadow uit een sectie.

v7.75
maandag 1 juni 2026
11:51

Changelog dark mode: filter-balk + releases krijgen donkergroene huisstijl-tint

Polish

bg-elev grijs vervangen door color-mix(accent 14% + diep donker)

v7.74 gebruikte var(--bg-elev) (#161a21 = neutraal grijs) voor het gebied vanaf de filter-balk. Dat voelde te neutraal — geen relatie met de huisstijl.

v7.74
maandag 1 juni 2026
11:45

Changelog dark mode: portal-gradient boven hero, bg-elev vanaf filter-balk

Polish

v7.73 was overshoot — splits-aanpak: gradient blijft boven, uniforme kleur onder

v7.73 maakte de hele /changelog uniform bg-elev waardoor de hero ook plat werd — de portal-gradient die overal in dark mode te zien is verdween. Bedoeling was dat alleen ván de filter-balk t/m de releases die uniforme groen-zwarte kleur kreeg, en de hero erboven de gewone portal-sfeer behield.

v7.73
maandag 1 juni 2026
11:38

Changelog-pagina in dark mode: uniforme achtergrond (zoals de meetings-kalender)

Polish

Radial-gradient stack vervangen door solid var(--bg-elev)

De /changelog-pagina had in dark mode een stack van 6 radial-gradients als achtergrond (overgenomen van de portal-body). Daardoor waren er zichtbare lichtere/donkere zones tussen de hero, filter-balk en releases — onrustig.

v7.71
maandag 1 juni 2026
11:28

Klantprofiel dark mode: gloeiende gradient-line boven Content sectie weg

Bug fix

Multi-kleur gradient-line gloeide boven de Content sectie

In dark mode verscheen een gloeiende horizontale gradient-line (teal/cyaan → blauw → paars → rood) vlak boven de Content sectie op de klantprofiel-pagina. De exacte bron-selector was via grep niet te identificeren — kandidaten waren ::before/::after op cp-section-header-row, section[data-tour="klant-designs"], of cp-collapsible-stack.

v7.70
maandag 1 juni 2026
11:26

Meetings: "Laden..." overlay helemaal weg — grid blijft altijd zichtbaar

Polish

Kalender-raamwerk wordt direct getoond, events floeren erin zodra ze geladen zijn

v7.69 ving de auto-refresh op, maar bij een verse pagina-load (zonder cache) verspringde het scherm nog steeds naar een "Laden..."-tekst voordat het grid verscheen. Onrustig en onnodig.

v7.69
maandag 1 juni 2026
11:22

Meetings: auto-refresh laat het scherm niet meer naar "Laden..." verspringen

Polish

Refresh werkt nu écht silent op de achtergrond

Elke 90 sec (en bij tab-focus / op de refresh-knop) verving het hele kalender-grid voor een "Laden..."-tekst, ook al stond er al data. Het scherm verspringde dus regelmatig, wat onrustig oogt en je positie/zicht onderbreekt.

v7.67
maandag 1 juni 2026
11:17

Klantprofiel LinkedIn-cards: badge persoonlijk/zakelijk + altijd naast elkaar

Nieuwe functie

LinkedIn-logo krijgt een persoon- of building-badge rechtsonder zodat persoonlijk vs zakelijk in één oogopslag duidelijk is

Wanneer een klantprofiel zowel een persoonlijke LinkedIn (/in/<naam>) als een zakelijke bedrijfspagina (/company/<id>) gekoppeld had, was er geen visueel onderscheid tussen de twee cards — beide toonden hetzelfde LinkedIn-logo. Plus: de twee accounts konden door de account-volgorde in de DB ergens in de platformen-rij verspreid staan, niet altijd naast elkaar.

v7.65
maandag 1 juni 2026
11:05

Klantprofiel Instagram: AI-profielcheck-knop verborgen zolang niet ingelogd

Bug fix

InstagramProfileCheckButton verschijnt nu alleen als account.cookieFile aanwezig is — zelfde gedrag als LinkedIn/TikTok

Op de klantprofiel-pagina toonde de Instagram-card een actieve "AI-profielcheck"- + "Bekijk laatste"-knop, óók wanneer de extensie nog niet ingelogd was. Andere platforms (LinkedIn, TikTok) verbergen hun acties terecht zolang er geen sessie is — Instagram week af. Klikken op de knop in niet-ingelogde staat liep linea recta in een scraper-fout omdat het profiel niet bereikbaar is zonder cookie.

v7.64
maandag 1 juni 2026
10:58

Changelog dark mode: filter-balk loopt nu door met de portaal-gradient

Polish

Sticky filter-balk had hardcoded donkere achtergrond i.p.v. portaal-bg

.cl-filters-wrap had in dark mode background: rgba(11, 14, 20, 0.85) — een ondoorzichtige donkere balk die over de portaal-radial-gradient lag. Daardoor was de zone met de filter-pills duidelijk donkerder dan de rest van de pagina (zichtbare horizontale "band" tussen hero en releases).

v7.63
maandag 1 juni 2026
10:56

Tools "Aanbevolen voor jou" — eerste card start links, geen halve offset meer

Bug fix

Eerste card van de Aanbevolen-rij stond half-gescrolled

De rij rendert eerst met defaultSuggested (fallback), dan herrendert met API-data. Bij die wissel hield de track soms een non-zero scrollLeft vast — je zag dan de eerste card links half afgesneden i.p.v. vol vanaf de rand.

v7.62
maandag 1 juni 2026
03:28

Vier fixes: e-mail rapid delete, trends export, changelog dark bg, tools rij

Bug fix

E-mail: "Command failed" bij snel achter elkaar mails verwijderen

Gmail throttled bij rapid-fire deletes. Het frontend deed één request en toonde direct een alert bij elke transient error — dus elke 3e-5e delete kreeg "Kon thread niet verwijderen: Command failed".

Bug fix

Trends: Exporteren-knop deed niets

De Exporteren-knop op /trends had een lege placeholder-handler (onClick={() => { /* placeholder */ }}). Click → geen download, geen feedback.

Polish

Changelog dark mode: exact dezelfde achtergrond als het portaal

/changelog had in dark mode een eigen radial-gradient-stack met paars-accent en hardcoded #070a0f/#0b0e14 basis. Voelde subtle "anders" dan de portaal-pagina ernaast — niet als één geheel.

Bug fix

Tools: "Aanbevolen voor jou" toonde maar 5 items

/api/tools/personal filterde recent-gebruikte tools uit FALLBACK_SUGGESTED (7 items). Als 2+ tools al "recent" waren, bleven er 5 over — niet genoeg om de 6-kolommen rij te vullen. De fallback-check triggerde alleen bij <4 items.

v7.61
maandag 1 juni 2026
03:23

Klantprofiel: Deel review-link knop dark-mode styling

Bug fix

Deel review-link knop bleef wit in dark mode

.rv-share-trigger-btn had background: var(--card, #fff) en color: var(--text, #1a2332). --card was nergens gedefinieerd, dus de knop viel terug op #fff en #1a2332 — witte knop met donkere tekst op een donkere pagina-achtergrond.

v7.60
maandag 1 juni 2026
02:59

E-mail shell: witruimte boven en onder gelijkgetrokken

Polish

E-mail-paneel langer zodat ruimte onder = ruimte boven

.ml-app had margin: 20px 0 24px met height: calc(100vh - 160px). Bij een ~70px topbar gaf dat 20px ruimte boven maar ~46px gat onder de shell — visueel scheef.

v7.59
maandag 1 juni 2026
02:57

Klant-detail secties breder (1320 → 1600px)

Polish

Brand kit, overzicht en andere klant-detail blokken krijgen meer ademruimte

De klant-detail pagina (/klant/[slug]) erfde de standaard .container max-width van 1320px. Op brede schermen voelde dat krap — vooral de brand-kit kleur-cards en het overzicht-blok hadden veel ongebruikte witruimte links en rechts.

v7.58
maandag 1 juni 2026
02:27

Dashboard branding-glow hersteld — alleen header-saturate was de echte bug

Polish

.app-shell-main accent-radials terug, content-area niet meer plat-donker

v7.57 ging te ver: naast de echte oorzaak (saturate(150%) op alle <header> elementen) had ik ook .app-shell-main solid donker gemaakt + z-index:1. Daardoor verdween de subtiele teal branding-glow op het dashboard volledig — alles werd platvloers donker.

v7.57
maandag 1 juni 2026
02:23

Dark mode: lichtere/blauwige rechthoeken achter cards — definitief opgelost na dag-1-bug

Bug fix

Globale header backdrop-filter weggehaald + content-area uniform donker

Door HEEL het portaal verschenen in dark mode lichtere/blauwige rechthoekige patches achter cards en boven section-titels. Bug bestond letterlijk sinds dag 1 (eerste 40 uur van het project). Eerdere pogingen om body-radials of .app-shell-main-accent te verzwakken hielpen niet omdat de daadwerkelijke oorzaak op TWEE plekken zat tegelijk.

v7.56
maandag 1 juni 2026
01:05

Takenbeheer: profielfoto-avatars + tabs Werkload/Overzicht/Kalender + witte filter-pills

Nieuwe functie

Profielfoto verantwoordelijke i.p.v. initiaal-rondje

In de takentabel zag je bij "Verantwoordelijke" een rondje met de eerste letter van de naam — niet de echte foto. Voelde minder persoonlijk en minder herkenbaar dan bv. de meetings-pagina waar avatars wel verschijnen.

Nieuwe functie

Top-tabs Werkload / Overzicht / Kalender met underline op active

De Takenbeheer-pagina toonde alleen de takenlijst (eventueel als Kanban). Er was geen high-level overzicht of dag-gericht kalender-zicht — terwijl admins juist zoiets gevraagd hebben.

Polish

Filter-pills nu als witte rechthoekjes met ronde hoeken

.th2-chip filter-knoppen hadden in light mode een transparante achtergrond met dunne border — voelde plat en goedkoop vergeleken met de KPI-cards rechtsboven die wel duidelijke witte rechthoekjes zijn.

v7.55
maandag 1 juni 2026
01:00

Financieel: hardcoded 64px top-padding override gevonden + opgelost

Bug fix

Tweede .container.financieel-container regel met padding-top 64px override mijn v7.54 fix

Mijn v7.54 zette padding-top op 16px in een vroeg blok, maar later in globals.css stond een tweede .container.financieel-container regel met padding-top: 64px !important die door CSS-cascade later won (gelijke specificiteit, latere wint). Resultaat: Statistieken op 16px, Financieel op 64px — nog steeds inconsistent.

v7.54
maandag 1 juni 2026
00:51

Financieel: zelfde top-padding-fix als Statistieken

Polish

.container.financieel-container krijgt nu ook padding-top 16px ipv 80px default

Net zoals Statistieken in v7.52 — de Financieel-pagina erfde 80px top-padding van de default .container, tabs begonnen pas halverwege de viewport.

v7.53
maandag 1 juni 2026
00:50

Meetings week-view: uurlijnen verdwenen soms — nu altijd zichtbaar

Bug fix

Horizontale uurlijnen flakeden in de week-kalender

.meet-week-slot border was color-mix(in srgb, var(--border) 70%, transparent). In light mode is var(--border) al rgba(12, 36, 34, 0.09) — 9% opacity. De 70%-mix bracht dat naar ~6% effectieve opacity, onder de drempel waar browsers een 1px-border betrouwbaar renderen. Bij scroll, zoom of subpixel-shift verdween een deel van de uurlijnen waardoor je ze "soms wel, soms niet" zag en moest refreshen om ze terug te krijgen.

v7.52
maandag 1 juni 2026
00:49

Statistieken: top-padding gelijk getrokken met Meetings (80px → 16px)

Polish

Statistieken-pagina content begint nu direct onder de header bar zoals Meetings

.container.home-container erfde de default .container padding-top van 80px. Resultaat: een grote witruimte tussen de top header-bar en de eerste tabs (Health check / Klanten / Team / Systeem). Voelde onnatuurlijk leeg vergeleken met Meetings.

v7.51
maandag 1 juni 2026
00:39

E-mail reader: subtle paars/teal wash weg — pure wit in light mode

Bug fix

Reader-paneel had nog een mauve tint i.p.v. echt wit

.ml-reader::before tekende twee radial-gradients (paars rechtsboven, teal linksonder) bedoeld als premium "glow", maar in light mode op een witte ondergrond zag dat eruit als een lichtgrijze / mauve tint i.p.v. pure wit — niet wat de gebruiker verwachtte naast de witte sidebar en threadslijst.

v7.50
maandag 1 juni 2026
00:29

E-mail light mode: witte achtergrond loopt nu door tot in de mail-reader

Bug fix

Reader-paneel had een lichtgrijs vlak i.p.v. wit

.ml-reader had background: var(--mlnx-bg) — in light mode is dat #f7f8fa (off-white), een tintje donkerder dan body's #ffffff. Daardoor zag het reader-paneel er grijs uit naast de witte sidebar en threadslijst.

v7.49
maandag 1 juni 2026
00:27

E-mail campagnes: zoek-input grijze omlijning subtieler in light mode

Polish

.campaign-search border transparanter + dezelfde zachte shadow als KPI-cards

In light mode trok de "Zoek campagnes..."-input een opvallende grijze omlijning op de pagina — terwijl de KPI-cards ernaast veel subtieler oogen door hun box-shadow.

v7.48
maandag 1 juni 2026
00:22

Launchpad-avatars: zakelijke headshots i.p.v. casual pravatar-crops

Polish

Avatar-foto's zien er nu professional uit

De pravatar.cc-portretten waren artistiek/casual (man met lang haar, vrouw met sjaal, persoon met zonnebril) — past niet bij de "Plan een demo met ons team"-context.

v7.47
maandag 1 juni 2026
00:22

Meetings week/dag-grid: gridlijnen beter zichtbaar + geen glitching meer

Polish

Tijd-rij + dag-kolom + uur-slot lijnen krijgen meer opacity zodat ze altijd duidelijk renderen

De gridlijnen waren op 60% (uren) / 30% (slots) van --border opacity gezet. In sommige browsers + sommige scroll-posities renderde de subpixel-anti-aliasing dit zo subtiel dat de lijnen visueel "wegvielen" (glitching look). Plus ze waren überhaupt te zacht om als duidelijke structuur te dienen.

v7.46
maandag 1 juni 2026
00:18

Dashboard widgets: glas-laag transparanter (0.025 → 0.015)

Polish

.taskio-card achtergrond iets transparanter — portal-bg schijnt sterker door

Gebruiker wilde de widget-shell iets meer transparant zodat de portal-bg duidelijker doorschijnt en de cards minder "vast" op de bg liggen.

v7.45
maandag 1 juni 2026
00:16

Launchpad "Hulp nodig?": echte portretten i.p.v. initiaal-bolletjes

Polish

Avatar-stack toont nu echte mensen i.p.v. JD/SM/RW-stubjes

De drie kleur-bolletjes met initialen zijn vervangen door <img>-tags die portretten ophalen van i.pravatar.cc (open-license stock). Drie vaste indices die typisch Noord-Europees ogen. Alt-tekst bevat Nederlandse demo-namen voor accessibility. De "+8"-badge blijft staan voor het idee van een groter team.

v7.44
maandag 1 juni 2026
00:12

Dashboard widgets dark mode: zelfde transparant-glas als calendar-shell

Polish

.taskio-card krijgt rgba(255, 255, 255, 0.025) — identiek aan .calendar-page-container

Na v7.43 (frosted-glass !important rule weg) viel .taskio-card terug op var(--bg-elev) (vlak #161a21). Gebruiker wilde echter precies dezelfde look als de Kalender-shell ("Bekijk agenda van — Social Media Tools"), met subtiele wit-glas laag die de portal-bg laat doorshijnen.

v7.43
maandag 1 juni 2026
00:10

Dashboard widgets: ECHTE bron van blauwerige tint gevonden — frosted-glass !important override weg

Bug fix

rgba(16, 21, 30, 0.55) + saturate(145%) frosted-glass-rule met !important overruled v7.40 — nu verwijderd

v7.40 zette .taskio-card op var(--bg-elev) maar de blauwerige tint bleef zichtbaar. Reden: op regel 59166 stond een verborgen @media (min-width: 900px) override met `background: rgba(16, 21, 30, 0.55) !important; backdrop-filter: blur(24px) saturate(145%);` die alle vorige fixes met !important overruled. De rgba(16, 21, 30) heeft B=30 > R=16 (duidelijk blauwerig) en de 55% opacity + saturate(145%) liet de portal accent-glow ook nog versterkt doorshijnen.

v7.42
maandag 1 juni 2026
00:09

Revert v7.38: e-mail dark mode radial-gradients terug op .ml-app

Polish

Drie radial-gradients (bg-tint-strong/tint/soft) op .ml-app teruggezet — versie van v7.31 hersteld

background: transparent vervangen door de radial-gradient-stack van v7.21/v7.26/v7.31. De teal-wash is weer zichtbaar in de e-mail-shell. Border 0 en box-shadow none blijven (was uit v7.31). Kolom-hairlines uit v7.34 blijven ook intact.

v7.41
maandag 1 juni 2026
00:06

Launchpad "Hulp nodig?": tekst links uitgelijnd

Bug fix

Tekst in "Hulp nodig?"-card stond per ongeluk gecentreerd

Een oude .lp-help { text-align: center }-regel uit globals.css (resterend van de login-pagina) lekte mee naar het Launchpad-card en gaf "Ons team staat klaar..." een ongewenste centrering.

v7.40
maandag 1 juni 2026
00:05

Dashboard widgets dark mode: blauwerige tint weg via vlakke bg-elev

Polish

.taskio-card krijgt vlakke var(--bg-elev) ipv transparent — accent-tint uit portal-bg schijnt niet meer door

Met background: transparent uit v7.37 schenen de teal radial-gradients uit .app-shell-main (3 ellipsen op 13-19% opacity in var(--teal)) door de widgets heen. De gebruiker zag dat als een "blauwerige" tint binnen elke widget — niet wenselijk.

v7.39
maandag 1 juni 2026
00:00

Launchpad: content verticaal gecentreerd in de viewport

Polish

Geen lege ruimte meer onderaan de pagina

De Launchpad-content stond bovenaan met een grote zwarte/witte plek onder de laatste taak. Op een normaal scherm voelde de pagina onaf doordat de blokken niet de viewport vulden.

v7.38
zondag 31 mei 2026
23:58

E-mail dark mode: groen "vak" rond Postvak IN weg — shell volledig transparent

Polish

Drie radial-gradients op .ml-app verwijderd, achtergrond nu transparent zodat body-gradient overal uniform doorschijnt

De radial-gradient(75% 70% at 0% 0%, bg-tint-strong) gaf een sterke teal-hotspot links-boven op de e-mail-shell, waardoor het deel rond "Postvak IN" eruitzag als een aparte groen-getinte vak terwijl de rest donkerder bleef.

v7.37
zondag 31 mei 2026
23:55

Dashboard widgets dark mode: alleen widget-shell transparent, inhoud behoudt eigen kleur

Polish

.taskio-card buitenste container krijgt background: transparent en box-shadow: none, sub-elementen blijven gekleurd

De buitenste widget-shell .taskio-card had nog een inset highlight rgba(255, 255, 255, 0.04) + drop-shadow die samen een vlak-illusie gaven, terwijl de gebruiker een volledig transparante container wilde. Wel moeten sub-elementen (deadline-vakjes met gekleurde glow, quick-action items met var(--bg-mid)) hun eigen achtergrondkleur behouden.

v7.36
zondag 31 mei 2026
23:51

Launchpad: meer ademruimte tussen percentage en halve donut

Polish

Donut-cijfer leunde tegen de boog-uiteindjes

Donut iets vergroot (130×75 i.p.v. 110×62), cijfer iets compacter (16 px i.p.v. 18 px) en verder van de bodem gepositioneerd (8 px i.p.v. 4 px). Status-card kolom navenant verbreed naar 130 px zodat de donut past.

v7.35
zondag 31 mei 2026
23:49

Dashboard widgets dark mode: achtergrondkleur volledig weg — portal-bg schijnt door

Polish

.taskio-card achtergrond is nu transparent in dark mode

Zelfs de subtiele rgba(255, 255, 255, 0.025) glas-laag uit v7.33 voelde nog te aanwezig op de donkere portal-bg. Gebruiker wilde de achtergrondkleur er helemaal uit.

v7.34
zondag 31 mei 2026
23:49

E-mail dark mode: zichtbare kolom-scheidingslijnen subtieler

Polish

border-right op .ml-folders en .ml-threads gebruikt nu rgba hairline ipv solide #262c34

De kolom-scheidingslijnen waren een solide donker grijs-blauw (#262c34 = --mlnx-border) die zichtbaar als donkere verticale lijnen tussen sidebar/thread-lijst/reader zichtbaar waren. Visueel deed het lijken alsof de middelste kolom een andere achtergrond had.

v7.33
zondag 31 mei 2026
23:47

Dashboard widgets dark mode: lichter glas-effect ipv complexe radial-gradient

Polish

Alle .taskio-card widgets (Maandwinst, Laatste activiteit, Snelle acties, Aankomende deadlines) krijgen nu dezelfde subtiele wit-glas laag als de Kalender-shell

De dashboard widgets waren in dark mode bijna pikzwart door een 4-laagse radial-gradient (var(--bg-tint-strong) + var(--bg-tint) + var(--bg-tint-soft) op var(--bg-elev)). Resultaat: vrijwel onzichtbare cards op de donkere portal-bg. De Kalender-pagina ("Bekijk agenda van — Social Media Tools") had daarentegen een veel lichtere, transparant-witte glas-laag die mooi door de portal-bg heen scheen.

v7.32
zondag 31 mei 2026
23:43

Launchpad: "Waar sta je nu?"-card gelijk hoog als voortgangsbalk

Polish

Status-card naast voortgangsbalk uitgelijnd in hoogte

Sinds de hero op align-items: start stond, was de status-card rechts (met halve donut) langer dan de voortgangsbalk links — onevenwichtig.

v7.31
zondag 31 mei 2026
23:41

E-mail dark mode: donkere rand-schaduw rond ml-app weg

Polish

box-shadow en border op .ml-app verwijderd zodat geen donkere lijnen meer rond de e-mail-shell verschijnen

De .ml-app shell had box-shadow: 0 8px 24px -12px rgba(0,0,0,0.5) en border: 1px solid rgba(255,255,255,0.06) — gaf zichtbare donkere randen aan elke kant van de e-mail-sectie, alsof het paneel naar voren werd geduwd.

v7.30
zondag 31 mei 2026
23:39

E-mail dark mode: zwarte rechthoek rond zoekbalk weg

Bug fix

Search-bar wrapper had panel-soft achtergrond + #262c34 border in dark mode

.ml-threads-search wrapper had background rgba(255,255,255,0.04) + border #262c34. Resultaat: zwarte rechthoek-look bovenop de teal-glas shell.

v7.29
zondag 31 mei 2026
23:39

Launchpad: blokken netjes verdeeld + dezelfde witruimte als E-mail

Polish

Hero van 3 naar 2 kolommen, progress-blok niet meer naar onderen gepusht

Na het verwijderen van de raket-illustratie bleef de hero-grid in 3 kolommen (1fr 280px 280px) staan — daardoor zat er een leeg gat tussen de voortgangsbalk en de "Waar sta je nu?"-card. Plus de progress-wrap werd via margin-top: auto naar de onderkant van een uitgerekte hero-kolom geduwd, waardoor er witruimte boven het blok ontstond.

v7.28
zondag 31 mei 2026
23:34

Launchpad: raket-illustratie, "Snel aan de slag" en "Pro tip" weg

Polish

Drie decoratieve blokken verwijderd voor een schonere onboarding-pagina

De raket-SVG in de hero, de "Snel aan de slag"-quick-list (Bekijk onboarding video / Download mobile app / Helpdesk-link) in de rechter sidebar, en de "Pro tip"-card met "Meer tips bekijken"-knop zijn weg. Hero is nu compacter; rechter sidebar bevat alleen nog "Hulp nodig?" en "Wat is nieuw?".

v7.27
zondag 31 mei 2026
23:31

Launchpad: titel + subtitel weggehaald

Polish

"Launchpad" h1 en intro-zin verwijderd

De "Launchpad"-titel met info-icoon en de regel "Jouw persoonlijke setup voor een succesvolle start" zijn weg. De hero begint nu direct met de voortgangsbalk; categorieën verschijnen meteen daaronder.

v7.26
zondag 31 mei 2026
23:30

E-mail dark mode: donker-teal radial-shell teruggezet

Bug fix

Per ongeluk verwijderde .ml-app teal-radial-gradient achtergrond hersteld

Commit 20d9aaf draaide v7.21 terug: de drie radial-gradients (bg-tint-strong/tint/soft) op var(--bg-elev) basis die de e-mail-shell zijn karakteristieke donker-teal wash gaven, werden verwijderd. E-mail dark mode oogde daardoor te plat en zonder die premium glas-look die op Meetings wel zichtbaar is.

v7.25
zondag 31 mei 2026
23:26

Launchpad: zelfde edge-tot-edge padding als Meetings

Polish

Geen brede witruimte meer boven en naast de Launchpad-content

De Launchpad had padding: 80px 20px 120px en max-width: 1320px met centrering — dat gaf veel witruimte aan de bovenkant en links/rechts. De Meetings-pagina staat juist edge-tot-edge tegen de header en zijkant.

v7.24
zondag 31 mei 2026
23:18

E-mail dark mode: donker-teal achtergrond-experiment teruggedraaid

Polish

Card-shell rond e-mail-shell weer weggehaald

De .ml-app radial-tint-laag die in v7.21 werd toegevoegd om de Meetings-look te imiteren is verwijderd. Dark mode keert terug naar de configuratie van v7.17: panels transparent, body-gradient schemerend, geen extra teal-wash binnen een afgeronde shell.

v7.23
zondag 31 mei 2026
23:16

Launchpad complete redesign: editorial hero + 3-koloms layout met sidebar cards

Polish

Launchpad-pagina volledig herontworpen volgens de premium SaaS-mockup van de gebruiker

De Launchpad was een 2-koloms layout met alleen categorieën + takenlijst. Geen visueel anker, geen contextuele hulp, geen onboarding-cues. De pagina voelde leeg en functioneel ipv premium.

v7.22
zondag 31 mei 2026
23:10

Dashboard widgets dark mode: zelfde radial-glass shell als E-mail-pagina

Polish

Wit-glas overlay vervangen door de teal-tinted multi-radial-gradient die .ml-app ook gebruikt

v7.20 (wit-alpha overlay) voelde anders aan dan de E-mail-pagina die een specifieke radial-gradient teal-tinted shell heeft.

v7.21
zondag 31 mei 2026
23:08

E-mail dark mode: duidelijk donker-teal achtergrond als bij Meetings

Polish

Subtle teal-wash vervangen door volwaardige donker-teal radial-tint

In dark mode had de e-mail-shell een nauwelijks zichtbare teal-tint (rgba 0.05). De gebruiker wilde de duidelijke donker-groene tint die op /meetings zichtbaar is — die komt daar van de body-radials maar werd op de e-mail-pagina niet doorgegeven.

v7.20
zondag 31 mei 2026
23:07

Dashboard widgets dark mode: lichtere wit-glas overlay

Polish

Teal-tint vervangen door wit-tint en alpha verdubbeld voor lichtere widget-look

v7.19 had subtiele teal-tint (3.5% -> 0.8%) wat het oog zag als te donker en niet light genoeg. Gebruiker wilde de transparante achtergrond veel lichter.

v7.19
zondag 31 mei 2026
23:02

Dashboard widgets dark mode: nu veel transparanter

Polish

Solide donkere base layer onder de teal-tint weggehaald — body-gradient schijnt nu volledig door

v7.16 had nog rgba(11,14,20,0.6) als solid base onder de teal-tint, waardoor de widgets nog steeds donker en relatief opaque oogden.

v7.18
zondag 31 mei 2026
23:02

E-mail dark mode: teal-getinte card-shell rond de drie kolommen

Polish

E-mail-shell krijgt nu dezelfde card-look als de Meetings-kalender in dark mode

In dark mode liepen de drie e-mail-kolommen wel netjes door in de body, maar er was geen visuele card-omsluiting met ronde hoeken zoals op /meetings — daar staat het kalender-grid duidelijk in een teal-getinte wrapper met afgeronde hoeken.

v7.17
zondag 31 mei 2026
22:54

E-mail dark mode: body-gradient loopt nu door de e-mail-shell — zoals bij Meetings

Bug fix

E-mail-kolommen blokten de body-achtergrond in dark mode

In de vorige fix kregen alle drie de e-mail-kolommen een effen achtergrond (#070a0f). Dat dekte de body-gradient af — geen teal/violet tinten meer zichtbaar door de e-mail-pagina heen. Op andere pagina's zoals Meetings komt die wash juist wél door.

v7.16
zondag 31 mei 2026
22:52

Dashboard widgets dark mode: nu teal-getinte tint i.p.v. neutraal wit

Polish

Glassmorphism overlay gebruikt nu teal-brand-kleur i.p.v. neutraal wit alpha

v7.15 gebruikte rgba(255,255,255) overlays wat een neutraal-wit washed-out gevoel gaf. Past niet bij de brand-stijl van het portaal — de Content-kalender heeft een veel meer teal-getinte donkere achtergrond.

v7.15
zondag 31 mei 2026
22:45

Dashboard widgets dark mode: glassmorphism met backdrop-blur

Polish

Taskio-card widgets krijgen in dark mode dezelfde glasachtige transparantie als de Content-kalender

In dark mode hadden de dashboard-widgets een vrij solid donkere achtergrond (var(--bg-elev)) terwijl elders op de site (zoals de Content-kalender) een glasachtige transparante stijl zit waardoor de body-gradient subtiel doorschijnt. Inconsistente diepte-look.

v7.14
zondag 31 mei 2026
22:37

E-mail dark mode: ook sidebar en threadslijst lopen nu naadloos door

Bug fix

Linker- en middenpaneel hadden in dark mode nog een lichter tintje dan body

De vorige fix maakte de e-mail-reader gelijk aan body, maar de sidebar en threadslijst (--mlnx-panel) waren nog #11161e — een tintje lichter dan body. Daardoor was de overgang van body naar die kolommen alsnog zichtbaar.

v7.13
zondag 31 mei 2026
22:34

Meetings → Instellingen: navigatie als card met ronde hoeken + zelfde padding als Kalender-tab

Polish

Settings-zijbalk en content-area krijgen card-styling met afgeronde hoeken en consistente witruimte

.meet-settings layout had geen horizontale padding, waardoor de zijbalk plat tegen de linkerrand plakte zonder ronde hoeken aan top-left en bottom-left. Inconsistent met de Kalender-tab die wel 20px padding heeft en card-styling op zijn elementen.

v7.12
zondag 31 mei 2026
22:31

Dashboard-shell: laatste hardcoded paarse glow rechtsonder vervangen

Polish

De paarse glow rechtsonder kwam uit .app-shell-main — vervangen door huisstijl-accent

Na v7.09 (portal-page-bg paarse aura's naar accent) bleef er een paars-roze gloed rechtsonder zichtbaar in dark mode op alle dashboard-pagina's (Launchpad, etc.). Bron: .app-shell-main op regel 59134 had een hardcoded rgba(139, 92, 246, 0.18) ellipse op positie 82% 82% — precies waar de chat-widget zit. Lichtmode-variant op regel 59144 had rgba(139, 92, 246, 0.04). Beide overleefden de v7.09-pass omdat ze in een andere selector dan tbv-page--portal zaten.

v7.11
zondag 31 mei 2026
22:19

Meetings zijbalken: race-condition gefixt waardoor ze terugkwamen na tab-switch

Bug fix

leftSidebarOpen/rightSidebarOpen worden nu atomisch uit localStorage geïnitialiseerd i.p.v. via een aparte read-effect

Bij tab-switch terug naar Meetings kwamen de linker en rechter zijbalken vaak weer terug, zelfs als de gebruiker ze net had dichtgeklapt. Oorzaak: useState(false) + read-effect was vatbaar voor een race — bij first render dropte de write-effect (state via closure = false) "closed" terug in localStorage VOORDAT de read-effect z'n setLeftSidebarOpen(true) propageerde. Bij een snelle remount-cyclus (auto-refresh visibility-handler) eindigde dat met een verkeerd-gepersisteerde of opnieuw-uitgelezen "open" voorkeur ondanks dat de gebruiker net had dichtgeklapt.

v7.10
zondag 31 mei 2026
22:19

E-mail dark mode: achtergrond loopt nu naadloos door

Bug fix

Links naast de e-mail-shell zat in dark mode een harde lijn met de body

In dark mode was de e-mail-pagina-achtergrond #0d1117 terwijl de body #070a0f gebruikte — 6 helderheids-eenheden verschil. Dat gaf links en rechts van de e-mail-shell een zichtbare overgang alsof de achtergrond ophield. In light mode liep het wél door omdat body daar pure wit is en de e-mail-tegels nauwelijks afwijken.

v7.09
zondag 31 mei 2026
22:12

Portal-achtergrond: paarse aura's vervangen door huisstijl-accent

Polish

Hardcoded violet radial-gradients in de pagina-achtergrond gebruiken nu var(--accent) zodat ze de ingestelde brand-kleur volgen

De Launchpad-pagina (en alle andere portal-pagina's die .tbv-page--portal gebruiken) toonden een paars-roze gloed rechtsboven die uit de toon viel bij een teal/groene huisstijl. Op vier plekken in globals.css stond rgba(139, 92, 246, 0.22) hardcoded in dark mode + rgba(167, 139, 250, 0.28) in light mode — beide violet/lavender — als achtergrond-aura. De Launchpad eigen orbs gebruikten al var(--accent), maar de page-bg daaronder dus niet.

v7.08
zondag 31 mei 2026
22:07

Meetings: linker en rechter zijbalk standaard ingeklapt

Polish

Kalender krijgt standaard de volledige ruimte; je voorkeur wordt onthouden

De twee zijbalken op /meetings (links: mini-kalender + agenda-filters, rechts: deze-week stats + up next) stonden altijd open. Op kleinere schermen of voor wie de kalender wil zien, is dat te druk.

v7.07
zondag 31 mei 2026
22:04

E-mail: "Postvak IN" en mail-subject net ietsje slanker

Polish

Title-fontweight van 700 naar 600

De "Postvak IN" header en de subject-titel van een geopende mail zijn een tintje slanker gemaakt (bold → semibold). Voelt eleganter en past beter bij de premium look.

v7.06
zondag 31 mei 2026
22:03

E-mail campagnes: dubbele border rond zoekveld weg

Polish

Safari/WebKit-default border rond de "Zoek campagnes..."-input verwijderd

Het zoekveld bovenaan de campagnes-pagina had een dubbele border: de wrapper had de stijl-border, en de browser tekende daarnaast nog een eigen ronde border rond de <input type="search"> zelf (Safari/Chrome default voor search-inputs).

v7.05
zondag 31 mei 2026
22:01

E-mail campagnes: titel en intro-zin verwijderd

Polish

Compactere kop op /email/campagnes

De "E-mail campagnes"-titel met envelope-icoon en de intro-zin ("Stuur klanten maandelijkse updates, nieuwsbrieven of aankondigingen met templates") zijn verwijderd. De breadcrumb "E-mail › Campagnes" blijft staan en geeft genoeg context; de pagina opent nu directer met de KPI-tegels.

v7.04
zondag 31 mei 2026
21:55

Booking-cancel verwijdert nu ook de gesyncede events uit Google/Outlook/iCloud

Nieuwe functie

Nieuwe BookingCalendarSync-table + cancelBookingExternalSyncs helper — booking-cancel reikt nu tot in alle gekoppelde agenda's van de host

Bij booking-create syncede Senly het event naar alle gekoppelde agenda's (Google/Outlook/Apple), maar de externe externalIds werden nergens vastgelegd. Bij cancel — via host DELETE, host PATCH→cancelled óf attendee self-service token — werd alleen de DB-status op CANCELLED gezet plus een cancellation-mail verstuurd. De gesyncede kopieën in de iPhone Apple Calendar, Google Calendar, etc. bleven staan en moesten handmatig opgeruimd worden.

v7.03
zondag 31 mei 2026
21:53

E-mail campagnes: alle resterende fake data verwijderd

Polish

Placeholder-sparklines en niet-werkende AI-suggesties uit de campagnes-pagina

Op de campagnes-pagina stonden nog drie placeholder-elementen: de verzonnen sparklines achter de 4 KPI's, een "Optimaliseer onderwerpregels"-card met een dode knop, en een "Beste verzendtijd — Donderdag 10:00"-card die uit de losse pols gehaald was.

v7.02
zondag 31 mei 2026
21:46

Meetings: geannuleerde bookings verdwijnen nu daadwerkelijk uit de kalender

Bug fix

filteredBookings filtert nu status === "cancelled" weg — tile valt direct uit het week/dag/maand grid

Bij klik op "Annuleer boeking" werd de booking in de DB op CANCELLED gezet en kreeg de attendee netjes een cancellation-mail, maar het tile bleef vrolijk in de kalender hangen. Status badge in het popover toonde wel "CANCELLED", maar de visuele booking was nog steeds zichtbaar op zijn oorspronkelijke tijdslot. Andere code-paden in dezelfde file (Vandaag-strip, Up Next, MonthGrid telling) filterden cancelled wel weg, alleen de hoofd-render via filteredBookings → MonthGrid/WeekGrid/DayGrid niet.

v7.01
zondag 31 mei 2026
21:44

E-mail campagnes: open/click-tracking + echte KPI's + re-engagement

Nieuwe functie

Echte open- en click-tracking voor verzonden campagnes

De KPI-tegels en per-campagne statistieken op /email/campagnes waren placeholders. Je wist nooit hoeveel mensen je mail écht openden of doorklikten — alleen hoeveel mails er waren afgeleverd.

Nieuwe functie

Inactieve abonnees-KPI + werkende "Start re-engagement"-knop

De vierde KPI was "Omzet gegenereerd" — verzonnen data. En de "Start re-engagement"-knop in AI Suggesties deed niets.

v7.00
zondag 31 mei 2026
21:39

BookingDetailPanel: "Annuleer boeking" prominent destructive met 2-staps confirm

Polish

De annuleer-knop in het booking-popover is nu een volle destructive button i.p.v. piepkleine ghost-tekst rechtsonder

De "Annuleer boeking"-knop stond als 12px grijze text-only knop helemaal rechtsonder in de footer — vrijwel onzichtbaar. Gebruikers vonden de delete-actie niet en gingen via hun iPhone Apple-agenda het event verwijderen, maar dat haalde alleen de sync-kopie weg; de Senly source bleef staan en het event verscheen opnieuw in de kalender. Plus: de oude knop gebruikte een browser-confirm() popup, lelijk en out-of-style.

v6.99
zondag 31 mei 2026
21:36

Trends: FAB weggehaald (botste met chat-widget)

Bug fix

Floating action button rechtsonder op de Trends-pagina verwijderd

Op de Trends-pagina stond een teal FAB op fixed bottom: 24px right: 24px die conflicteerde met de chat-widget op dezelfde positie. Gaf een lelijke dubbele-cirkel look. Daarbij deed de FAB nog niets (placeholder voor toekomstige AI-assistent).

v6.98
zondag 31 mei 2026
21:33

Meetings: "Open meeting link" tekst onzichtbaar opgelost

Bug fix

Globale a-tag CSS overschreef de witte tekstkleur op de Open meeting link knop

In BookingDetailPanel was de knop een <a> met meet-btn-primary class. Globaal a:hover { color: var(--text) } heeft specificiteit 0,1,1 > .meet-btn-primary (0,1,0). Resultaat: tekst alleen zichtbaar bij hover.

v6.97
zondag 31 mei 2026
21:28

Meetings kalender: auto-refresh elke 90s + bij tab-focus + handmatige refresh-knop

Nieuwe functie

Externe agenda-wijzigingen verschijnen nu vanzelf in de kalender zonder te navigeren

Als de gebruiker een event verwijderde via zijn iPhone/Apple Calendar, bleef het oude event in Senly staan tot hij naar een andere pagina navigeerde en terugkwam — soms minuten lang. Oorzaak: useEffect(() => load(), []) draaide alleen bij mount, geen polling en geen window-focus listener. De localStorage-cache van 2 min liep wel af maar zonder trigger gebeurde er niets.

v6.96
zondag 31 mei 2026
21:28

Offline-pagina volledig herontworpen — premium card + auto-retry

Polish

Geen-verbinding pagina krijgt elegante centered card met auto-retry indicator

Offline-pagina was plat: generic icoon, basic typografie, plain teal knop op donkere achtergrond.

v6.95
zondag 31 mei 2026
21:11

Meetings: externe agenda-events kunnen nu uit het ExternalEventPanel verwijderd worden

Nieuwe functie

Nieuwe "Verwijder uit agenda"-knop in het externe-event-popover met confirm-flow + provider-sync

Bij klik op een Google/Outlook/Apple-event in de meetings-kalender opende een read-only popover met enkel een tekstje "Dit event komt uit je gekoppelde X-agenda en kan alleen daar bewerkt worden." De gebruiker moest naar de externe agenda-app om iets te verwijderen — onnodig, want de provider-delete-functies (deleteGoogleEvent / deleteOutlookEvent / deleteAppleEvent) bestonden al voor onze eigen booking-cancel flow.

v6.94
zondag 31 mei 2026
21:07

E-mail campagnes-pagina: premium redesign met KPI's, tabel + AI-suggesties

Polish

/email/campagnes is van simpele kaartenlijst naar volwaardig dashboard

De campagnes-pagina was een afgeslankte kaartenlijst zonder overzicht: geen KPI's, geen filter, geen paginatie, geen statistieken per campagne. Vergeleken met de rest van het portaal voelde 't zwak en lui.

v6.93
zondag 31 mei 2026
21:06

E-mail: fake "E-mail gebruik" widget weggehaald

Polish

"E-mail gebruik" widget (2,4 GB / 10 GB / 24%) onderaan de email-sidebar verwijderd

Widget toonde hardcoded statische waardes 2,4 GB / 10 GB / 24% met als comment "placeholder, echte byte-meting komt later". Misleidende UI — gebruiker dacht dat dit echte data was.

v6.92
zondag 31 mei 2026
20:17

Meetings: linker en rechter zijbalk inklapbaar met smooth animatie

Nieuwe functie

Twee toggle-knoppen op de toolbar — klap de hele linker of rechter zijbalk in voor meer kalender-ruimte

Twee nieuwe leftSidebarOpen + rightSidebarOpen states. .meet-cal-layout krijgt no-left en no-right modifier classes die grid-template-columns naar 0 1fr X of X 1fr 0 zetten. Smooth transition 320ms cubic-bezier(0.16, 1, 0.3, 1) op de grid-columns geeft een vloeiende slide-animatie. Inhoud van de sidebar fade-out + translateX 12px voor extra polish. Toggle-knoppen in de toolbar (links en rechts) met SVG icoon dat 180deg rotateert om de state te tonen. Beide sidebars staan default open zodat niets verandert voor bestaande gebruikers — kunnen op verzoek wegklikken voor maximale focus op de kalender. Mobile (max-width 900px) blijft full-width met sidebars verborgen.

v6.91
zondag 31 mei 2026
20:07

Meetings event-titels weer een tantje dikker (500 -> 600)

Polish

Event-titels in week/dag-view terug naar weight 600 voor betere leesbaarheid

Vorige iteratie had de titels naar weight 500 gezet, wat in de kleine event-blokken te dun was om vlot te scannen. Terug naar weight 600 — middenweg tussen "drukke 700" en "te dun 500". Toegepast op week-bk, week-ext, day-bk, day-ext.

v6.90
zondag 31 mei 2026
20:05

Meetings: Up next en Verdeling titels dunner (700/600 -> 500)

Polish

Meeting-titels in Up next en kalender-namen in Verdeling deze week zijn nu dunner

.meet-upnext-info strong (Niura analysegesprek, Met mama mee naar het ziekenhuis, etc.) van font-weight 700 -> 500. .meet-dist-name (Gezinsagenda, Werk, Agenda) van 600 -> 500. Consistent met de stat-nummers en event-titels die ook 500 zijn.

v6.89
zondag 31 mei 2026
20:00

Meetings: stat-nummers en event-titels dunner + kleiner

Polish

Stat-nummers (11, 19u 40m, 39%, 1u 47m) 28px/600 -> 22px/500. Event-titels 600 -> 500.

Display-typografie van 28px/font-weight 600 verlaagd naar 22px/font-weight 500 voor de 4 stat-cards. Letter-spacing iets minder agressief (-0.025em ipv -0.035em). Event-blok titels (week-bk, week-ext, day-bk, day-ext) ook 600 -> 500. Resultaat: rustiger en eleganter, minder schreeuwerige cijfers en titels.

v6.88
zondag 31 mei 2026
19:52

Meetings: gradients eruit voor rustige uniforme look

Polish

Cards en event-blokken hebben nu uniforme achtergrond i.p.v. subtiele gradients

Vorige polish-ronde voegde subtiele 180deg gradients toe aan alle cards + 105deg diagonale gradient op event-blokken. Bij elkaar maakte dat de pagina visueel drukker i.p.v. eleganter — te veel beweging in het oog.

v6.87
zondag 31 mei 2026
19:44

Meetings: complete premium polish — Stripe/Linear-niveau elegance

Polish

Alle cards, knoppen en numeriek typografie verfijnd naar high-end UI standaard

Cards en buttons voelden web-default aan met enkele 1px borders en simpele shadows. Numerieke typografie (11, 39%, 19u 40m) was te dik en zonder tabular nums. Geen subtiele gradients, geen multi-layer depth.

v6.86
zondag 31 mei 2026
19:43

E-mail: Spam-folder + Accounts beheren-knop teruggezet

Bug fix

Twee functies waren tijdens de visuele redesign uit de sidebar gehaald

In iteratie 2 had ik de Spam-folder en de "Accounts beheren"-link verwijderd omdat ze niet op de mockup stonden — maar je had ze nodig om ongewenste mail te bekijken en om nieuwe Gmail/IMAP-inboxen toe te voegen.

v6.85
zondag 31 mei 2026
19:40

E-mail: Campagnes-link weer terug in de sidebar

Bug fix

Mass-mailing campagnes waren niet meer bereikbaar vanuit de mail-pagina

Bij de visuele redesign was de Campagnes-link uit de sidebar verwijderd, en als gevolg was de mass-mailing-pagina (/email/campagnes) alleen nog te bereiken via een directe URL.

v6.84
zondag 31 mei 2026
19:24

E-mail: filter-pills glitchen niet meer terug naar vorige map

Bug fix

Bij klikken van "Alle" verschenen soms de gevlagde mails uit "Met ster"

De fetch voor de vorige filter (bv. Met ster) kon ná de fetch voor je nieuwe filter ("Alle") binnenkomen en de resultaten overschrijven — visueel "glitchte" je dan terug naar gevlagde mails terwijl Alle actief was.

v6.83
zondag 31 mei 2026
19:15

E-mail: prullenbak en archief blijven nu meteen weer klikbaar

Snelheid

Geen 30-seconden "wachten op Gmail" meer tussen twee verwijderingen

De actie-knoppen werden disabled tot de Gmail/IMAP-call klaar was. Bij een trage Gmail-antwoord kon het 30 seconden duren voor je weer kon verwijderen, ook al was de volgende mail al geopend.

v6.82
zondag 31 mei 2026
19:04

E-mail: verwijderen voelt nu instant + auto-spring naar volgende mail

Snelheid

Optimistische UI bij verwijderen / archiveren / spam-markeren

Bij klikken op het prullenbakje wachtte je tot de Gmail/IMAP-call klaar was voor de mail uit de lijst verdween — plus een bevestigings-popup. Voelde lui en je bleef met een leeg lezer-paneel zitten.

v6.81
zondag 31 mei 2026
18:56

E-mail: prullenbak-knop werkt nu ook voor Gmail-accounts

Bug fix

Klikken op het prullenbakje deed niets bij Gmail-inboxen

De move-endpoint accepteerde alleen IMAP-accounts. Voor Gmail-accounts (zoals zakelijk@socialmediatools…) gaf de server een 400 "Alleen IMAP-accounts ondersteund" terug — visueel leek het alsof het prullenbakje stuk was, en hetzelfde gold voor archiveren en als-spam-markeren.

v6.80
zondag 31 mei 2026
18:47

E-mail-pagina: ronde hoeken zitten nu écht op de panels

Bug fix

Sidebar en lezer hadden nog rechte hoeken in plaats van de afgeronde 18 px

Een oudere .ml-app-regel zette padding: 0 20px op de grid-shell. Mijn override zei daar niets over en de oude padding overleefde — daardoor stonden de panels strak binnen een afgerond kader, met zichtbaar rechte hoeken in plaats van mee-afgeronde.

v6.79
zondag 31 mei 2026
18:36

E-mail-pagina: outline om de hele shell verwijderd

Polish

Geen losse grijze rand meer rond de mail-app

De 3-koloms mail-shell had een border van 1 px rond het geheel — die maakte een tweede lijn buiten de witte panels en gaf een opvulling waar je 16e niet wilde.

v6.78
zondag 31 mei 2026
18:29

E-mail-pagina: zelfde witruimte boven/onder als Meetings

Polish

Mail-shell stond te strak tegen de bovenkant van de pagina

De 3-koloms mail-shell had een negatieve top-margin (-8 px) zodat 'ie direct tegen de top-rand van het hoofdpaneel stond — Meetings en andere tabs hebben juist visuele ademruimte rondom de content.

v6.77
zondag 31 mei 2026
18:21

E-mail-pagina: body-paneel krijgt premium card-look

Polish

Subject-rij, sender-strip en mail-content card in lijn met de mockup

In het rechter mail-paneel was de subject één losse h1, en de mail-inhoud landde als platte tekst onder een grijze regel — geen scheiding, geen ademruimte, geen "lux" gevoel.

v6.76
zondag 31 mei 2026
18:17

Meetings event-blokken: premium Cron/Linear/Notion-stijl met layered schaduw + glow

Polish

Event-blokken voelen nu high-end aan — zachte floating shadow, glowing accent-strip, smoothere transitions

Hard 1px border + plat hover-effect maakten de blokken goedkoop ogen — meer web-app default dan premium calendar.

v6.74
zondag 31 mei 2026
17:56

Trends sidebar: sticky-offset gefixt zodat top niet meer achter topbar valt

Bug fix

De Categorieën-card werd bij scroll bovenaan afgekapt — sticky top was 20px terwijl de portal-topbar ~80px hoog is

Bij scroll viel een kwart van de "Categorieën" sidebar-card weg achter de topbar — alleen de items waren zichtbaar, de titel niet meer.

v6.73
zondag 31 mei 2026
17:43

Trends: dode "Featured rapport"-promo vervangen door echte AI-samenvatting in sidebar

Polish

AI Samenvatting verplaatst van 5e KPI-card naar donkere sidebar-card met live-pulse indicator

De "The Future of Social Media 2026"-card in de sidebar was een statische promo waarvan de "Download rapport"-button geen onClick had — klikte je erop, gebeurde er niks. Tegelijkertijd zat de AI-samenvatting als 5e KPI in een rij die daardoor te druk en breed werd.

v6.72
zondag 31 mei 2026
17:42

Meetings event-blok gradient: nog veel transparanter

Polish

Gradient gaat nu van 10% kleur bij de strip naar 1% bij 60% en helemaal transparant aan de rechterkant

Vorige gradient (22% naar 4%) was nog te dominant — kleuren overheersten de tekst en het overzicht.

v6.71
zondag 31 mei 2026
17:40

Meetings: alle section-kopjes uniforme uppercase eyebrow-stijl

Polish

Up next, Verdeling deze week en Deze week krijgen dezelfde kop-stijl als Kalenders / Mijn agenda's

Inconsistente kop-typografie in de sidebar: Kalenders/Mijn agenda's waren uppercase 11px letter-spaced (label-stijl) terwijl Up next / Verdeling deze week / Deze week 14-16px regular case (title-stijl) waren.

v6.70
zondag 31 mei 2026
17:36

Meetings event-blok achtergrond: gradient van kleur-strip naar lichter

Polish

Event-blokken hebben nu een linear-gradient achtergrond i.p.v. uniforme tint

De achtergrond was overal gelijk getint (12% kleur), wat te fel/zwaar voelde. Mockup-vibe wilde subtieler en gericht: feller bij de kleur-strip links, lichter naar rechts.

v6.69
zondag 31 mei 2026
17:18

Trends-pagina: complete reset naar editorial high-end look (Linear/Stripe/Apple)

Polish

Alle drukke kleur-tiles, paarse cards, gekleurde icon-vlakjes en 3D-renders verwijderd ten gunste van monochroom editorial design

De pagina voelde druk, kinderachtig en goedkoop aan met cartoony 3D-floating tiles op blog-cards, gekleurde icon-vlakjes (blauw/mint/roze/paars) op KPI-cards, een fel-paarse AI-samenvatting card, een paars-violette featured rapport-banner, en volle gekleurde pill-tags. Niets daarvan zou je verwachten op een echt premium SaaS-product.

v6.68
zondag 31 mei 2026
16:58

Meetings kalender: toolbar staat nu als losse card boven de grid

Polish

Vandaag-knop + datum-label + view-toggles + Nieuwe-meeting knop staan nu in een eigen witte card, los van de kalender-grid eronder

De toolbar en de week/dag/maand-grid zaten samen in één witte card met alleen een border-bottom als scheiding. Voelde plakkerig en niet zoals het mockup waar ze visueel apart staan.

v6.67
zondag 31 mei 2026
16:56

Trends Categorieën-sidebar: emoji-iconen vervangen door getekende SVG-tiles

Polish

Content Strategie, Algoritmes, Tools & Tips en Advertising krijgen elk een eigen gekleurde brand-style tile

De Categorieën-sidebar gebruikte een mix van platform-brand-logo's (mooi gekleurd) en losse emoji's (🎯 📊 🛠 📢). Stijlbreuk: emoji's zien er flat en OS-afhankelijk uit naast de strakke SVG-platform-logo's.

v6.66
zondag 31 mei 2026
16:47

Meetings → Branding: logo-upload weg (centraal beheerd in Huisstijl)

Polish

Aparte logo-upload op Meetings → Instellingen → Branding verwijderd

Twee plekken om hetzelfde logo in te stellen: de centrale Huisstijl-pagina (waar ook favicon staat) en een aparte per-booking-page override in Meetings → Branding. Verwarrend en redundant. Bovendien wilde gebruiker single source of truth voor logo+favicon.

v6.65
zondag 31 mei 2026
16:45

Bookingspagina host-card blijft op vaste positie tussen stappen

Bug fix

Host-card schoof omlaag bij de form-stap doordat de rechterkant langer werd

.bp-host-card had margin-top: auto wat het flexbox naar de absolute onderkant duwde. Bij de form-stap (Naam/E-mail/Bedrijf/Telefoon/Toelichting fields) wordt het rechterpaneel veel langer, de shell rekt mee, en het host-blok zakte mee naar beneden zodat het pas onder de fold zichtbaar was. Visueel oneerlijk: host "schoof" tussen stappen.

v6.64
zondag 31 mei 2026
16:43

Bookingspagina footer: "Powered by" toont bedrijfsnaam i.p.v. portaalnaam

Polish

Footer-tekst toont bedrijfsnaam (Tenant.name) i.p.v. portalName

Footer op /boek/[user] en /boek/[user]/[slug] gebruikte data.branding.portalName ("Bedrijfsportaal"), maar bureaus willen hun eigen naam zien (bv. "Studio X Marketing").

v6.63
zondag 31 mei 2026
16:42

Trends inzicht-rijen krijgen gekleurde 3D-tiles ipv saaie puntjes

Polish

Elke rij toont nu een floating brand-tile of GenericContentIcon — geen lege pastel-vakjes meer

De 44px thumb links van elke rij was alleen een platte pastel-vlakje met een puntje "•" (bij algemeen) of klein flat platform-icoontje. Saai, en bij algemene rijen ontbrak elk visueel anker.

v6.62
zondag 31 mei 2026
16:40

Bookingspagina tijdzone-select: grijze browser-rechthoek weg

Polish

Browser-default border/focus styling op de tijdzone <select> verwijderd

In de tijdzone-pill (Europe/Amsterdam) was een grijze rechthoek rond de tekst zichtbaar — browser-default focus border van het <select> element kwam door mijn appearance:none reset heen.

v6.61
zondag 31 mei 2026
16:32

Bookingspagina: datum-kalender toont weer 7 kolommen (CSS class-conflict opgelost)

Bug fix

De datum-picker op /boek/[user]/[slug] toonde maar 3 kolommen i.p.v. 7, dagen wrapten over meerdere rijen

In BookingPage.tsx werd .bp-cal-grid gebruikt voor twee verschillende grids: de datum-picker (7 kolommen voor weekdagen) EN de "Toevoegen aan agenda" knoppen op de success-screen (3 kolommen voor Google/Outlook/Apple). Door CSS-cascade overschreef de tweede definitie (repeat(3, 1fr)) de eerste (repeat(7, 1fr)), waardoor de datum-picker met 3 kolommen renderde en alle weekdagen + dagen wrapten naar belachelijk grote vakjes.

v6.60
zondag 31 mei 2026
16:31

Trends-pagina: meer adem tussen alle elementen voor premium-gevoel

Polish

Spacings over de hele trends-pagina verhoogd voor rustigere "high-end SaaS"-uitstraling

De pagina voelde compact aan; KPI-cards, tabs, blog-grid en inzichten zaten te dicht op elkaar waardoor de cinematic premium-look verloren ging.

v6.59
zondag 31 mei 2026
16:19

Hotfix: build deploy faalde door ontbrekend portalDomain in useBranding default

Bug fix

Type-error: Property "portalDomain" is missing in default BrandingConfig object

v6.56 voegde portalDomain toe als verplicht veld aan BrandingConfig interface, maar hooks/useBranding.ts had een DEFAULT constante getypeerd als BrandingConfig zonder dat veld. Railway deploy gefaald: Type error: Property portalDomain is missing.

v6.57
zondag 31 mei 2026
16:14

Trends "Laatste inzichten": Laad meer-knop toont nu alle 50 trends

Nieuwe functie

Nieuwe "Laad meer"-knop onder de Laatste inzichten-lijst — start op 8, +10 per klik, met counter voor resterende items

De "Alle trends"-tab beweerde 50 items te bevatten, maar zichtbaar waren alleen 3 trending blogs + 8 inzichten — de overige 39 waren onbereikbaar zonder filter. De vaste slice(3, 11) kapte de lijst stilletjes af.

v6.56
zondag 31 mei 2026
16:10

White-label: booking-links gebruiken nu eigen custom domain

Nieuwe functie

Als bureau een eigen portalDomain heeft ingesteld worden meeting-booking links automatisch op dat domein gegenereerd

BookingLinkChip en TypesPanel gebruikten altijd window.location.origin voor de URL ("senly.io/boek/..."), ook als de tenant een eigen white-label domein had ingesteld in Admin > Instellingen. Voor wederverkoper-bureaus geen herkenbare URL voor hun klanten.

v6.54
zondag 31 mei 2026
16:00

Trends blog-cards: ook "algemeen"-cards krijgen nu een gekleurd content-tile

Polish

Nieuwe GenericContentIcon-component rouleert over 6 gekleurde tiles (sparkles, chart, lightbulb, rocket, megaphone, target)

Na de pastel-gradient redesign waren cards mét platform mooi (Instagram-tile zichtbaar in het midden), maar cards zonder platform (categorie "algemeen") waren leeg — alleen pastel, geen visueel anker.

v6.53
zondag 31 mei 2026
15:52

Trends blog-cards: rustige pastel-gradients met floating platform-logo i.p.v. drukke foto's

Polish

De 3 hero-visuals op de trending blogs zijn vervangen door zachte pastel-gradients met een gecentreerd, groot brand-logo

De Unsplash-foto's waren visueel druk en concurreerden met de tekst — leuke gezichten, maar niet "rustig premium". De gebruiker stuurde een mockup met een Instagram glass-tile op perzik, TikTok-logo's op wit en app-icons op licht-paars als referentie.

v6.52
zondag 31 mei 2026
15:51

Meetings event-blokken: achtergrond doorzichtig dezelfde kleur als de strip

Polish

Background van event-blokken krijgt nu een lichte tint (12%) van de eigen meeting-kleur

In plaats van pure witte achtergrond gebruiken alle event-blokken (week-bk, week-ext, day-bk, day-ext) nu color-mix met 12% saturatie van --block-color tegen var(--bg-elev). De border krijgt 20% saturatie van dezelfde kleur. De halve verticale kleur-strip blijft full color. Resultaat: doorzichtige achtergrond in dezelfde kleur als de strip — past beter bij de Apple-stijl met meer visuele samenhang.

v6.51
zondag 31 mei 2026
15:45

Meetings: hero-titel + subtitel weggehaald

Polish

De grote "Meetings" titel met kalender-icoon en de subtitel verwijderd

De .meet-hero-title h1 en .meet-hero-sub p zijn uit JSX gehaald. Alleen de tabs (Kalender / Instellingen) en de publieke booking-link blijven nu in de header. Hero-padding verlaagd van 32px top naar 16px omdat de grote titel weg is. Direct meer ruimte voor de kalender zelf.

v6.50
zondag 31 mei 2026
15:44

Meetings event-blokken: Apple/Linear-stijl met halve kleur-strip links

Polish

Witte achtergrond met grijze border + halve verticale kleur-strip links als enige kleur-accent

Event-blokken hadden pastel-tinted achtergrond + gekleurde border. User wilde de schonere Apple/Linear-stijl: witte achtergrond met slechts een kleine verticale kleur-strip linksboven die niet de volle blokhoogte beslaat.

v6.49
zondag 31 mei 2026
15:40

Meetings: Taak overzicht vervangen door Verdeling deze week

Nieuwe functie

Nieuwe sectie "Verdeling deze week" toont meetings + uren per kalender met progress-bars

Taak overzicht-sectie suggereerde een echt taken-systeem maar telde alleen booking-statussen (te-voorbereiden = confirmed, follow-ups = completed, etc). Verwarrend en bij gebruikers zonder Senly-bookings altijd 0.

v6.48
zondag 31 mei 2026
15:27

Meetings event-tekst: geen half-afgesneden regels meer

Polish

Titels naar single-line ellipsis i.p.v. 2-regel wrap, min-hoogte event-blok verhoogd

Titel had -webkit-line-clamp: 2 wat 2 regels mocht innemen. Bij korte events (30 min = 30px) kwam de subtitle (locatie/Zoom-URL) daaronder en werd half afgesneden door overflow:hidden. Resultaat: regels die halverwege werden afgekapt — lelijk.

v6.47
zondag 31 mei 2026
15:20

Meetings event-tekst links uitgelijnd ipv gecentreerd

Polish

Titels en subtitels in alle event-blokken staan nu links uitgelijnd

Browser-defaults op <button> elementen gaven text-align: center, waardoor de tekst in elk event-blok in het midden uitgelijnd was. Mijn text-align: left op de parent button werkte niet door naar de strong/span children, vooral niet bij display: -webkit-box (line-clamp).

v6.46
zondag 31 mei 2026
15:08

Meetings event-blokken: nettere overflow + minder dik lettertype

Polish

Lange titels worden nu na 2 regels netjes afgekapt met "...", en font-weight verlaagd van 700 naar 600

Bij events met lange titels (zoals "Kennismakingsgesprek | Social Media Beheer / Groeiservice") en lange locatie-URLs liep de tekst door en werd half afgesneden. Plus de title-font was 700 wat te dik aanvoelde voor de kleine grid-tekst.

v6.45
zondag 31 mei 2026
15:05

Trends KPI-cards: sparkline begint halverwege i.p.v. door de tekst

Polish

Mini-grafieklijn op de 4 KPI-cards loopt niet meer dwars door de cijfers en labels

De sparkline (groene/roze trendlijn) lag over de volle breedte van elke KPI-card. Door de lichte opacity (0.55) scheen de lijn door de teksten "Trending nu / 50 / Actieve trends" heen — onleesbaar en visueel rommelig.

v6.44
zondag 31 mei 2026
15:03

Trends-pagina: 24-uurs browser-cache voorkomt herlaad-wachttijd

Snelheid

localStorage-cache voor de trends-feed (TTL 24 uur)

De Social Media Trends-pagina riep bij elk bezoek /api/trends opnieuw aan. Zelfs met de bestaande server-side cache betekende dat ~15 seconden wachten zodra de Node-proces was herstart (Railway redeploy / idle-scaling wipes _mem en .trends-cache.json).

v6.43
zondag 31 mei 2026
15:02

Meetings: grid-blok kleuren matchen nu echt met de sidebar-agenda kleuren

Bug fix

Events zonder calendarName kregen verschillende kleuren in het grid maar werden in de sidebar als één groep getoond

colorForExternal() viel terug op event-titel voor de hash bij ontbrekende calendarName, terwijl de sidebar terugviel op "{provider} ({email})". Resultaat: zelfde sidebar-groep maar verschillende grid-kleuren per event. Ook waren de pastel-tints (12% saturatie) te licht waardoor het visueel niet duidelijk was dat groen=Werk en geel=Gezinsagenda overeenkwamen.

v6.42
zondag 31 mei 2026
14:59

Meetings: week- en dag-grid passen zich aan op de events

Bug fix

Events buiten 08:00-18:00 werden niet getoond — terwijl ze wel meetelden in de stats

Het week- en dag-grid had hardcoded tijdrange 08:00-18:00 (11 rijen). Events die vroeg in de ochtend of laat in de avond startten werden niet gerenderd, maar wel meegeteld in "X Meetings" / totale tijd. Gevolg: stats zeiden "11 meetings" terwijl je er maar 8 in beeld zag.

v6.41
zondag 31 mei 2026
14:53

Meetings: elke externe agenda apart toggleable in sidebar

Nieuwe functie

Mijn agenda's sidebar toont nu elke individuele Google/Outlook/iCloud agenda als losse checkbox met eigen kleur

Sidebar had één algemene "Externe events" toggle + een hardcoded "Verjaardagen" item. Maar gebruiker heeft meerdere agendas (Werk/Gezin/Privé/Gezinsagenda) en wil die los kunnen aan/uit zetten — net zoals in de Apple Calendar agenda-beheer modal.

v6.40
zondag 31 mei 2026
14:50

Meetings: fullscreen-mode voor de kalender

Nieuwe functie

Klik "Bekijk volledige agenda" om de kalender over het hele scherm uit te klappen

Nieuwe fullscreen state op CalendarView. Wanneer actief krijgt .meet-cal-wrap een is-fullscreen class die hem omtovert tot position:fixed inset:0 met z-index 999 — bedekt sidebar, hero header, en alle andere UI. Zijkolommen (mini-cal/filters links, stats rechts) en de Vandaag-strip worden verborgen via display:none. Alleen de hoofd-kalender vult het scherm, met fade-in animatie. Toggle-knop met expand/collapse icon naast "+ Nieuwe meeting" doet hetzelfde. Sluiten kan met de toggle-knop OF de Escape-toets.

v6.39
zondag 31 mei 2026
14:46

Meetings: klik op een afspraak → Apple-Calendar-stijl detail-popover

Nieuwe functie

Klik op elk event in de kalender (ook externe Google/Outlook events) en er opent een Apple-Calendar-style detail-card

Externe events waren niet klikbaar (pointer-events: none) — frustrerend want je kon ze niet inspecteren. Senly-bookings hadden wel een slide-in panel maar dat zat aan de rechterzijde verstopt.

v6.38
zondag 31 mei 2026
14:41

Meetings week-label klopt nu altijd met de getoonde week

Bug fix

Op zondag toonde de toolbar de wéék erna (1-7 juni) terwijl het grid de huidige week (25-31 mei) liet zien

De maandag-berekening voor het week-label gebruikte `start.getDate() - start.getDay() + 1`. Op zondag is getDay() = 0, dus dat wordt `31 - 0 + 1 = 32` → 1 juni. Fout. Op andere dagen klopte het wel toevallig.

v6.37
zondag 31 mei 2026
14:35

Meetings Up next: timeline-stijl met verticale kleur-lijn tussen dots

Polish

Up next items zijn nu visueel met elkaar verbonden via een verticale lijn in de meeting-kleur

Elk item krijgt via ::after een 1.5px verticale lijn die naar het volgende item loopt, in dezelfde kleur als de dot (via CSS custom property --line-color). De dots krijgen een witte ring (box-shadow) zodat ze "boven" de lijn drijven. Duration wordt nu een afgeronde pill (15m, 30m, 60m) i.p.v. plain tekst. Exact als de mockup-timeline look.

v6.36
zondag 31 mei 2026
14:33

Meetings stats echt dynamisch + externe events tellen mee

Nieuwe functie

Stat-cards (Meetings/Totale tijd/Bezettingsgraad/Gem. duur) tonen nu echte cijfers uit zowel Senly bookings als gekoppelde Google/Outlook agenda's

Eerste versie telde alleen Senly bookings, en de trend-percentages (+12%, +8%, +5%, +3%) waren hardcoded uit de mockup. Wie alleen externe agenda gebruikt zag overal 0 staan met liegende trend-percentages eronder.

v6.35
zondag 31 mei 2026
14:31

Meetings: dubbel rondje rechtsonder weg (FAB verwijderd)

Bug fix

Floating "+ Nieuwe meeting" knop rechtsonder verwijderd omdat hij botste met de chat-widget

Mijn nieuwe teal FAB cirkel piepte rechtsonder bovenuit achter de bestaande chat-widget (Crisp/Intercom). Gaf een lelijke dubbele-cirkel look.

v6.34
zondag 31 mei 2026
14:25

Meetings: alle secties als witte cards met afgeronde hoeken

Polish

Mini-kalender, filter-secties, hoofd-kalender, Up next en Taak overzicht zijn nu losse witte cards

Alle secties stonden direct op de body achtergrond zonder visuele scheiding. Voelde plat en ongestructureerd, anders dan de mockup waar elke sectie een duidelijke card-container is.

v6.33
zondag 31 mei 2026
14:15

Meetings externe events: kleur per bron-kalender i.p.v. allemaal paars

Polish

Elke externe agenda-event krijgt automatisch een eigen kleur via deterministische hash

Externe Google/Outlook events kregen allemaal dezelfde paarse tint, terwijl de design-mockup een gevarieerd kleurenpalet toont. Saaie one-color look.

v6.32
zondag 31 mei 2026
14:02

Meetings checkboxes: volledig in type-kleur gevuld als mockup

Polish

Custom-styled checkboxes met volledige type-kleur i.p.v. native accent-color

Vorige poging gebruikte CSS accent-color, maar dat geeft browser-inconsistente render en lichte tint i.p.v. de volle kleur. Mockup heeft volledig groene/blauwe/oranje vakjes met wit vinkje.

v6.31
zondag 31 mei 2026
13:50

Meetings Vandaag-strip exact als mockup

Polish

Vandaag-cards krijgen verticale kleur-strip links, duration-pill rechtsboven, en avatar-cirkels onderaan

De today-cards lijken nu visueel op de design-mockup: 3px verticale type-kleur strip aan de linkerzijde (via ::before), duration als afgeronde pill (60m, 30m) i.p.v. plain tekst, twee avatar-cirkels met initialen die overlappen, en sterkere hover-state met type-kleur border. Nieuwe-meeting empty-card heeft nu een subtielere look.

v6.30
zondag 31 mei 2026
13:47

Trends-blogcards: pastel gradients vervangen door echte social-media foto's

Polish

Hero-banner van elke blog-card toont nu een professionele Unsplash-foto

De 3 Trending Blogs-cards hadden een pastel pink/peach gradient als hero-image. Zag er goedkoop uit — gebruiker wilde echte social media foto's.

v6.29
zondag 31 mei 2026
13:42

E-mail-pagina: iteratie 2 dichter bij mockup

Polish

Sidebar en datum-headers in lijn met design

Eerste pas van de redesign had nog visuele resten van de oude layout: teal-streep links van datum-headers, "Accounts beheren"- en "Campagnes"-rijen in de sidebar, "Spam"-map zichtbaar, "Gevlagd"-label i.p.v. "Met ster", en de labels-lijst was uitgegrijsd.

v6.28
zondag 31 mei 2026
13:42

Support-chatbutton: pulserende groene halo verwijderd

Polish

De donkergroene pulse-rings achter de support-FAB zijn weg

De .support-fab had twee animerende pseudo-element rings (::before en ::after) die continu uitwaaierden in de huisstijl-kleur. Op een witte achtergrond zag dat eruit als een vlek of glow achter de knop — onrustig.

v6.27
zondag 31 mei 2026
13:39

Light mode: pure witte achtergrond op het hele portaal

Polish

Body-achtergrond in light mode is nu #ffffff op elke pagina

De light-mode body-background had een complexe radial-gradient stack met #f2f7f7 + teal/purple tints. Dat gaf overal een licht groen-gewassen sfeer — gebruiker wilde gewoon strak wit.

v6.26
zondag 31 mei 2026
13:39

Meetings-pagina: visuele match met mockup-design

Polish

Meetings opent nu standaard in Week-view en alle UI-elementen matchen exact het mockup-design

De v6.20 redesign had de juiste layout-structuur (3-kolom + vandaag-strip) maar de details week visueel af van het mockup: stat-cards waren te plat, toolbar-knoppen te basic, week-view bookings hadden solid kleuren i.p.v. pastel-tint, en de standaard view was Maand.

v6.25
zondag 31 mei 2026
13:33

Trends-pagina: achtergrond gewoon wit (#ffffff)

Polish

Off-white #f3f5f8 vervangen door pure white

.smtr-root background is nu #ffffff i.p.v. de off-white tint van v6.24. Dark-mode override blijft staan zodat het portaal-thema in dark gewoon donker rendert.

v6.24
zondag 31 mei 2026
13:27

Trends-pagina: subtiele off-white achtergrond zoals in de mockup

Polish

Pagina-achtergrond gewijzigd naar #f3f5f8 (zachte koel-grijze tint)

De Trends-pagina had de standaard portaal-achtergrond met een groen-zweem, terwijl de mockup een rustig off-white toonde dat de witte cards beter laat ademen.

v6.23
zondag 31 mei 2026
13:26

E-mail-pagina: premium redesign in lijn met mockup

Polish

3-koloms e-mail layout krijgt de high-end look van de design-screenshot

De oude EmailInbox voelde plat — geen visuele scheiding tussen mappen / lijst / lezer, geen sectie-groepering in de sidebar, en geen "ademruimte" rond de gelezen mail. Vergeleken met de mockup oogde 't functioneel maar niet premium.

v6.22
zondag 31 mei 2026
13:26

Trends-blogcards: auteur-avatars zijn nu echte gezichtsfoto's

Polish

Initialen-cirkels (LV / BS / CM, JM / AK / RT, EK / PD / NW) vervangen door echte portretfoto's

De auteur-avatars op de Trending Blogs-cards toonden 2-letter-initialen op gekleurde cirkels. Zag er goedkoop uit en suggereerde fake-content.

v6.21
zondag 31 mei 2026
13:23

Trends-filter-chips: echte brand-logos i.p.v. emoji per platform

Polish

Inline SVG-componenten in officiële merkkleuren voor Instagram, TikTok, LinkedIn, YouTube en Facebook

De filter-chips en categorie-sidebar gebruikten emoji (📷 voor IG, 🎵 voor TikTok, etc.) die op verschillende OS-versies anders renderen en niet matchen met de huisstijl van elk platform.

v6.20
zondag 31 mei 2026
13:20

Meetings-pagina volledig herontworpen

Nieuwe functie

Meetings heeft nu een 3-kolom layout met hero header, mini-kalender, weekstats, en vandaag-strip

De Meetings-pagina had een simpele 2-kolom layout zonder overzicht van statistieken, aankomende afspraken, of een dagweergave-strip onderaan.

v6.19
zondag 31 mei 2026
13:12

Social Media Trends-pagina: complete redesign naar premium dashboard-look

Nieuwe functie

TrendsDashboard volledig herschreven naar het nieuwe ontwerp

De oude trends-pagina had geen samenhangende structuur — KPI's, trend-cards en bookmarks stonden los van elkaar zonder duidelijke hiërarchie.

Infra

Nieuwe trends.css (~960 regels) met .smtr-* prefix

Aparte stylesheet voor de trends-pagina, geïmporteerd vanuit page.tsx. Alle styling via design-tokens en color-mix() voor pastel-tints. i18n: 19 nieuwe keys (smt_*) in nl/en/de/fr. Pseudo-stats (leestijd, bereik %) zijn deterministisch op item-id zodat refreshes consistent zijn.

v6.18
zondag 31 mei 2026
13:01

Horizontale witruimte consistent op alle sidebar-pagina's

Polish

Elke pagina bereikbaar vanuit de zijbalk heeft nu dezelfde 20px eigen padding

Na de eerste ronde (Dashboard, Kalender, Trends) hadden de overige pagina's nog hun oude padding: .container-pagina's 40px, Launchpad 40px, Onboarding/Affiliate 40px inline, Email 0px, Integratie-detail 28px. Hierdoor verschilde de inhoudsuitlijning per sectie.

v6.17
zondag 31 mei 2026
12:57

Launchpad: sfeer-orbs op de achtergrond weggehaald

Polish

De 3 drijvende teal-radial-orbs op de Launchpad-achtergrond zijn verwijderd

De decoratieve <div class="lp-bg-decor"> met 3 animerende huisstijl-orbs is uit LaunchpadView.tsx gehaald. De CSS-keyframes blijven staan voor het geval we ze later opnieuw willen aanzetten — geen impact want het element wordt niet meer gerenderd.

v6.16
zondag 31 mei 2026
03:40

Dashboard, Trends en Content-kalender exact gelijk uitgelijnd met Meetings

Polish

Alle hoofdpagina's starten en eindigen nu op precies dezelfde horizontale positie

Content-kalender had een eigen wrap met max-width: 1600px + 40px zij-padding + auto-margin, waardoor de inhoud op brede schermen gecentreerd werd met overdreven veel witte ruimte rechts (asymmetrisch t.o.v. de sidebar). Dashboard en Trends hadden weer 0 zij-padding op hun root, terwijl Meetings via .meet-topbar standaard 20px gebruikt. Effect: vier pagina's die naast elkaar inconsistent voelden.

v6.15
zondag 31 mei 2026
03:31

Dashboard widget-titels iets dunner (700 → 600)

Polish

Maandwinst, Laatste activiteit, Snelle acties en Aankomende deadlines hebben nu semi-bold i.p.v. bold titel

.taskio-card-head h3 font-weight van 700 naar 600. Eén tandje dunner, oogt rustiger naast de gradient KPI-tegels en past beter bij de premium typografie van de rest van het portaal. Letter-spacing -0.015em blijft voor de optical correction.

v6.14
zondag 31 mei 2026
02:29

Launchpad-orbs nu écht zichtbaar

Polish

Achtergrond-orbs op de Launchpad waren te subtiel — bijna onzichtbaar

De body heeft zelf al een teal-tinted gradient. Mijn extra orbs op 35% opacity met 80px blur en 32% kleurverzadiging vielen daar volledig in weg — je zag visueel niks veranderen.

v6.13
zondag 31 mei 2026
02:29

Info-popover ook op Profiel, Huisstijl, Abonnement en Onboarding

Polish

Vier extra pagina's krijgen ⓘ naast de titel i.p.v. uitleg-tekst onder

Na de uitrol op admin-pagina's (v6.12) bleven nog vier pagina's achter met de oude lange uitleg-paragraaf onder de titel.

v6.12
zondag 31 mei 2026
02:18

Info-popover op 5 admin-pagina's i.p.v. lange uitleg-tekst

Polish

Custom rollen, Ingediende claims, Overzicht, Activiteiten, Commissieregels

Onder de titel van die pagina's stond steeds een lange uitleg-alinea die ruimte innam en de hero "log" maakte. Op Launchpad en Takenbeheer was dat patroon al vervangen door een ⓘ-icoontje — dat moest naar de rest.

v6.11
zondag 31 mei 2026
02:18

Launchpad: subtiel bewegende huisstijl-orbs op de achtergrond

Polish

Achtergrond ademt mee in de bureau-kleur — elegant, niet afleidend

De Launchpad-pagina had een platte witte achtergrond — voelde leeg en weinig "wow" voor de eerste indruk waar gebruikers binnenkomen.

v6.10
zondag 31 mei 2026
02:08

Launchpad: dezelfde horizontale inset als andere pagina's

Polish

Launchpad-titel staat nu netjes uitgelijnd met Tools / CRM / Trends

.lp-root had padding: 32px 0 64px — geen horizontaal padding. Daardoor plakte de "Launchpad"-titel tegen de menubalk-rand terwijl andere pagina's 40px margin van die kant kregen via .container.

v6.09
zondag 31 mei 2026
02:04

Custom rollen: full-width zoals dashboard

Polish

Pagina /admin/roles niet meer ingesnoerd op 1320px

Net als Launchpad had de Custom rollen-pagina nog de oude .container wrapper (max-width 1320px) waardoor de inhoud gecentreerd stond in een smaller frame i.p.v. mee te lijnen met de rest van het admin-deel.

v6.08
zondag 31 mei 2026
02:00

Launchpad: full-width zoals dashboard (niet meer ingesnoerd op 1320px)

Polish

Launchpad gebruikte de oude .container wrapper (max-width 1320px) — nu full-width

De Launchpad-pagina werd geclamped op 1320px breed met 40px horizontale padding extra erbovenop. Op brede schermen (of zoals bij gebruiker met 80% Chrome-zoom) zag dat er ingesnoerd uit naast het dashboard dat wél de volle breedte gebruikt.

v6.07
zondag 31 mei 2026
01:57

Meer ademruimte onder paginatitels met info-popover

Polish

Actie-knoppen en stats plakten direct onder de titel

Doordat de uitleg-alinea verdween en achter het (i)-icoontje verschoof, plakten de actie-knoppen / stats / KPI-grid direct onder de h1 — voelde te krap, niet ademend.

v6.06
zondag 31 mei 2026
01:50

Info-popover pattern uitgerold naar Tools, Launchpad, CRM en Trends

Polish

Herbruikbare <InfoPopover /> component + 4 pagina's aangepast

Op Tools, Launchpad, CRM Leads en Social Media Trends stond de uitleg-alinea permanent in beeld onder de titel — terwijl je die info maar één keer hoeft te lezen. Verschillende stijlen tussen pagina's ook.

v6.05
zondag 31 mei 2026
01:44

Aankomende deadlines widget: premium glass-cards per kolom

Polish

Vier kolommen krijgen elk een eigen glass-card met tone-gekleurde radial glow

De deadlines-widget was visueel "vlak en saai": alle taken in een grijze rij met dunne 4px border-left, kolom-headers waren alleen tekst, "VANDAAG"-empty toonde een dood "—". Niet passend bij de premium look van de Maandwinst- en Klanten-widgets.

v6.04
zondag 31 mei 2026
01:41

Info-icoontje verticaal gecentreerd t.o.v. de titel

Bug fix

Info-knop hing onder de titel i.p.v. midden ernaast

De heading op de Takenbeheer-pagina had margin-bottom: 14px ingebakken — daardoor stond de h1-box hoger dan z'n visuele tekst en kwam de (i)-knop met align-items: center optisch op de bodem van het tekst-blok terecht.

v6.03
zondag 31 mei 2026
01:35

Takenbeheer: uitleg achter info-icoontje + leverancier-neutrale beschrijving

Polish

Info-popover naast de titel i.p.v. een alinea eronder

De subtitel onder "Takenbeheer" nam veel ruimte in en stond ongelukkig op "synchroniseert automatisch met GoHighLevel" — terwijl Takenbeheer prima standalone werkt, GHL is maar één van de optionele integraties.

v6.02
zondag 31 mei 2026
01:31

Mijn inkomen-widget: "Bekijk alle klanten" opent nu een mooie modal met blur-backdrop

Polish

Inline-uitklap vervangen door gecentreerde popup met blur achtergrond

De inline-uitklap (v6.01) maakte het dashboard heel lang scrollbaar als je 18+ klanten had — alles werd onder elkaar gepropt en duwde de rest van het dashboard naar beneden.

v6.01
zondag 31 mei 2026
01:22

Mijn inkomen-widget: "Bekijk alle klanten" werkt nu echt (inline uitklappen)

Bug fix

Knop linkte naar /financieel maar deed visueel niets bruikbaars

De "Bekijk alle 18 klanten →" knop was een Link naar /financieel. Voor een manager zonder viewFinance-permissie deed dat niets, en zelfs met permissie kreeg je de algemene financieel-pagina i.p.v. specifiek de klantenlijst met bedragen.

v6.00
zondag 31 mei 2026
01:22

Affiliate-pagina: uitleg ook ingeklapt achter info-icoontje

Polish

Beschrijving naast de titel i.p.v. een blok eronder

De uitleg-alinea onder "Verdien 30% MRR per verwijzing" nam veel verticale ruimte in voor informatie die je maar één keer hoeft te lezen.

v5.99
zondag 31 mei 2026
01:14

Massa-koppeling header: layout fix + mini-stat-pillen

Bug fix

Titel "Massa-koppeling" stond naast i.p.v. onder de eyebrow

Door de inline-flex op .sa-title-row zat de h1 op dezelfde regel als de "SOCIAL ACCOUNTS" eyebrow ernaast i.p.v. eronder.

Polish

Stats omgezet naar compacte gekleurde mini-pillen

De "72 slots · 0 gekoppeld · 5 verlopen"-regel was puur tekst met scheidings-puntjes. Niet meteen visueel onderscheidbaar.

v5.98
zondag 31 mei 2026
01:12

Jaar-overzicht widget: ECHT pixelmatig identiek aan admin Maandwinst

Bug fix

Manager-widget gebruikt nu .taskio-revenue-* CSS i.p.v. .monthly-bar-*

Er bestaan twee admin "Maandwinst"-implementaties: één op /financieel (.monthly-bar-*, brede capsules) en één op het admin-dashboard (.taskio-revenue-*, smalle 8-18px pillen). v5.94 koppelde de manager-widget aan de eerste — daarom kreeg de manager BREDE rechthoeken in plaats van de smalle pillen die admin op zijn dashboard ziet.

v5.97
zondag 31 mei 2026
01:06

Massa-koppeling: uitleg ingeklapt achter info-icoontje

Polish

Beschrijving als popover i.p.v. permanent zichtbare alinea

De uitleg-tekst onder de titel "Massa-koppeling" nam veel verticale ruimte in voor info die je maar een keer hoeft te lezen.

v5.96
zondag 31 mei 2026
01:02

Jaar-overzicht widget breder gemaakt — 1:1 matching admin Maandwinst

Polish

Jaar-overzicht is nu span 3 (75% breed) i.p.v. span 2 (50%)

De Jaar-overzicht widget had defaultSpan 2 — half scherm. Admin Maandwinst (revenueChart) heeft defaultSpan 3 — driekwart scherm. Daardoor oogden de bars op het manager-dashboard smaller dan op het admin-dashboard, ondanks dat de CSS sinds v5.94 1:1 gedeeld wordt.

v5.95
zondag 31 mei 2026
00:58

Jaar-overzicht: 2 gestapelde bars per maand (klant-fees + vast bedrag) + filter-chips

Nieuwe functie

Inkomen wordt nu opgesplitst in klant-fees (teal, basis) en vast maandbedrag (violet, toeslag)

Een staaf per maand toonde alleen het totaal — geen onderscheid tussen waar het inkomen vandaan komt. Manager kon niet snel zien hoeveel deel klant-fees vs flat fee was per maand.

Nieuwe functie

Filter-chips bovenaan: Beide / Klant-fees / Vast bedrag

Drie chips in de header (vergelijkbaar met legend van admin maar klikbaar). Klik "Klant-fees" → alleen die kolom getoond. Klik "Vast bedrag" → alleen flat fee. Klik "Beide" → terug naar gestapeld. Jaartotaal in de sub-header past zich aan op het actieve filter. Hover-detail toont altijd beide bedragen + totaal ongeacht filter.

Infra

i18n: 3 nieuwe keys × 4 talen = 12 strings

mgrwidget_year_filter_all (Beide / Both / Beide / Les deux), mgrwidget_year_legend_clients en mgrwidget_year_legend_flat. CSS-class .mgr-year-chip toegevoegd voor de chip-styling (pill-shape, teal-active-state).

v5.94
zondag 31 mei 2026
00:48

Jaar-overzicht widget: 1:1 hetzelfde design als admin Maandwinst

Polish

ManagerIncomeYearWidget gebruikt nu DIRECT de admin .monthly-bar-* CSS-classes

Vorige versies probeerden de admin-stijl te imiteren via aparte .mgr-year-* classes, maar het kwam visueel niet exact overeen (bar-hoogte, profit-label positie, hover-bubble, projectie-tonen).

v5.93
zondag 31 mei 2026
00:33

Manager-widgets: compacter formaat + premium polish

Polish

Beide manager-widgets ~25% korter in de hoogte

De widgets namen veel verticale ruimte in. Het jaar-overzicht had 220px hoge bars, het inkomen-blok 18-26px padding rondom. Op normale schermen scrolde de rest van het dashboard daardoor te ver omlaag.

Polish

Premium glass-effect + gradient bars met inner highlight

Cards krijgen nu een echte glass-look: backdrop-filter blur(10px) + saturate(140%), inset highlight bovenaan, drop-shadow voor diepte, en op hover een subtiele teal-glow ring. Bars zijn niet meer flat-teal maar een gradient (lichter teal bovenaan → teal mid → donker teal onder) met een witte inner-highlight aan de top, plus een drop-shadow eronder. Hero-cijfer gebruikt een gradient met drop-shadow filter voor luxe glow. Klant-rijen schuiven 2px naar rechts bij hover, sub-stat blokjes lichten subtiel op met teal-border, "Bekijk alle klanten" knop heeft nu een echte ghost-button stijl met teal border. Alles werkt in dark én light mode.

v5.92
zaterdag 30 mei 2026
22:56

Manager-widgets in huisstijl gebracht — identiek aan admin Maandwinst

Polish

Bar-chart krijgt teal capsule-staven, hover-bedrag bovenaan en mooie card-frame

De manager Jaar-overzicht widget toonde donkergrijze pillen in plaats van teal staven, omdat de stack-background visueel overheerste over de teal segment. Plus de styled-jsx light-mode overrides werkten niet (zelfde scoping-issue als v5.90). De widget paste daardoor niet bij de admin Maandwinst-stijl.

Polish

"Mijn inkomen deze maand"-widget light-mode-leesbaar

De twee sub-stat-blokjes (Vast maandbedrag + Klant-fees) waren donkergrijs met onleesbare tekst in light mode.

v5.91
zaterdag 30 mei 2026
21:36

Manager-dashboard: 2 nieuwe widgets — "Deze maand" + "Jaar-overzicht"

Nieuwe functie

Widget "Mijn inkomen deze maand" voor account managers

Een manager kon nergens snel zien wat de huidige maand-inkomsten zijn — alleen via /financieel/tab=employees waar admins kijken. Geen eigen overzicht op het eigen dashboard.

Nieuwe functie

Widget "Jaar-overzicht per maand" — bar-chart van het hele jaar

Hetzelfde gemis aan trend-overzicht: hoe stabiel was mijn inkomen het afgelopen jaar? Welke maand was uitschieter? Niet zichtbaar.

Infra

Nieuwe helper lib/manager-income.ts

computeManagerIncome(userId, periodMonth) + buildManagerYearSeries(userId, year). Period-overlap query voor FlatFeeAgreement (zelfde patroon als employee-cost-overview), één DB-call voor het jaar i.p.v. 12 losse queries. Pauze-detectie via Client.isActive. Beide widgets fetchen server-side in app/(dashboard)/page.tsx zodat het dashboard meteen rendert zonder client-roundtrip. 20 nieuwe i18n-keys × 4 talen = 80 strings. Widgets automatisch zichtbaar via audience: 'manager' in WIDGET_CATALOG.

v5.90
zaterdag 30 mei 2026
21:19

Light-mode styling Account manager + Sales attributie cards hersteld

Bug fix

Invulvelden in Account manager + Sales attributie waren onleesbaar in light mode

De light-mode CSS-overrides stonden in <style jsx> binnen de componenten zelf. styled-jsx scope't echter de selector `html[data-theme="light"]` naar de component-instance i.p.v. het globale html-element — waardoor de overrides nooit aansloegen. Resultaat: donkere inputs op witte card-achtergrond (rgba(0,0,0,0.25) viel terug op de dark-mode default).

v5.89
zaterdag 30 mei 2026
21:06

Account manager-koppeling per klant + manager ziet alleen eigen klanten

Nieuwe functie

Nieuwe "Account manager"-sectie op klantprofiel (Financieel-tab)

Voor een manager kon je geen vast maandbedrag per klant instellen. Sales attributie ondersteunt alleen percentages voor setter/closer/sales_manager — geen vast bedrag voor de operationele manager die de klant beheert.

Nieuwe functie

Managers zien voortaan alleen klanten die aan hen gekoppeld zijn

Iedereen met MANAGER-rol zag álle klanten van het bureau — geen scheiding tussen wie welke account beheert. Voor bureaus met meerdere account managers gaf dat te veel ruis en privacy-issues.

Infra

Prisma-schema: Client.managerId + Client.managerMonthlyFee + index

Beide velden zijn optional dus geen risico voor bestaande klanten — die starten met managerId=null en blijven gewoon zichtbaar voor admin. Named relation "ClientManager" met onDelete: SetNull zodat een verwijderde User automatisch de koppeling losmaakt. Index op (tenantId, managerId) voor snelle visibility-queries. Railway pakt de schema-wijziging op via prisma db push bij deploy.

v5.88
zaterdag 30 mei 2026
17:26

Financieel-pagina: 4 tabs + nieuw Medewerkers-overzicht

Nieuwe functie

Tab-structuur op /financieel — Overzicht / Per klant / Medewerkers / Overige & eenmalig

De pagina was één lange scroll met 7 secties achter elkaar (KPI's, grafiek, maand-override, dienstverlening, per klant, overige, eenmalig). Lastig om snel naar wat je nodig had.

Nieuwe functie

Nieuw "Medewerkers"-tab: zie hoeveel je per maand kwijt bent + hoe lang elke commissie-koppeling nog loopt

Geen centraal overzicht voor de bureau-eigenaar van flat fees + commissies + verloopdatums per klant-koppeling. Risico: een commissie-afspraak loopt langer door dan afgesproken zonder dat het opvalt.

Polish

Oude /financieel/medewerkers URL blijft werken (redirect naar tab)

v5.87
zaterdag 30 mei 2026
16:57

Sales attributie op klantprofiel: dark mode styling hersteld

Bug fix

De 3 koppel-kaartjes (setter/closer/sales manager) waren wit in dark mode

ClientSalesAttribution gebruikte fallback CSS-vars (var(--surface, white)) en hardcoded kleuren (#fde9e9, #f3f3f3, white text op buttons) die in dark mode niet meeswitch'ten — drie witte cards midden in een verder donker klantprofiel.

v5.86
zaterdag 30 mei 2026
16:49

Flat-fee invulvelden: Notitie nu onder Rol + Bedrag i.p.v. ernaast

Bug fix

Notitie-veld viel buiten de drawer-rand

Het Flat-fee blok stond als 3-koloms (Rol + Bedrag + Notitie). De drawer is maar ~440px breed, waardoor de Notitie-input over de rechterrand viel en niet meer aanklikbaar was.

v5.85
zaterdag 30 mei 2026
16:46

Changelog dark-mode: zelfde radial-gradient achtergrond als het portaal

Polish

Pagina krijgt nu dezelfde teal/violet/mint-tinted gradients als de dashboard-bg

De /changelog dark-mode bg was een platte donkere kleur — terwijl het portaal een zachte meerlagige radial-gradient stack heeft. Visueel voelde de pagina los van de rest van het portaal.

v5.83
zaterdag 30 mei 2026
16:30

Changelog hero-logo: rondje blijft wit in dark mode

Polish

Wit cirkeltje achter het teal Senly-logo, ook in dark mode

In dark mode kreeg het logo-rondje achter de teal Senly-S een donkere achtergrond — daardoor was het logo nog nauwelijks zichtbaar tegen de bijna-zwarte achtergrond.

v5.82
zaterdag 30 mei 2026
16:28

Changelog-pagina: huisstijl-kleuren van het bureau

Nieuwe functie

Élk bureau ziet de /changelog in zijn eigen primary + accent kleur

De pagina gebruikte hardcoded Senly-teal voor de orbs, hero-accent, version-badge en filter-pill. Een bureau dat zijn portaal in bordeauxrood of paars had ingesteld, zag de changelog-pagina alsnog in teal — voelde niet als deel van hún portaal.

v5.81
zaterdag 30 mei 2026
16:20

Changelog dark-mode: nu écht correct (juiste class-selectors)

Bug fix

Stat-cards, item-cards en tekst waren in dark mode nog onleesbaar

In mijn vorige dark-mode passes had ik selectors gebruikt die niet bestaan (.cl-card, .cl-hero-stat, .cl-version-pill...). Daardoor bleef de helft van de pagina wit-met-witte-tekst.

v5.80
zaterdag 30 mei 2026
16:14

Demo-modus: alle pagina's nu écht read-only in de UI

Bug fix

Op de Huisstijl-tab kon je in demo-modus nog gewoon invulvelden aanpassen

De middleware blokt al elke POST/PATCH/PUT/DELETE in demo (server-side veilig), maar de UI liet inputs en knoppen gewoon klikken. Daardoor leek het alsof je wijzigingen kon maken, terwijl ze nooit opgeslagen werden.

v5.79
zaterdag 30 mei 2026
16:08

Dark-mode fix: changelog-hero + Flat-fee opmaak

Bug fix

Hero-blok van /changelog bleef wit in dark mode

Mijn vorige dark-mode pass had het page-canvas en de cards al donker gemaakt, maar de bovenste hero-sectie hield een hardcoded wit-naar-grijs gradient. Daardoor was de titel "Wat is er nieuw in Senly" lichte tekst op een witte achtergrond — onleesbaar.

Polish

Flat fee-sectie krijgt premium opmaak in dark mode

De "Flat fee instellen"-rij in de gebruiker-modal had witte tekst op een teal-knop (laag contrast) en de inputs voelden vlak.

v5.78
zaterdag 30 mei 2026
16:05

Bevoegdheden-tabel: Closer-kolom toegevoegd tussen Setter en Sales Manager

Nieuwe functie

Closer-rol heeft eigen kolom in de bevoegdheden-tabel + correcte default-permissies

In de "Bevoegdheden per rol"-tabel stond de Closer-rol er niet tussen, terwijl die wel in het systeem bestaat. Ook ontbrak Closer in getDefaultPermissions — daardoor kreeg een Closer effectief géén rechten als er geen custom-role override stond.

v5.77
zaterdag 30 mei 2026
15:54

Dark-mode: changelog-pagina + Flat-fee sectie volgen thema

Polish

Changelog-pagina past zich nu aan aan dark/light thema

De /changelog pagina toonde altijd een wit canvas — ook als je in het portaal voor dark-mode had gekozen. Inconsistent en fel.

Bug fix

Flat-fee invoerveld bij gebruiker-bewerken was wit in dark mode

De "Flat fee instellen"-sectie gebruikte hardcoded var(--surface-muted, #fafafa) wat in dark mode terugviel op bijna-wit — daardoor was de hele inputrij niet leesbaar.

v5.76
zaterdag 30 mei 2026
15:49

User-modal: drawer heeft weer een solide achtergrond

Bug fix

Achtergrond van Gebruiker-toevoegen / Gebruiker-bewerken was transparant

De drawer rechts in beeld liet de achterliggende pagina nog doorschemeren, waardoor labels en knoppen onleesbaar werden.

v5.75
zaterdag 30 mei 2026
15:35

CRM-cards: tags blijven op één regel, lange tag-naam met ellipsis

Polish

"+1 tags" en "Web Dev & Design" passen nu netjes binnen de card

De "+N tags" pill brak op twee regels (woord viel onder de pill door) en de subject-tag "Web Dev & Design" wrap-te ook over twee regels — beide zagen er rommelig uit.

v5.74
zaterdag 30 mei 2026
15:09

User-modal "Verwijderen"-knop weer goed leesbaar

Bug fix

Rode "Verwijderen"-knop in Riskante acties was rood-op-rood

In de gebruiker-bewerken-drawer was de tekst op de Verwijderen-knop bijna onzichtbaar — rode letters op een rode achtergrond.

v5.73
zaterdag 30 mei 2026
02:57

CRM: sleep stage-kolommen in een andere volgorde

Nieuwe functie

Drag-and-drop op de kolom-headers om stages te herordenen

Stages kwamen altijd in de volgorde waarin ze aangemaakt waren. Wilde je "Lead binnen" vooraan zetten of "Gewonnen" helemaal rechts, dan moest je dat via de database doen.

v5.72
zaterdag 30 mei 2026
02:53

CRM: bulk-verwijderen van meerdere leads tegelijk

Nieuwe functie

Selectie-modus met meerdere leads aanvinken en in één klap verwijderen

Je kon alleen leads één voor één verwijderen via de modal. Voor opruim-acties (bv. 100+ duplicates wegtikken) was dat onwerkbaar.

v5.71
zaterdag 30 mei 2026
02:37

CRM: Herstel-knop voor per ongeluk verwijderde stages

Nieuwe functie

Detecteer en herstel een bulk-batch leads die door stage-delete is verschoven

Als je per ongeluk een stage verwijdert, worden alle leads in die stage automatisch naar de eerstvolgende stage verplaatst. Daardoor zat ineens een berg "Lead binnen"-leads onder "Gekwalificeerd" — niet duidelijk welke je terug moest klikken.

v5.70
zaterdag 30 mei 2026
02:26

GHL-import: kies pipeline + stage, optioneel eerst leegmaken

Nieuwe functie

Importeer alleen opportunities uit één GHL-stage i.p.v. alle contacten

De Import GHL-knop trok blind alle GoHighLevel-contacten binnen via /contacts/ en plaatste alles in de eerste Senly-stage. Daardoor kwamen er ook contacten uit Gekwalificeerd / Gebeld / Klant terecht in "Lead binnen" en zat je met 155 leads i.p.v. de gewenste 105.

v5.69
zaterdag 30 mei 2026
02:03

CRM-card-acties uitgebreid: WhatsApp + Notitie + Taak

Nieuwe functie

Naast bellen en mailen ook WhatsApp, notitie en taak vanaf de card

De quick-action rij onderaan een lead-card had alleen bellen en mailen. WhatsApp is in de praktijk het meest gebruikte kanaal voor sales-follow-up, en je kon niet zien of er al notities of taken zijn zonder de card te openen.

v5.68
zaterdag 30 mei 2026
01:56

CRM-lead-cards: meer info per card (GHL-stijl detail-grid)

Polish

Lead-cards tonen bedrijf, bron, waarde + frequentie, laatste contact en quick-actions

De kanban-cards toonden alleen bedrijf · bron in één regeltje en een waarde-bedrag. Te weinig info om in één oogopslag te scannen.

v5.67
zaterdag 30 mei 2026
00:07

CRM-lead bugfix: status uit formulier wordt nu opgeslagen

Bug fix

Nieuwe lead op "Gewonnen" zetten vloog na opslaan terug naar Open

Bij het aanmaken van een nieuwe lead werd de in de modal gekozen status ("Gewonnen" of "Verloren") door de API genegeerd — POST destructureerde de body wel maar nam de status-key niet mee. Resultaat: lead werd altijd als "open" opgeslagen en je moest hem na opslaan opnieuw op "Gewonnen" zetten.

v5.66
vrijdag 29 mei 2026
23:57

CRM-lead: koppel aan bestaande klant + automatische status-sync

Nieuwe functie

Lead aan bestaande actieve klant koppelen — status volgt klant-status

Je kon een lead alleen omzetten naar een NIEUWE klant via "Omzetten naar klant". Voor bestaande klanten moest je het handmatig bijhouden — en als zo'n klant later inactief werd, bleef de bijbehorende lead "gewonnen" staan, terwijl die eigenlijk verloren is.

v5.65
vrijdag 29 mei 2026
23:22

CRM-lead: nieuwe lead opent direct in de aangeklikte stage

Polish

Klik op "Lead toevoegen" onder "Offerte verstuurd" opent modal in die stage

Welke stage-kolom je ook aanklikte, de Nieuwe-lead-modal opende altijd in "Lead binnen" (de eerste stage). Daardoor moest je elke keer alsnog handmatig de juiste fase kiezen.

v5.64
vrijdag 29 mei 2026
23:20

CRM-lead: auto-contact aanmaken + "Toegewezen aan"-dropdown

Nieuwe functie

Lead handmatig ingevuld? Contact wordt automatisch aangemaakt of gematcht

Als je een lead handmatig invulde zonder eerst een bestaand contact te koppelen, ging die lead langs de contactenlijst heen. Daardoor ontstonden er deals zonder centraal contactbeeld en moest je achteraf alsnog handmatig een contact aanmaken.

Nieuwe functie

"Toegewezen aan"-dropdown in de lead-modal

Je kon op het kanban-bord wel zien aan wie een lead toegewezen was (via de avatar rechtsboven), maar je kon de toewijzing niet aanpassen vanuit het lead-formulier zelf.

v5.62
vrijdag 29 mei 2026
23:10

CRM-board: avatar van toegewezen sales-persoon rechtsboven op lead-card

Polish

In één oogopslag zien wie verantwoordelijk is voor welke deal

Op het CRM-bord zag je wel de naam en de waarde van een lead, maar niet wie er aan toegewezen was. Daarvoor moest je de lead openen — en met veel kaartjes op het bord werd dat vermoeiend.

v5.61
vrijdag 29 mei 2026
23:06

CRM-lead: prijs-frequentie (eenmalig / uur / maand / jaar)

Nieuwe functie

Bij elke deal kun je nu aangeven of de waarde eenmalig, per uur, per maand of per jaar is

Een lead-waarde was puur een bedrag in euro's — je kon niet zien of die "€80" voor een eenmalige opdracht stond, een uurtarief was of een maandelijks abonnement. Daardoor gaf de pipeline-totaal ook een vertekend beeld voor recurring deals.

v5.60
vrijdag 29 mei 2026
22:48

Tools-pagina: platform-logo's in Recent gebruikt + Aanbevolen + Favorieten

Polish

Downloader-cards tonen nu het echte merklogo i.p.v. een leeg rondje

In de horizontale rijen (Recent gebruikt, Aanbevolen voor jou, Favorieten) toonden de downloader-cards (TikTok, YouTube, Snapchat, Instagram, Facebook, LinkedIn) een generieke grijze cirkel — terwijl in de hoofdtabel de echte platform-logo's wel zichtbaar waren.

v5.59
vrijdag 29 mei 2026
22:45

Login + onboarding: "15+ tools" bijgewerkt naar "30+ tools"

Polish

Tool-aantal in copy klopt nu weer met het werkelijke aanbod

De feature-lijst op de login-pagina en in de onboarding-tour zei nog "15+ tools" — terwijl het tools-aanbod intussen ruim 30 hulpmiddelen telt.

v5.58
vrijdag 29 mei 2026
22:45

CRM Contacten: sorteer-dropdown — datum, alfabetisch of laatst contact

Nieuwe functie

Sorteer je 234+ contacten op nieuwste/oudste, alfabetisch (A→Z / Z→A) of recent contact

De Contacten-tab toonde alles in de ruwe DB-volgorde — geen manier om snel je nieuwste leads bovenaan te zetten of alfabetisch te bladeren als je een naam zoekt.

v5.57
vrijdag 29 mei 2026
22:41

Snapchat-tile: dieper geel zodat wit spookje uitspringt

Polish

Goudgele gradient i.p.v. neon-geel achter het ghost-icoon

Brand-geel (#FFFC00) is zo licht dat het witte ghost-icoon er nauwelijks van afstak — visueel verdween het spookje.

v5.56
vrijdag 29 mei 2026
22:35

CRM-contactenkaartjes: letter is leesbaar in light mode

Bug fix

Witte initial-letter werd onleesbaar tegen de lichte tile-achtergrond

De avatar van een CRM-contact had een witte letter (#fff) op een teal gradient. In dark mode prima leesbaar, maar in light mode rendert die gradient veel zachter waardoor de letter visueel verdween.

v5.55
vrijdag 29 mei 2026
22:35

Snapchat-logo: wit spookje i.p.v. zwart op gele tile

Polish

Snapchat-merklogo nu in juiste brand-stijl

Het Snapchat-logo gebruikte een zwart ghost-icoon op de gele tile. Officieel is het Snapchat-spookje wit, niet zwart. Was zichtbaar in zowel de tool-rij als in de bubbel-view.

v5.54
vrijdag 29 mei 2026
22:30

Bubbel-view light mode: premium achtergrond-gradient

Polish

Licht-mode kreeg een rijkere, high-end achtergrond

In licht thema oogde de bubbel-view bijna pure wit met nauwelijks zichtbare kleur — daardoor voelde de tab kaal en niet premium.

v5.52
vrijdag 29 mei 2026
19:37

Bubbel-view: Sales-label terug + ruimte tussen labels en iconen

Polish

Categorie-labels altijd zichtbaar boven hun cluster

Door de grotere cluster-radius schatting verdween het Sales-label boven de viewport. Tegelijk plakten labels van naast-elkaar liggende clusters bijna tegen de iconen van de buurcluster.

v5.51
vrijdag 29 mei 2026
19:31

Bubbel-view: categorie-label nooit meer achter een icoon

Polish

Labels staan altijd boven hun cluster, ook bij grotere groepen

Bij clusters met veel tools (Sales, Analyse) dreven bubbels soms over het categorie-label heen, waardoor je de cluster-naam niet meer kon lezen.

v5.49
vrijdag 29 mei 2026
19:19

Bubbel-view: geen donkere halo meer achter iconen, iets compacter

Polish

Schone tool-iconen zonder donker rondje of category-glow erachter

Achter elk icoon zat nog een zachte category-halo plus een dark drop-shadow van de tile zelf — die combinatie liet visueel een "zwart rondje" achter de tile zien.

v5.48
vrijdag 29 mei 2026
19:11

Bubbel-view: alleen icoontjes meer, rustigere physics

Polish

Geen kleur-bubbel meer om elk icoon — en bubbels schuiven nauwelijks nog

Iconen zaten in een kleur-bubbel waardoor het tabblad visueel druk werd (icoon in icoon). Bovendien bewogen alle bubbels constant rond — dat voelde onrustig.

v5.47
vrijdag 29 mei 2026
19:01

Bubbel-view: echte tool-iconen in plaats van losse emoji's

Polish

Elke bubbel toont nu het officiële merklogo of gradient-icoon van de tool

Bubbels lieten alleen een kleine emoji of tekst-glyph zien — daardoor was het lastig om in één oogopslag te herkennen welke tool achter welke bubbel zat.

v5.46
vrijdag 29 mei 2026
19:00

Geüploade logo's en bestanden direct zichtbaar (Railway-fix)

Bug fix

Logo, favicon en andere uploads bleven 404 op productie

Bij Huisstijl-instellingen werd het logo na upload niet zichtbaar — alleen het alt-tekst-icoon ("Logo voorbeeld" of broken-image). Oorzaak: Next.js neemt op Railway een snapshot van de public/-map bij build. Bestanden die ná de deploy via POST /api/upload op disk komen, worden door de standaard static-server niet meer geserveerd → /uploads/abc.png gaf 404.

v5.45
vrijdag 29 mei 2026
18:51

Bubbel-view: standaard portal-achtergrond i.p.v. losse blauwe bg

Polish

Bubbel-modus sluit visueel aan op de rest van het portaal

De fullscreen bubbel-view had zijn eigen donkerblauwe radial-gradient achtergrond. Daardoor voelde de tab los van de rest van het portaal — alsof je in een aparte app zat.

v5.44
vrijdag 29 mei 2026
18:49

Google Calendar-omschrijving in 2 regels i.p.v. 3

Polish

Tekst onder Google Calendar in de integraties-kaarten ingekort

De NL-tekst "Synchroniseer boekingen automatisch met je Google Calendar. Auto Google Meet-links." brak naar 3 regels in de kaart, terwijl de andere providers maar 2 regels nodig hadden — visueel onbalans.

v5.43
vrijdag 29 mei 2026
18:43

Tools-pagina: zelfde gemeshde achtergrond als de andere tabs

Polish

De plat-zwarte achtergrond op /tools is vervangen door de standaard portal-mesh

/tools dekte de globale teal/violet body-gradient af met een eigen platte linear-gradient — daardoor voelde de pagina los van de rest van het portaal, kaler en zwarter dan bv. Contacten of Takenbeheer.

v5.42
vrijdag 29 mei 2026
18:42

Bubbel-view: clusters verder van de viewport-rand af

Polish

Bubbels rakten visueel tegen de schermranden — nu meer marge

In de fullscreen bubbel-modus zaten de zij-clusters en het bovenste/onderste cluster te dicht op de viewport-rand. Bubbels werden visueel "afgekapt" tegen de schermrand.

v5.41
vrijdag 29 mei 2026
18:41

Outlook-logo: echt officieel Microsoft-bestand i.p.v. recreatie

Polish

Outlook-icoon vervangen door het 100% officiële Microsoft Outlook 2018-2024 logo

De vorige inline SVG-recreatie liet maar de helft van het logo zien en kwam visueel niet overeen met het echte Microsoft-merk.

v5.40
vrijdag 29 mei 2026
18:37

Bestaand contact: toewijzing aan bureau-lid is nu ook achteraf aanpasbaar

Nieuwe functie

"Toegewezen aan"-dropdown ook in het detail-paneel van een contact

Bij een NIEUW contact kon je vorige update al direct iemand toewijzen, maar bij bestaande contacten (bv. uit de CSV-import) was er geen manier om dat alsnog te regelen via de UI.

v5.39
vrijdag 29 mei 2026
18:34

Outlook-logo: echte Microsoft envelope-stijl i.p.v. simpele O-tile

Polish

Outlook-icoon op /meetings → Integraties is nu het officiële logo

De vorige inline SVG was alleen een blauwe rounded square met een witte "O" — herkenbaar maar niet het iconische Outlook 2019+ logo dat mensen verwachten.

v5.38
vrijdag 29 mei 2026
18:27

Outlook + Zoom icons: niet meer afgesneden in de kaarten

Bug fix

Brand-logo's van Outlook en Zoom werden aan de randen geclipt

De SVG-content vulde de hele 48x48 viewBox tot aan de randen, waardoor in de integratie-kaart de hoeken en/of bovenkant van de envelope respectievelijk de camera werden afgesneden.

v5.37
vrijdag 29 mei 2026
18:22

Meeting duur: vrij invulveld met preset-suggesties

Nieuwe functie

Eigen meeting-duur instellen (bv. 50 of 75 min) i.p.v. vaste keuzes

Het duur-veld was een select met alleen 15/30/45/60/90/120 min — geen ruimte voor coaching-sessies van 50 min of demos van 75 min.

v5.36
vrijdag 29 mei 2026
18:03

Integraties-pagina: officiële brand-logo's i.p.v. emoji

Polish

Google / Outlook / Apple iCloud / Zoom hebben nu hun echte logo

De integratie-kaarten en de Apple koppel-modal toonden emoji (📅, 🍎, 🎥) als icoon, wat amateur oogt en op verschillende OS-versies anders rendert.

v5.35
vrijdag 29 mei 2026
17:57

Meetings-modals: padding hersteld voor strakke binnenmarge

Bug fix

Apple iCloud / Zoom / Outlook koppel-modals hadden geen witruimte rond de inhoud

.meet-modal had geen padding waardoor de header, formulier-velden en knoppen direct tegen de randen van de modal stonden — geen visuele ademruimte.

v5.33
vrijdag 29 mei 2026
16:16

Nieuw contact: direct toewijzen aan een collega

Nieuwe functie

Dropdown "Toegewezen aan" in de "+ Nieuw contact"-modal

Bij het aanmaken van een nieuw CRM-contact kon je nog niet aangeven wie er binnen het bureau eigenaar van is. Achteraf moest je dat alsnog handmatig instellen — irritant bij grotere teams.

v5.30
vrijdag 29 mei 2026
16:01

Nieuwe lead: bestaand contact opzoeken vult de velden automatisch

Nieuwe functie

Zoekbalk bovenaan de "Nieuwe lead"-modal vindt contacten uit je contactenlijst

Bij elke nieuwe lead moest je naam, bedrijf, e-mail en telefoon opnieuw intypen — ook al stond het contact al in je contactenlijst (bv. via de CSV-import).

v5.29
vrijdag 29 mei 2026
16:00

Bubbel-view: clusters vullen nu het hele scherm, bubbels ademen meer

Polish

Bubbels meer verspreid — minder klont, meer cryptobubbles-feel

In de fullscreen bubbel-modus stonden de zes clusters in een kleine cirkel midden op het scherm. De zijkanten en de bovenste/onderste rand waren leeg, terwijl de bubbels binnen één cluster juist op elkaar geplakt zaten.

v5.28
vrijdag 29 mei 2026
13:42

CRM-contacten: exporteren als CSV (GHL-compatibel format)

Nieuwe functie

Drie-puntjes menu naast "+ Nieuw contact" met "Exporteer als CSV"

Wel een import-knop, maar geen export. Wie wil overstappen naar een andere tool of een backup wil hebben moest handmatig contact voor contact kopiëren.

v5.27
vrijdag 29 mei 2026
13:31

Bubbel-view nu écht fullscreen — sidebar + header verdwijnen

Polish

Bubbel-tab opent als overlay over de hele viewport

Bij wisselen naar de bubbels-tab bleven de Senly-sidebar en de bovenste topbar zichtbaar — daardoor voelde de "fullscreen" weergave nog steeds als een dashboard-pagina i.p.v. een eigen experience zoals cryptobubbles.net.

v5.26
vrijdag 29 mei 2026
13:28

CRM-contacten: CSV-import (bv. GoHighLevel-export)

Nieuwe functie

Hele contactenlijst importeren via een CSV in plaats van rij voor rij invoeren

Een nieuwe gebruiker of iemand die overstapt vanuit GoHighLevel moest elke contact handmatig aanmaken. Bij een lijst van honderden leads is dat onbegonnen werk.

v5.25
vrijdag 29 mei 2026
13:27

Cloud-browser: lijst/raster-toggle nu duidelijk zichtbaar in donker thema

Bug fix

Raster-knop ging verloren in dark mode + dubbele breadcrumb na drill-down

De view-toggle gebruikte var(--bg-elev) als actieve achtergrond, dezelfde kleur als de modal — dus onzichtbaar in donker thema. Daarnaast verscheen "Beeldmateriaal 2026 / Beeldmateriaal 2026 / April" in de breadcrumbs wanneer de klant-root en de eerste sub-folder dezelfde naam hadden.

v5.24
vrijdag 29 mei 2026
13:24

Bubbel-view: premium glass-orbs, meer ruimte, safe area voor labels

Polish

Luxere bubble-stijl met layered highlights en color-glow

De bubbels zagen er nog vlak en speelgoed-achtig uit. Bovenop botste het Sales-label tegen de top-headerbalk en stonden bubbels binnen één cluster te dicht op elkaar.

v5.23
vrijdag 29 mei 2026
13:20

Cloud-browser: raster-weergave + HEIC-preview via Drive thumbnails

Nieuwe functie

Foto-raster en HEIC-preview in de in-portal Drive browser

Lijst-weergave werd lang en onhandelbaar bij mappen vol foto's — je moest op iedere "Bekijken" klikken om te zien wat er achter zat. Daarnaast faalde de preview van HEIC-bestanden (Apple-formaat) volledig omdat browsers HEIC niet inline kunnen renderen.

v5.22
vrijdag 29 mei 2026
13:14

Bubbel-view: clusters verder uit elkaar, drag uit, labels boven cluster

Polish

Clusters meer ruimte + categorie-naam duidelijk leesbaar boven elke cluster

Drie issues: (1) bubbles konden naar andere categorie gesleept worden, (2) clusters zaten te dicht op elkaar, (3) categorie-labels stonden achter de bubbles waardoor je niet zag bij welke cluster welke categorie hoorde.

v5.21
vrijdag 29 mei 2026
13:05

Cloud-file-browser nu echt fullscreen — via portal naar document.body

Bug fix

Drive/Dropbox/OneDrive browser modal stond achter de tab-navigatie

Bij klik op "Bladeren in portaal" verscheen de modal binnen de parent stacking context van het tab-paneel — de Content-tab schoot eroverheen en de breadcrumb-header werd onzichtbaar.

v5.20
vrijdag 29 mei 2026
13:04

Tools-bubbelweergave nu fullscreen in cryptobubbles-stijl

Polish

Bubbel-canvas vult de hele content-area i.p.v. een kleine doos

De bubble-view zat opgesloten in een 640px hoge container met witte achtergrond — voelde klein en eilandachtig. Geïnspireerd door cryptobubbles.net hoort hij over het hele tabblad te vallen.

v5.19
vrijdag 29 mei 2026
13:02

Social Media Trends: mesh-achtergrond weer weggehaald

Polish

Gradient-mesh achter de pagina is verwijderd

De zachte teal/violet/cyan gradient die achter het trends-dashboard zweefde voelde toch te druk. Alleen het mesh is weg — alle andere upgrades (glassmorphism stat-tiles, hero-accent, count-up cijfers, ping-ring op de LIVE-badge, gradient borders op cards) blijven staan.

v5.18
vrijdag 29 mei 2026
12:53

Social Media Trends: high-end redesign (mesh + glow + bento)

Polish

Trends-dashboard kreeg een premium "stil-luxe" upgrade

De pagina zag er functioneel maar saai uit — veel witte ruimte, plat-vlakke KPI-tegels, en geen visuele hiërarchie tussen "trending nu" en de overige stats. Geen sense of "data leeft".

v5.17
vrijdag 29 mei 2026
12:44

Tools-pagina: bubbelweergave met physics (sleepbaar, drijvend)

Nieuwe functie

Nieuwe bubbel-view voor de Tools-pagina

De grid met witte cards voelde voor sommige gebruikers statisch. Aangevraagd: een speelse visualisatie waarin tools per categorie zwerven en je ze kunt verkennen.

v5.16
vrijdag 29 mei 2026
12:44

Cloud-mappen openen blijft binnen het portaal — Drive, Dropbox en OneDrive

Nieuwe functie

In-portal file browser voor Google Drive, Dropbox en OneDrive submappen

Klik op een map in het Content-tabblad opende een nieuw tabblad naar drive.google.com / dropbox.com / onedrive.live.com — je verloor de portaal-context en zag de externe interface.

v5.15
vrijdag 29 mei 2026
12:36

Tools-pagina: moderne micro-interactions voor levendig gevoel

Polish

Animaties + hover-effects geven de tools-pagina leven

Cards waren identieke witte rechthoeken zonder enige beweging — statisch en niet modern, vooral nu de gradient-wash weg is.

v5.14
vrijdag 29 mei 2026
12:34

Takenbeheer: sync-knop heet nu "Sync vanuit integratie"

Polish

"Sync vanuit GHL" → "Sync vanuit integratie"

De label was technisch en sloot niet aan op hoe bureaus over hun setup praten. De knop heet nu "Sync vanuit integratie" — generiek genoeg dat 'ie ook klopt als we straks andere bronnen aansluiten. Vertaalt mee in alle 4 talen (NL/EN/DE/FR).

v5.13
vrijdag 29 mei 2026
12:23

Tools-pagina: gradient-wash en floating icons verwijderd

Polish

Cleaner header zonder decoratieve achtergrond

De Tools-pagina had een paarse/oranje/roze gradient-wash achter de header plus een set zwevende icoontjes (#, @, ⚡) rechts. Voor een rustigere, premium look ongewenst.

v5.12
vrijdag 29 mei 2026
12:20

Bezwaren Library zoekveld: zachtere border + teal focus-glow

Polish

Strakke grijze rechthoek-rand vervangen door subtiele premium styling

Het zoekveld in de Bezwaren Library had een harde 1px grijze border die opvallend gesloten aanvoelde — vooral op de zachte gradient-achtergrond van de tool. Niet bij de rest van de premium look.

v5.11
vrijdag 29 mei 2026
12:07

Sales Suite: thinking-mode uit zodat Gemini niet zijn output-budget opvreet

Bug fix

Battle Card en andere complexe tools gaven "geen geldig antwoord"

Gemini 2.5 Flash gebruikt standaard ~900 "thinking tokens" uit het maxOutputTokens-budget voordat het de echte JSON-output begint. Bij complexe schemas (Battle Card heeft 7 nested arrays) bleef er onvoldoende ruimte om de JSON af te maken — output werd afgekapt en parsing faalde.

v5.10
vrijdag 29 mei 2026
12:04

Takenbeheer: prullenbak met herstel-functie

Nieuwe functie

Per ongeluk een taak verwijderd? Klik op de Prullenbak-tab om 'm terug te halen

Als je een taak verwijderde via het potlood- of prullenbak-icoontje was 'ie meteen weg — uit GoHighLevel én uit het portaal. Geen weg terug, zelfs niet als je per ongeluk op de verkeerde rij klikte.

v5.09
vrijdag 29 mei 2026
11:51

Sales Suite tools: model-fallback keten tegen Gemini overload

Bug fix

Reply Scorer en andere tools gaven 503 omdat gemini-2.5-flash overbelast was

Onze Gemini-fallback in claudeJson() gebruikte alleen gemini-2.5-flash. Dat model krijgt regelmatig piekbelasting waardoor je een 503 "high demand" terugkrijgt — de tools toonden dan "AI gaf een fout — probeer opnieuw" zonder verdere uitleg.

v5.07
vrijdag 29 mei 2026
11:30

Sales attributie cards: meer adem + radio-knoppen naast labels

Polish

Cleaner spacing en radio-knoppen op één regel

Binnen elke rol-card (Setter/Closer/SalesManager) zaten Gebruiker en Commissie/Looptijd te dicht op elkaar. Plus de radio-buttons in Looptijd wrapten boven de "12 mnd"/"Levenslang" labels in plaats van ernaast — door te smalle 1fr 1fr grid en geen flex-wrap: nowrap op de label-flexbox.

v5.06
vrijdag 29 mei 2026
11:21

Sales attributie op klantpagina vult nu de volle tab-breedte

Polish

3 rollen (Setter/Closer/Sales Manager) naast elkaar i.p.v. opgestapeld

De Sales-attributie sectie deelde de .cp-finance-wrap class met de financiele kaart die op 600 px gemaxed is. De grid (auto-fit, minmax 280px) past binnen 600 px maar 1 kolom — daardoor stonden Appointmentsetter, Closer en Sales Manager onder elkaar in een smalle kolom in plaats van naast elkaar.

v5.05
vrijdag 29 mei 2026
11:10

Status-page: terug-knop + uptime-balken altijd groen bij geen incidenten

Polish

Subtiele Terug-knop linksboven

Bezoekers die vanuit een interne link op /status landden konden niet terug naar de vorige pagina — geen navigatie-header op de status-view.

Polish

Historische dagen zonder check-data tonen groen i.p.v. grijs

De cron die per-uur checks doet heeft pas recent data; voor de meeste van de 90 dagen waren geen StatusCheck records → grijze blokjes die de indruk wekten dat er problemen waren.

v5.04
donderdag 28 mei 2026
23:22

Sales tools fundament + eerste tool: DM Opener Generator

Nieuwe functie

DM Opener Generator — referentie voor 8-delige sales-tool reeks

Sales-rollen (Setter / Closer / Sales Manager) hadden geen eigen tools op /tools — alleen de bestaande content-tools, die voor outreach niet relevant zijn.

Nieuwe functie

Sales-tools categorie en role-gating op /tools

De tools-pagina toonde voorheen alleen content-tools en was alleen toegankelijk voor ADMIN + MANAGER.

Polish

Gedeeld design-systeem voor alle sales-tools

Nieuwe .sales-* CSS classes (sales-chip, sales-card, sales-grid, sales-tone-badge, sales-copy) gebouwd bovenop het bestaande .dl-* tool-framework. Gradient border per tone-kleur, hover-lift, copy-to-clipboard met feedback-animatie. Mobile-responsive grid.

v5.03
donderdag 28 mei 2026
22:31

i18n finale ronde: TikTok-modal, evaluatie-sectie en alle empty-states vertaald

Polish

Resterende ~60 hardcoded Nederlandse strings vertaald in 4 talen

In de TikTok-instellingen-modal, evaluatiegesprekken-sectie en alle empty-states (lege lijsten, "Geen taken vandaag", "Nog geen leads", etc.) stonden nog Nederlandse strings hardcoded. EN/DE/FR-gebruikers zagen daardoor Nederlandse meldingen.

v5.02
donderdag 28 mei 2026
22:28

Whitelabel-favicon krijgt voorrang boven Next.js auto-icon (sizes="any")

Bug fix

Browsers kozen soms het Senly-icoon i.p.v. het bureau-favicon

Next.js voegt automatisch <link rel="icon" href="/icon.png" sizes="512x512"> toe. Onze tenant-favicon werd dáárna gerenderd, maar zonder size-hint — browsers kunnen het auto-icon dan voorrang geven omdat dat een specifieke maat opgeeft.

v5.00
donderdag 28 mei 2026
21:55

Huisstijl pagina — luxere CSS-pass: editorial typography + premium cards

Polish

Tabs en cards op /admin/instellingen voelen nu écht premium aan

De eerste tabbed-versie was functioneel klaar maar de bestaande .branding-section styling klopte niet helemaal met de luxe look — cards liepen in elkaar en de tabs voelden te basic.

v4.99
donderdag 28 mei 2026
21:50

i18n eindronde: placeholders, tooltips en aria-labels in 4 talen

Polish

Resterende hardcoded Nederlandse strings vertaald

Na de eerste i18n-pass bleven nog placeholders ("Bedrijfsnaam", "Zoek een dag…"), editor-tooltips ("Vetgedrukt", "Cursief", "Onderlijnd", "Voeg link toe", "Lijst", "Verwijder opmaak") en aria-labels ("Vorige", "Volgende", "Toon/Verberg wachtwoord", "Stage verwijderen") hardcoded staan.

v4.97
donderdag 28 mei 2026
21:34

Volledige i18n-pass: dashboard-modals praten nu de juiste taal

Polish

Knoplabels in modals/dialogen vertaald in 4 talen

Vele knoppen in CRM-modals, meetings-modals, onboarding-, admin-, integratie- en booking-management-pagina's stonden hardcoded in het Nederlands ("Annuleren", "Opslaan", "Verwijderen", "Aanmaken", "Bewerken", "Toevoegen"). EN/DE/FR gebruikers zagen daardoor Nederlandse buttons in popups.

v4.96
donderdag 28 mei 2026
21:31

Huisstijl pagina: premium tabs voor een rustigere, luxere flow

Polish

Identiteit / Kleuren / Domein / E-mail als aparte sub-tabs binnen Huisstijl

De Huisstijl & branding pagina was één lange scroll met 7 secties (logo donker, logo licht, favicon, namen, kleur, eigen domein, systeem-mailadres) — overweldigend en weinig premium aanvoelend, vooral nu het aantal opties is gegroeid.

v4.95
donderdag 28 mei 2026
21:19

Build-fix: dubbele faviconUrl declaratie in Prisma schema verwijderd

Bug fix

Production build faalde door duplicate field op Tenant

In v4.94 voegde ik een nieuw faviconUrl-veld toe aan het Tenant-model, maar het bleek al door een andere PR toegevoegd te zijn. Prisma weigerde te genereren ("Field faviconUrl is already defined") en de Railway-build faalde — daardoor was de favicon-feature niet bereikbaar in de UI.

v4.94
donderdag 28 mei 2026
21:06

Whitelabel favicon: eigen merk-icoon in de browser-tab

Nieuwe functie

Upload je eigen favicon in Huisstijl — verschijnt in alle klant-tabs

De browser-tab toonde voor klanten van een whitelabel-bureau nog altijd het Senly-S-logo. Een klein detail, maar het verraadt direct dat het platform niet van het bureau zelf is.

v4.93
donderdag 28 mei 2026
20:59

Social-cookie-expiry-mail loopt nu ook via whitelabel afzender

Nieuwe functie

Cookie-expiry herinnering komt van bureau-adres i.p.v. noreply@senly

De dagelijkse cron-mail naar bureau-werknemers met de social-accounts die binnen 3 dagen verlopen werd nog via Resend met master FROM verstuurd, en de "Open social accounts"-knop verwees ook naar app.senly.io. Dat doorbrak de whitelabel-illusie voor bureau-teams.

v4.92
donderdag 28 mei 2026
20:53

Boekingsmails (meetings) lopen nu via het whitelabel systeem-mailadres

Nieuwe functie

Booking-confirmation, reminder, reschedule, cancel én host-notification respecteren tenant-default sender

De boekingsmails naar prospects probeerden eerst het gekoppelde mail-account van de host (werknemer) te gebruiken — heel netjes — maar vielen daarna direct terug op noreply@socialmediatools.nl als de host zelf geen mail-account had gekoppeld. Plus de notificatie naar de host (werknemer die bij de kalender hoort) ging altijd via Resend met master-branding, los van wat het bureau ingesteld had.

v4.90
donderdag 28 mei 2026
20:45

Systeem-mailadres koppelen: stuur welkom/reset mails vanaf eigen bureau-adres

Nieuwe functie

Kies in Huisstijl welk gekoppeld e-mailadres systeem-mails verstuurt

Welkomstmail, password-reset en MFA-meldingen werden altijd verstuurd vanaf noreply@socialmediatools.nl. Klanten van een whitelabel-bureau zagen daardoor "Social Media Tools" als afzender, niet hun bureau — een grote whitelabel-leak die het zelfs onmogelijk maakte om "Reply" te doen naar een echt aanspreekpunt.

v4.89
donderdag 28 mei 2026
19:26

Whitelabel: "Stond al gekoppeld bij Railway" werkt nu ook bij duplicates

Bug fix

Domein opnieuw opslaan toonde onterecht "Railway-koppeling mislukt"

Bij een herhaalde save van hetzelfde domein gaf Railway een generieke "Failed to create custom domain, please try again" terug zonder de tekst "already exists". Onze regex herkende dat niet als duplicate → status werd onterecht "failed" → rode "mislukt"-banner in de UI terwijl het domein gewoon gekoppeld stond.

v4.88
donderdag 28 mei 2026
19:13

Whitelabel-domein getest en werkend — portaal.socialmediatools.nl live

Bug fix

Railway API gebruikte verkeerde DNS-record veldnaam

lib/railway-api.ts probeerde `value` te lezen uit de Railway GraphQL response, maar Railway gebruikt `requiredValue` (en `currentValue`) als veldnaam. Daardoor zou de auto-koppeling een GraphQL validatiefout geven zodra deze geactiveerd werd door een nieuwe domein-save.

v4.87
donderdag 28 mei 2026
18:59

Groter sidebar-logo alleen in partner-portaal

Polish

Bureau-tenants behouden originele logo-grootte, partner krijgt grotere variant

De vorige polish maakte het logo overal 38px, ook voor bureaus die hun eigen logo gekoppeld hadden.

v4.86
donderdag 28 mei 2026
18:53

Sidebar-logo iets groter (28px → 38px)

Polish

Logo in de brand-tile beter zichtbaar

Het sidebar-logo was relatief klein in de 52px tegel waardoor het wat verloren stond.

v4.84
donderdag 28 mei 2026
18:46

Partner-logo: terug naar transparante PNG zonder witte achtergrond

Bug fix

Senly-logo in partner-sidebar zonder witte plak eromheen

De SVG-export bevatte een witte rechthoek-achtergrond, waardoor het logo op de donkere sidebar-tegel een lelijke witte plak liet zien.

v4.83
donderdag 28 mei 2026
18:28

Tenant-audit ronde 2: nog 5 lekken + meeting-types vergrendeld

Beveiliging

Tweede audit-pass dicht resterende cross-tenant routes

Een tweede grondige audit-pass na de eerste fix-ronde vond nog 5 endpoints waar bureau-data niet voldoende geïsoleerd was. Het ernstigst: de Dropbox file-proxy accepteerde elk ?path= zonder check, waardoor iedere ingelogde user willekeurige Dropbox-paden kon downloaden. Daarnaast: OneDrive file-download zonder folder-check, /api/activity lekte activity-log via raden van clientId, drie CRM-endpoints (leads POST, stages POST, GHL-import) valideerden pipeline/stage/contact niet tegen tenant, en Trello-card updates checkten niet of de card op het board van de huidige klant lag.

Beveiliging

Meeting-type PATCH/DELETE alleen voor host of admin

Elke collega binnen een bureau kon de meeting types ("30-min discovery call", "Strategie sessie") van andere collega's bewerken of verwijderen. Niet cross-tenant lek, maar wel kon een Sales-collega per ongeluk de boekingskalender van een collega weghalen.

v4.82
donderdag 28 mei 2026
18:23

Partner-sidebar logo: middleware-whitelist toegevoegd

Bug fix

Senly-logo werd geblokkeerd door middleware in partner-sidebar

Het nieuwe SVG-bestand stond niet in de middleware-whitelist, waardoor de browser een broken image kreeg.

v4.81
donderdag 28 mei 2026
18:22

Domein-verificatiestatus blijft na save behouden

Bug fix

Verificatie-badge sprong terug naar "Nog niet geverifieerd" na elke opslag

Direct na het klikken op Verifieer toonde de huisstijl-pagina "Geverifieerd". Maar bij elke daaropvolgende opslag — zowel de inline "Domein opslaan" knop als de hoofd-"Wijzigingen opslaan" — sprong de status weer terug naar pending. Oorzaak: 1) onSaveDomain zette de status hard op pending na opslaan, en 2) bij elke page-reload werd de status opnieuw geïnitialiseerd omdat hij niet in de database stond.

v4.80
donderdag 28 mei 2026
18:17

Partner-sidebar gebruikt het officiële Senly-logo

Polish

Wit Senly-logo (originele SVG) in de affiliate-sidebar

De handgemaakte inline SVG en de eerdere PNG matchten het officiële logo niet exact.

v4.78
donderdag 28 mei 2026
18:05

Brede tenant-isolatie audit: bureau-data écht gescheiden

Beveiliging

Cross-tenant lekken in 17 API-routes gedicht

Een audit op alle API-routes vond meerdere endpoints waar een bureau in theorie data van een ander bureau kon lezen, bewerken of verwijderen als het het ID kende. Het ging om o.a. contentposts (PATCH/DELETE zonder tenantcheck), de bulk financiële editor, alle social-accounts subroutes (LinkedIn/TikTok/Instagram jobs, logout, keywords), pin-toggle op klanten, evaluaties, notes, note-suggestions, feed-style, Dropbox- en Trello-koppelingen, CRM-pipelines, onboarding entries/stages, en taken (POST + recurring).

v4.77
donderdag 28 mei 2026
17:54

Maandwinst-widget komt nu overeen met de cijfers op /financieel

Bug fix

Dubbele tel-bug bij maanden met handmatige override opgelost

De Maandwinst-staaf op het dashboard toonde een hoger bedrag dan dezelfde maand op /financieel. Oorzaak: bij maanden met een handmatige override telde het dashboard de eenmalige inkomsten/kosten DUBBEL — eerst zaten ze al verwerkt in het override-bedrag, en daarna werden ze nog eens opgeteld via oneTimeProfit. Ook het jaartotaal (top-right "Totaal €X") werd lokaal herberekend met dezelfde buggy formule i.p.v. de correcte server-waarde te gebruiken.

v4.76
donderdag 28 mei 2026
17:51

Huisstijl: eigen domein blijft nu opgeslagen na save

Bug fix

Eigen domein verdween na "Wijzigingen opslaan"

Na het invullen en opslaan van portaal.jouwbedrijf.nl was het veld direct daarna weer leeg. Oorzaak: de hoofd-save (PATCH /api/branding) stuurde de stale lege portalDomain mee uit de form-state, terwijl het ingevulde domein in een aparte `domain` state stond. Daardoor overschreef de hoofd-save het zojuist via /api/branding/domain opgeslagen domein meteen weer met null.

v4.75
donderdag 28 mei 2026
17:50

Partner-sidebar: Senly-logo als inline SVG

Polish

Senly S-logo in partner-sidebar altijd zichtbaar via inline SVG

Extern PNG-bestand laadde niet altijd correct in de sidebar tile.

v4.74
donderdag 28 mei 2026
17:32

Partner-portaal: Senly-logo en instellingen rechtsboven

Polish

Affiliate-accounts zien het witte Senly-logo in de sidebar

Partners zagen het SMT-logo in de sidebar.

Polish

Instellingen en taalwisselaar rechtsboven in partner-header

Zonder center-cluster (chat/zoek/bell) belandden deze knoppen in het midden van de header.

v4.73
donderdag 28 mei 2026
15:17

Partner-header: instellingen en taal links uitgelijnd

Polish

Instellingen en taalwisselaar staan links naast het profiel in de partner-header

Voor partner-accounts stonden het tandwiel en de taalwisselaar in het midden van de header door een CSS grid-kolom-misplaatsing.

v4.72
donderdag 28 mei 2026
15:08

Partner-accounts: team-chat, zoeken en meldingen verborgen

Polish

Header en sidebar voor PARTNER ontdaan van irrelevante features

Affiliate-only accounts zagen team-chat (sidebar + header), de globale zoekbalk en de meldingen-bell in de header staan — geen van die functies werkt voor hun scope.

Bug fix

TypeScript build-error in /api/clients gefixt

suggestNextNumber kreeg recent een tenantId-param maar de POST-call gebruikte nog de oude signature. Tenant-lookup verplaatst naar boven en call bijgewerkt.

v4.71
donderdag 28 mei 2026
14:57

Partner-accounts krijgen normale portaal-chrome (sidebar, header, profielmenu)

Polish

Affiliate-only accounts hebben nu hetzelfde klantenportaal-gevoel

PARTNER-users zagen alleen het /affiliate-paneel zonder header of sidebar — geen logout, geen taalwissel, geen toegang tot hun profiel.

v4.70
donderdag 28 mei 2026
14:48

Partner-accounts: redirect naar /affiliate werkt nu ook vanaf /

Bug fix

Ingelogde partners zagen het volledige dashboard op /

De PARTNER-role-scope check zat binnen de auth-guard, die alleen draait voor non-public paths. Maar / staat als publiek pad (landing), dus een ingelogde PARTNER kwam daar gewoon door en zag het volledige dashboard met klanten/taken/etc.

v4.69
donderdag 28 mei 2026
14:46

Partner-signup form: premium high-end redesign

Polish

Partner-activatie pagina in Senly design DNA

De /partner-signup/[token] pagina zag er functioneel maar plain uit: donkere transparante velden (slecht leesbaar), basic styling, geen visuele hiërarchie.

v4.66
donderdag 28 mei 2026
14:12

Pre-boeking formulieren: kwalificatievragen vóór het kiezen van een tijdslot

Nieuwe functie

Formulieren aanmaken en koppelen aan meeting-types

Via Meetings → Formulieren maak je vragenlijsten aan (vrije tekst en meerkeuze). Je koppelt een formulier aan een meeting-type; bezoekers beantwoorden de vragen vóór ze een datum kiezen.

v4.65
donderdag 28 mei 2026
14:08

Taalwissel op /partners (+andere publieke pagina's) verliest geen context meer

Bug fix

Pagina verdween bij taalwissel op publieke pagina's zonder localized variant

Vanaf /partners (of /security, /contact, /helpcentrum, etc.) gooide de taalswitcher de bezoeker terug naar de homepage — verwarrend, ze verloren hun plek.

v4.64
donderdag 28 mei 2026
14:06

Partner-formulier: bevestigingsscherm leesbaar op donkere card

Bug fix

"Aanvraag verstuurd!" + uitleg onleesbaar op donkere achtergrond

De success-state gebruikte donkere tekst-kleuren die ik voor een lichte achtergrond had gestyled — op de donkergroene CTA-card zijn ze bijna onzichtbaar.

v4.63
donderdag 28 mei 2026
13:58

Partner-formulier: pre-validatie + leesbare validatie-errors

Polish

"Validatiefout" toont nu welk veld + waarom

Bij motivatie korter dan 20 tekens kreeg de bezoeker alleen een vage "Validatiefout" — geen aanwijzing welk veld of waarom.

v4.62
donderdag 28 mei 2026
13:53

Partner-formulier: middleware whitelist gefixt

Bug fix

Aanvragen vanaf /partners landden op login-redirect

De middleware liet de publieke /partners-pagina door, maar /api/partners/apply (POST) niet — die werd als beveiligde route gezien en redirected naar /login. Het formulier kreeg dus HTML terug i.p.v. JSON.

v4.61
donderdag 28 mei 2026
13:46

Partner-formulier: leesbare error i.p.v. cryptische JSON-parse-fout

Bug fix

"Unexpected token <" bij aanvraag versturen

Als de API een HTML 500-pagina teruggaf (bv. omdat de DB-tabel nog niet bestaat na een verse deploy), probeerde de client die te parsen als JSON en faalde met een crypto error die de bezoeker niets vertelt.

v4.60
donderdag 28 mei 2026
13:44

Partner-aanvragen volledig vertaald in nl/en/de/fr

Polish

Header, filters, modal en knoppen op partner-aanvragen volgen nu de taalswitcher

Alle teksten waren hardcoded NL — eyebrow, titel, beschrijving, filter-tabs, statussen, agency-type labels, modal-velden en knoppen veranderden niet bij wissel naar EN/DE/FR.

v4.56
donderdag 28 mei 2026
13:01

Partner-formulier: velden nu echt wit (CSS-cascade gefixt)

Bug fix

Input/select/textarea velden waren grijs i.p.v. wit

De witte achtergrond verloor het van bredere base-styles op input — specificity was te laag.

v4.55
donderdag 28 mei 2026
12:59

Partner-formulier: verstuur-knop heeft natural width

Bug fix

Verstuur-knop op /partners was te breed

De button erfde een breedte via de algemene .sn-pg-btn cascade en spande te ver uit voor zo weinig tekst.

v4.54
donderdag 28 mei 2026
12:52

Partner-formulier: witte velden, witte labels, eyebrow centraal

Polish

Form-velden op /partners zijn weer goed leesbaar

Op de donkergroene CTA-card waren de input-velden bijna onzichtbaar (donker op donker) en de labels eveneens.

v4.53
donderdag 28 mei 2026
12:50

Tools: favoriet-hartje ook in "Alle tools"-tabel + recent-tracking

Polish

Hartje toegevoegd aan elke tabel-rij in /tools

De favorite-toggle stond alleen op de kaart-rijen bovenaan ("Aanbevolen voor jou"). Wie direct naar de tabel scrolde kon niets als favoriet markeren — en omdat de "Favorieten"-rij pas verschijnt nadat je iets hebt gemarkeerd, was het hele feature onzichtbaar.

v4.52
donderdag 28 mei 2026
12:40

Meetings: router-builder, reschedule-knop en manage-link in bevestigingsmail

Nieuwe functie

Admin UI voor meeting routers in /meetings → Routers

Nieuwe tab met inline question-builder: meerdere vragen, meerdere antwoorden per vraag, elk antwoord routet naar een meeting-type. Activeren/pauzeren, slug auto-generated uit naam, één-klik verwijderen.

Nieuwe functie

Verzetten-knop op de manage-pagina

Bezoekers konden alleen annuleren — verzetten betekende cancellen en zelf opnieuw vinden waar te boeken.

Nieuwe functie

Manage-link in de bevestigings-e-mail

De boekingsbevestiging bevat nu een "Verzetten of annuleren"-knop die naar /b/manage/[token] linkt — bezoeker kan zijn afspraak op elk moment beheren zonder de oorspronkelijke succespagina te hoeven hervinden.

v4.50
donderdag 28 mei 2026
03:57

Cookiebanner vertaald naar nl/en/de/fr

Polish

Cookie-consent balk volgt nu de taal van de bezoeker

De banner stond hardcoded in het Nederlands ("Accepteren", "Alleen noodzakelijk"), terwijl Duitse en Franse bezoekers de rest van de pagina al vertaald kregen.

v4.48
donderdag 28 mei 2026
03:41

Testimonials vertaald in Duits en Frans

Polish

Alle 10 reviews op de landingspagina volgen nu de taalwissel

De Duitse en Franse varianten van de testimonials bevatten gewoon de Engelse tekst, waardoor de carousel voor DE/FR-bezoekers nog in het Engels bleef.

v4.47
donderdag 28 mei 2026
03:38

Support-chatbot antwoordt in de gekozen taal

Nieuwe functie

AI-support bot antwoordt nu in nl/en/de/fr

De chatbot antwoordde altijd in het Nederlands, ook als de bezoeker de pagina op Engels of Duits had staan.

v4.46
donderdag 28 mei 2026
03:34

Optimalisatietest-popup vertaald naar nl/en/de/fr

Nieuwe functie

Stappenplan-popup (linksonderin) volgt nu de gekozen taal

Alle 10 vragen, antwoordopties, categorieën, resultatenscherm en CTA-teksten zijn vertaald in Nederlands, Engels, Duits en Frans.

v4.45
donderdag 28 mei 2026
03:30

Chat-widget vertaald naar nl/en/de/fr

Nieuwe functie

Support-widget volgt nu de gekozen taal van de landingspagina

Tooltip, paneel, tabs, berichten en helpcentrum-teksten zijn volledig vertaald in Nederlands, Engels, Duits en Frans.

v4.44
donderdag 28 mei 2026
03:11

Nieuwe tarieven: €50 / klant (was €70)

Nieuwe functie

Verlaagd tarief: €50 per klant/maand, €40 bij 21+

Staffel verlaagd van €70/€60 naar €50/€40. Geldt direct voor de maandelijkse berekening en de weergave op de abonnementspagina.

v4.43
donderdag 28 mei 2026
03:09

Trust-stat bijgewerkt: 300+ bureaus

Polish

Aantal bureaus op de landingspagina bijgewerkt van 120 naar 300

trust-stats.ts is de enige plek — alle pagina's die dit getal tonen zijn automatisch bijgewerkt.

v4.42
donderdag 28 mei 2026
03:08

Growth Calculator: betere Instagram-fallback + duidelijke errors

Bug fix

Instagram-analyse faalde stilletjes met generieke "kon niet ophalen"-error

Instagram blokkeert datacenter-IPs zoals Railway met een 429 rate-limit. De API gaf dan een vage "fetch_failed" terug en de UI toonde alleen "Kon de gegevens niet ophalen". Bezoekers wisten niet dat TikTok wél direct zou werken.

v4.40
donderdag 28 mei 2026
02:48

Android-flicker hero gefixt — titel + knoppen direct zichtbaar

Bug fix

Hero title verschijnt nu instant in plaats van na 3 seconden JS-hydration

Op trage Android-devices bleef de hero-titel ("Het all-in-one platform voor social media agencies") seconden lang onzichtbaar — alleen een grijze placeholder-streep en de knoppen verschenen. Oorzaak: Framer Motion startte de title met inline-style opacity:0 en animeerde pas naar opacity:1 nadat React JS-hydration klaar was (2-3s op low-end Android).

Snelheid

Vijf zware orb-blurs vervangen door simpele radial-gradient op mobiel

De hero gebruikte 5 orbs van 500-900px met filter:blur(60-75px) + continuous animations. Op Android met low-end GPU was dat een killer: page-rendering kon 4-5s blokkeren waardoor de hero compleet leeg leek.

Bug fix

Auto-detect taal nu in useState-initializer — geen NL→EN re-render flicker meer

De auto-detect uit v4.39 draaide in useEffect, na de eerste render. Voor EN/DE/FR bezoekers betekende dat: render in NL → setState in EN → re-render → flicker. Plus Chrome bood "Translate page? Dutch to English" aan omdat de SSR-HTML in NL was.

v4.37
woensdag 27 mei 2026
23:45

Meldingen-bell laadt nu álle items binnen het 14-dagen window

Bug fix

API-limiet verhoogd zodat scrollen door meldingen écht zin heeft

De CSS van de bell had al een max-height van 380px met overflow-y: auto (scrollbaar), maar de API leverde maximaal 5 overdue tasks en 10 in-app notificaties — dus er was nooit veel om doorheen te scrollen.

v4.35
woensdag 27 mei 2026
23:34

Meldingen-bell: recent verlopen taken bovenaan

Polish

Sortering omgedraaid — recente meldingen eerst

In de meldingen-bell verscheen "13d verlopen" boven "8d verlopen". Dat is logisch vanuit "meest urgent eerst" maar voelt verwarrend: een notification-feed hoor je in volgorde van nieuw naar oud te scannen.

v4.34
woensdag 27 mei 2026
23:29

Meldingen verversen écht: cache uit + sneller poll-interval

Bug fix

Meldingen-bell update nu betrouwbaar (10s open / 30s gesloten)

De NotificationBell pollte elke 60s, maar gebruikte een gewone `fetch()` zonder cache-control. Browsers en Next.js cachen die response standaard, waardoor de poll keer op keer dezelfde stale data ophaalde. Resultaat: nieuwe overdue-taken of booking-meldingen verschenen pas na een page refresh.

v4.33
woensdag 27 mei 2026
23:26

Meldingen: tenant-scoped en geen stale 25-dagen-oude overdues meer

Beveiliging

Meldingen-API filtert nu op tenant — geen cross-bureau task-lek

De overdue-taken query in /api/notifications gebruikte alleen `client: { isActive: true }` zonder tenantId-check. Theoretisch kon een gebruiker daardoor overdue taken van klanten van een ander bureau in de meldingen-bell zien.

Bug fix

Geen 25-dagen-oude verlopen taken meer in de meldingen-bell

Open taken bleven oneindig als melding verschijnen, ook als ze al 25+ dagen verlopen waren. Resultaat: de bell stond steeds vol met TODO-items i.p.v. echte meldingen.

v4.32
woensdag 27 mei 2026
23:17

Statistieken: sectie "Productie & team" alleen voor admins

Beveiliging

Werklast, productiviteit per weekdag, login-activiteit en team-in-dienst verborgen voor managers

Op /statistieken zag élke manager de Productie & team-sectie: open taken per teamlid, beste werkdag, login-tijdstempels en het volledige dienstverband-overzicht van collega's. HR-gevoelige info die je rolverdeling niet rechtvaardigt.

v4.31
woensdag 27 mei 2026
23:10

Maandwinst-widget verborgen voor managers zonder finance-rechten

Beveiliging

Dashboard respecteert nu viewFinance-permissie voor managers

De Maandwinst-grafiek (Monthly profit) verscheen op het dashboard voor élke gebruiker met dashboard-toegang — ook managers waarbij de admin de viewFinance-permissie expliciet uit had staan. Zo zagen ze totale omzet, marges en YoY-cijfers per maand die niet voor hun ogen bestemd waren.

v4.28
woensdag 27 mei 2026
22:42

Login toont nu de échte foutreden (rate-limit, MFA, credentials)

Bug fix

Specifieke melding bij te veel inlogpogingen

Bij rate-limiting (meer dan 10 pogingen in 15 minuten) toonde de login-pagina altijd "Onjuist e-mailadres of wachtwoord", waardoor je dacht dat je gegevens fout waren terwijl je in werkelijkheid tijdelijk geblokkeerd was. Pre-flight en authorize delen dezelfde teller — 5x in/uitloggen telt al als 10 attempts.

v4.21
woensdag 27 mei 2026
21:45

Managers kunnen social accounts koppelen in klantprofielen

Nieuwe functie

Manager-rol heeft nu volledige toegang tot Platformen-sectie in klantprofielen

Managers zagen de "Verbind" knop niet en konden geen accounts koppelen via klantprofielen.

v4.19
woensdag 27 mei 2026
21:36

Managers zien Social accounts in sidebar en command palette

Nieuwe functie

Social accounts tab toegankelijk voor managers

Managers konden de massa-koppeling pagina niet bereiken via de sidebar of zoekbalk.

v4.17
woensdag 27 mei 2026
21:25

Teamchat: alleen admins kunnen groepen aanmaken

Nieuwe functie

Groep aanmaken knop verborgen voor niet-admins

Alle gebruikers konden zelf groepen aanmaken in de teamchat.

v4.14
woensdag 27 mei 2026
15:47

Titelfont abonnement pagina gelijkgetrokken met portaalstijl

Polish

Font-weight titel "Abonnement & incasso" gecorrigeerd naar 500 (medium)

Titel gebruikt nu dezelfde font-weight en -size als de overige paginatitels in het portaal.

v4.13
woensdag 27 mei 2026
15:40

Fixes abonnement pagina: €70 zichtbaar + titelfont gelijk

Bug fix

€70 stat zichtbaar op light-theme achtergrond

Wit gradient vervangen door var(--text) zodat het cijfer leesbaar is in lichte modus.

Polish

Titelfont "Abonnement & incasso" gelijkgetrokken met portaalstijl

Gradient op "& incasso" vervangen door solid var(--teal), font-size naar 44px passend bij owner-overview-title.

v4.12
woensdag 27 mei 2026
15:25

Premium redesign abonnement & incasso pagina

Polish

Abonnement & incasso pagina volledig vernieuwd naar premium stijl

Glassmorphic cards, teal gradient stat-nummers, scoped styling en een pricing-tabel voor de tarieven — in lijn met de rest van het portaal.

v4.11
woensdag 27 mei 2026
15:24

Veiligheid-categorie toegevoegd aan changelog filters

Polish

Filter-tab "Veiligheid" zichtbaar op changelog pagina

De categorie bestond al in de data maar ontbrak als filter-knop. Nu klikbaar naast Polish en Infra.

v4.07
woensdag 27 mei 2026
15:12

Commissieregels pagina — premium redesign

Polish

Commissieregels editor volledig herontworpen

Pagina had een kale flat layout met standaard HTML radio-buttons en checkboxes.

v4.05
dinsdag 26 mei 2026
21:16

Social accounts koppelen via Senly Connector extensie

Nieuwe functie

Social accounts koppelen werkt nu via de Chrome-extensie

Het koppelen gaf altijd "Verbinding mislukt" op het online portaal, omdat de oude aanpak Puppeteer (lokale Chrome op de server) gebruikte — dat werkt niet in de cloud.

v4.02
dinsdag 26 mei 2026
19:34

Sales-systeem: 6 verbeteringen en sales-portfolio pagina

Nieuwe functie

Sales-portfolio: overzicht per setter/closer/sales manager

Er was geen centrale plek om te zien welke medewerker welke klanten heeft, hoeveel commissie ze verdienen en hoelang een klant al actief is.

Polish

Klantenlijst altijd zichtbaar in CompensationWidget

Setters en closers moesten op "Bekijk opbouw" klikken om te zien voor welke klanten ze commissie ontvangen.

Nieuwe functie

Klikbare klantlinks in commissie-breakdown (claims queue)

In de detailweergave van een claim stond de klantnaam als platte tekst. Admins moesten handmatig zoeken naar het profiel.

Bug fix

Client deactiveren stopt nu automatisch commissie-assignments

Als een klant op inactief werd gezet, bleef de commissie-assignment actief. De setter zou bij heractivering opnieuw commissie opbouwen zonder dat de admin dit had bevestigd.

Bug fix

Transactie-beveiliging bij gelijktijdige commissie-assignments

Twee gelijktijdige verzoeken konden allebei een actieve assignment aanmaken voor dezelfde klant + rol, omdat Postgres NULL ≠ NULL in de unique constraint.

Bug fix

Misleidende opmerking over pauze-maanden gecorrigeerd

De code-comment zei "pauze telt niet mee in de maandtelling", maar de implementatie telt kalender-maanden zonder onderscheid.

v4.00
dinsdag 26 mei 2026
19:16

CRM: lead omzetten naar klant met automatische commissie-attributie

Nieuwe functie

Setter automatisch toegewezen via CRM

Een appointmentsetter moest achteraf handmatig gekoppeld worden aan een klant. Er was geen link tussen wie de lead ingevoerd had en wie commissie zou ontvangen.

Nieuwe functie

"Omzetten naar klant" flow in CRM

Gewonnen leads hadden geen directe koppeling naar een klantprofiel. Admin moest klant handmatig aanmaken en dan nog commissie-ontvangers koppelen.

Nieuwe functie

Klantprofiel direct te openen na conversie

Na het omzetten toont de modal een directe link naar het nieuwe klantprofiel. Commissies zijn direct aanpasbaar in het Financieel-tabblad van de klantpagina.

v3.98
dinsdag 26 mei 2026
13:06

Compensatie — flat fee + commissie per klant voor sales-team

Nieuwe functie

Nieuwe rol: Closer

Het portaal kende alleen Appointmentsetter en Sales Manager. Bureaus waar setter en closer twee aparte mensen zijn (setter levert aan, closer voert het gesprek en sluit) konden die scheiding niet vastleggen.

Nieuwe functie

Bureau-eigen commissieregels

Elk bureau heeft eigen afspraken: % per rol, looptijd (12 mnd, 24 mnd, of levenslang), wel/niet eerst goedkeuren. Er was geen plek om dat per bureau in te stellen.

Nieuwe functie

Flat fee instelbaar per gebruiker

Sommige bureaus betalen sales-mensen een basis-salaris naast (of in plaats van) commissie. Daar was geen veld voor.

Nieuwe functie

Sales-attributie per klant

Wie heeft welke klant binnengehaald, voor welk percentage en tot wanneer? Dat zat nergens vast en moest handmatig bijgehouden worden.

Nieuwe functie

Indien-en-goedkeur flow voor maandfacturen

Sales-mensen moesten elke maand handmatig hun commissie uitrekenen en een factuur sturen — foutgevoelig en tijdrovend.

Nieuwe functie

Automatisch eindigen van commissie

Na 12 maanden moest iemand zelf onthouden om de commissie van een setter op een klant stop te zetten. Vergeten = onterechte uitbetaling.

v3.96
dinsdag 26 mei 2026
12:37

i18n — Super Admin sidebar + overview-pagina vertaald (NL/EN/DE/FR)

Nieuwe functie

Super Admin portaal respecteert nu taalvoorkeur

Het super-admin portaal was hardcoded Nederlands — sidebar nav-groepen (Analyse/Klanten/Financieel/Platform/Beheer), 25+ menu-items, overview KPI cards, action alerts, recent-tables en relatieve tijds-labels stonden alleen in NL.

v3.95
dinsdag 26 mei 2026
12:29

Sales dashboard — widgets met SVG-grafieken en -diagrammen

Polish

Conversie- en Win-rate widgets: donut ring met dynamische kleur

Widgets toonden alleen een getal in XL-tekst zonder visuele context.

Polish

Touchpoints-week widget: gesegmenteerde pie-donut met legenda

Vier contactpunten (meeting/call/WhatsApp/e-mail) stonden als losse tekstrijen zonder verhouding.

Polish

Follow-up ratio widget: halfcirkel-gauge met naald

Ratio als kale decimaal gaf geen gevoel voor schaal of doelwaarde.

Polish

Gewonnen per week widget: verbeterde staafgrafiek met graduele opaciteit

Staven hadden geen labels, geen visueel accent op de topprestatie.

v3.94
dinsdag 26 mei 2026
12:25

i18n — Status, Affiliate en Team-Chat respecteren nu taalvoorkeur

Nieuwe functie

Server-side locale support via cookie (lib/i18n/server.ts)

Server-rendered pagina's (zoals /status) konden de taalvoorkeur van de gebruiker niet lezen omdat die alleen in localStorage stond.

Polish

/status pagina respecteert taalvoorkeur (NL/EN/DE/FR)

Status-pagina toonde alles in NL: "Alle systemen werken", "Werkt normaal", "Componenten", "90 dagen uptime", "Bijgewerkt", incident-labels etc.

Polish

Affiliate dashboard hero + KPI cards vertaald

Affiliate-pagina was hardcoded NL: "Verdien", "Verwezen bureaus", "Jouw persoonlijke link", "Uitbetaling", "Verbind met Stripe" etc.

Polish

Team-Chat "Iedereen" en "+ Groep" knop vertaald

Team-chat toonde "Iedereen" (DB-naam van system room) en "+ Groep" hardcoded — ook in DE/EN/FR view.

v3.93
dinsdag 26 mei 2026
12:15

i18n — Meetings UI volledig vertaald (NL / EN / DE / FR)

Nieuwe functie

Meetings-pagina respecteert nu de taalvoorkeur van de gebruiker

De /meetings UI was hardcoded Nederlands — ongeacht of een gebruiker DE/EN/FR als taal had ingesteld zag hij/zij "Kalenders", "Beschikbaarheid", "Verbinden", weekdagen "Ma/Di/Wo" etc. in het Nederlands.

v3.92
dinsdag 26 mei 2026
12:08

Multi-currency afronding — laatste 5 plekken met hardcoded EUR weggewerkt

Nieuwe functie

Klant-zijbalk, MRR-snapshot, TaskioDashboard, override-tabel en CRM-activiteit converteren nu ook

Volledige audit vond nog 5 plekken die hardcoded EUR toonden ondanks de vorige migratie: MonthlyOverrideTable, MrrSnapshot (owner-panel), ClientSidebar (klant-detail), CrmActivityView (lead-waarde wijzigingen), TaskioDashboard (hoofd-dashboard widgets) + PremiumDashboard (FinStat + RevenueChart).

v3.91
dinsdag 26 mei 2026
11:55

Multi-currency uitrol — CRM Board, Contacts, Financieel, SaaS-dashboard

Nieuwe functie

Bedragen in CRM, Financieel en master SaaS-dashboard volgen nu ook de tijdzone

Vorige batch deed alleen Sales / Affiliate / CRM Reports — andere pagina's toonden nog hardcoded €.

v3.90
dinsdag 26 mei 2026
11:40

i18n — Meetings UI en support-docs naar correct Nederlands en Duits

Polish

Meetings-pagina: "Calendars" / "Nieuw calendar" → "Kalenders" / "Nieuwe kalender"

In de NL-versie van de Meetings-instellingen stonden nog engelse termen ("Calendars", "+ Nieuw calendar", "Calendar bewerken", "deze calendar") die niet matchten met de rest van de Nederlandse UI.

Polish

Support-artikelen NL en DE bijgewerkt naar "Kalender" terminologie

Helpcentrum-artikelen verwezen nog naar "Calendar bewerken" / "Calendars" — verwarrend voor klanten die net de juiste NL/DE labels in de UI zagen.

v3.89
dinsdag 26 mei 2026
11:37

Multi-currency display — bedragen worden omgerekend per tijdzone

Nieuwe functie

Sales- en Affiliate-dashboard tonen bedragen in de valuta van de gebruiker

Alle bedragen werden altijd in EUR getoond, ook voor gebruikers in de VS, UK of Zwitserland. Verwarrend en niet professioneel voor internationale teams.

v3.88
dinsdag 26 mei 2026
11:25

Pipeline-icoon volgt de tijdzone (€ in EU, $ in US)

Polish

Sales-dashboard Pipeline-widget toont het juiste valuta-icoon

Het pipeline-widget toonde altijd een dollarteken, ook voor Europese gebruikers — verwarrend omdat de bedragen in euro's staan.

v3.87
dinsdag 26 mei 2026
11:23

Agenda van vorige gebruiker flasht niet meer kort op bij login

Beveiliging

localStorage-cache van vorige gebruiker werd ~500ms zichtbaar voor nieuwe gebruiker

Op /meetings (en andere stale-while-revalidate caches) bleef data van de vorige sessie in localStorage staan. Bij inloggen met een ander account zag je daardoor eerst de meetings/bookings van de vorige user voordat de fetch voor jouw account binnenkwam.

v3.86
dinsdag 26 mei 2026
00:36

Takenbeheer beschikbaar voor sales-rollen — own scope

Nieuwe functie

Appointment Setters en Sales Managers kunnen takenbeheer openen

Sales-rollen hadden geen toegang tot /admin/ghl terwijl ze wel taken toegewezen krijgen via GHL.

v3.85
dinsdag 26 mei 2026
00:31

Cmd+K zoekpalette respecteert role-permissions

Beveiliging

Appointmentsetters / Sales managers zien geen klantprofielen meer via zoeken

De /api/search-route gaf alle klanten en taken in de tenant terug, ongeacht rol. Een appointmentsetter kon zo via Cmd+K klantnamen + slugs zien en doorklikken naar klantpagina's die buiten zijn scope vallen.

Nieuwe functie

Cmd+K toont CRM-leads voor sales-rollen

Sales-rollen zien nu standaard hun eigen leads in het zoekpalette (ipv klanten die ze toch niet mogen openen). Admin/Manager zien klanten + taken zoals voorheen.

v3.84
dinsdag 26 mei 2026
00:26

Affiliate-pagina toont nu correct 30% (40% vanaf 10 verwijzingen)

Bug fix

Affiliate-dashboard noemde nog 20% terwijl backend al 30%/40% uitkeert

De headline op /affiliate stond op "Verdien 20% MRR per verwijzing" en de FAQ-artikelen herhaalden dat. De daadwerkelijke commissie is al 30% standaard en 40% vanaf 10 actieve verwijzingen.

v3.83
dinsdag 26 mei 2026
00:23

CRM tab-tekst leesbaar in actieve staat

Bug fix

Actieve CRM-tab (Pipeline / Contacten / etc.) toonde witte tekst op transparente achtergrond

De gradient op de actieve tab gebruikte var(--accent) zonder fallback. Bij bureaus zonder custom branding was --accent undefined, waardoor de hele gradient invalid werd en de tekst onleesbaar.

v3.82
maandag 25 mei 2026
04:19

Scrollbar duwt landingspage niet meer naar links

Polish

Symmetrische scrollbar-gutter op senly.io

De scrollbar rechts maakte de linker witte rand smaller dan de rechter — content stond niet meer perfect gecentreerd op desktop.

v3.81
maandag 25 mei 2026
04:14

Groei-potentieel cijfers minder vet

Polish

+1.5% / 2.5× / 80+ teaser-cijfers op de landingspagina nu semi-bold ipv black

font-weight teruggebracht van 900 naar 600 voor een rustiger uitstraling.

v3.80
maandag 25 mei 2026
04:12

Status-link in echte marketing-footer (SiteFooter)

Bug fix

Status-link nu zichtbaar in senly.io footer

De Status-link werd toegevoegd aan LandingPage.tsx-footer, maar senly.io gebruikt SiteFooter component — dus de link verscheen niet.

v3.79
maandag 25 mei 2026
03:49

Status-pagina production-ready: self-heal + Run-checks-knop + footer links

Polish

Status-page draait standalone — geen handmatig onderhoud meer nodig

De cron startte pas elke 2 min, dus de eerste uptime-bars bleven uren grijs na deploy. Onbetrouwbaar voor verse installaties.

Nieuwe functie

Status-link in marketing + portaal footer

De status-pagina was alleen bereikbaar via directe URL — niet vindbaar voor gebruikers.

v3.78
maandag 25 mei 2026
03:26

Publieke status-pagina — app.senly.io/status

Nieuwe functie

Publieke status-pagina op /status met component-uptime + incident-historie

Bureau-admins en partners hadden geen plek om te zien of het portaal werkte. Bij een storing kwamen er telefoontjes en mails.

Nieuwe functie

Automatische uptime-checks elke 2 minuten + auto-incidents

Status moest handmatig bijgewerkt worden — niet schaalbaar en niet betrouwbaar.

Nieuwe functie

Super Admin incident manager op /super-admin/status

Handmatig incidents posten was alleen mogelijk via DB.

v3.67
maandag 25 mei 2026
00:21

Wachtwoord wijzigen toont nu sterkte-indicator

Polish

PasswordStrength-indicator op profielpagina

Bij het wijzigen van je wachtwoord in je profiel was er geen feedback over de sterkte.

v3.45
zondag 24 mei 2026
15:48

Klantdossier — multi-tenant upload-flow (cloud-storage)

Nieuwe functie

Nieuwe bureaus kunnen nu zelf hun klantdossier uploaden

De Klantdossier-feature las alleen uit een lokale folder op de server (BEDRIJVEN_FOLDER_PATH). Nieuwe bureaus die zich aanmeldden konden de feature niet gebruiken — geen mogelijkheid om hun dossier-bestand erin te krijgen, dood spoor in de UX.

v3.44
zondag 24 mei 2026
15:48

Content Dagboek — premium redesign met hero, glass cards en categorie-pills

Polish

Tool /tools/content-kalender van kale inline-styles naar high-end CSS module

De tool stond visueel niet op het niveau van de rest van het platform — kale witte cards, basic tabs, geen hero, geen depth.

v3.43
zondag 24 mei 2026
15:34

Polish — collapsible-titels op klantprofiel één stap dunner

Polish

Collapsible-section titels van semi-bold naar medium

Titels van klantprofiel-secties (Notities & wensen, Documenten, AI Content Generator, Metricool, etc.) stonden op font-weight 600 — leek visueel zwaar t.o.v. de body-tekst eromheen.

v3.42
zondag 24 mei 2026
15:24

Klantgegevens Financieel — GHL-vermeldingen vervangen door neutrale CRM-tekst

Polish

Financieel-tab werkt nu voor alle CRM-systemen, niet alleen GoHighLevel

De Financieel-tab in het Klantgegevens-modal noemde overal expliciet "GHL" of "GoHighLevel" (Wordt opgehaald uit GHL, Laatste GHL-sync, leeg = uit GHL, etc.). Niet elk social media bureau gebruikt GoHighLevel — voor bureaus met andere CRM's voelde dit als een lock-in vermelding.

v3.39
zondag 24 mei 2026
13:21

LinkedIn-icoon op login-pagina vervangen door officieel brand-logo

Polish

LinkedIn-SVG nu met chunky bold "in" zoals officieel brand-logo

Eerste LinkedIn-icoon op de SSO-knop oogde dun en niet als het herkenbare LinkedIn-favicon.

v3.38
zondag 24 mei 2026
13:12

SSO buttons als icon-only squares naast elkaar

Polish

Login-pagina SSO-keuze compacter — vierkante platform-logo knoppen

De full-width "Doorgaan met Google/LinkedIn/Facebook"-knoppen onder elkaar namen veel verticale ruimte in. Met 3+ providers werd de loginflow lang en herhalend.

v3.32
zondag 24 mei 2026
12:28

Newsletter-mails versturen nu echt door — afzender naar verified domein

Bug fix

Welkomstmail + admin-notif faalden stil door onverified senly.io afzender

In v3.30 stond de afzender op noreply@senly.io maar dat domein is niet in Resend geverifieerd. Resend weigerde de send stil — de DB-save lukte wel (gebruiker zag "Je staat erop"), maar er kwam geen welkomstmail aan en jij kreeg geen notificatie.

v3.31
zondag 24 mei 2026
12:18

Statistieken — team-tenure: hoe lang teamleden al actief zijn

Nieuwe functie

Nieuwe "Team in dienst" sectie op statistieken-pagina

De statistieken-pagina toonde wel inlog-frequentie van teamleden, maar niet hoe lang elke medewerker al actief is binnen het bureau. Bureau-eigenaren misten een snapshot van team-stabiliteit en retentie.

v3.26
zondag 24 mei 2026
11:50

Analytics — Google Analytics 4 met cookie-consent gating

Nieuwe functie

GoogleAnalytics-component met AVG-conforme opt-in

Geen enkele meting van websiteverkeer op senly.io — geen zicht op welke blog-posts werken, welke kanalen converteren of hoeveel unieke bezoekers er per dag komen.

v3.17
zaterdag 23 mei 2026
21:10

Publieke nav nu écht identiek aan homepage — duplicate CSS gestript

Bug fix

Subpagina's hadden nog steeds afwijkende nav-styling (font + NL viel buiten pill)

public-nav.css bevatte 250+ regels duplicate styles voor .sn-nav-* die conflicteerden met landing.css. CSS load-order is in Next.js niet voorspelbaar; soms wonnen de verkeerde rules, waardoor /contact, /vergelijk en andere subpagina's een andere font hadden en de NL-knop buiten de pill viel bij scrollen.

v3.14
zaterdag 23 mei 2026
20:59

Eyebrow-pill 1/3 kleiner — subtieler boven sectie-titels

Polish

Teal eyebrow-pill compacter gemaakt over alle publieke pagina's

De teal "eyebrow"-pill (dot + uppercase text in pill-vorm) was 12.5px met 7×18px padding — visueel te dominant boven de section-titels en stal aandacht weg van de hoofdtekst.

v3.10
zaterdag 23 mei 2026
20:14

Volledige-weergave-button verwijderd — header weer zoals voorheen

Bug fix

Compact-view toggle bleek niet betrouwbaar te werken

De zoom toggle gaf inconsistente resultaten tussen Chrome's native zoom en CSS zoom, en bracht weinig toegevoegde waarde.

v3.08
zaterdag 23 mei 2026
20:08

Volledige-weergave-toggle nu werkend — zoom geactiveerd op html

Bug fix

Compact-view button toggelde wel het icoon maar niet de zoom

In v3.07 werd data-compact-view op body gezet, maar Chrome past CSS zoom op body soms niet correct toe — de pagina bleef visueel hetzelfde ondanks de actieve toggle.

v3.07
zaterdag 23 mei 2026
19:59

Volledige weergave toggle — portaal naar 80% met één klik

Nieuwe functie

Nieuwe knop in header: schakel het hele portaal naar 80%

Sommige gebruikers willen meer overzicht in één blik zonder eerst Chrome's zoom-menu te openen. En een geforceerde 80% voor iedereen kreeg veel pushback omdat tekst dan te klein werd voor wie het niet wilde.

v3.06
zaterdag 23 mei 2026
19:51

Revert portal-zoom 80% — terug naar standaard rendering

Bug fix

html { zoom: 0.8 } en bijbehorende fixes teruggedraaid

Het automatisch op 80% renderen via html { zoom } veroorzaakte een wit gat onderaan de sidebar dat niet schoon op te lossen was zonder de layout te breken. Zowel de height: 125vh correctie, de position: fixed sidebar, als de ::before backstop bleken niet de juiste richting.

v3.05
zaterdag 23 mei 2026
19:46

Sidebar bg fix — donkere strook loopt nu volledig door

Bug fix

Witte gat onder Team chat-knop in sidebar opgelost

Bij zoom 0.8 stopte de donkere sidebar-achtergrond halverwege — achter de Team chat-knop en sidebar-footer zat een witte strook. Position: sticky met height: 125vh werd door zoom alsnog geclipt.

v3.03
zaterdag 23 mei 2026
19:41

Sidebar fixed-positioning revert — terug naar sticky

Bug fix

Fixed-position sidebar uit v3.01 brak de layout

In v3.01 was de sidebar van position: sticky naar position: fixed gezet om het witte gat onderaan te fixen, maar dit brak de layout: sidebar verscheen als smalle icoon-kolom en main-content kwam op de verkeerde plek terecht.

v3.01
zaterdag 23 mei 2026
19:36

Sidebar bug fix — donkere achtergrond loopt nu volledig door

Bug fix

Sidebar-achtergrond stopte halverwege bij 80%-zoom

Na het aanzetten van html { zoom: 0.8 } liep de donkere sidebar-achtergrond niet door tot onderaan — achter de Team chat-knop en sidebar-footer was een witte/transparante strook zichtbaar. De eerdere fix (height: 125vh) werkte niet omdat position: sticky in combinatie met zoom de hoogte alsnog clipt.

v2.96
zaterdag 23 mei 2026
19:23

Portaal automatisch op 80% — strakker overzicht zonder browser-zoom

Polish

Standaard portal-zoom op 80%

Het portaal vulde standaard 100% van het scherm — voor veel gebruikers te groot om in één oogopslag het hele dashboard te overzien. Eerder geprobeerd via html { zoom } maar disabled omdat de sidebar en app-shell een wit gat onderaan kregen (vh-units negeren zoom-factor).

v2.87
zaterdag 23 mei 2026
14:36

Demo-modus: alle wijzigingen geblokkeerd (volledig read-only)

Beveiliging

Demo is nu 100% read-only — geen enkele write meer mogelijk

In v2.86 blokkeerden we alleen DELETE en specifieke destructive POSTs. Maar in demo-modus mogen bezoekers überhaupt geen wijzigingen kunnen opslaan — anders raakt demo-data corrupt voor volgende bezoekers.

v2.86
zaterdag 23 mei 2026
14:33

Demo-modus: alle destructive acties centraal geblokkeerd in middleware

Beveiliging

Demo-bezoekers kunnen geen content meer verwijderen of externe acties triggeren

De assertNotDemo() guard stond alleen op DELETE /api/clients/[id]. Andere DELETE-routes (kalender, notities, evaluaties) en externe POST-acties (Metricool publish, social scrapers) konden door demo-bezoekers worden getriggerd — risico voor demo-data integriteit en echte API-kosten.

v2.84
zaterdag 23 mei 2026
14:22

Trust-cijfers: single source of truth in lib/trust-stats.ts

Polish

Eén centrale config voor alle marketing-claims (bureaus, rating, tooling kosten)

Trust-cijfers stonden hardcoded op meerdere plekken (landing 4x, over-ons 2x, security metadata 1x). Een wijziging vereiste handmatig zoeken-en-vervangen en leidde in de platformanalyse al tot inconsistenties (300+/200+/120+ door elkaar).

v2.81
zaterdag 23 mei 2026
14:04

"Verder werken" cross-links bar verwijderd van alle silo-pagina's

Polish

SiloCrossLinks component verwijderd van Tools / Trends / CRM / Onboarding

De "Verder werken" chip-rij voegde meer ruis toe dan waarde — boven elke silo-pagina stond een rijtje shortcuts dat afleidde van de daadwerkelijke pagina-inhoud.

v2.76
zaterdag 23 mei 2026
13:18

Domein-migratie: portaal verhuist naar app.senly.io

Infra

Het portaal draait nu op app.senly.io (was portaal.socialmediatools.nl)

Het marketing-merk (senly.io) en het portaal-domein (portaal.socialmediatools.nl) waren niet op elkaar afgestemd, wat verwarring gaf bij nieuwe gebruikers.

Polish

Login email-placeholder generieker gemaakt

"naam@socialmediatools.nl" als placeholder oogde alsof Senly een interne tool was voor één bedrijf.

v2.75
zaterdag 23 mei 2026
12:48

Demo-tenant wordt nu automatisch geseed bij elke deploy

Infra

Idempotente demo-seed in npm start

Voor het werken van de "Bekijk demo" knop moest npm run db:seed-demo handmatig gedraaid worden — een extra handeling die makkelijk vergeten wordt.

v2.74
zaterdag 23 mei 2026
02:19

Volledige mobiel & tablet responsiviteit gefixed op alle pagina's

Polish

Header-topbar ≤640px: overtollige iconen verborgen

Op smalle schermen stonden 9 iconen naast elkaar in de fundio2-topbar. Dit leidde tot crowding en onbruikbare aanraakdoelen.

Polish

Dashboard grafiek ≤640px: bar-waarde-labels verborgen

12 kolommen van ~25px elk — €-labels overlapten volledig op mobiel.

Polish

Client-slider ≤640px: breedte naar calc(100vw - 48px)

max-width: 320px was te restrictief — kaarten werden afgekapt op smalle telefoons.

Polish

Tools-pagina: negatieve marges afgestemd op main-padding per breakpoint

De tools-page negatieve marges (-28px) kwamen niet overeen met de daadwerkelijke padding op mobiel.

Polish

Factuurpagina: volledig responsief gemaakt

De factuurpagina gebruikte uitsluitend inline React-styles — niet overschrijfbaar door media queries.

Polish

Signup-formulier: 2-koloms grid valt terug naar 1 kolom op ≤480px

Inline stijl vervangen door .signup-fields-2col klasse met responsieve breakpoint in globals.css.

Polish

Boekingspagina: extra ≤480px polish voor kleine schermen

Padding van bp-left, bp-right en bp-card krimpen op ≤480px voor bruikbaarheid op kleine telefoons.

v2.73
zaterdag 23 mei 2026
02:19

Volledige vertaalkwaliteitsaudit EN / DE / FR afgerond

Polish

Alle auto-vertaalde EN/DE/FR sleutels herschreven naar correcte professionele vertalingen

Grote blokken sleutels in de DE- en FR-secties van translations.ts waren automatisch vertaald met gemengd Engels/Duits en Engels/Frans (bijv. "Nein Posts", "January", "Run sync now", "Agency name *"). Gebruikers in Duitsland en Frankrijk zagen plaatselijk Engelse tekst door het hele portaal.

v2.70
zaterdag 23 mei 2026
01:51

"Deel review-link" knop nu rechtsboven naast de sectietitel

Polish

Knop staat nu op de juiste plek: rechtsboven, op één lijn met "Content"

De "Deel review-link" knop stond ondergeschikt aan de sectietitel "Content" — links eronder gestapeld in plaats van rechts ernaast. De .cp-section-header-row wrapper had geen CSS-styling, waardoor de flex-layout niet werkte.

v2.69
zaterdag 23 mei 2026
01:44

Canva → Metricool modal: positionering en vertalingen gefixed

Bug fix

Modal opent nu altijd in het midden van het scherm

De "Stuur naar Metricool" modal verscheen onder de fold — je moest helemaal naar beneden scrollen om hem te zien. Dit kwam omdat de modal binnen de CollapsibleSection wrapper rendeerde, en die Framer Motion container met overflow:hidden brak de position:fixed van de modal-backdrop.

Bug fix

Hardcoded Nederlandse en Engelse strings in de modal vertaald

De modal toonde "Posts/week:", "Stories/week:" en "Voorbeelden laden" altijd in dezelfde taal, ongeacht de geselecteerde taalinstelling. Resultaat: mixed-language UI (bv. Franse modal met Nederlandse tekst).

v2.68
zaterdag 23 mei 2026
01:38

Review portaal: volledig premium dark redesign + media-thumbnails

Polish

Review portaal compleet heronworpen naar premium dark design

Het review portaal zag er generiek en goedkoop uit: witte achtergrond, emoji platform-badges, brede groene knoppen en lege thumbnails.

Bug fix

Metricool post-afbeeldingen worden nu correct geladen

Media-thumbnails toonden niets vanwege CORS-blokkade op de Metricool CDN.

Polish

Beslissing herzien werkt nu correct

De "Beslissing wijzigen" knop resettte alleen lokale state, zonder de server te informeren.

v2.67
vrijdag 22 mei 2026
12:23

Review portaal: geplande Metricool-posts reviewen en goedkeuren

Nieuwe functie

Review-link toont nu posts rechtstreeks vanuit Metricool

Het review portaal toonde alleen interne ContentPost-records uit de database. De klant kon dus geen posts uit de Metricool-planner beoordelen.

Nieuwe functie

Multi-platform badges en media thumbnail in de review-kaart

Cross-posts (bijv. Instagram + Facebook + LinkedIn tegelijk) tonen nu alle platforms als kleine emoji-badges naast de primaire platform-chip. Metricool-posts met een afbeelding tonen een thumbnail. De Metricool-status (Concept / Ingepland / Gepubliceerd) is zichtbaar als kleurgecodeerde chip.

Nieuwe functie

Bron-selector en datumrange-picker in de "Deel review-link" modal

Bij het aanmaken van een review-link kies je nu eerst de bron: Metricool of Interne posts. Bij Metricool stel je een van/tot datumperiode in (standaard: vandaag + 60 dagen). Als Metricool niet gekoppeld is aan de klant is de Metricool-optie uitgeschakeld.

Infra

Prisma schema: 3 nieuwe velden op ClientReviewSession

contentSource (internal|metricool), decisions (JSON string met review-beslissingen), dateRange (JSON string met from/to) toegevoegd. Prisma db push draait automatisch bij deploy.

v2.66
vrijdag 22 mei 2026
12:15

Vertalingen: klanttabs, secties en Google Drive volledig vertaald

Bug fix

Klanttabs ("Overzicht", "Taken", "Content", "Klantinfo", "Financieel") vertaald

De tabs op de klant-detailpagina gebruikten hardcoded Nederlandse labels in een server component, waardoor ze nooit meeveranderden met de taalinstelling.

Bug fix

Sectietitels "Content", "Klantinfo" en "Evaluatiegesprekken" vertaald

Drie sectie-headers in ClientPageSections.tsx waren hardcoded in het Nederlands.

Bug fix

Google Drive foutmelding toonde server-gegenereerde Nederlandse tekst

De GDrive sectie toonde {data.message || tr('gdrive_no_folder')} — de server stuurde altijd een Nederlandse foutmelding die de client-side vertaling overschreef.

v2.65
vrijdag 22 mei 2026
12:08

Vertalingen: Affiliate Admin, Activiteiten, Massa-koppeling en Tools volledig vertaald

Nieuwe functie

~98 hardcoded Nederlandse strings vervangen door tr()-calls in 4 pagina's

De Affiliate Admin, Audit Log, Massa-koppeling (Social Accounts) en Tools-pagina toonden altijd Nederlandse tekst ongeacht de taalinstelling van de gebruiker.

v2.64
vrijdag 22 mei 2026
11:56

Review-portaal header: volledig redesign met bureau-logo en klant-avatar

Polish

Review-header toont nu bureau-logo (of naam-pill) + klant-initiaal avatar

De header gebruikte het client.icon veld als <img> src, maar dat veld bevat een emoji of icon-naam — geen URL. Resultaat: een kapotte afbeelding.

Nieuwe functie

Agency logo wordt nu meegestuurd vanuit de API

GET /api/review/[token] geeft nu ook agency.logo terug (Tenant.logoLightUrl of logoUrl). Zodra je in de Tenant-instellingen een logo uploadt, verschijnt het automatisch op alle review-pagina's.

v2.63
vrijdag 22 mei 2026
05:22

CSS stats-kpi-grid: conflicterende definities opgelost

Bug fix

KPI-raster stond op desktop-breedte vast op mobiel door !important-conflict

Het CSS-bestand bevatte 4 conflicterende .stats-kpi-grid definities. De laatste (Taskio-stijl, zonder media query) gebruikte !important op grid-template-columns, waardoor de mobiele breakpoints (≤640px en ≤860px) die eerder in het bestand stonden werden overschreven. Op mobiel werden KPI-kaarten dus te smal weergegeven.

v2.62
vrijdag 22 mei 2026
05:21

Mobiel & tablet: touch-targets, scroll-snap, viewport-overflow en labels

Polish

Touch-targets vergroot naar WCAG-minimum (44×44px)

De sluitknoppen van de mobiele navigatie (36px) en het instellingenpaneel (32px) lagen onder het WCAG-minimum van 44×44px, waardoor ze op touchscreens moeilijk te raken waren.

Polish

CRM kanban: scroll-snap op mobiel/tablet voor soepele swipe

Op telefoon/tablet kon de kanban-board horizontaal scrollen maar zonder snapping, wat leidde tot kolommen die halverwege stopten. De inline padding was ook rechts-eenzijdig (40px rechts, 0 links).

Bug fix

CRM detail-pane niet breder dan viewport op telefoon

De klantdetail-pane gebruikte clamp(380px, 42vw, 580px), wat op schermen <380px buiten de viewport stak.

Bug fix

FinanceTabel: data-mobile-label attributen toegevoegd aan alle cellen

De CSS verwachtte data-mobile-label voor de ::before-labels op mobiel, maar alle tabelcellen misten dit attribuut — labels waren dus leeg.

Polish

WeekGrid kalender: scroll-snap en tablet-breakpoint op 881-1200px

Op tablets (881-1024px) werden 8 kolommen (tijdbalk + 7 dagen) dichtgepakt zonder scrollhint.

Bug fix

Kalender filter & datumkiezer popovers overschreden viewport rechts

De filter-popover (right: 0) en de daterange-popover (left: 50%, transform) konden op smalle schermen buiten de rechterkant van de viewport vallen.

Polish

Maandgrafiek financieel: 2 rijen van 6 op telefoon

De maandgrafiek toonde 12 vaste kolommen op elk scherm, waardoor staven op telefoon niet leesbaar smal werden.

v2.61
vrijdag 22 mei 2026
05:14

Klant-review portaal: content goedkeuren zonder login

Nieuwe functie

Publiek review-portaal: klanten keuren content goed via unieke link

Contentgoedkeuring verliep via WhatsApp of e-mail — geen gestructureerd feedbackproces, geen overzicht per klant.

Nieuwe functie

"Deel review-link" knop in de klant-Content-sectie

Managers kunnen vanuit het dashboard een review-sessie aanmaken: optionele titel, begeleidend bericht en geldigheidsperiode (7–90 dagen). De gegenereerde link is direct te kopiëren.

Nieuwe functie

Review-UI: voortgangsbalk, filtermenu en status-badges

De review-pagina toont een live voortgangsbalk (x van y beoordeeld), filtermenu (alle / te beoordelen / goedgekeurd / afgewezen), platform-gradiënt-badges, uitklap-caption, hashtag-chips, visuele briefing en een "Kopieer tekst" knop. Op mobiel volledig responsief.

Infra

Prisma-model ClientReviewSession toegevoegd

Nieuw model met uniek token, koppeling aan Client, optionele post-selectie (postIds JSON-array), verloop-datum en aangemaakt-door veld. Relatie toegevoegd aan Client.

v2.60
vrijdag 22 mei 2026
05:04

Talen-audit: 142 ontbrekende vertalingen toegevoegd (DE + FR)

Polish

Duits en Frans compleet: alle 3.182 sleutels nu aanwezig

DE en FR misten 142 sleutels (dashboard widgets, statistieken, social-account koppeling, tools, kalender-filters). Gebruikers in deze talen zagen de sleutelnaam i.p.v. een vertaling.

v2.59
vrijdag 22 mei 2026
04:53

Video downloaders: Instagram, YouTube, Snapchat & LinkedIn gerepareerd

Bug fix

Instagram downloader werkt nu via snapinsta.app proxy

Railway's IP-reeksen worden geblokkeerd door Instagram, waardoor yt-dlp altijd faalde.

Bug fix

YouTube downloader: iOS-client bypass voor yt-dlp

YouTube vereist sinds 2024 een proof-of-origin token (po_token) voor de web-client, waardoor server-side yt-dlp faalt.

Bug fix

Snapchat: short-URL resolver + betere user-agent

snapchat.com/t/... short-URLs werden niet omgezet voordat ze naar yt-dlp gingen.

Bug fix

LinkedIn: duidelijke foutmelding bij auth-wall

LinkedIn blokkeert server-IPs met een login-wall. Generieke foutmelding gaf geen richting.

Bug fix

Proxy-whitelist uitgebreid met nieuwe CDN-domeinen

snapinsta.app, media.licdn.com en snap-video.net ontbraken in de proxy-whitelist.

v2.58
vrijdag 22 mei 2026
04:38

Mobiel/tablet: navigatie-gat gedicht, e-mail inbox bruikbaar + meer

Bug fix

Navigatie ontbrak op tablet (769–1024px)

De sidebar verdween al vanaf 1024px, maar de hamburger/topbar verschenen pas onder 900/768px — daartussen was er geen enkele navigatie.

Bug fix

E-mail inbox was onbruikbaar op mobiel

Onder 768px werden de mappen- én threadkolom verborgen, waardoor alleen een leeg leesvenster overbleef.

Polish

Tool-detailpagina's ruimer op mobiel

Smallere zijmarges op kleine schermen voor meer content-breedte.

Polish

Brede admin-tabellen scrollbaar op mobiel/tablet

Social-accounts bulk-tabel en affiliate-tabellen kappen niet meer af maar scrollen horizontaal.

v2.57
vrijdag 22 mei 2026
04:21

Tool-audit: trend radar werkend gemaakt + username-checker eerlijker

Nieuwe functie

Trend radar is nu een werkende tool

Trend radar was een lege placeholder ("binnenkort beschikbaar") terwijl hij wel als tool werd getoond.

Bug fix

Username checker geeft geen valse uitslagen meer

Voor X, Pinterest, Reddit en Facebook gaf de check vaak onterecht "bezet" of "vrij" (JS-shells, bot-walls, login-redirects).

Bug fix

Content ideeën kapt niet meer af bij lange AI-calls

maxDuration op 60s gezet zodat de generatie niet vroegtijdig door het platform wordt afgebroken.

v2.56
vrijdag 22 mei 2026
04:12

CRM & Onboarding: horizontale scrollbalk verborgen

Polish

Geen zichtbare horizontale scrollbalk meer op de pipeline-boards

Scrollbalk verborgen op het kanban-board (CRM/Leads én Onboarding/Flows); horizontaal scrollen blijft mogelijk via swipe/trackpad.

v2.55
vrijdag 22 mei 2026
04:10

CRM/Leads: content links uitgelijnd met de scrollbalk

Polish

CRM-content schuift naar links, gelijk aan het linker uiteinde van de horizontale scrollbalk

De header en pipeline-kolommen hadden 40px linker-padding, terwijl de horizontale scrollbalk al op de board-rand begon — dat zag er niet uitgelijnd uit.

v2.54
vrijdag 22 mei 2026
04:05

Aanbevolen-carousel: scrollbalk verborgen

Polish

Geen zichtbare scrollbalk meer onder de aanbevolen-tools

De horizontale scrollbalk is verborgen; scrollen gaat via de ‹ ›-pijltjes of een swipe.

v2.53
vrijdag 22 mei 2026
04:02

Tools-achtergrond loopt nu tot de menubalk

Bug fix

Witte strook tussen de menubalk en de hero-achtergrond weg

De achtergrond-wash zat binnen de 28px horizontale padding van de content-zone, waardoor er een witte rand tegen de menubalk overbleef.

v2.52
vrijdag 22 mei 2026
03:58

Tool-iconen draaien soepel bij hover

Polish

High-end hover-animatie op elk tool-icoon

Bij hover maakt het icoon (carousel én tabel, inclusief de downloader-logo's) een vloeiende 360°-draai met een lichte schaal-pop en kleur-glow. Premium easing met subtiele overshoot; respecteert prefers-reduced-motion.

v2.51
vrijdag 22 mei 2026
03:52

Tools-hero: titel op één regel en dunner lettertype

Polish

Hero-titel "Slimme tools, maximale impact" past nu op één regel

Lettergrootte iets verkleind + nowrap op desktop; op smalle schermen breekt hij netjes af.

Polish

Titel-gewicht gelijk aan de Takenbeheer-titel

font-weight teruggebracht van 600 naar 500 (zelfde dunne uitstraling als de th2-title).

v2.50
vrijdag 22 mei 2026
03:49

Tools-pagina finetuning: carousel, downloader-logo's en hero

Bug fix

Bovenkant van de aanbevolen-kaarten werd afgesneden

De horizontale scroll-container clipte ook verticaal, waardoor de hover-lift en schaduw bovenaan wegvielen.

Polish

Echte platform-logo's voor de downloader-tools

De downloaders (Instagram, Facebook, TikTok, YouTube, LinkedIn, Snapchat) toonden een grijze placeholder.

Polish

Overbodige meta-regel in de hero weggehaald

"23 tools · 9 platforms · geen registratie" verwijderd voor een rustiger hero.

v2.49
vrijdag 22 mei 2026
03:44

Tools-pagina: rustigere achtergrond zonder zichtbare naad

Polish

Achtergrond van de Tools-hero opgeschoond

De drie losse gekleurde orbs gaven een vlekkerige wash met een zichtbare overgang naar wit halverwege de pagina.

v2.48
vrijdag 22 mei 2026
03:33

Tools-pagina volledig vernieuwd + tool-aanvragen

Nieuwe functie

Nieuwe Tools-pagina: hero, aanbevolen-carousel, categorie-chips en overzichtstabel

Het oude tools-overzicht was een lange reeks losse grids zonder duidelijk overzicht of zoekflow.

Nieuwe functie

Tool aanvragen

Mis je een tool? Via de knop "Tool aanvragen" dien je er een in; aanvragen worden opgeslagen en verschijnen onder het tabblad "Aangevraagde tools" met een status (in behandeling / gepland / toegevoegd / afgewezen).

Infra

ToolRequest-model + API

Nieuw Prisma-model en /api/tools/requests endpoints (aanmaken, lijst, status bijwerken) — tenant-gefilterd zodat elk bureau de eigen aanvragen ziet.

v2.47
vrijdag 22 mei 2026
03:07

Zes nieuwe tools: snelheidstest, storingen, QR, bio, username & hook analyzer

Nieuwe functie

Internet snelheidstest

Meet download, upload, ping en jitter tegen de Senly-server — zo weet je of je vanaf je locatie vlot kunt werken.

Nieuwe functie

Storingen checker voor social platforms

Checkt bereikbaarheid van Instagram, Facebook, WhatsApp, Threads, TikTok, YouTube, X, LinkedIn, Snapchat en Pinterest, met directe link naar de officiële statuspagina.

Nieuwe functie

Gratis, permanente QR-code generator

Genereert QR-codes die de URL direct bevatten (geen redirect, verloopt nooit), met kleur- en formaatopties en PNG/SVG-download.

Nieuwe functie

AI Bio generator

Schrijft vier bio-varianten binnen de tekenlimiet van Instagram, TikTok, LinkedIn, Facebook, X of YouTube, met instelbare toon en emoji.

Nieuwe functie

Username generator met beschikbaarheidscheck

AI bedenkt tien handles op basis van naam, niche en stijl; één klik checkt of ze nog vrij zijn op de grote platforms.

Nieuwe functie

Viral hook analyzer

Scoort je openingszin op scroll-stop, nieuwsgierigheid, duidelijkheid en emotie, met sterke/zwakke punten en drie verbeterde varianten.

Polish

Nieuwe categorie "Handige hulpmiddelen" op de Tools-pagina

Snelheidstest, storingen checker en QR-generator gebundeld; bio + hook analyzer onder Schrijven & ideeën, username generator onder Analyse & onderzoek.

v2.46
vrijdag 22 mei 2026
03:03

Nav mobiel: logo links, inloggen + NL tegen de rechterrand

Polish

Inloggen / Registreren en de taalknop staan nu rechts uitgelijnd, met witruimte tot het logo

Op mobiel bleef de nav een CSS-grid (1fr auto 1fr); met de verborgen menu-links belandde de knoppen-groep in de middelste kolom i.p.v. rechts, en justify-content had geen effect op die grid.

v2.45
vrijdag 22 mei 2026
02:29

Nav mobiel: logo en knoppen symmetrisch t.o.v. de randen

Polish

Logo + Senly staat nu even ver van de linkerrand als de NL-knop van de rechterrand

De nav-inner had asymmetrische padding (links 24px, rechts 14px) waardoor het logo verder van de rand stond.

v2.44
vrijdag 22 mei 2026
02:21

Login mobiel: witte balk onderin definitief opgelost + card iets lager

Bug fix

Witte balk onder de login-card op mobiel verdwenen

html[data-theme="light"] body stelde een lichte achtergrond in die buiten de login-container zichtbaar was als de body verder reikte dan 100dvh.

v2.43
vrijdag 22 mei 2026
02:10

Login mobiel: card verticaal gecentreerd op het scherm

Polish

Login-card staat nu in het midden van het scherm op mobiel

align-items: center op de container zodat de card verticaal gecentreerd staat, met padding-top voor de Terug-knop.

v2.42
vrijdag 22 mei 2026
02:10

Mobiel: smallere randen zodat content meer scherm vult

Polish

Marges van hero, nav, CTA en metrics-balk teruggebracht van 14px naar 6px op mobiel

De hero en nav hadden 14px marge aan alle kanten waardoor de content er "ingekaderd" uitzag op mobiel.

v2.41
vrijdag 22 mei 2026
02:04

Login mobiel: witte ruimte onderaan card en witte balk verwijderd

Bug fix

Card is nu auto-height, achtergrond vult de rest van het scherm

min-height: 100dvh op de card zelf maakte hem veel groter dan de content. Wit onder de card was de body-achtergrond die doorscheen.

v2.40
vrijdag 22 mei 2026
01:57

Login mobiel: lege ruimte boven formulier verwijderd

Bug fix

Formulier begint direct bovenaan zonder grote lege ruimte

justify-content: center + margin-top: 64px op de form-card creëerde een grote lege witte ruimte boven BEDRIJFSPORTAAL.

v2.39
vrijdag 22 mei 2026
01:56

Login mobiel: SMT-logo niet meer zichtbaar bij openen

Bug fix

Mobiel-logo (lp-form-mobile-logo) verborgen op mobiel/tablet

Het SMT-logo flikkerde 1 seconde bij het openen van de loginpagina op mobiel, omdat lp-form-mobile-logo in de media query op display: flex stond.

v2.38
vrijdag 22 mei 2026
01:51

Login mobiel: witte balk onderaan verwijderd

Bug fix

Login-card vult nu altijd de volledige schermhoogte op mobiel

Zonder de linkerkolom was de card korter dan het scherm, waardoor de witte body-achtergrond zichtbaar was onder de card.

v2.37
vrijdag 22 mei 2026
01:43

Inlogpagina mobiel: linkerkolom verborgen, alleen formulier zichtbaar

Polish

Branding-kolom verdwijnt op mobiel en tablet — alleen het inlogformulier getoond

display: none op .lp-brand bij max-width: 980px zodat het formulier de volledige breedte krijgt.

v2.36
vrijdag 22 mei 2026
01:41

Registratie: wachtwoord-toggle gebruikt SVG-icoon i.p.v. emoji

Polish

Oog-icoon in wachtwoordveld is nu een consistente SVG op alle apparaten

De emoji 👁/🙈 rendert per platform anders en oogt onprofessioneel.

v2.35
vrijdag 22 mei 2026
01:39

Stats bijgewerkt: 300+ agencies en 2.500+ gebruikers

Polish

Metrics op homepage aangepast

100+ Agencies → 300+, 1.000+ Gebruikers → 2.500+

v2.33
vrijdag 22 mei 2026
01:32

Nav mobiel: Inloggen-knop en NL-knop exact even hoog

Polish

Beide nav-knoppen op mobiel krijgen een vaste height: 36px

Font-size en line-height verschilden tussen de twee knoppen waardoor ze nooit exact even hoog waren.

v2.32
vrijdag 22 mei 2026
01:28

CTA-checkmarks verticaal gecentreerd naast de tekst

Bug fix

Checkmarks stonden te laag naast de bullets in de CTA-sectie op mobiel

Oude mobiele overrides (margin-top: 2px + align-items: flex-start) waren bedoeld voor een enkelvoudige lange tekstregel en duwden de checkmarks nu onnodig omlaag.

v2.31
vrijdag 22 mei 2026
01:27

Support-tooltip: tekst volledig zichtbaar + sluitknop perfect rond

Bug fix

Tekst in support-tooltip niet meer afgekapt door de sluitknop

De absoluut gepositioneerde sluitknop viel over de bodytekst heen, waardoor "Ons supportteam staat voor je klaar" aan het einde werd afgekapt.

Bug fix

Sluitknop tooltip is nu een perfect rondje op iOS Safari

iOS Safari renderde de sluitknop als een ovaal/ei-vorm.

v2.30
vrijdag 22 mei 2026
01:20

Hero gradient-tekst altijd leesbaar op donkere achtergrond

Polish

Animerende gradientkleuren van hero-titel vervangen door lichtere tinten

De animatie schoof door naar #2563eb (diepblauw) wat op de donkere navy achtergrond te weinig contrast had en onleesbaar werd.

v2.29
vrijdag 22 mei 2026
01:18

CTA-sectie: checkmark-bullets correct uitgelijnd op mobiel

Bug fix

Drie losse bullets onder de CTA-knoppen i.p.v. één lange zin

De lange tekst "Geen creditcard · 14 dagen full access · Opzeggen wanneer je wilt" als inline-flex met één checkmark brak raar af op mobiel.

v2.28
vrijdag 22 mei 2026
01:14

Nav mobiel: NL-knop even slank als de CTA-knop

Polish

NL taalknop in de mobiele nav heeft nu dezelfde hoogte als "Inloggen / Registreren"

De NL-knop had een vaste height: 34px en zag er daardoor ronder/ovaler uit dan de CTA-knop.

v2.27
vrijdag 22 mei 2026
01:07

Privacyverklaring: tabel scrolt correct op mobiel

Bug fix

Tabel op privacybeleid-pagina scrollt horizontaal op mobiel

`display: block; overflow-x: auto` op een <table> werkt niet betrouwbaar in mobile Safari — de pagina scrollde mee in plaats van de tabel.

v2.24
vrijdag 22 mei 2026
00:58

Registratiepagina: tarieven gecorrigeerd naar 2 schijven

Bug fix

Prijstiers gecorrigeerd: EUR €50/€40, USD $60/$50

Er waren ten onrechte 3 EUR-schijven (€70/€50/€40) in plaats van 2.

v2.23
vrijdag 22 mei 2026
00:57

"Klaar om te schalen?" tekst verticaal gecentreerd in de pill

Polish

CTA-eyebrow tekst staat nu midden in de pill

Zonder expliciete line-height gebruikte de browser ~1.4, waardoor de tekst te hoog in de badge hing.

v2.22
vrijdag 22 mei 2026
00:50

"SENLY" kolomkop niet meer afgeknipt op vergelijkpagina mobiel

Bug fix

"SENLY" in tabelkop volledig zichtbaar op smalle schermen

Bij ≤560px/420px kregen de kolomkoppen 18px padding terwijl de kolom maar 70px/58px breed was — "SENLY" viel buiten de kolom en werd door overflow:hidden afgeknipt.

v2.20
vrijdag 22 mei 2026
00:39

Registratiepagina: volume-tiers, valuta per regio en "Terug" wit

Nieuwe functie

Drie EUR-tariefschijven zichtbaar op registratiepagina

Alleen het €70-tarief was zichtbaar; €50 (11-20 klanten) en €40 (21+) ontbraken.

Nieuwe functie

USD-prijzen voor Engelstalige bezoekers ($60 / $50)

useLanguage locale gebruikt: EN → USD ($60 basis, $50 bij 21+), overige talen → EUR.

Bug fix

"← Terug" knop nu wit op de donkere achtergrond

Knop had kleur #475569 (donkergrijs) wat onleesbaar was tegen de donkere gradient-achtergrond.

Polish

"Inloggen / Registreren" terug in nav op mobiel

Knop was verborgen op ≤980px; nu zichtbaar met compactere padding (9px 13px) zodat [S Senly] + [Inloggen] + [NL] naast elkaar passen.

v2.19
vrijdag 22 mei 2026
00:34

CTA-sectie mobiel gefixed: eyebrow centrering, checkmark en bureau-scan popup

Bug fix

"Klaar om te schalen?" nu gecentreerd op mobiel

Eyebrow-badge stond niet gecentreerd en had te veel ruimte erboven op kleine schermen.

Bug fix

Checkmark naast "Geen creditcard" niet meer langwerpig of verschoven

Icoon rekte mee met de gewrapte tekst in het flex-item en stond niet op de juiste positie.

Polish

Bureau-scan popup verborgen op mobiel

De bureau-scan popup overlapte de support-chat widget op schermen ≤768px.

v2.18
vrijdag 22 mei 2026
00:26

"Senly" terug in nav + NL-knop netjes gecentreerd

Polish

"Senly" tekst zichtbaar naast logo op mobiel

"Senly" was verborgen op mobiel zodat de CTA en NL zouden passen, maar de gebruiker wil het logo-woord zien.

Polish

"NL" netjes gecentreerd in de taalknop

Asymmetrische padding (0 9px 0 12px) vervangen door symmetrisch (0 10px) + justify-content: center zodat NL + chevron visueel gecentreerd staan.

v2.17
donderdag 21 mei 2026
16:50

Nav-items gecentreerd op mobiel

Polish

Logo + CTA + NL staan nu gecentreerd in de nav op mobiel

Op mobiel stond het logo uiterst links en de twee actie-knoppen uiterst rechts (justify-content: space-between met een lege tussenruimte doordat de nav-links verborgen zijn).

v2.16
donderdag 21 mei 2026
16:21

Slider-indicator als streepje + CTA-tekst op één regel

Polish

Actieve slide-indicator is nu een dun gekleurd streepje

De actieve dot was een dik ovaal bolletje (8px hoog, 28px breed) — te opvallend en niet passend bij het design.

Bug fix

"Begin met één." breekt niet meer over twee regels op mobiel

white-space: nowrap toegevoegd op de em-tag zodat "Begin met één." altijd op één regel blijft.

v2.15
donderdag 21 mei 2026
16:19

Blauwe hoekrandjes hero-kaart opgelost op iOS Safari

Bug fix

Teal/blauwe glitch in hoeken van hero-sectie op mobiel

iOS Safari clipt overflow:hidden + border-radius niet betrouwbaar voor z-index:-1 elementen. De orb-glows lekten door de afgeronde hoeken van de hero-kaart.

v2.14
donderdag 21 mei 2026
16:04

Hero-sectie heeft nu witte rand aan alle kanten op mobiel

Polish

Hero-kaart toont nu rondom witruimte op mobiel

De hero-sectie had margin: 14px 14px 0 — geen ondermarge — waardoor de kaart onderaan doorliep tot de rand van het scherm zonder witte rand.

v2.13
donderdag 21 mei 2026
15:07

Hero-titel op homepage groter en breed op mobiel

Bug fix

Hero-titel stond op 5+ regels op mobiel — nu exact 2 regels

De SVG-underline binnen de gradient-span had display:block en width:100%, waardoor de inline-block span de volledige containerbreedte innam en "voor" naar een eigen regel werd gedwongen.

Polish

Hero-titel font-size vergroot op mobiel (28px)

Op mobiel was de titel (18px) veel te klein ten opzichte van de beschrijvingstekst eronder — de regels vulden maar 60% van de containerbreedte.

v2.12
donderdag 21 mei 2026
14:09

Volledige mobiel- en tablet-optimalisatie voor alle publieke pagina's

Polish

Responsive breakpoints toegevoegd aan alle publieke pagina's

Sub-pagina's zoals integraties, partners, vergelijk, contact, FAQ en helpcentrum hadden weinig of geen tablet-/mobielstijlen.

Bug fix

integraties.css had nul media queries — volledig opgelost

Platform-knoppen schalen nu mee op mobiel en gaan op <420px vol-breed.

Polish

Nav en footer verfijnd op klein scherm

Nav-inner krijgt minder marge en padding op <480px. Footer-bottom wordt gecentreerd gestapeld op <480px.

Bug fix

Partners: "featured" tier-card offset verwijderd op mobiel

De translateY(-8px) op de featured commissie-kaart gaf een vreemde layout als de grid naar 1-kolom stapelt.

v2.10
donderdag 21 mei 2026
13:35

Wit vlak achter de CRM-zoekbalk weg

Bug fix

CRM-contactenzoekbalk toonde een wit kader achter de tekst

In het lichte thema kreeg het zoekveld een witte achtergrond en rand van de globale formulier-stijl, waardoor er een wit blokje achter de placeholder-tekst stond binnen de grijze zoekbalk.

v2.08
donderdag 21 mei 2026
13:24

Eén consistente footer op alle pagina’s

Polish

Volledige footer (Product · Hulpmiddelen · Bedrijf) nu op elke pagina

De homepage had de rijke 3-koloms footer, maar de sub-pagina’s (FAQ, Integraties, Vergelijk, Helpcentrum, Contact, Over ons, Blog, Security en de juridische pagina’s) toonden een simpele, afwijkende footer.

v2.07
donderdag 21 mei 2026
13:21

Aanbevolen logo-afmetingen bij meetings-branding

Polish

Hint met aanbevolen logo-formaat onder de upload-knop

Bij het uploaden van een logo voor de boekingspagina was niet duidelijk welk formaat het beste werkt.

v2.06
donderdag 21 mei 2026
13:14

Taalkeuze reist nu mee tussen homepage en sub-pagina’s

Bug fix

Taalvoorkeur werd niet onthouden tussen homepage en sub-pagina’s

De homepage sloeg de taal op onder “senly-lang” en de sub-pagina’s onder “senly_lang” — twee verschillende sleutels, dus de keuze ging verloren bij navigeren.

v2.05
donderdag 21 mei 2026
13:13

Login: wit kaartje op donkere hero-achtergrond

Polish

Login- en signup-kaartje weer wit, achtergrond blijft donker-teal

Het volledig donkere inlogscherm was te donker; gevraagd werd een wit kaartje met behoud van de donkere achtergrond.

v2.04
donderdag 21 mei 2026
13:10

Taalkiezer op sub-pagina’s is nu ook een uitklapmenu

Polish

Taalkiezer in de publieke nav gelijkgetrokken met de homepage

Op sub-pagina’s stonden NL/EN/DE/FR nog los naast elkaar, terwijl de homepage al een nette dropdown had.

v2.02
donderdag 21 mei 2026
13:03

Drie nieuwe publieke pagina’s: Integraties, Vergelijk en Helpcentrum

Nieuwe functie

Integraties-pagina (/integraties)

Overzicht van alle koppelingen: social platforms (Instagram, TikTok, LinkedIn, Facebook) plus 8 categorieën (Metricool, Canva, Google Drive, Dropbox, GoHighLevel, Stripe, IMAP/SMTP, Gemini) en een binnenkort-lijst. Gegrond op de echte integratie-registry.

Nieuwe functie

Vergelijk-pagina (/vergelijk)

Senly versus de losse-tools-stack: kostenoverzicht (€1.525/mnd → vanaf €500) met besparing, plus een functievergelijking. Conversiegericht en SEO-vriendelijk.

Nieuwe functie

Publiek Helpcentrum (/helpcentrum)

Doorzoekbaar helpcentrum met alle 270 support-artikelen in 20 categorieën, met categorie-overzicht en accordion. Hergebruikt de bestaande in-app artikelen.

Polish

Footer geherstructureerd naar Product · Hulpmiddelen · Bedrijf

De nieuwe pagina’s toegevoegd aan de footer en de publieke route-allowlist in de middleware.

v2.01
donderdag 21 mei 2026
13:02

"Onthoud mij"-optie op de login

Nieuwe functie

Ingelogd blijven via "Onthoud mij"

Er was geen keuze om wel of niet ingelogd te blijven na het inloggen.

v2.00
donderdag 21 mei 2026
04:47

Zwarte rand bovenaan publieke pagina's verholpen

Bug fix

Bovenrand van publieke pagina's nu licht i.p.v. donker

Door margin-collapse ontsnapte de 14px bovenmarge van de hero naar de body, waardoor er een donkere rand boven de hero verscheen terwijl links/rechts licht waren.

v1.99
donderdag 21 mei 2026
04:42

FAQ-pagina toegevoegd + footer-links gefixt

Nieuwe functie

Nieuwe FAQ-pagina (/faq) met 18 vragen in 5 categorieën

Bezoekers hadden geen centrale plek voor veelgestelde vragen over prijzen, functies, onboarding en beveiliging.

Bug fix

Footer-links "Over ons" en "Contact" wezen nergens heen

Beide linkten naar "#" in plaats van de bestaande pagina's.

v1.98
donderdag 21 mei 2026
04:38

Login dichter bij de homepage-hero: gradient-kop en grid

Polish

Login-accentkop en achtergrondgrid in homepage-stijl

De login miste de signatuur van de homepage-hero (gradient-kop en zichtbaar grid).

v1.97
donderdag 21 mei 2026
04:32

Navigatielinks exact gecentreerd in de header

Polish

Menu-items staan nu in het midden van de navbar

Met flex/space-between stonden de links iets links van het midden, afhankelijk van de breedte van logo en knoppen.

v1.96
donderdag 21 mei 2026
04:29

Taalkiezer is nu een uitklapmenu

Polish

NL/EN/DE/FR samengevouwen tot een nette dropdown

Alle vier de talen stonden los naast elkaar in de navbalk, wat ruimte innam en rommelig oogde.

v1.95
donderdag 21 mei 2026
04:27

Login-achtergrond opgelicht naar hero-kleur

Polish

Login minder donker, gelijk aan de homepage-hero

De login was bijna zwart (#0a0e14) terwijl de homepage-hero juist door teal-radialen wordt opgelicht.

v1.94
donderdag 21 mei 2026
04:23

Login & signup in donkere homepage-stijl

Polish

Inlog- en registratiepagina sluiten visueel aan op de homepage

De auth-pagina's stonden in een licht thema dat botste met de donkere homepage-hero.

v1.93
donderdag 21 mei 2026
04:22

Affiliate-link toegevoegd aan de footer

Polish

Affiliate (partnerprogramma) staat nu in de footer onder Bedrijf

Na het verplaatsen van Partners uit de nav stond de affiliate-link nergens meer; alleen Blog stond al in de footer.

v1.92
donderdag 21 mei 2026
04:18

Navigatie wijst naar pagina-secties

Polish

Nieuwe nav: Platform, Opties, Onboarding, Concurrentie, Prijzen

De nav had een dropdown-pijltje bij Platform en bevatte Blog en Partners, terwijl die in de footer thuishoren.

v1.91
donderdag 21 mei 2026
04:11

Teaser-ondertitel breekt netjes af

Polish

"werktempo en kwaliteitswinst" blijft samen op de tweede regel

Non-breaking spaces toegevoegd zodat de woordgroep als blok naar de tweede regel zakt in plaats van halverwege af te breken.

v1.90
donderdag 21 mei 2026
04:11

High-end custom cursor in de hero

Polish

Senly-cursor met zachte glow, schaduw en vloeiende follow

De custom cursor gebruikte mix-blend-mode multiply, waardoor het logo dof en nauwelijks zichtbaar werd op de donkere hero.

v1.89
donderdag 21 mei 2026
04:06

Teaser-eyebrow dunner voor rustiger label

Polish

Eyebrow "Gratis bureau-scan · 2 min" van bold naar medium

Fontgewicht van het eyebrow-label verlaagd van 700 naar 500 voor een fijnere, minder schreeuwerige uitstraling.

v1.88
donderdag 21 mei 2026
04:04

Teaser-titel iets dunner voor verfijndere look

Polish

Titel optimalisatietest-teaser van bold naar semibold

Fontgewicht van de teaser-titel verlaagd van 700 naar 600 voor een iets fijnere, elegantere uitstraling.

v1.87
donderdag 21 mei 2026
04:02

Optimalisatietest: geloofwaardiger resultaten

Polish

Workflow getoond als snelheids-multiplier in plaats van percentage boven 100%

Een score als "291% workflow optimalisatie" was niet uitlegbaar en kon ongeloofwaardig overkomen.

Polish

Kwaliteitsverbetering weer binnen een geloofwaardige 64–95%

Percentages boven 100% voor kwaliteit hadden geen natuurlijke betekenis.

Polish

Disclaimer toegevoegd onder de uitkomst

De getallen konden als harde belofte worden gelezen.

v1.86
donderdag 21 mei 2026
04:01

Optimalisatietest-teaser: high-end design en kloppende belofte

Polish

Teaser-popup verfijnd naar premium uitstraling

De teaser was een vlakke witte kaart en de ondertitel beloofde alleen uren besparing, terwijl de test meer toont.

v1.85
donderdag 21 mei 2026
03:51

Cookiebanner blendt sterker met de hero-achtergrond

Polish

Translucentie cookiebanner verhoogd voor betere kleuraansluiting

Het glaspaneel was nog net iets te dicht, waardoor de kleur afweek van de eerste sectie.

v1.84
donderdag 21 mei 2026
03:48

Optimalisatietest: bespaarde uren nu per klant per maand

Polish

Uitkomst toont uren bespaard per klant per maand

De besparing stond op weekbasis, terwijl maandbasis aansprekender en gangbaarder is.

v1.83
donderdag 21 mei 2026
03:48

Cookiebanner: zwevend glaspaneel dat aansluit op de hero

Polish

Losse, zwevende cookiebanner met translucente teal-tint

De banner zat vast als volle balk onderin en de achtergrondkleur week af van de eerste sectie.

v1.82
donderdag 21 mei 2026
03:45

Optimalisatietest: scores tot ~300% en besparing per klant

Polish

Workflow-optimalisatie en kwaliteitsverbetering lopen op tot ~300%

De percentages waren gemaximeerd rond 95%, wat de potentiële winst onderschatte.

Polish

Bespaarde uren nu duidelijk per klant per week

Het label "bespaard per week" was dubbelzinnig over of het de hele agency of per klant betrof.

v1.81
donderdag 21 mei 2026
03:41

Cookiebalk-achtergrond afgestemd op de hero

Polish

Cookiebalk sluit kleurtechnisch aan op de homepage-hero

De balk had eerst een paarsblauwe ondertoon en daarna een te donkere tint vergeleken met het navy-teal van de eerste sectie.

v1.79
donderdag 21 mei 2026
03:37

Optimalisatietest: altijd een sterk optimalisatie- en kwaliteitspotentieel

Polish

Workflow-optimalisatie en kwaliteitsverbetering tonen altijd een hoge score

Bezoekers die al efficiënt werkten kregen lage uitkomsten (rond 20%), wat weinig motiveerde om Senly te proberen.

v1.78
donderdag 21 mei 2026
03:34

Pulse-ring chat-knop: rustiger ritme met pauze

Polish

Gelijkmatig uitdijende pulse-ring met rustpauze

De ring dijde gelijkmatig uit, maar startte te snel telkens opnieuw.

v1.77
donderdag 21 mei 2026
03:34

Optimalisatietest: vloeiende teller-animatie op resultaten

Bug fix

Optellende getallen op het resultatenscherm tellen nu vloeiend

De getallen telden schokkerig op via setInterval en flikkerden tussen heel getal en decimaal, wat de animatie liet glitchen.

v1.76
donderdag 21 mei 2026
03:33

Pulse-ring chat-knop groeit vloeiend en gelijkmatig

Polish

Gelijkmatig uitdijende pulse-ring

De ring schoot eerst weg of bleef juist even hangen — geen rustige beweging.

v1.75
donderdag 21 mei 2026
03:29

Optimalisatietest: premium design, 10 vragen en animaties

Polish

Quiz volledig herontworpen: fullscreen modal, 10 vragen, framer-motion animaties

De eerste versie had slechts 3 vragen en een basic uiterlijk zonder premium uitstraling.

v1.74
donderdag 21 mei 2026
03:29

Rustigere pulse-animatie rond de chat-knop

Polish

Pulserende ring achter chat-knop beweegt kalmer

De ring pulseerde te snel (elke ~1,2s), wat onrustig oogde.

v1.73
donderdag 21 mei 2026
03:23

Chat-tooltip redesign: Senly-logo + converterende tekst

Polish

Tooltip boven chat-knop: modern kaartje met logo en supporttekst

De oude tooltip was een platte tekstwolk zonder branding.

v1.72
donderdag 21 mei 2026
02:54

Optimalisatietest popup op de homepage

Nieuwe functie

Gratis optimalisatietest linksonderin na 10 seconden

Bezoekers hadden geen directe manier om te zien hoeveel tijd en kwaliteitswinst Senly hen oplevert.

v1.71
donderdag 21 mei 2026
02:44

Cookiebanner toegevoegd (AVG/GDPR)

Nieuwe functie

Cookie-toestemmingsbanner op alle pagina's

Bezoekers werden niet geïnformeerd over cookies — wettelijk verplicht onder de AVG.

v1.70
donderdag 21 mei 2026
02:43

Partnerpagina FAQ: alle vragen kloppen nu met de werkelijkheid

Polish

Nep melding en nep social proof verwijderd, €50 minimum toegevoegd

FAQ vermeldde een uitbetalingsnotificatie (bestaat niet) en "veel van onze beste partners" (er zijn nog geen partners).

v1.69
donderdag 21 mei 2026
02:41

Support-widget: tekstwolkje boven chatknop

Polish

Tooltip "Heb je een vraag?" verschijnt na 3 seconden boven de chat-FAB

Klikken opent het support-venster; wegklikken slaat de keuze op in sessionStorage.

v1.68
donderdag 21 mei 2026
02:40

Partnerpagina FAQ: marketingmaterialen eerlijk herschreven

Polish

FAQ-vraag over marketingmaterialen verwijderd en vervangen door eerlijke verwachting

De FAQ beloofde een bibliotheek met banners en templates die niet bestaat.

v1.67
donderdag 21 mei 2026
02:18

Affiliate-commissie: 30% standaard, automatische upgrade naar 40% bij 10 actieve bureaus

Nieuwe functie

Commissie gecorrigeerd van 20% naar 30%

Code had 20% hardcoded terwijl de partnerpagina 30% belooft.

Nieuwe functie

Automatische tier-upgrade naar 40% bij 10+ actieve bureaus

Geen upgrade-logica aanwezig terwijl dit wel beloofd werd op de partnerpagina.

v1.66
donderdag 21 mei 2026
02:08

Partnerpagina: affiliate-teksten kloppen nu met hoe het systeem echt werkt

Polish

Onjuiste "90 dagen"-vermelding vervangen door correcte flow

De partnerpagina vermeldde een cookie-venster van 90 dagen en een pijplijn-metafoor die niet overeenkwam met de werkelijkheid.

v1.65
woensdag 20 mei 2026
23:22

Partnerprogramma: 30% standaard, 40% vanaf 10 actieve bureaus

Nieuwe functie

Nieuwe commissie-structuur: 30% standaard / 40% premium

Oude tiered structuur (20%/25%/30%) was te complex en gaf nieuwe partners weinig urgentie.

Polish

Rekenmachine vereenvoudigd: alleen "Klanten per maand"

Conversie-input verwijderd; één directe input (default 5) berekent maand-1, na-6-maanden en jaar-1 commissie met automatische tier-overgang.

Polish

/partners hero + stats afgestemd op nieuwe structuur

Hero-tekst, stats-kaarten en tier-kop expliciet over 30%/40% levenslang.

v1.61
woensdag 20 mei 2026
22:24

Blog: categoriefilter werkt nu via carousel en URL

Nieuwe functie

Klikken op een categorie toont alleen de bijbehorende artikelen

Klikken op een categorie in de carousel navigeerde naar ?cat=... maar de artikelen eronder werden niet gefilterd.

v1.56
woensdag 20 mei 2026
18:55

Hero: dashboard-mockup achtergrond verwijderd

Polish

Schoner hero — geen vage dashboard-mockup meer op de achtergrond

De .sn-hero-v2-dash-bg toonde een zwak doorschemerende "Goedemiddag"-dashboardafbeelding achter de hero, wat afleidde van de copy.

v1.52
woensdag 20 mei 2026
05:13

Calculator inputveld moderner: subtiele inset shadow + teal focus glow

Polish

sn-calc-input: licht grijze achtergrond, inset schaduw, border-radius 14px, teal focus ring

v1.51
woensdag 20 mei 2026
05:12

Metric cards: diepere dropshadow voor meer reliëf

Polish

sn-calc-mc box-shadow verdiept: drie lagen (dichtbij, mid, ver)

0 1px 2px + 0 4px 12px + 0 16px 40px zodat de kaarten duidelijk boven de pagina lijken te zweven.

v1.50
woensdag 20 mei 2026
05:11

Teaser-cijfers: text-shadow verwijderd

Polish

text-shadow en filter van sn-calc-mc-teaser-num verwijderd

v1.49
woensdag 20 mei 2026
05:10

Metric teaser-cijfers groter en met gekleurde schaduw

Polish

sn-calc-mc-teaser-num: 42→58px, font-weight 800→900, text-shadow glow in eigen kleur

text-shadow met currentColor zodat elk cijfer gloeit in zijn eigen accent (paars, teal, amber).

v1.48
woensdag 20 mei 2026
05:09

Metric card iconen exclusiever: groter, schaduw en glossy highlight

Polish

sn-calc-mc-icon: 44→52px, border-radius 12→16px, inset gloss + drop shadow

Glanzende top-highlight (inset 0 1px 0 rgba wit), subtiele bottom-dimming en diepe drop shadow geven een premium iOS-icon gevoel.

v1.47
woensdag 20 mei 2026
05:00

Eyebrow pill voller wit en helderder

Polish

Eyebrow tekst puur wit, achtergrond en rand iets meer zichtbaar

color #ffffff, background rgba(255,255,255,0.14), border rgba(255,255,255,0.28), dot glow sterker.

v1.46
woensdag 20 mei 2026
04:59

Hero bottom padding 90px, NL-taalknop wit op donkere nav

Polish

Hero padding-bottom ingesteld op 90px na fine-tuning

Polish

NL/EN taalknop wit gekleurd wanneer nav transparant op dark hero staat

Actieve taaloptie (NL) was donker en niet zichtbaar op donkere hero achtergrond.

v1.45
woensdag 20 mei 2026
04:56

Hero card langer gemaakt: bottom padding 48→100px

Polish

Hero padding-bottom clamp(48px,6vh,80px) → clamp(100px,13vh,160px)

Onderkant van de hero card voelde te abrupt — weinig ruimte binnen de card onderaan waardoor de witruimte daaronder relatief groot leek.

v1.44
woensdag 20 mei 2026
04:54

Hero primaire knop: wit met donkere tekst (high-end SaaS stijl)

Polish

Hero CTA van solid teal naar witte knop met donkere tekst

Solid teal knop zag er goedkoop uit op de donkere hero achtergrond.

v1.43
woensdag 20 mei 2026
04:53

Hero eyebrow pill helderder + buttons passend bij donkere achtergrond

Polish

Eyebrow pill: witte tint in plaats van donker teal

color rgba(255,255,255,0.88), background rgba(255,255,255,0.08), border rgba(255,255,255,0.18).

Polish

Hero CTA-buttons overschreven voor dark context

Primaire knop: solid teal gradient. Secundaire knop: transparant/glass met witte rand en witte tekst.

v1.42
woensdag 20 mei 2026
04:52

Hero card bottom-margin verwijderd, .sn-calc terug op 64px

Polish

Hero margin: 14px → 14px 14px 0, .sn-calc margin-top 24px → 64px

Bottom-margin van de hero card op 0 gezet zodat alleen de 64px sectie-ruimte van .sn-calc de overgang bepaalt.

v1.41
woensdag 20 mei 2026
04:50

Witruimte onder hero card verkleind

Polish

.sn-calc margin-top van 64px naar 24px

GrowthCalculator had 64px bovenmarge waardoor er te veel witruimte zat tussen de hero card en de eerste sectie.

v1.40
woensdag 20 mei 2026
04:48

Hero card witruimte gelijkgetrokken op alle vier kanten

Polish

Hero margin: 14px 14px 0 → margin: 14px (ook onderkant)

Onderkant van de hero card had geen marge, waardoor de witruimte onderaan groter leek dan links/rechts/boven.

v1.39
woensdag 20 mei 2026
04:46

Pagina-achtergrond volledig wit, ambient orbs verwijderd

Polish

bg-base naar #ffffff, sn-root ambient orbs uitgeschakeld

Lichte blauwtint zichtbaar tussen hero-card en volgende sectie door de ambient gradient-orbs op .sn-root.

v1.38
woensdag 20 mei 2026
04:45

Hero als inset-kaart met ronde hoeken, gradient-bridge verwijderd

Polish

Hero sectie omgebouwd naar inset card-stijl (margin + border-radius)

De hero was full-bleed en had een donker→wit gradient nodig als overgang naar de rest van de pagina.

v1.34
woensdag 20 mei 2026
04:23

Pricing cards: horizontale dividers tussen secties (senly.io match)

Polish

Horizontale lijntjes tussen prijs/desc/features in alle pricing-cards

Senly.io heeft subtiele horizontale divider-lijntjes die de secties binnen een card scheiden. Localhost miste die

v1.33
woensdag 20 mei 2026
03:54

Scroll definitief gerepareerd — overflow:hidden → overflow:clip

Bug fix

Pagina was niet meer scrollbaar door browser-quirk

overflow-x: hidden op body en .sn-root triggerde een browser-quirk: de browser verandert overflow-y automatisch van visible naar auto wanneer overflow-x op hidden staat. Daardoor werd .sn-root zelf een scroll-container terwijl zijn scrollHeight bijna gelijk was aan zijn clientHeight (geen scroll-ruimte) — viewport-scroll werd opgeslokt en de pagina kon niet meer bewegen. Op andere pagina's viel het niet op omdat ze minder content hebben

v1.32
woensdag 20 mei 2026
03:42

Restervan scroll-jank: blur(80px) orbs, noise overlay, marquee isolatie

Snelheid

Hero orbs blur(80px) → filter:none

Vier ambient orbs met filter: blur(80px) op de hero — enorme paint-cost per scroll-frame

Snelheid

Globale noise-overlay verborgen

body::before in globals.css zat als fixed SVG-textuur op z-index 9999 over de hele viewport. Browser moest hem elke frame herevalueren tijdens scroll, ook al was hij visueel marginaal

Snelheid

Marquee tracks geïsoleerd met contain: layout paint

Marquee-animaties draaien nu in eigen compositor layer en kunnen niet meer indirecte repaints triggeren in de rest van de pagina

Snelheid

Permanente will-change weggehaald van featured pricing + image glows

Was overbodig — kostte continu GPU-memory zonder hoorbaar voordeel

v1.31
woensdag 20 mei 2026
03:26

Nav leesbaar op cream + scroll-jank definitief opgelost

Bug fix

Logo "Senly" + menu-items waren onzichtbaar in de hero

Nav had nog rgba(255,255,255,0.72) tekstkleuren — wit op cream = onzichtbaar

Snelheid

Scroll-jank bij 2x naar beneden scrollen — meerdere bronnen aangepakt

(1) onScroll handler vuurde elke wheel-event en kon scrolled-state rapid togglen rondom drempel 40px; (2) HeroV2 had useScroll + useTransform parallax op orbs die elke scroll-frame herrekend werd; (3) HeroV2 mousemove handler bleef CSS-vars updaten ook al was spotlight uit; (4) permanente will-change op nav-inner met 5 properties; (5) backdrop-filter blur(24px) op nav-pill

Snelheid

overscroll-behavior: none op body

Voorkomt rubber-band scrolling op macOS dat soms hapering veroorzaakte

v1.30
woensdag 20 mei 2026
03:20

Hero ook op cream — geen dark canvas meer, één doorlopende achtergrond

Polish

Hero achtergrond volledig licht

Hero had nog dark teal radial-mesh achtergrond — knipte hard met cream body eronder

Polish

Hero-elementen aangepast voor lichte bg

Title #0a0e1a zonder text-shadow, sub #475569, bullets #64748b, badge teal-on-light, secondary button white-outline ipv glass

Polish

Float cards aan zijkant: light glass

rgba(255,255,255,0.92) bg + zachte border + soft shadow ipv dark glass — leesbaar op cream

Polish

Custom cursor + dashboard-bg + noise overlay + grid-bg verwijderd

Allemaal dark-only effects die niet meer bij lichte hero passen

Polish

Hero-bridge fade weggehaald

Niet meer nodig want hero is al cream — geen overgang meer tussen secties

v1.29
woensdag 20 mei 2026
03:18

Scroll-performance — geen gehapper meer tijdens omhoog/omlaag scrollen

Snelheid

scroll-behavior: smooth verwijderd van html

CSS smooth-scroll forceerde elke wheel-event door browser-animatieloop, waardoor scrollen schokkerig voelde op trackpad/muiswiel

Snelheid

backdrop-filter blur verwijderd van alle cards

backdrop-filter is de duurste CSS-operatie tijdens scroll — moet voor elke kaart de achtergrond opnieuw blurren bij elke scroll-frame. Op meerdere kaarten tegelijk = paint-jank

Snelheid

Ambient orbs: position fixed → absolute

Twee 1400×1400 radial-gradient pseudo-elements op position:fixed forceerden permanent paint van de hele viewport bij elke scroll

Snelheid

will-change weggehaald van permanent-promoted elements

Permanente will-change op orbs en nav-pill kostte continu GPU-memory zonder voordeel. Alleen tijdelijke translateZ(0) op nav-inner gehouden voor de pill-morph

v1.28
woensdag 20 mei 2026
03:16

Pricing cards — leesbare slider, gelijke kaarten, sterker featured

Bug fix

Slider labels "Klanten" en huidige waarde waren onleesbaar

Slider-labels stonden nog op rgba(255,255,255,0.52) — wit op cream = onzichtbaar

Polish

Pricing kaarten beter gepresenteerd

Cards hadden verschillende hoogtes door verschillende content, CTA-knoppen niet uitgelijnd

Polish

Featured Growth-kaart sterker geaccentueerd

Subtiele teal-fade gradient bovenin, dikkere teal border (1.5px), prominentere shadow met dual glow. POPULAIRST badge groter (8x20px), stevigere shadow

Polish

Slider track + thumb premium voelend

Track op rgba dark-tint ipv glas, thumb met white core + teal ring + soft glow

v1.27
woensdag 20 mei 2026
03:11

Light theme fixes — onleesbare cijfers, afgesneden badge, schokkerig scrollen

Bug fix

GrowthCalculator teaser-cijfers (2.5×, +1.5%, 80+) waren onzichtbaar

Bestaande regel had wit→grijs gradient-clip die op cream achtergrond letterlijk wit op wit werd

Bug fix

VS-vergelijking tool-chips: alleen prijs zichtbaar, naam ontbrak

rgba(255,255,255,0.65) tekstkleur op wit → onzichtbaar

Bug fix

Pricing featured kaart: €50 amount nauwelijks leesbaar + POPULAIRST badge afgesneden

Featured amount had wit→mint gradient op witte bg + card had overflow:hidden

Snelheid

Scrollen voelde schokkerig, nav-pill inklap was niet smooth

Fixed ambient orbs + veel backdrop-filter blur(20px) op cards = dure repaints elke scroll-frame

v1.26
woensdag 20 mei 2026
03:05

Light cream body — alleen header dark, naadloze overgangen

Polish

Volledige body switch naar warm cream (#f6f5f1)

Alle secties hadden eigen dark bg (#060e0d / #0a1c1b) waardoor visuele knipperingen tussen secties; voelde als losse blokken

Polish

Hero-bridge: zachte fade van dark naar cream

220px gradient die door 5 tussenstadia (#060e0d → muted greys → cream) loopt voor luxe overgang

Polish

Alle glass cards naar light variant

rgba(255,255,255,0.7-0.85) bg + blur + zachte dark borders + soft shadows ipv dark glass

Polish

CTA card blijft dark gradient — accent eiland op cream

Dark CTA card valt nu op tegen cream achtergrond voor dramatische focus

Polish

Nav-pill, footer, alle section heads, clock face en text colors aangepast

v1.25
woensdag 20 mei 2026
02:51

Maximale Framer Motion upgrade — élke sectie cinematisch

Polish

ClockSection volledig nieuw met Framer Motion

De "Hoe het werkt" sectie had geen enkele animatie — enige sectie op de pagina zonder Framer Motion

Polish

Gedeelde secHead/secHeadItem/scaleIn/slideLeft varianten toegevoegd

Alle section heads gebruiken nu één consistent stagger-parent patroon met 0.1s tussenpoos per child

Polish

TestimonialCard — tilt + whileHover spring effect

Dezelfde useTilt als pricing/bento cards, plus whileHover y:-4 lift en stagger voor sterren en auteur

Polish

CTA sectie — gesequenced stagger voor dramatische climax

Eyebrow → h2 → body → actions → foot verschijnen elk 100ms na elkaar voor maximale impact

Polish

Platform, Extras, Vergelijking, Prijzen, Reviews heads — stagger varianten

Alle section heads vervangen door motion.div variants={secHead} met children die secHeadItem gebruiken

Polish

Footer fade-in entrance toegevoegd

v1.24
woensdag 20 mei 2026
02:40

Frontend Design Skill toegevoegd — consistent design system voor elke sessie

Infra

Design Skill gecodificeerd in .claude/skills/frontend-design/SKILL.md

Design DNA (dark teal, glassmorphism, glow, eyebrow pills) zat alleen impliciet in code — niet herbruikbaar voor nieuwe sessies

v1.23
woensdag 20 mei 2026
02:37

Hele site naar dark premium — geen wit gat meer tussen secties

Polish

Globale page-achtergrond donker (#060e0d) ipv lichtblauw

Tussen alle premium dark secties zaten witte gaten die het luxe gevoel braken

Polish

Zoom-scène + clock-sectie volledig dark glassmorphism

Donkere base met meervoudige teal radial glows, glow-effecten op clock hands en active steps, capsule eyebrow-pills

Polish

Flow-visualisatie en insights cards naar dark glass

Glass nodes met blur, gloeiende teal icon backgrounds, premium hover liften

v1.22
woensdag 20 mei 2026
02:33

Feature carousel + marquee secties dark premium

Polish

Platform-section (feature carousel) dark premium achtergrond

Donkere base met dubbele teal radial glows + subtiele grid, glass pill-tabs met teal active glow, gloeiende dots-indicator

Polish

Marquee-sectie dark glass cards

Glass marquee cards met blur, donkere fade-mask aan beide kanten, icon shadows

v1.21
woensdag 20 mei 2026
02:31

Ultra high-end SaaS redesign — pricing, testimonials, calculator en trust volledig premium

Polish

Calculator-sectie volledig dark glassmorphism

Calc-widget was flat wit en voelde niet als hetzelfde premium product als de hero

Polish

Pricing-sectie omgezet naar dark premium SaaS look

Pricing cards waren wit op licht — geen wow-effect tussen de andere donkere secties

Polish

Testimonials premium dark cards met cinematic accenten

Glassmorphism cards op donkere base, gloeiende quote-icoon, dunne teal top-accent gradient, hover lift met teal aura

Polish

Trust-stats glassmorphism + gloeiende cijfers

Dark glass cards met teal radial spotlight achter de calc, witte logos met juiste invert filter

Polish

Premium section-eyebrow pills (capsule met teal border + blur)

Eyebrows op donkere secties krijgen nu een echte capsule-pill stijl ipv vlakke tekst — voelt als Linear/Stripe

v1.20
woensdag 20 mei 2026
02:16

Hero: vignette-achtergrond, krachtige spotlight en betere cards

Polish

Donkere vignette-structuur op hero — midden springt er dramatisch uit

Vier donkere hoek-gradienten over lichtere kern — geeft echte diepte en focus op de content

Polish

Spotlight orb-6 feller en lager — exact achter de heading

Opacity tot 0.36, blur 45px, positie iets omlaag zodat hij de heading verlicht

Polish

Heading teal glow verdubbeld in intensiteit

text-shadow van 0.25 naar 0.55 opacity — heading gloeit nu zichtbaar

Polish

Floating cards: witter glas, sterkere schaduw, hogere leesbaarheid

Border van 0.20 naar 0.28, shadow 0.60 zwart, subtekst van 0.62 naar 0.72

v1.19
woensdag 20 mei 2026
02:05

Hero hero-kwaliteit verhoogd: spotlight, cards en badge opgepolijst

Polish

Spotlight orb-6 veel sterker — zichtbaar lichtpunt boven de heading

Opacity verhoogd, blur verminderd van 70px naar 55px voor scherpere lichtspot

Polish

Heading tekst-glow toegevoegd

Subtiele text-shadow zodat de witte titel loskоmt van de achtergrond

Polish

Floating cards zichtbaarder: meer glaseffect en glow

Achtergrond van 0.06 naar 0.10, border van 0.12 naar 0.20, teal glow shadow toegevoegd

Polish

Badge helderder: teal kleur, sterkere border en glow

Kleur van donker teal-vivid naar helder #5eead4, border opacity omhoog, box-shadow glow

v1.18
woensdag 20 mei 2026
01:58

Hero achtergrond: dynamische gradient met lichte en donkere vlakken

Polish

Hero heeft nu zichtbare gradient-variatie in de achtergrond

Achtergrond was overal even donker — geen diepte of contrast

v1.17
woensdag 20 mei 2026
01:56

Valuta-detectie: € voor Europese bezoekers, $ voor Amerikaanse

Nieuwe functie

Automatische valuta op basis van regio

Alle bezoekers zagen dollartekens, ook Europese bezoekers voor wie euro relevanter is

v1.16
woensdag 20 mei 2026
01:49

VS-kaart: tekst en checkmarks zichtbaar op donkere achtergrond

Bug fix

Lijst-items in VS-vergelijkingskaart waren grijs en onleesbaar

Na omzetten naar donkere achtergrond bleef de tekstkleur #475569 (grijs) — onzichtbaar op donker

v1.15
woensdag 20 mei 2026
01:47

Hero DNA doorgetrokken naar volledige pagina

Polish

VS-sectie omgezet naar donkere teal achtergrond

Vergelijkingssectie viel uit toon met de hero

Polish

CTA-blok omgezet naar donkere teal stijl

CTA-sectie had lichtblauwe achtergrond die niet aansloot bij het merkgevoel

Polish

Finale CTA-kaart aligned op teal kleurpalet

Achtergrond was navy, em-gradient bevatte hemelsblauw buiten het merkpalet

Polish

Ambient orbs subtiel versterkt

Vaste orbs in achtergrond iets meer zichtbaar gemaakt voor doorgaande teal sfeer door lichte secties

v1.14
woensdag 20 mei 2026
01:39

Hero-buttons opnieuw ontworpen: solid teal + glazen outline

Polish

Primaire button: solid teal merkkleur; secundaire button: glazen outline

De donkere primary button loste op in de hero-achtergrond, en de witte secondary button stak te hard af.

v1.13
woensdag 20 mei 2026
01:36

Hero-achtergrond exact op merkkleur hue gezet (#0a1c1b)

Polish

Achtergrond is nu een donkere versie van de exacte letterkleur

Hero achtergrond: #0a1c1b — dit is dezelfde hue (174°) als de teal-accentkleur #14b8a6, maar verdonkerd naar 11% lightness. Alle diepte-orbs en de bridge-gradient gebruiken nu dezelfde RGB-verhouding (G≈B, H≈174°).

v1.12
woensdag 20 mei 2026
01:34

Overgangszone loopt via de merkkleur teal

Polish

Bridge-gradient verrijkt met logo-teal doorheen de overgang

De brug tussen hero en pagina liep via neutraal grijs, zonder merkkleur.

v1.11
woensdag 20 mei 2026
01:32

Hero-achtergrond afgestemd op exacte hue van het merklogo

Polish

Achtergrondkleur gecorrigeerd naar ware teal van het logo

Eerdere #050d0b achtergrond had een groen-zwaar tint (G>B) die niet overeenkomt met de balanced teal van het Senly-logo.

v1.10
woensdag 20 mei 2026
01:30

Hero-gloed teruggebracht: subtiel en niet te fel

Polish

Teal-intensiteit verlaagd voor rustigere, premium uitstraling

Orb-1 opacity verlaagd van 0.42 naar 0.22, orb-4 van 0.10 naar 0.05. Teal is nu een zachte atmosferische hint op de donkere achtergrond — merkkleur aanwezig zonder opdringerig te zijn.

v1.09
woensdag 20 mei 2026
01:28

Alle blauw- en indigo-accenten vervangen door merkkleur teal

Polish

Hero en paginakleur volledig afgestemd op Senly-merkkleur

De hero-achtergrond (#050816) en gradient-accenten hadden een blauw/indigo tint die afweek van het teal-groene merklogo.

v1.08
woensdag 20 mei 2026
01:25

Hero-achtergrond: donker navy met één teal accent, geen groene waas

Polish

Hero-orbs opnieuw gebalanceerd: navy + één teal lichtpunt

Vijf teal/groene orbs tegelijk gaven een overweldigende groene waas die niet premium oogt.

v1.07
woensdag 20 mei 2026
01:22

Kleurpalet teruggebracht naar merkidentiteit (teal)

Polish

Alle niet-brand kleuren vervangen door teal-varianten

Hero-mesh en sectie-achtergronden bevatten indigo, violet en roze accenten die niet passen bij de teal merkidentiteit van Senly.

v1.06
woensdag 20 mei 2026
01:19

Premium overgang van donkere hero naar lichte pagina

Polish

Naadloze dark-to-light transitie tussen hero en content

De harde grens tussen de donkere hero (#050816) en de lichte pagina zag er slordig uit — eerdere pogingen met een overlay of donkere gradient in de trust-sectie maakten tekst onleesbaar of creëerden een vage grijze wolk.

v1.05
woensdag 20 mei 2026
01:09

Pagina-achtergrond verlevendigd met gradient-mesh door alle secties

Polish

Subtiele kleurgradiënten door de hele pagina

Pagina onder de hero was puur wit en saai.

v1.04
woensdag 20 mei 2026
00:59

Homepage hero: donkere gradient-mesh achtergrond met vivide kleuren

Polish

Hero-sectie volledig vernieuwd met animerend gradient-mesh

De hero-achtergrond zag er vlak en weinig indrukwekkend uit op een wit canvas.

v1.01
dinsdag 19 mei 2026
12:20

Landingspagina: support-widget met AI-bot, helpcentrum en medewerker-optie

Nieuwe functie

Support-widget op de landingspagina

De support-chat was alleen zichtbaar na inloggen in het portaal.

v1.00
dinsdag 19 mei 2026
02:55

Landing: scroll-jacked dashboard-tour sectie verwijderd

Polish

ZoomScene sectie verwijderd van de landingspagina

De scroll-jacked dashboard-tour (ZoomScene + DashboardTour) is volledig verwijderd uit de landing.

v0.99
dinsdag 19 mei 2026
02:42

Landing: dashboard-tour is nu pixel-perfecte 1:1 replica van het echte platform

Polish

Dashboard-tour exact nagebouwd als het echte Senly dashboard

De eerste versie gebruikte een donker dark-mode mockup dat nauwelijks leek op het echte platform.

v0.98
dinsdag 19 mei 2026
01:57

Landing: scroll-jacked dashboard-tour — wandel door je bureau-OS

Nieuwe functie

Scroll-in dashboard tour op de landing pagina

Bezoekers zagen het dashboard alleen klein in de hero — geen gevoel hoe het écht voelt om erin te werken.

v0.97
maandag 18 mei 2026
23:29

Support chat: AI focust op laatste vraag + handmatig scrollen werkt

Bug fix

AI gaf antwoorden op oude context ipv nieuwe vraag

De assistent kreeg alle 20 voorgaande berichten mee en raakte verward — als er ergens "dankjewel" stond reageerde hij met "graag gedaan" op een nieuwe vraag.

Bug fix

Chat scrolde automatisch terug naar beneden tijdens lezen

Elke 4 seconden polling sleepte je terug naar het einde van de chat — terugscrollen om iets opnieuw te lezen was onmogelijk.

v0.96
maandag 18 mei 2026
23:13

Support bot: nette opmaak met alinea's en vetgedrukte termen

Polish

Bot-berichten leesbaar opgemaakt

Antwoorden van de assistent kwamen als één muur van tekst met zichtbare asterisken (**term**) in plaats van vetgedrukte woorden.

v0.94
maandag 18 mei 2026
21:45

AI-assistent in de support-chat: directe antwoorden, optionele overdracht naar medewerker

Nieuwe functie

AI-chatbot beantwoordt support-vragen automatisch

Klanten moesten wachten op een handmatig antwoord terwijl de meeste vragen over standaard platformfuncties gaan.

Nieuwe functie

Overdracht naar medewerker op verzoek

Zodra een klant aangeeft een echte medewerker te willen ("verbind met medewerker"-knop of vrij getypte tekst), zet de bot de room in human mode en stuurt een bevestiging. De support-inbox toont het gesprek direct met een oranje "Medewerker gevraagd"-badge.

Polish

Typing-indicator en bot-avatar in de widget

Tijdens het genereren van een antwoord zijn drie bouncende stippen zichtbaar. Bot-berichten hebben een herkenbaar slotpictogram-avatar en worden gelabeld als "Assistent".

v0.92
maandag 18 mei 2026
11:12

Uitgebreide Launchpad met meer onboarding-stappen

Nieuwe functie

Meer onboarding-taken zodat bureaus het platform volledig kunnen benutten

De Launchpad is uitgebreid met taken voor social accounts koppelen, klantdossiers invullen, content plannen, eerste boeking ontvangen, e-mailcampagnes sturen en designs importeren. Completion wordt automatisch afgeleid uit de werkelijke database-state.

v0.91
maandag 18 mei 2026
11:04

Intro-animatie toont het eigen bureau-logo

Polish

Elk bureau ziet zijn eigen logo in de welkomst-animatie

De intro-animatie op de Launchpad gebruikt nu het logo uit de huisstijl-instellingen van het bureau. Heeft een bureau nog geen logo ingesteld, dan wordt het platform-logo getoond.

v0.89
maandag 18 mei 2026
10:54

Welkomst-animatie bij eerste bezoek aan Launchpad

Nieuwe functie

Logo-intro bij eerste keer openen van de Launchpad

Bij het allereerste bezoek aan de Launchpad speelt een korte animatie af: het logo verschijnt in het midden van het scherm met een persoonlijke begroeting, waarna het vloeiend wegglijdt. Daarna nooit meer te zien.

v0.87
maandag 18 mei 2026
10:44

Persoonlijke voorkeuren in Instellingen

Nieuwe functie

Klantenservice-chat aan/uit zetten in je eigen instellingen

De chat-knop rechtsonder stond altijd aan, ook voor admins die er geen behoefte aan hebben of een schoon scherm willen tijdens een demo.

Nieuwe functie

Compacte weergave voor wie meer info op één scherm wil

De standaard ruimere weergave is prettig voor grote schermen maar voelt voor power-users en laptops aan als verspilde ruimte.

Nieuwe functie

Uitleg-rondleidingen opnieuw bekijken met één klik

Zodra je een page-tour wegklikte was er geen makkelijke manier om hem opnieuw te starten — handig bij nieuwe teamleden of om iets te laten zien tijdens een demo.

Polish

Sectie "Metricool standaarden" weggehaald uit Instellingen

De drie velden over post-tijdstippen zaten verstopt in het algemene instellingen-paneel, terwijl dat eigenlijk een feature-specifieke setting is.

v0.86
maandag 18 mei 2026
10:43

Rollen-pagina toegevoegd aan beheer-menu

Polish

"Rollen" link in het admin-menu

Via het tandwiel-menu is er nu een directe link naar de rollen-pagina waar je aangepaste rollen kunt bekijken en verwijderen.

v0.85
maandag 18 mei 2026
10:33

Aangepaste rolnaam zichtbaar in gebruikerskaart

Bug fix

Badge toont nu de naam van de aangepaste rol

Gebruikers met een aangepaste rol (bijv. "op") kregen in de gebruikerslijst toch "Manager" te zien als rol-badge.

v0.84
maandag 18 mei 2026
10:25

Modal-titel hernoemd naar "Gebruiker toevoegen"

Polish

Gebruikers-modal heeft nu een generieke titel

De kop en eyebrow van de gebruiker-toevoegen-modal tonen nu "Nieuwe gebruiker" en "Gebruiker toevoegen" in alle talen, in plaats van de rol-specifieke "Nieuwe manager".

v0.82
maandag 18 mei 2026
10:12

Permissie-editor klapt breder open — alle labels leesbaar

Polish

Modal verbreedt automatisch in stap 2 van rol-aanmaken

Bij het kiezen van permissies voor een nieuwe rol braken de labels (bijv. "Klantenlijst en klantprofielen bekijken") over meerdere regels en werd de tekst afgekapt — moeilijk te zien welke rechten je precies gaf.

v0.81
maandag 18 mei 2026
10:10

Polish: lichter modal-kopje + duidelijker optioneel CRM-veld

Polish

Modal-titels in lichter, kleiner lettertype

De kop "Manager toevoegen" (en andere modal-titels) stond in een dik en groot heading-formaat — voelde zwaarder dan de rest van de UI.

Polish

Externe CRM-koppeling duidelijker gemarkeerd als optioneel

Het veld voor het koppelen aan een externe CRM-id stond zonder uitleg dat het optioneel is, en de hint verwees naar een externe tool bij naam — kon verwarrend zijn.

v0.79
maandag 18 mei 2026
09:58

Dashboard-aanpassen-knop alleen op het dashboard

Polish

"Aanpassen"-icoon in de topbar verschijnt alleen waar het werkt

De knop om widgets te verslepen stond op elke pagina in de topbar, ook waar het geen functie had — visuele ruis op pagina's buiten het dashboard.

v0.78
maandag 18 mei 2026
09:53

Aangepaste rol direct vanuit gebruiker-toevoegen flow

Polish

Custom rol maken zit nu in dezelfde flow als nieuwe gebruiker toevoegen

Custom rollen had een eigen menu-item, los van waar je ze daadwerkelijk gebruikt — bij het uitnodigen van een teamlid. Twee schermen, twee stappen, onnodige zoektocht.

Nieuwe functie

Bestaande custom rollen blijven herbruikbaar in dezelfde dropdown

Eenmaal aangemaakte rollen verschijnen automatisch als opties bij het uitnodigen of bewerken van volgende teamleden, zodat je een "Content-medewerker"- of "Junior setter"-rol kunt hergebruiken zonder telkens opnieuw permissies te configureren.

v0.77
maandag 18 mei 2026
09:39

Custom rollen met fijnmazige permissies

Nieuwe functie

Eigen rollen aanmaken naast Admin / Manager / Setter / Sales Manager

De vier system-rollen waren rigide — een teamlid dat wel content moet kunnen aanmaken maar niet bij financieel mag, of een junior setter zonder pipeline-rechten, was niet mogelijk zonder workarounds.

Nieuwe functie

Permissie-tree volgt module-structuur van het portaal

De catalog dekt Klanten, Taken, Financieel, Meetings, E-mail, Content & designs, CRM, Onboarding, Tools & AI, Rapporten, Team, Instellingen, Affiliate en Audit-log. Per module zijn specifieke acties (bekijken, aanmaken, bewerken, verwijderen, etc.) afzonderlijk in te schakelen.

v0.75
maandag 18 mei 2026
01:15

Launchpad-titel fontdikte gelijk aan Takenbeheer

Polish

Launchpad-titel gebruikt nu font-weight 500 (zelfde als Takenbeheer)

De Launchpad-titel had font-weight 700 (vet), terwijl Takenbeheer font-weight 500 gebruikt — visueel inconsistent.

v0.74
maandag 18 mei 2026
01:05

Launchpad-titel formaat gelijk aan Takenbeheer

Polish

Hero-tekst is nu compacter en heeft dezelfde dikte als andere overzichtpagina's

De vorige versie gebruikte een groter font, waardoor de letters zwaarder oogden dan op Takenbeheer of Statistieken. Launchpad gebruikt nu exact dezelfde formaat-clamp (30-40px) als die pagina's.

v0.73
maandag 18 mei 2026
01:00

Launchpad-titel matcht nu de andere hero-titels

Polish

Titel "Launchpad" krijgt dezelfde dikte als "Goedenavond" en andere hero-titels

De display-font Ciutadella rendert zonder expliciete font-weight en tight letter-spacing iets dunner. Launchpad gebruikt nu dezelfde styling (font-weight 700, letter-spacing -0.04em, line-height 1.05) als de andere koppen, dus 1 visuele lijn door het hele portaal.

v0.72
maandag 18 mei 2026
00:53

Launchpad — onboarding-checklist bovenaan de zijbalk

Nieuwe functie

Persoonlijke startlijst leidt nieuwe gebruikers door alle setup-stappen

Nieuwe gebruikers wisten niet welke instellingen ze moesten doen om het portaal volledig te benutten — huisstijl, eerste klant, e-mail-koppeling, agenda-integratie, 2FA, AI-sleutel, etc. Allemaal nuttig maar verspreid over verschillende pagina's.

Nieuwe functie

Eigen Launchpad per rol — setters zien geen huisstijl-taken

Admins krijgen alle 14 taken inclusief huisstijl, team-uitnodigen en integraties. Managers zien 9 taken zonder admin-only zaken. Appointment Setters krijgen 6 sales-gerichte taken (profiel, e-mail-koppeling, kalender, eerste lead). Sales Managers krijgen daar ook de pipeline-configuratie bij.

Nieuwe functie

Knop verdwijnt automatisch als alles klaar of overgeslagen is

Een taak die irrelevant voor jou is kun je per stuk overslaan. Zodra alle taken óf voldaan óf overgeslagen zijn, verdwijnt de Launchpad-menuknop uit de zijbalk en kun je hem later altijd nog rechtstreeks bezoeken via /launchpad om een taak weer aan te zetten.

v0.70
maandag 18 mei 2026
00:35

Zoek-paneel (Cmd+K) toont alle pagina's, scope volgt jouw rol

Nieuwe functie

Volledige sidebar-navigatie nu in het Cmd+K zoek-paneel

Het zoek-paneel (Cmd+K) toonde slechts 4 pagina's en miste de meeste recent toegevoegde modules zoals Meetings, CRM, Contentkalender, Onboarding, Affiliate, Updates en alle admin-secties.

Beveiliging

Zoek-resultaten respecteren rollen en permissies

Een setter of sales-manager zou via het zoek-paneel pagina's kunnen vinden die buiten zijn werkscope vallen (bv. Statistieken, Takenbeheer, Financieel).

v0.69
maandag 18 mei 2026
00:21

Eigen icoon voor Onboarding in de zijbalk

Polish

Onboarding-tab krijgt een raket-icoon

Het icoon van Onboarding was identiek aan dat van Takenbeheer (allebei een vinkje-in-een-vakje) — verwarrend bij hover.

v0.68
maandag 18 mei 2026
00:11

Changelog-pagina styling vanaf eerste pixel

Bug fix

Geen onge-stylede flits meer bij Cmd+R op de updates-pagina

Bij het openen of refreshen van de Updates-pagina zag je een halve seconde de ruwe inhoud zonder opmaak voordat de styling werd toegepast.

v0.67
maandag 18 mei 2026
00:04

Meetings-pagina styling vanaf eerste pixel

Bug fix

Geen onge-stylede flits meer bij Cmd+R op de Meetings-pagina

Bij een harde refresh zag je een halve seconde de Meetings-pagina zonder opmaak: blote knoppen, geen kalender-raster, geen kleuren. De pagina-styling werd pas na hydration ingeladen via een React-component.

v0.66
zondag 17 mei 2026
23:58

Tijdzone-dropdown in profiel netjes gestyled

Polish

Selects in Profiel volgen nu de huisstijl-styling

De tijdzone-dropdown gebruikte het standaard browser-uiterlijk en stak af tussen de strakke input-velden.

v0.65
zondag 17 mei 2026
23:55

Engelse tab-labels in Meetings vertaald

Polish

Meetings-pagina toont nu "Kalender" en "Instellingen" in plaats van Calendar / Settings

De tabbladen bovenaan de Meetings-pagina waren nog in het Engels — dat past niet bij de rest van de Nederlandse UI. Tekst is aangepast naar Kalender en Instellingen.

v0.64
zondag 17 mei 2026
23:53

Sidebar-tab "Kalender" omgedoopt naar "Contentkalender"

Polish

Duidelijker label voor de contentplanning-pagina

De zijbalk-tab heet voortaan Contentkalender in plaats van Kalender, zodat het verschil met Meetings (afspraken) direct duidelijk is. Ook vertaald in EN/DE/FR.

v0.63
zondag 17 mei 2026
23:43

Mail-preview, test-knop en verzender-keuze in Meetings

Nieuwe functie

Live preview van booking-mails terwijl je ze bewerkt

Bij het bewerken van een notificatie-mail (Afspraak geboekt, Herinnering, Annulering, etc.) moest je gokken hoe het eruit zou komen. De enige manier om het echt te zien was een echte boeking maken.

Nieuwe functie

Test-mail-knop verstuurt direct naar je eigen adres

Onder elke notificatie-bewerk-dialog staat een "Test verzenden"-knop. Eén klik en de mail (met je huidige conceptwijzigingen, mét [TEST]-prefix in het onderwerp) komt op je eigen mailbox aan. Geen echte boeking meer nodig om te checken.

Nieuwe functie

Verzender-keuze per calendar bij meerdere gekoppelde e-mailaccounts

Wie meerdere mailaccounts gekoppeld had, kon niet kiezen vanaf welk adres boekingsmails verstuurd werden — automatisch werd het eerst-gekoppelde adres gebruikt.

v0.62
zondag 17 mei 2026
22:47

Emojis in Meetings-instellingen vervangen door lijn-iconen

Polish

Strakkere settings-zijbalk met getekende symbolen

De emojis bij Calendars, Beschikbaarheid, Integraties en Branding zijn vervangen door minimalistische line-icons in dezelfde stijl als de hoofdnavigatie. De icoon-kleur volgt de tab-tekst zodat de actieve tab vanzelf in de huisstijl staat.

v0.61
zondag 17 mei 2026
22:42

Checkbox-kleur in de kalender volgt jouw huisstijl

Polish

Vinkjes naast kalender-types nemen je primary-color over

De checkboxes in de Calendars-zijbalk gebruikten de standaard browser-blauw. Ze volgen nu de accent-kleur die in je huisstijl is ingesteld.

v0.60
zondag 17 mei 2026
22:35

Dark/light flits weg bij Cmd+R

Bug fix

Light-mode wordt vanaf de eerste pixel toegepast

Wie het portaal in light-mode gebruikte zag bij een harde refresh kort een donkere versie verschijnen voordat het thema correct werd toegepast. De thema-keuze stond alleen in browser-opslag en de server kon dus niet weten welke variant te renderen.

v0.59
zondag 17 mei 2026
22:20

Logo flits ook weg bij refresh

Bug fix

Tenant-logo verschijnt direct in de sidebar, niet meer na een halve seconde

De huisstijl-kleuren werden al server-side gezet, maar het logo en de portaal-naam in de sidebar werden nog client-side opgehaald. Bij Cmd+R zag je daarom kort het standaard Senly-logo voordat jouw eigen logo verscheen.

v0.58
zondag 17 mei 2026
22:10

Huisstijl-flits ook weg in light-mode

Bug fix

Branding-kleuren werken nu in beide thema's vanaf de eerste paint

De vorige fix dekte alleen dark-mode af. Wie het portaal in light-mode gebruikte zag tóch nog de Senly-teal flits omdat de light-mode CSS-regels de tenant-overrides overrulen.

v0.57
zondag 17 mei 2026
21:59

Geen kleur-flits meer bij Cmd+R

Bug fix

Tenant-huisstijl wordt vanaf de eerste paint correct getoond

Bij een harde refresh zag je eerst kort de standaard Senly-kleuren voordat jouw eigen huisstijl ingeladen werd. Dat kwam omdat de kleuren pas na hydration via JavaScript werden gezet.

v0.56
zondag 17 mei 2026
21:47

Dashboard rendert direct correct — geen layout-flits meer

Bug fix

Cmd+R toont voortaan meteen je gepersonaliseerde dashboard

Bij een hard refresh zag je eerst kort de default-layout (en lege activiteiten-feed), daarna sprong het naar jouw gepersonaliseerde versie. De widget-volgorde, breedtes en hoogtes stonden alleen in de browser-opslag, dus de server kon ze niet rendereen.

v0.55
zondag 17 mei 2026
21:28

Volledige boekingslink + kopieer-knop per calendar

Nieuwe functie

Direct kopieerbare URL bij elke calendar-kaart

Op Meetings → Settings → Calendars zag je alleen een ingekort pad zoals /boek/.../slug. Om de echte link te delen moest je telkens een booking openen of de URL handmatig samenstellen.

v0.54
zondag 17 mei 2026
21:24

Meetings tonen ook tijden in jouw eigen tijdzone

Nieuwe functie

Booking-detail, dag- en maand-kalender en sync-tijden gebruiken jouw profiel-tijdzone

Tijden in de meetings-module volgden alleen de browser-tijdzone. Een gebruiker die in zijn profiel een andere tijdzone instelde, zag op de meeting-detailpagina nog steeds de browser-tijd — verwarrend als je in een andere zone werkt dan je laptop.

v0.53
zondag 17 mei 2026
21:11

Eigen tijdzone per gebruiker in je profiel

Nieuwe functie

Stel je tijdzone in via Mijn profiel

Iedereen kreeg Nederlandse tijden te zien — onlogisch voor collega's die in een andere tijdzone werken.

v0.52
zondag 17 mei 2026
17:32

Tijden weergeven in Amsterdam-tijdzone + opruiming logging

Bug fix

Changelog en activiteiten-feed tonen tijd in Amsterdam-tijdzone

Bij eerste page-load flikkerden tijden van UTC naar lokaal omdat server en browser verschillende tijdzones gebruikten.

Infra

Disk-write logging in LinkedIn-connector verwijderd

Elke aanroep schreef een regel naar /tmp/li-connector-debug.log — kon de schijf op de productie-server vol laten lopen.

v0.51
zondag 17 mei 2026
17:29

Video-downloader en hashtag-tool werken weer in productie

Bug fix

yt-dlp wordt nu correct gevonden op de productie-server

Twee tools verwezen naar een hardgecodeerd lokaal Mac-pad, waardoor ze op de Railway-server stil faalden.

v0.50
zondag 17 mei 2026
16:39

Changelog-verplichting permanent vastgelegd

Infra

Élke deploy verschijnt voortaan automatisch in de changelog

Interne projectregel zorgt ervoor dat geen update meer onopgemerkt blijft. Tijden komen direct uit het deploy-moment in plaats van handmatig.

v0.49
zondag 17 mei 2026
16:23

In-app notificaties voor meetings

Nieuwe functie

Bell-icoon toont nu meeting-events

Nieuw AppNotification model + helper. Booking-created/cancelled/rescheduled triggeren een melding bij de host. Volgt de channels.inApp toggle per meeting-type. Nieuwe POST /api/notifications endpoint voor mark-all-as-read.

v0.48
zondag 17 mei 2026
16:19

Outlook send, reschedule-mail, SMS/WhatsApp weg

Nieuwe functie

Outlook mail-send module via Microsoft Graph

lib/email/outlook.ts met sendEmail() via /me/sendMail + auto refresh-token rotation. sendFromHostAccount routeert nu naar Gmail, Outlook of IMAP afhankelijk van de gekoppelde EmailAccount.

Nieuwe functie

Reschedule + cancellation mails bij booking PATCH/DELETE

PATCH detecteert scheduledAt-wijziging en vuurt sendMeetingReschedule. PATCH+DELETE vuren sendMeetingCancellation bij status=cancelled.

Polish

SMS en WhatsApp channels uit de UI

Channels teruggebracht naar { email, inApp }. Voorkomt verwarrende toggles voor channels die nog niet aangesloten waren.

v0.47
zondag 17 mei 2026
15:34

Snellere slot-berekening

Snelheid

Externe busy-slots parallel ophalen + 30s cache

collectBusySlots() loopt nu via Promise.allSettled door alle providers parallel. Resultaten gecached per {userId,from,to} met 30s TTL + cache-covering zodat per-dag slots-calls binnen het eerder opgehaalde 60d-venster geen externe API-calls meer triggeren.

v0.46
zondag 17 mei 2026
15:19

Boekingspagina opent direct met slots

Nieuwe functie

Eerste beschikbare dag + tijdsloten in één call

Nieuw GET /api/meetings/availability/first-available scant tot 60 dagen vooruit, vindt eerste dag met slots, en retourneert beide in 1 respons. BookingPage gebruikt dit zodat de pagina direct met data verschijnt — geen wachtende kalender meer.

v0.45
zondag 17 mei 2026
15:10

Per-host booking branding

Nieuwe functie

Branding-tab in Meetings: logo, kleur, bedrijfsnaam

User-velden bookingLogoUrl/Color/Name. Nieuwe tab in /meetings settings met logo-upload, color picker en live preview. /boek/[user] gebruikt deze branding met fallback naar Tenant.

v0.44
zondag 17 mei 2026
14:45

Boekingspagina premium two-pane layout

Polish

Volledige redesign /boek/[user]/[slug]

Two-pane layout: links pane met logo/info, rechts pane in huisstijlkleur met tijdzone-pill, kalender + tijdsloten 50/50. Tenant-logo als favicon op de tab. Responsive: stack op mobiel.

v0.43
zondag 17 mei 2026
14:19

Notification edit-dialog met channel-tabs

Nieuwe functie

Klikken op edit-icoon opent modal met channel-tabs

Modal met E-mail/In-app tabs, "Ingeschakeld" toggle, recipients-sectie (Contact / Toegewezen gebruiker / Aanvullende e-mails). Bewerken per channel ipv inline uitklappen.

v0.42
zondag 17 mei 2026
14:02

Auto-accept boekingen + 5 notifications

Nieuwe functie

5 notification-types per meeting (Afspraak geboekt, Annulering, Verplaatst, Herinnering, Vervolg)

Lijst met channel-chips (E-mail / In-app) per notification. Klik edit-icoon voor subject + body + recipients per kanaal. requireApproval toggle verwijderd — alles wordt nu automatisch confirmed.

v0.41
zondag 17 mei 2026
13:57

Per-calendar mail-instellingen

Nieuwe functie

Custom onderwerp + bericht per meeting-type

MeetingType.emailConfig (JSON) met bevestiging/herinnering/annulering. Tokens: {{attendeeName}}, {{hostName}}, {{meetingTypeName}}, {{date}}, {{durationMinutes}}, {{meetingUrl}}. Cron-reminder respecteert nu per-type hoursBefore.

v0.40
zondag 17 mei 2026
13:15

Booking-mails vanaf gekoppeld mail-account host

Nieuwe functie

Bevestigingen, herinneringen en annuleringen via Gmail / IMAP

sendFromHostAccount-helper: gebruikt EmailAccount van de host (Gmail OAuth of IMAP/SMTP) om mails te versturen. Fallback op Resend noreply zonder gekoppeld account.

v0.39
zondag 17 mei 2026
13:04

Rebrand: Sylo → Senly

Polish

Volledige tekst-replace door codebase (93 bestanden)

Brand-namen, CSS-class prefixes, cookie-namen (senly_ref), DOM-events, Chrome-extensie protocol, email-templates en alle user-zichtbare teksten.

v0.38
zondag 17 mei 2026
12:55

Kies schrijf-agenda per kalender-koppeling

Nieuwe functie

Onder welke agenda komen nieuwe boekingen?

Per kalender-integratie (Google/Outlook/Apple) selecteer je welke sub-agenda boekingen ontvangt. createOutlookEvent gebruikt nu writeCalendarId (Google + Apple deden dit al).

v0.37
zondag 17 mei 2026
12:51

Sub-agenda selectie voor busy-detection

Nieuwe functie

Selecteer welke sub-agenda's meetellen voor beschikbaarheid

listGoogleCalendars/listOutlookCalendars/listAppleCalendars + checkboxes-modal. Alleen aangevinkte agenda's tellen mee voor busy-slots. Standaard: alles.

v0.36
zondag 17 mei 2026
12:39

Uitgebreide beschikbaarheid + calendar instellingen

Nieuwe functie

Tijdzone-selector, checkboxes per dag, datum-specifieke uren

AvailabilityPanel volledig herontworpen. Per dag aanvinken (was: handmatig slots toevoegen), tijdzone-dropdown, en datum-overrides voor vakantie/feestdag.

Nieuwe functie

Calendar-form uitgebreid met buffer + boekingsregels

Buffer voor/na, min. aanmeldtijd, max. vooruit boeken in het edit-formulier.

v0.33
zaterdag 16 mei 2026
23:38

E-mail toegankelijk voor setters en sales managers

Nieuwe functie

E-mail pagina zichtbaar voor appointment setter en sales manager rollen

hideForSales flag verwijderd van e-mail nav-item en isSalesRole redirect op /email/page.tsx verwijderd.

v0.31
zaterdag 16 mei 2026
23:30

Setter dashboard: hero-header met live KPI-chips

Polish

Setter dashboard header herontworpen in admin-stijl

Grote greeting met geaccentueerde naam, 4 live KPI-chips (open deals, meetings, calls, maandtarget) in de taskio-hero layout met fade-in animatie. Widget-tints versterkt van 4% naar 8% voor meer visuele diepte.

v0.30
zaterdag 16 mei 2026
22:38

Hotfix: Prisma deploy crash (ChatRoom updatedAt)

Bug fix

Railway deploy crash door NOT NULL updatedAt op ChatRoom

De nieuwe updatedAt kolom op ChatRoom was verplicht (NOT NULL) maar kon niet worden ingevuld voor de 8 bestaande rijen in productie. Prisma db push brak hierdoor en de service crashte.

v0.29
zaterdag 16 mei 2026
19:35

Team chat: meerdere groepen met members + auto-include rol

Nieuwe functie

Custom chat-groepen met eigen ledenlijst

Team chat had één vaste "Iedereen"-groep. Geen manier om bv. een aparte sales-team chat of een managers-only kanaal te maken.

Nieuwe functie

Auto-include op rol (admin-only)

Admin kan bij groep-creation een "auto-include rol" kiezen (alle setters / managers / sales managers). Users met die rol worden automatisch toegevoegd. Handig voor "Sales team" of "Management" groepen die altijd up-to-date moeten zijn.

Infra

Nieuwe Prisma-modellen: ChatRoom uitgebreid + ChatRoomMember

ChatRoom krijgt: description, color, createdBy, isSystem (true voor "Iedereen"), autoIncludeRole. Nieuwe ChatRoomMember many-to-many tabel met lastReadAt per-user-per-room voor ongelezen-tracking.

Infra

Chat API uitgebreid met groups-endpoints

/api/chat/groups (list + create), /api/chat/groups/[id] (read/update/delete), /[id]/members (add/remove), /[id]/messages (post), /[id]/poll (live updates per actieve room). Cross-tenant guards op alle endpoints via room.tenantId membership-check.

v0.26
zaterdag 16 mei 2026
19:10

Sales-dashboard + 4-rol permissions + meetings caching + externe agenda

Nieuwe functie

Configureerbaar sales-dashboard met 19 widgets in 5 categorieën

Setters en sales managers krijgen een eigen dashboard (vervangt TaskioDashboard voor hun rol). Registry-pattern met KPI tiles (7), Pipeline & deals (5), Activity & follow-up (3), Meetings (2), Team & performance (2). Picker-modal rechts opent slide-over met categorie-groepering en checkbox per widget. Persistence in localStorage per user.

Nieuwe functie

PermissionsExplainer toont nu 4 rollen

Admin / Manager / Setter / Sales Manager kolommen naast elkaar. Sales-rollen krijgen "Eigen" scope-badges waar ze gefilterd zijn op assignedTo. Nieuwe rijen voor CRM pipeline, Contacten, Activiteitenlog, Sales-rapportages, Meetings, Tools, Affiliate. Title: "Bevoegdheden per rol".

Nieuwe functie

Externe agenda-events tonen in /meetings

getAppleEvents / getGoogleEvents / getOutlookEvents helpers + nieuwe /api/meetings/calendar-events endpoint. Maand/Week/Dag view tonen iCloud/Google/Outlook events als dimmed grijs-gestreepte achtergrond-blokken naast Senly-bookings. Toggle "Externe events" in sidebar.

Snelheid

Stale-while-revalidate caching op /meetings

Telkens als je naar /meetings ging zag je 2-3s "Laden…" voor de calendar geladen werd, ook bij snelle terugkeer.

Polish

"Nieuwe manager" → "Nieuwe gebruiker" (4 talen)

Per rol counts blijven (admin/manager/setter/sales_manager) maar generieke labels zijn nu rol-neutraal: gebruiker / user / Benutzer / utilisateur.

v0.25
zaterdag 16 mei 2026
19:05

Bureau-OS uitbreiding: sales-rollen + complete CRM

Nieuwe functie

Twee nieuwe rollen: Appointment Setter + Sales Manager

User.role uitgebreid (geen DB-migratie nodig, is een string). lib/permissions.ts: nieuwe predicates + permissions matrix + crmScopeWhere() helper voor own-scope filtering + page-gates. Sidebar verbergt bureau-pagina's (Onboarding/Email/Statistieken/Trends/Takenbeheer) voor sales-rollen. Sales-rollen krijgen eigen dashboard via rol-branched home-page (skipt onnodige bureau-data fetching).

Nieuwe functie

CRM omgebouwd naar 4-tab layout

Pipeline (bestaande kanban) / Contacten (nieuwe view) / Activiteit / Rapportages. Tab in URL-hash zodat refresh + deeplinks werken.

Nieuwe functie

Aparte Contacten-tabel (1 bedrijf, meerdere deals)

Nieuw CrmContact model + CrmLead.contactId FK. API: /api/crm/contacts CRUD met sales-scope. UI: grid van contact-cards + zoek + "+Nieuw contact" + slide-over detail-paneel met edit-mode + social links + gekoppelde deals lijst.

Nieuwe functie

CRM Activiteitenlog met auto-logging

Nieuw CrmActivity model + lib/crm-activity.ts write-only logger. Auto-events op alle mutaties: lead_created/moved/status_changed/assigned/note/value/deleted, contact_created/updated/deleted, touchpoint. Tijdlijn-UI per dag gegroepeerd met type-iconen + natural-language sentences. Type-filter + zoek. Sales-scope auto-filter.

Nieuwe functie

CRM Rapportages-tab

6 KPI-tiles (pipeline-waarde, gewonnen omzet, conversie, gem. dealwaarde, meetings, verloren), pipeline funnel met per-stage kleur, performance-tabel top 20, trend-charts (won/created per maand). Period-filter 7d/30d/90d/YTD/All.

Nieuwe functie

Touchpoint quick-action overal

Nieuw TouchpointQuickAction component met kind-selector (call/whatsapp/email/meeting/note) + summary. Ingebed in CrmBoard lead-modal én CrmContactsView. Schiet POST /api/crm/activities → updaten lastContactAt op lead + contact automatisch.

Nieuwe functie

Last-contact badge in lead-cards

Pill per lead-card: warm (≤3d, groen) / mid (4-14d, amber) / cold (>14d, grijs). Visuele cue welke deals aandacht nodig hebben.

Nieuwe functie

Maandtarget per sales-user

User.salesTargetMonthly veld. UserModal toont input alleen bij sales-rollen. Progress-ring op sales-dashboard met kleur-shift good/mid/low.

Infra

Backfill-script voor bestaande CRM-leads

scripts/backfill-crm-contacts.ts — clustert leads op tenant + companyName/email naar nieuwe Contact-records. Dry-run default, --apply om door te voeren. Idempotent.

v0.22
zaterdag 16 mei 2026
15:00

Status-badges + bulk-koppel pagina voor 20+ klanten in één scherm

Nieuwe functie

Live connection-status per platform op klantprofiel

Na koppelen wist je niet of cookies nog geldig waren — pas bij de eerstvolgende automation-run kwam je erachter dat de sessie was verlopen.

Nieuwe functie

Bulk-koppel pagina: alle klanten × platforms in één overzicht

Voor bureaus met 20+ klanten was per-klant navigeren tijdrovend. Onboarding voor een nieuw bureau betekende 80+ kliks door 4 platforms × 20 klanten.

Nieuwe functie

Cookie-status helper detecteert verlopen sessies proactief

lib/cookie-status.ts kijkt naar de expirationDate van key-cookies per platform (li_at voor LinkedIn, c_user+xs voor FB, sessionid voor TikTok/IG). State = connected/expiring (≤7d)/expired/never_connected. Geen HTTP-calls naar het platform nodig — 100% gratis en snel.

Polish

Sidebar: nieuwe "Social accounts" link voor admin/manager

Tussen Activiteiten en Affiliate verschijnt nu een Social accounts icoon (ketting-symbool) dat naar de bulk-koppel pagina linkt. NL/EN translations toegevoegd.

v0.21
zaterdag 16 mei 2026
13:30

Senly Connector — social media accounts veilig koppelen zonder wachtwoorden

Nieuwe functie

Chrome-extensie "Senly Connector" voor account-koppeling

Bureau-eigenaren moesten Instagram/Facebook/LinkedIn/TikTok accounts van hun klanten koppelen door op de server een Chrome-venster te laten openen (Puppeteer headless: false). Dat werkte alleen lokaal op een Mac met Chrome geïnstalleerd — niet op Railway, en niet voor team-leden vanaf hun eigen laptop.

Nieuwe functie

Batch-koppel: per klantprofiel "Verbind" knop met automatische klant-binding

Bij 20 klanten × 4 platforms = 80 koppelingen moesten in de oude flow allemaal handmatig met user/password worden gedaan — error-prone en risicovol vanwege 2FA, CAPTCHAs en datacenter-IP bans.

Infra

Puppeteer naar headless mode + cross-platform Chrome-detectie

De 4 grote Puppeteer features (Facebook inviter, LinkedIn inviter, LinkedIn connector, TikTok groeitool) draaiden met headless: false en hardcoded macOS Chrome-paden. Onbruikbaar op Railway.

Beveiliging

Cookie-vault met AES-256-GCM + tenant-scoping

Eerder werden cookies als JSON-bestanden op disk opgeslagen (cookieFile). Op Railway (ephemeral filesystem) overleefden ze geen deploy, en zonder encryptie waren ze gevoelig voor data-breach.

v0.20
zaterdag 16 mei 2026
11:00

Klantprofiel premium polish + CRM/Onboarding Scholarly bento

Polish

Platform automation cards op klantprofiel maximaal premium

Card 24px radius, 5-laagse shadow met inset white highlight, 4px brand-accent strip bovenaan met 30px blur-glow (Instagram tri-color, TikTok cyan/rood, etc.), 44px icons met glow, premium CTA buttons met accent gradient + lift on hover. 200px min-height voor visueel ritme.

Nieuwe functie

CRM + Onboarding: Scholarly bento-stijl kanban met gekleurde cards

Gekleurde card-achtergronden per kolom-tone (rotating pink/lavender/yellow/mint/gray pastels), colored dots, subject-pill bovenaan elke card, "+ Toevoegen" knop verhuisd naar bovenaan met dashed border. Cleaner column headers met 02-style count badges.

Polish

8 pagina edge-distance uniform aan Financieel (max-width 100%)

Tools, Takenbeheer, Statistieken, CRM, Onboarding, Eigenaar overzicht, Activiteiten en Affiliate gebruiken nu allen max-width: 100% voor consistente brede content-area zoals Financieel, ipv de standaard 1320px container.

Polish

Header profile-chip 24% compacter

Avatar 42→32px, naam 15→13px, role 11.5→10.5px, badges 15→12px. Verified-badge en account-dot proportioneel kleiner met dunnere border.

v0.19
zaterdag 16 mei 2026
09:00

Statistieken bento-herindeling + tools iconen wit + featured card fix

Nieuwe functie

Statistieken: 4-sectie bento layout (Health/Klanten/Team/Systeem)

4 logische groepen op urgentie/doel met 6-koloms bento-grid en variabele card-groottes (span-2/3/4/6). Featured "Op tijd geleverd" card met accent gradient + meter-visualisatie. Activiteit-sectie weggehaald (er is een aparte /activiteiten pagina). 3 nieuwe inzichten: klant-groei trend (12 mnd), klanten met achterstand, inactiviteits-risico met gekleurde border-lefts per stilte-niveau.

Bug fix

Tools-pagina platform-iconen: outline én filled werken correct in wit

Instagram outline-camera werd een wit blok omdat een eerdere fix fill: currentColor !important op ALLE SVG-elementen forceerde, waardoor de rect-outline gevuld werd ipv geöutline.

Bug fix

Featured card op statistieken: inner-rectangle artifact opgelost

Bestaande .stats-card::before regel rendert een 1px inset border in elke stats-card. Op witte cards onzichtbaar maar op de groene gradient van de "Op tijd geleverd" featured card als donkere inner rectangle zichtbaar.

Bug fix

Trends pagina dark mode parity

Title was 32px in dark mode (oude default) en 28px in light mode (nieuwe Taskio styling). Structurele typografie-regels stonden alleen onder html[data-theme="light"].

Nieuwe functie

E-mail pagina: stale-while-revalidate cache + refresh-knop

Module-cache + localStorage zorgt dat bij terugkomst op /email de laatste threads direct getoond worden, terwijl op de achtergrond geverifieerd wordt. Refresh-knop rechts naast map-titel met spin-animatie. Polling + post-actie refreshes zijn nu silent (geen skeleton flash meer).

v0.18
donderdag 14 mei 2026
22:07

Externe images in mails laden nu altijd

Bug fix

Broken-image-icoon bij Cloudinary, Stripe en andere CDNs opgelost

Iframe srcDoc heeft een opaque origin — de browser stuurt geen Referer-header, en veel CDNs (Cloudinary, Stripe-images) blokkeren image-requests zonder Referer als anti-hotlinking maatregel. Resultaat: complete=true, naturalWidth=0 en een broken-icoon zichtbaar.

v0.17
donderdag 14 mei 2026
21:48

Mail 4-5× sneller + skeleton state tijdens laden

Snelheid

IMAP connection pool — mail-opens van 2.5s naar 500ms

Bij elke mail-klik werd een nieuwe IMAP-verbinding opgezet (TLS-handshake + LOGIN, ~1-1.5s overhead). Daarbovenop werden 12 mail-folders sequentieel doorzocht voor een thread, ook als de mail geen reply-chain had.

Polish

Skeleton-state tijdens image preload

Bij het openen van een mail met externe images zag je 500ms-1s broken-image-icons voordat ze vanuit het netwerk binnenkwamen.

v0.15
donderdag 14 mei 2026
20:40

Platform-tab + kalender visuele fixes

Polish

Compacte rood/groene aan/uit-switches

De Onderhoudsmodus en Aankondigingsbanner toggles waren 466px brede grijze balken — ze namen .platform-toggle styling over die voor periode-selectors bedoeld was.

Bug fix

Kalender gridlijnen weer zichtbaar in light mode

De gridlijnen tussen uren en dagen in de week-view waren verdwenen omdat de --border CSS-variabele in light mode te licht was (alpha 0.09). Visueel oplosbaar tegen witte cellen.

v0.13
donderdag 14 mei 2026
17:48

Light mode polish + chat avatar centering

Polish

Cyan undertone op KPI/dash cards verwijderd

In light mode had de card-achtergrond een mint-tint (#fafdfc) en schaduw bevatte rgba(12,36,34,0.04..0.07) — beide gaven een onbedoelde cyan undertone die als "blauw randje" werd waargenomen, zelfs voor brand-kleuren als pink.

Bug fix

Meldingen-bolletje rechts naast bedrijfsnaam

De .notif-item grid had 2 kolommen [icon | body] maar 3 children (icon + body + unread-dot). Resultaat: de dot viel naar rij 2 / kolom 1, recht onder het icoon.

Polish

Support chat + team chat avatar gecentreerd met naam

Avatar (24-32px) stond top-aligned naast een korte naam-regel (~14px), waardoor de avatar visueel veel lager doorliep dan de naam.

Bug fix

Team chat bubble zichtbaar in light mode

Bubble background was rgba(255,255,255,0.07) — werkt op donkere achtergrond, maar op witte light-mode achtergrond onzichtbaar.

v0.11
donderdag 14 mei 2026
16:39

Team chat & support chat fixes

Bug fix

Team chat overlapt sidebar niet meer

Het chat-paneel werd gerenderd binnen een `aside` element met position:sticky — daardoor zat het visueel verstopt achter de sidebar in light mode.

Bug fix

Group chat toont nu groepsberichten ipv support chat

De backend nam de eerste room van de tenant — vaak de __support__ 1-op-1 room ipv de "Iedereen" groepschat.

Bug fix

Modal "Stuur naar Metricool" zichtbaar over topbar

Topbar had hogere z-index dan modals, waardoor het bovenstuk van modals achter de topbar verdween.