|
5 | 5 | i18n:domain="riskmatrix" |
6 | 6 | lang="${layout.locale_name()}" |
7 | 7 | class="h-100" |
8 | | - data_sentry_dsn="${layout.sentry_dsn()}"> |
| 8 | + data_sentry_dsn="${layout.sentry_dsn()}" |
| 9 | + data-bs-theme="dark"> |
9 | 10 |
|
10 | 11 | <head> |
11 | | - |
12 | 12 | <meta charset="utf-8" /> |
13 | 13 | <meta name="viewport" content="width=device-width, initial-scale=1" /> |
14 | 14 |
|
15 | 15 | <tal:block tal:condition="layout.sentry_dsn()"> |
16 | | - <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/bundle.min.js')}"></script> |
17 | | - <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/sentry.js')}"></script> |
| 16 | + <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/bundle.min.js')}" nonce="${request.csp_nonce}"></script> |
| 17 | + <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/sentry.js')}" nonce="${request.csp_nonce}"></script> |
18 | 18 | </tal:block> |
19 | | - <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/plotly.min.js')}"></script> |
20 | | - <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/marked.min.js')}"></script> |
21 | | - |
22 | | - <title>RiskMatrix<tal:b tal:condition="exists:title"> — ${title}</tal:b></title> |
| 19 | + <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/plotly.min.js')}" nonce="${request.csp_nonce}"></script> |
| 20 | + <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/marked.min.js')}" nonce="${request.csp_nonce}"></script> |
| 21 | + <script type="text/javascript" src="${layout.static_url('riskmatrix:static/js/plotly_theme.js')}" nonce="${request.csp_nonce}"></script> |
23 | 22 |
|
| 23 | + <title>RiskMatrix<tal:b tal:condition="exists:title"> — ${title}</tal:b></title> |
24 | 24 | </head> |
25 | 25 |
|
26 | 26 | <body class="d-flex flex-column h-100"> |
27 | | - |
| 27 | + |
28 | 28 | ${panel('navbar')} |
29 | 29 |
|
30 | 30 | <!-- Begin page content --> |
31 | 31 | <main class="flex-shrink-0"> |
32 | | - |
33 | 32 | ${panel('flash')} |
34 | | - |
35 | 33 | <div class="container"> |
36 | | - |
37 | 34 | <div class="row" tal:omit-tag="not:layout.show_steps()"> |
38 | | - |
39 | 35 | <div class="col-md-auto" tal:condition="layout.show_steps()"> |
40 | 36 | ${panel('steps')} |
41 | 37 | </div> |
42 | | - |
43 | 38 | <div class="col" tal:omit-tag="not:layout.show_steps()"> |
44 | 39 | <tal:block metal:define-slot="content" /> |
45 | 40 | </div> |
46 | 41 | </div> |
47 | | - |
48 | 42 | </div> |
49 | | - |
50 | 43 | <tal:block metal:define-slot="modals" /> |
51 | | - |
52 | 44 | </main> |
53 | 45 |
|
| 46 | + <!-- Footer Content --> |
54 | 47 | <footer class="footer mt-auto py-3 bg-dark"> |
55 | 48 | <div class="container"> |
56 | 49 | <div class="row"> |
|
108 | 101 | </div> |
109 | 102 | </div> |
110 | 103 | </footer> |
111 | | - |
112 | 104 | </body> |
113 | | - |
114 | 105 | </html> |
0 commit comments