import { html, nothing, type TemplateResult } from 'lit'
import { customElement, property } from 'lit/decorators.js'
import type { IPktFooterColumn } from 'shared-types'
import { PktFooterBaseElement } from './footer-base'
import type { IPktFooter } from './types'
/**
* PktFooter — footer med valgfritt custom innhold (grått sekundær-bånd)
* stablet oppå den globale (blå) footeren. Uten `columns` rendres kun den
* globale footeren. Den globale henter innhold fra Oslo kommunes felles
* header/footer-endepunkt (samme som `pkt-header type="global"`).
*/
export class PktFooter extends PktFooterBaseElement implements IPktFooter {
@property({ type: Array }) columns?: IPktFooterColumn[]
connectedCallback() {
super.connectedCallback()
this.classList.add('pkt-footer-host')
}
private renderColumn(column: IPktFooterColumn): TemplateResult {
return html`
${column.title}
${column.text ? html`${column.text}
` : nothing}
${column.links?.length
? html`
`
: nothing}
`
}
private renderSecondary(): TemplateResult {
// Med skipGlobal rendres consent-lenken i sekundær-båndet i stedet
// for i den globale footeren.
const consentInSecondary = this.skipGlobal && this.includeConsent
return html`
`
}
render() {
const hasCustomContent = !!this.columns?.length
const consentInSecondary = this.skipGlobal && this.includeConsent
return html`
`
}
}
declare global {
interface HTMLElementTagNameMap {
'pkt-footer': PktFooter
}
}
try {
customElement('pkt-footer')(PktFooter)
} catch (e) {
console.warn('Forsøker å definere , men den er allerede definert')
}