2023-08-03 10:10:59 +02:00
import { ChatElipsisIcon , PencilIcon , XMarkIcon } from "@navikt/aksel-icons"
import { Button , Heading , TextField } from "@navikt/ds-react"
2023-08-02 12:05:08 +02:00
import { FeilmeldingsInnholdInterface } from "../interface"
2023-08-02 11:47:28 +02:00
import FeilkortHeader from "./FeilkortHeader"
2023-08-03 10:10:59 +02:00
import { useState } from "react"
import Skillelinje from "./Skillelinje"
import axios from "axios"
2023-08-02 11:47:28 +02:00
const FeilmeldingsInnhold = ( props : FeilmeldingsInnholdInterface ) = > {
2023-08-03 10:10:59 +02:00
const [ kommentar , setKommentar ] = useState ( "" )
const [ kommentarfelt , setKommentarfelt ] = useState ( "" )
const oppdaterkommentar = async ( ) = > {
setKommentar ( kommentarfelt )
const payload = {
id : props.id ,
tittel : kommentar ,
}
await axios . put ( "/api/oppdaterkommentar" , payload , {
headers : {
'Content-Type' : 'application/json'
}
} ) . then ( ( response ) = > {
console . log ( response ) ;
} ) . catch ( ( error ) = > {
console . log ( error ) ;
} )
props . reset ( )
}
2023-08-02 11:47:28 +02:00
return (
< div >
< div className = "flex justify-between" >
< FeilkortHeader
id = { props . id }
tittel = { props . tittel }
beskrivelse = { props . beskrivelse }
dato = { props . dato }
haster = { props . haster }
arbeidsstatus = { props . arbeidsstatus } / >
< div className = "flex gap-4 items-start" >
< Button
2023-08-03 10:10:59 +02:00
variant = "tertiary"
2023-08-02 11:47:28 +02:00
icon = { < PencilIcon / > }
onClick = { ( ) = > props . setRedigeringsmodus ( true ) }
>
Rediger
< / Button >
< Button
icon = { < XMarkIcon / > }
onClick = { ( ) = > {
props . setVisModal ( false )
props . setRedigeringsmodus ( false )
2023-08-02 12:05:08 +02:00
} }
2023-08-02 11:47:28 +02:00
>
Lukk
< / Button >
< / div >
< / div >
2023-08-03 10:10:59 +02:00
< Skillelinje / >
2023-08-02 11:47:28 +02:00
{ props . children }
2023-08-03 10:10:59 +02:00
{ kommentar . length === 0 ?
< KommentarTekstfelt
kommentarfelt = { kommentarfelt }
setKommentarfelt = { setKommentarfelt }
oppdaterKommentar = { ( ) = > oppdaterkommentar ( ) }
/ >
:
< Kommentar
tekst = { kommentar }
/ >
}
2023-08-02 11:47:28 +02:00
< / div >
)
}
export default FeilmeldingsInnhold ;
2023-08-03 10:10:59 +02:00
interface Ikommentar {
setKommentarfelt : ( val : string ) = > void
oppdaterKommentar : ( ) = > void
}
interface kommentarTekstfeltInterface extends Ikommentar {
kommentarfelt : string ,
}
interface kommentarInterface {
tekst : string
}
const KommentarTekstfelt = ( props : kommentarTekstfeltInterface ) = > {
return (
< div className = "flex items-end gap-12 w-full mt-4 h-fit" >
< TextField
className = "grow"
label = "Skriv inn din kommentar til feilen"
value = { props . kommentarfelt }
onChange = { e = > props . setKommentarfelt ( e . target . value ) }
>
< / TextField >
< Button
variant = "secondary"
icon = { < ChatElipsisIcon / > }
onClick = { ( ) = > props . oppdaterKommentar ( ) }
>
Legg til kommentar
< / Button >
< / div >
)
}
const Kommentar = ( props : kommentarInterface ) = > {
return (
< >
< Skillelinje / >
< div className = "p-5 bg-bg-subtle rounded-lg w-2/3 my-4" >
< Heading size = "medium" > Notat < / Heading >
< p className = "break-words" > { props . tekst } < / p >
< / div >
< / >
)
}