kahuna/app/views/main.scala.html (97 lines of code) (raw):
@import lib.ScriptToLoad
@import lib.KahunaConfig
@(
reauthUri: String,
fieldAliases: String,
scriptsToLoad: List[ScriptToLoad],
domainMetadataSpecs: String,
metadataTemplates: String,
announcements: String,
interimFilterOptions: String,
additionalNavigationLinks: String,
costFilterLabel: String,
costFilterChargeable: Boolean,
maybeOrgOwnedValueHtml: Html,
kahunaConfig: KahunaConfig,
featureSwitches: String,
imageTypes: String,
)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title ui-title ui-title-suffix="@kahunaConfig.systemName">@kahunaConfig.systemName</title>
<!-- htmllint line-ending-style="false" -->
<!-- preconnect to core APIs ahead of JS making the requests -->
<link rel="preconnect" href="@kahunaConfig.mediaApiUri"/>
<link rel="preconnect" href="@kahunaConfig.authUri"/>
<link rel="shortcut icon" type="image/svg+xml" href="@routes.Assets.versioned("images/grid-favicon.svg")"/>
<link rel="alternate shortcut icon" type="image/png" href="@routes.Assets.versioned("images/grid-favicon-32.png")"/>
<link rel="assets" href="@routes.Assets.versioned("")"/>
<link rel="media-api-uri" href="@kahunaConfig.mediaApiUri" />
<link rel="reauth-uri" href="@reauthUri" />
<link rel="auth-uri" href="@kahunaConfig.authUri" />
@kahunaConfig.sentryDsn.map { dsn => <link rel="sentry-dsn" href="@dsn" /> }
<link rel="stylesheet" href="@routes.Assets.versioned("stylesheets/main.css")" />
<style>
.ng-cloak { display: none }
</style>
<script>
this._clientConfig = {
rootUri: "@Html(kahunaConfig.rootUri)",
sessionId: "@Html(kahunaConfig.sessionId)",
feedbackFormLink: "@Html(kahunaConfig.feedbackFormLink.getOrElse(""))",
usageRightsHelpLink: "@Html(kahunaConfig.usageRightsHelpLink.getOrElse(""))",
invalidSessionHelpLink: "@Html(kahunaConfig.invalidSessionHelpLink.getOrElse(""))",
supportEmail: "@Html(kahunaConfig.supportEmail.getOrElse(""))",
staffPhotographerOrganisation: "@Html(kahunaConfig.staffPhotographerOrganisation)",
fieldAliases: @Html(fieldAliases),
homeLinkHtml: '@Html(kahunaConfig.homeLinkHtml.getOrElse(""))',
systemName: "@Html(kahunaConfig.systemName)",
canDownloadCrop: @kahunaConfig.canDownloadCrop,
showDenySyndicationWarning: @kahunaConfig.showDenySyndicationWarning.getOrElse(false),
showSendToPhotoSales:@kahunaConfig.showSendToPhotoSales.getOrElse(false),
domainMetadataSpecs: @Html(domainMetadataSpecs),
recordDownloadAsUsage: @kahunaConfig.recordDownloadAsUsage,
metadataTemplates: @Html(metadataTemplates),
additionalNavigationLinks: @Html(additionalNavigationLinks),
costFilterLabel: "@Html(costFilterLabel)",
costFilterChargeable: @costFilterChargeable,
maybeOrgOwnedValue: @maybeOrgOwnedValueHtml,
restrictDownload: @kahunaConfig.restrictDownload.getOrElse(false),
warningTextHeader: "@Html(kahunaConfig.warningTextHeader)",
warningTextHeaderNoRights: "@Html(kahunaConfig.warningTextHeaderNoRights)",
unusableTextHeader: "@Html(kahunaConfig.unusableTextHeader)",
denySyndicationTextHeader: "@Html(kahunaConfig.denySyndicationTextHeader)",
enableWarningFlags: @kahunaConfig.enableWarningFlags,
imagePreviewFlagAlertCopy: "@Html(kahunaConfig.imagePreviewFlagAlertCopy)",
imagePreviewFlagWarningCopy: "@Html(kahunaConfig.imagePreviewFlagWarningCopy)",
imagePreviewFlagLeaseAttachedCopy: "@Html(kahunaConfig.imagePreviewFlagLeaseAttachedCopy)",
useReaper: @kahunaConfig.useReaper.getOrElse(false),
featureSwitches: @Html(featureSwitches),
telemetryUri: '@kahunaConfig.telemetryUri.getOrElse("")',
usePermissionsFilter: @kahunaConfig.usePermissionsFilter.getOrElse(false),
usageRightsSummary: @kahunaConfig.usageRightsSummary.getOrElse(false),
interimFilterOptions: @Html(interimFilterOptions),
permissionsDefault: "@kahunaConfig.permissionsDefault",
defaultShouldBlurGraphicImages: @kahunaConfig.defaultShouldBlurGraphicImages,
shouldUploadStraightToBucket: @kahunaConfig.shouldUploadStraightToBucket,
maybeUploadLimitInBytes: @kahunaConfig.maybeUploadLimitInBytes.getOrElse(0),
announcements: @Html(announcements),
imageTypes: @Html(imageTypes),
}
</script>
</head>
<body>
<p class="loader" ng-hide="true">Loading @kahunaConfig.systemName…</p>
<div ui-view></div>
<ui-global-errors></ui-global-errors>
<confirmation-modal></confirmation-modal>
<div>
<ui-notifications></ui-notifications>
</div>
<script src="@routes.Assets.versioned("dist/build.js")"></script>
@scriptsToLoad.map { scriptDetail =>
<script async="@scriptDetail.async" src="@scriptDetail.host/@scriptDetail.path"></script>
}
</body>
</html>