accept-tos.typ (1440B)
1 // Form to render ToS acceptance form. 2 #import "@taler-exchange/common:0.0.0": talerlogo, checkbox 3 4 #let form(data) = { 5 set page( 6 paper: "a4", 7 margin: (left: 2cm, right: 2cm, top: 2cm, bottom: 2.5cm), 8 footer: context [ 9 #grid( 10 columns: (1fr, 1fr), 11 align: (left, right), 12 text(size: 8pt)[ 13 ], 14 text(size: 8pt)[ 15 Page #here().page() of #counter(page).final().first() 16 ] 17 ) 18 ] 19 ) 20 21 set text(font: "Liberation Sans", size: 10pt) 22 set par(justify: false, leading: 0.65em) 23 24 // Helper function to get value or empty string 25 let get(key, default: "") = { 26 data.at(key, default: default) 27 } 28 29 // Header 30 align(center, text(size: 11pt, weight: "bold")[CONFIDENTIAL]) 31 32 v(0.5em) 33 34 grid( 35 columns: (50%, 50%), 36 gutter: 1em, 37 talerlogo(), 38 align(right)[ 39 #table( 40 columns: (1fr, 1fr), 41 stroke: 0.5pt + black, 42 inset: 5pt, 43 align: (left, left), 44 [AMLA File No.], 45 [#get("FILE_NUMBER")] 46 ) 47 ] 48 ) 49 50 v(1em) 51 52 // Section 1: Acceptance data 53 text(size: 11pt, weight: "bold")[Accepted terms of service:] 54 55 v(0.5em) 56 57 block(breakable: false)[ 58 #v(0.5em) 59 #table( 60 columns: (35%, 65%), 61 stroke: 0.5pt + black, 62 inset: 5pt, 63 [Version:], [#get("ACCEPTED_TERMS_OF_SERVICE")], 64 [Downloaded:], [#checkbox(get("DOWNLOADED_TERMS_OF_SERVICE"))], 65 ) 66 #v(0.5em) 67 ] 68 }