package Ġcomponents Ċ Ċ import ĠStr Ċ import Ġ rip . k spar . ez spa . Component Ċ import Ġ rip . k spar . ez spa . Id Generator Ċ import Ġtm Render ĊĊ Ċ data Ġclass ĠCr umb ( val Ġlabel : ĠString , Ġval Ġhref : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Courses Ġ= ĠCr umb ( Str . my Courses (), Ġ"/ courses ") ĊĠĠĠĠĠĠĠ Ġfun Ġcourse Ex ercises ( course Id : ĠString , Ġcourse Title : ĠString ) Ġ= ĠCr umb ( course Title , Ġ"/ courses /$ course Id / exercises ") ĊĠĠĠĠĠĠĠ Ġval Ġexercises Ġ= ĠCr umb (" Ãľ les ande k og u ", Ġ"/ exercise lib ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠB readcrumb s Comp ( ĊĠĠĠ Ġprivate Ġval Ġcr umb s : ĠList < Cr umb >, ĊĠĠĠ Ġparent : ĠComponent ?, ĊĠĠĠ Ġdst Id : ĠString Ġ= ĠId Generator . next Id () Ċ ) Ġ: ĠComponent ( parent , Ġdst Id ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġrender (): ĠString Ġ= Ġtm Render (" t - c - breadcrumbs ", ĊĠĠĠĠĠĠĠ Ġ" crumb s " Ġto Ġcr umb s . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" label " Ġto Ġit . label , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" href " Ġto Ġit . href ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ } Ċ