7 Commits
Author SHA1 Message Date
blandClaude Opus 5.5 73a03286fe Innloggede blir ikke spurt om navn og e-post
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 11:46:58 +02:00
blandClaude Opus 5.5 09a8af04e2 Innlogget-linjen på samme linje som ordmerket
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 11:38:33 +02:00
blandClaude Opus 5.5 7e2921f6b8 Hvem består Klingenberg Bygg av? som egen side; Hvordan presenterer du deg?
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 21:52:30 +02:00
blandClaude Opus 5.5 894d313dc4 Bioen kan skrives i markdown
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 21:39:01 +02:00
blandClaude Opus 5.5 fdae293834 Et kort som er tatt ned, forsvinner fra kontorets liste etter ti minutter
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 20:50:47 +02:00
blandClaude Opus 5.5 c67160b6ff Hver ansatt retter sitt eget kort på forsiden
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 20:39:28 +02:00
blandClaude Opus 5.5 473826aad6 Søknad på pause: kortet står, uten skjema
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 20:11:31 +02:00
11 changed files with 222 additions and 71 deletions

No files matched your search

+14
View File
@@ -6,9 +6,23 @@ aggregates:
event: received event: received
sluttet: sluttet:
event: sluttet event: sluttet
leaves_after:
minutes: 10
transitions: transitions:
open: open:
- sluttet - sluttet
- bucket: erfaringer
initial: open
states:
open:
event: received
fjernet:
event: fjernet
leaves_after:
minutes: 10
transitions:
open:
- fjernet
- bucket: leveranser - bucket: leveranser
initial: open initial: open
states: states:
+10 -3
View File
@@ -106,15 +106,22 @@ h1, h2, h3 {
opacity: 1; opacity: 1;
} }
/* Who is here sits on the bar's line, at the page's right edge. */ /* Who is here sits on the wordmark's line, at the page's right edge. */
.session { .session {
top: 1.75rem;
right: max(1.5rem, calc((100vw - var(--measure)) / 2 + 1.5rem));
font-family: var(--heading); font-family: var(--heading);
font-weight: 500; font-weight: 500;
font-size: 0.85rem; font-size: 0.85rem;
} }
.hero-top {
justify-content: space-between;
}
.hero-top .session {
position: static;
transform: none;
}
.slideshow { .slideshow {
--swiper-navigation-size: 1.6rem; --swiper-navigation-size: 1.6rem;
background: var(--line); background: var(--line);
+35 -2
View File
@@ -89,6 +89,7 @@ needs:
i_arbeid: søknad under arbeid i_arbeid: søknad under arbeid
levert: søknad levert levert: søknad levert
avslatt: avsluttet uten oppdrag avslatt: avsluttet uten oppdrag
paused: true
- id: leveranse - id: leveranse
who: kontoret, når en rapport, tegninger eller et vedtak er klart til kunden who: kontoret, når en rapport, tegninger eller et vedtak er klart til kunden
wants: at kunden får dokumentet og vet at det ligger der wants: at kunden får dokumentet og vet at det ligger der
@@ -110,10 +111,10 @@ needs:
arkivert: arkivert arkivert: arkivert
enters_as: kontor enters_as: kontor
- id: ansatt - id: ansatt
who: kontoret, når noen begynner hos oss eller skal ha nytt portrett who: en av oss på kontoret, som vil vise hvem hen er og hva hen kan
wants: at den som vurderer oss ser hvem som gjør jobben wants: at den som vurderer oss ser hvem som gjør jobben
enters: /kontor/ansatt enters: /kontor/ansatt
via: Legg inn en ansatt via: Kortet ditt
lands_in: ansatte lands_in: ansatte
handled_by: kontor handled_by: kontor
stages: stages:
@@ -129,6 +130,26 @@ needs:
open: vises på forsiden open: vises på forsiden
sluttet: sluttet sluttet: sluttet
enters_as: kontor enters_as: kontor
- id: erfaring
who: en av oss på kontoret, når et oppdrag er verdt å vise fram
wants: at den som vurderer oss ser hva vi har gjort
enters: /kontor/erfaring
via: Et oppdrag med bilde
lands_in: erfaringer
handled_by: kontor
stages:
- open
- fjernet
done_when:
- fjernet
success:
- fjernet
max_steps: 1
max_fields: 3
stage_words:
open: vises
fjernet: fjernet
enters_as: kontor
personas: personas:
- id: kommune-skole - id: kommune-skole
need: tilstand need: tilstand
@@ -151,4 +172,16 @@ personas:
- id: ansvarsrett - id: ansvarsrett
need: soknad need: soknad
text: Vi har prosjektert ombyggingen selv, men mangler noen med ansvarsrett som kan stå for søknaden. text: Vi har prosjektert ombyggingen selv, men mangler noen med ansvarsrett som kan stå for søknaden.
- id: rapport-klar
need: leveranse
text: Tilstandsrapporten til borettslaget er ferdig. Jeg vil at styreleder skal få den og vite at den ligger der.
- id: ny-hos-oss
need: ansatt
text: Jeg har nettopp begynt hos Klingenberg Bygg og vil at kundene skal se hvem jeg er og hva jeg kan.
- id: nytt-portrett
need: ansatt
text: Portrettet mitt på forsiden er fra da jeg begynte. Jeg vil bytte det uten å skrive alt det andre på nytt.
- id: brannstasjonen
need: erfaring
text: Brannstasjonen i Ytre Enebakk står ferdig, og vi har gode bilder fra fundamenteringen. Den vil jeg vise fram.
tones: [] tones: []
+47
View File
@@ -0,0 +1,47 @@
name: Hvem består Klingenberg Bygg av?
description: Menneskene som gjør jobben, oppdragene vi har gjort, og det vi står for.
responsible:
name: Fredrik Borch Lynghaug
contact: fredrik@klingenbergbygg.no
alternatives:
- name: Menneskene
description: De som går befaringene, skriver rapportene og står for søknadene.
features:
- name: ''
description: ''
resource:
source:
kind: kv
bucket: ansatte
public: true
states:
- open
empty: Snart presenterer vi oss her.
jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {name: .name, rolle: .rolle, erfaring: .erfaring, portrett: .portrett}'
- name: Erfaringer
description: Et utvalg oppdrag, med bilder.
features:
- name: ''
description: ''
resource:
source:
kind: kv
bucket: erfaringer
public: true
states:
- open
empty: Snart viser vi fram oppdrag her.
jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, bilde: .bilde, om: .om}'
- name: Verdier
description: Det vi står for.
features:
- name: Mål to ganger
description: Vi måler to ganger og skriver én gang. Det gjelder betong, og det gjelder rapporter.
icon: lucide:ruler
- name: Bygget først
description: Et bygg bryr seg ikke om hvem som har rett. Vi skriver det bygget trenger, ikke det som er lettest å si.
- name: Ingen overraskelser i veggen
description: Det vi finner, får du vite. Også sprekkene.
icon: lucide:search
- name: Vannet finner en vei
description: Vannet finner alltid en vei. Derfor leter vi etter den først.
+10 -47
View File
@@ -12,22 +12,10 @@ alternatives:
- name: Prosjekt og søknad, med ansvarsrett - name: Prosjekt og søknad, med ansvarsrett
description: 'Vi lager arbeidsbeskrivelse opp mot [NS 3420](https://standard.no/fagomrader/ns-3420-/) og fremdriftsplan, og utarbeider byggesøknaden. Vi har sentral [godkjenning](https://sgregister.dibk.no/enterprises/976015711) innen flere fagområder og kan stå med det offentligrettslige ansvaret. Samarbeidspartner: [Westra Engineering AS](https://www.westra-engineering.no/).' description: 'Vi lager arbeidsbeskrivelse opp mot [NS 3420](https://standard.no/fagomrader/ns-3420-/) og fremdriftsplan, og utarbeider byggesøknaden. Vi har sentral [godkjenning](https://sgregister.dibk.no/enterprises/976015711) innen flere fagområder og kan stå med det offentligrettslige ansvaret. Samarbeidspartner: [Westra Engineering AS](https://www.westra-engineering.no/).'
- name: Hvem består Klingenberg Bygg av? - name: Hvem består Klingenberg Bygg av?
description: Mennesker, verdier og erfaringer. description: Mennesker, erfaringer og verdier.
features: action: /hvem
- name: Erfaringene consequence:
description: Skoler i drift, brannstasjoner, omsorgsboliger, kantina på Det Norske Teatret og en Munch-eiendom på Hvitsten. Vi har gått over, prosjektert og fulgt opp bygg for kommuner, borettslag, bedrifter og private, fra borprøver i gammel mur til kunstgress på Fredrikstad stasjon. - Bli kjent med oss
- name: Menneskene
description: De som går befaringene, skriver rapportene og står for søknadene.
icon: lucide:users
resource:
source:
kind: kv
bucket: ansatte
public: true
states:
- open
empty: Snart presenterer vi oss her.
jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {name: .name, rolle: .rolle, erfaring: .erfaring, portrett: .portrett}'
- name: Få kartlagt byggets tilstand - name: Få kartlagt byggets tilstand
description: Vi utarbeider tilstandsrapporter som representerer bygget med hensyn til fremtidige mål. description: Vi utarbeider tilstandsrapporter som representerer bygget med hensyn til fremtidige mål.
action: /received/tilstand action: /received/tilstand
@@ -47,10 +35,12 @@ alternatives:
label: Navn label: Navn
type: text type: text
placeholder: Navn placeholder: Navn
value: '{user.name}'
- name: email - name: email
label: E-post label: E-post
type: email type: email
placeholder: bruker@eksempel.no placeholder: bruker@eksempel.no
value: '{user.email}'
- name: telefon - name: telefon
label: Telefon label: Telefon
type: tel type: tel
@@ -103,10 +93,12 @@ alternatives:
label: Navn label: Navn
type: text type: text
placeholder: Navn placeholder: Navn
value: '{user.name}'
- name: email - name: email
label: E-post label: E-post
type: email type: email
placeholder: bruker@eksempel.no placeholder: bruker@eksempel.no
value: '{user.email}'
- name: telefon - name: telefon
label: Telefon label: Telefon
type: tel type: tel
@@ -133,11 +125,11 @@ alternatives:
encouragements: encouragements:
- Gi det beste grunnlaget for utførelse. - Gi det beste grunnlaget for utførelse.
- name: Ta det første spadetaket med en godkjent søknad - name: Ta det første spadetaket med en godkjent søknad
description: Er bygget ferdig prosjektert, kan vi utarbeide en byggesøknad og utførelsesbeskrivelse for offentlig godkjenning. description: Er bygget ferdig prosjektert, kan vi utarbeide en byggesøknad og utførelsesbeskrivelse for offentlig godkjenning. Akkurat nå har vi ikke kapasitet til nye søknadsoppdrag; vi åpner igjen så snart vi kan.
action: /received/soknad action: /received/soknad
consequence: consequence:
- Send henvendelse - Send henvendelse
record_as: soknader disabled: true
features: features:
- name: Slik går det videre - name: Slik går det videre
description: Vi går gjennom det du har, avtaler befaring eller forhåndskonferanse, og sender deg et tilbud. Du sier selv ja eller nei, og med et ja får du en innlogging der du følger søknaden og henter dokumentene. description: Vi går gjennom det du har, avtaler befaring eller forhåndskonferanse, og sender deg et tilbud. Du sier selv ja eller nei, og med et ja får du en innlogging der du følger søknaden og henter dokumentene.
@@ -145,35 +137,6 @@ alternatives:
- name: Hvem leser dette - name: Hvem leser dette
description: Fredrik på kontoret leser henvendelsen og tar kontakt. Du når ham også på fredrik@klingenbergbygg.no. description: Fredrik på kontoret leser henvendelsen og tar kontakt. Du når ham også på fredrik@klingenbergbygg.no.
icon: lucide:users icon: lucide:users
- name: Om tiltaket
requirements:
- name: name
label: Navn
type: text
placeholder: Navn
- name: email
label: E-post
type: email
placeholder: bruker@eksempel.no
- name: telefon
label: Telefon
type: tel
optional: true
placeholder: Telefonnummer
- name: adresse
label: Hvor ligger eiendommen?
type: text
placeholder: Adresse
- name: tiltak
label: Hva går tiltaket ut på?
type: textarea
placeholder: Tilbygg, ombygging, nybygg…
- name: tegninger
label: Tegninger og prosjektering
type: file
optional: true
description: Hva skal bygges, og hvor. Avhengig av størrelsen kan vi holde forhåndskonferanse med kommunen først.
icon: lucide:file-text
encouragements: encouragements:
- Nesten som å ha gravemaskin! - Nesten som å ha gravemaskin!
slideshow: slideshow:
+4 -4
View File
@@ -1,8 +1,8 @@
name: Lagt ut name: Kortet ditt er lagret
description: Den ansatte vises nå blant menneskene på forsiden. description: Slik står du nå på forsiden.
alternatives: alternatives:
- name: Skal noen ned igjen? - name: Vil du endre noe?
description: 'Trykk «Tatt av forsiden» på raden deres i listen over ansatte på kontoret. Nytt portrett: legg personen inn på nytt, og ta den gamle raden av.' description: 'Åpne «Hvordan presenterer du deg?» igjen: kortet ditt er fylt ut med det du har, og det du lagrer erstatter det.'
- name: Se alle ansatte - name: Se alle ansatte
description: '' description: ''
action: /status/ansatte action: /status/ansatte
+12 -12
View File
@@ -1,24 +1,24 @@
followup: false followup: false
name: Hvem skal vises på forsiden? name: Hvordan presenterer du deg?
description: '' description: Det du skriver her, står på kortet ditt blant menneskene på forsiden.
responsible: responsible:
name: Fredrik Borch Lynghaug name: Fredrik Borch Lynghaug
contact: fredrik@klingenbergbygg.no contact: fredrik@klingenbergbygg.no
alternatives: alternatives:
- name: Legg inn en ansatt - name: Kortet ditt
description: Navn, rolle, erfaring og portrett. Den ansatte vises på forsiden så snart du sender. description: Rett det du vil og lagre. Du har ett kort, og det du lagrer erstatter det som står der nå.
action: /kontor/ansatt-sent action: /kontor/ansatt-sent
consequence: consequence:
- Legg ut - Lagre kortet
record_as: ansatte record_as: ansatte
features: features:
- name: Hva skjer så - name: Når du lagrer
description: Personen vises på forsiden til du tar dem av igjen fra kontoret. description: Kortet ditt på forsiden endres med en gang.
icon: lucide:route icon: lucide:route
- name: Hvem ser det - name: Hvem ser det
description: Alle som besøker siden. Portrettet vises som det er, så velg et bilde du er fornøyd med. description: Alle som besøker siden. Navnet ditt er det du er logget inn med.
icon: lucide:users icon: lucide:users
- name: Den ansatte - name: Kortet ditt
requirements: requirements:
- name: name - name: name
label: Navn label: Navn
@@ -31,10 +31,10 @@ alternatives:
- name: erfaring - name: erfaring
label: Erfaring label: Erfaring
type: textarea type: textarea
placeholder: Utdanning, fagområder, år i faget, bygg du er stolt av placeholder: Utdanning, fagområder, bygg du er stolt av. Du kan skrive **fet**, *kursiv*, lister med - og [lenker](https://…).
- name: portrett - name: portrett
label: Portrett label: Portrett
type: file type: file
accept: image/jpeg,image/png,image/webp accept: image/jpeg,image/png,image/webp
placeholder: Et stående bilde, gjerne tatt i dagslys placeholder: Et stående bilde, gjerne tatt i dagslys. Velger du ikke noe nytt, beholder du det du har.
icon: lucide:user-plus one_per_person: true
+10
View File
@@ -0,0 +1,10 @@
name: Oppdraget vises nå
description: Det står blant erfaringene på «Hvem består Klingenberg Bygg av?».
alternatives:
- name: Skal det ned igjen?
description: Trykk «Fjern» på raden i listen over erfaringer her på kontoret. Det forsvinner fra listen ti minutter etter.
- name: Se alle erfaringer
description: ''
action: /status/erfaringer
consequence:
- Åpne
+35
View File
@@ -0,0 +1,35 @@
followup: false
name: Hvilket oppdrag vil du vise fram?
description: Det du legger inn her, står blant erfaringene på «Hvem består Klingenberg Bygg av?».
responsible:
name: Fredrik Borch Lynghaug
contact: fredrik@klingenbergbygg.no
alternatives:
- name: Et oppdrag med bilde
description: Et bilde og noen løse ord om hva vi gjorde. Det vises med en gang.
action: /kontor/erfaring-sent
consequence:
- Vis fram
record_as: erfaringer
features:
- name: Når du sender
description: Oppdraget vises blant erfaringene med en gang, til noen på kontoret fjerner det.
icon: lucide:route
- name: Hvem ser det
description: Alle som besøker siden. Skriv ikke noe om kunden de ikke ville lest selv.
icon: lucide:users
- name: Oppdraget
requirements:
- name: tittel
label: Hva var det?
type: text
placeholder: 'For eksempel: Brannstasjonen i Ytre Enebakk'
- name: bilde
label: Bilde
type: file
accept: image/jpeg,image/png,image/webp
placeholder: Et bilde fra oppdraget, gjerne liggende
- name: om
label: Noen ord om det
type: textarea
placeholder: Hva vi gjorde, og hva som var verdt å gjøre skikkelig. **Fet**, *kursiv*, lister og lenker går an.
+25 -3
View File
@@ -5,7 +5,7 @@ responsible:
contact: fredrik@klingenbergbygg.no contact: fredrik@klingenbergbygg.no
alternatives: alternatives:
- name: Ansatte på forsiden - name: Ansatte på forsiden
description: Menneskene slik besøkende ser dem. description: Menneskene slik besøkende ser dem. Hver retter sitt eget kort; herfra kan et kort tas ned.
action: /kontor action: /kontor
consequence: consequence:
- Bekreft - Bekreft
@@ -21,6 +21,23 @@ alternatives:
- from: open - from: open
to: sluttet to: sluttet
label: Tatt av forsiden label: Tatt av forsiden
- name: Erfaringer
description: Oppdragene slik besøkende ser dem.
action: /kontor
consequence:
- Bekreft
features:
- name: Erfaringer
description: Hver rad er ett oppdrag som vises nå.
resource:
source:
kind: kv
bucket: erfaringer
requires_group: kontor
transitions:
- from: open
to: fjernet
label: Fjern
- name: Leverte dokumenter - name: Leverte dokumenter
description: Rapporter, tegninger og vedtak som er sendt til kunder. description: Rapporter, tegninger og vedtak som er sendt til kunder.
action: /kontor action: /kontor
@@ -148,11 +165,16 @@ alternatives:
action: /kontor/leveranse action: /kontor/leveranse
consequence: consequence:
- Ny leveranse - Ny leveranse
- name: Legg inn en ansatt - name: Hvordan presenterer du deg?
description: Navn, rolle, erfaring og portrett, rett ut på forsiden. description: 'Kortet ditt på forsiden: rolle, erfaring og portrett.'
action: /kontor/ansatt action: /kontor/ansatt
consequence: consequence:
- Åpne - Åpne
- name: Hvilket oppdrag vil du vise fram?
description: Et bilde og noen løse ord, blant erfaringene.
action: /kontor/erfaring
consequence:
- Åpne
- name: Gi en kollega tilgang - name: Gi en kollega tilgang
description: De får en konto og plass på kontoret, og ser de samme sakene som deg. description: De får en konto og plass på kontoret, og ser de samme sakene som deg.
action: /kontor action: /kontor
+20
View File
@@ -0,0 +1,20 @@
name: Hva har Klingenberg Bygg gjort?
description: Et utvalg oppdrag, med bilder.
responsible:
name: Fredrik Borch Lynghaug
contact: fredrik@klingenbergbygg.no
alternatives:
- name: Erfaringer
description: ''
features:
- name: Erfaringer
description: Hver rad er én sak og hvor langt den har kommet. Navn og kontaktopplysninger vises ikke her.
resource:
source:
kind: kv
bucket: erfaringer
public: true
states:
- open
empty: Snart viser vi fram oppdrag her.
jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, bilde: .bilde, om: .om}'