$newline never

$# SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <sarah.vaupel@ifi.lmu.de>,Sarah Vaupel <vaupel.sarah@campus.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>,Winnie Ros <winnie.ros@campus.lmu.de>
$#
$# SPDX-License-Identifier: AGPL-3.0-or-later

$maybe warn <- submissionModeNoneWithoutNotGradedWarning 
  ^{warn}

$maybe descr <- sheetDescription sheet
  <section>
    <h2 #description>_{MsgSheetDescription}
    <p>
      #{descr}

<section>
  <dl .deflist>
    <dt .deflist__dt>_{MsgSheetAccessibleSince}
    <dd .deflist__dd>
      $maybe invisible <- visibleFrom
        ^{invisible}
      $nothing
        #{isVisible False}
        _{MsgSheetInvisible}
    <dt .deflist__dt>
      $if hasSubmission
        _{MsgSheetActiveFromParticipant}
      $else
        _{MsgSheetActiveFromParticipantNoSubmit}
    <dd .deflist__dd>
      $maybe ts <- sheetFrom
        #{ts}
      $nothing
        _{MsgSheetActiveFromUnset}
    $if hasSubmission
      <dt .deflist__dt>_{MsgSheetActiveToParticipant}
      $maybe ts <- sheetTo
        <dd .deflist__dd>#{ts}
      $nothing
        <dd .deflist__dd>_{MsgSheetActiveToUnset}
    $maybe hints <- hintsFrom <* guard hasHints
      <dt .deflist__dt>_{MsgSheetHintFrom}
      <dd .deflist__dd>#{hints}
    $maybe solution <- solutionFrom <* guard hasSolution
      <dt .deflist__dt>_{MsgSheetSolutionFrom}
      <dd .deflist__dd>#{solution}
    $maybe (_, _, _, examn) <- mRequiredExam
      <dt .deflist__dt>
        _{MsgSheetShowRequiredExam}
        <p .deflist__explanation>
          _{MsgSheetSubmissionExamRegistrationRequired}
      <dd .deflist__dd>
        $maybe url <- mRequiredExamLink
          <a href=@{url}>
            #{examn}
        $nothing
          #{examn}
    <dt .deflist__dt>_{MsgSheetSubmissionMode}
    <dd .deflist__dd>
      _{classifySubmissionMode (sheetSubmissionMode sheet)}
      $case sheetSubmissionMode sheet
        $of SubmissionMode True _
          ^{messageTooltip submissionTip}
        $of _
    $case sheetSubmissionMode sheet
      $of SubmissionMode True _
        <dt .deflist__dt>_{MsgSheetPseudonym}
        <dd .deflist__dd #pseudonym>
          $maybe pseudonym <- mPseudonym
            <span .pseudonym>#{pseudonym}
          $nothing
            ^{generateForm}
      $of _
    <dt .deflist__dt>
      _{MsgTableSheetType}
    <dd .deflist__dd>
      ^{sTypeDesc tr}
$#   $if mayEdit || maySubmit
$#     <dt .deflist__dt>
$#       _{MsgSheetAuthorshipStatementSection}
$#     <dd .deflist__dd>
$#       _{maybe MsgSheetAuthorshipStatementIsRequiredFalse (const MsgSheetAuthorshipStatementIsRequiredTrue) (sheetAuthorshipStatement sheet)}
    $if authorshipStatementRequired
      <dt .deflist__dt>
        _{MsgSheetShowAuthorshipStatementsRequired}
      <dd .deflist__dd>
        _{MsgSheetShowAuthorshipStatementsRequiredYes}

$maybe marktxt <- markingText
  <section>
    <h2>_{MsgSheetMarking}
    <p>
      #{marktxt}

$if fromMaybe False mMissingPersonalisedFiles
  <section>
    ^{notificationWidget NotificationBroad Warning (i18n MsgSheetFilesMissingPersonalisedFiles)}
$elseif fromMaybe False mMissingExamRegistration
  <section>
    ^{notificationWidget NotificationBroad Warning (i18n MsgSheetFilesExamRegistrationRequired)}

$if hasFiles
  <section>
    <h2>^{simpleLinkI (SomeMessage MsgSheetFiles) zipLink}
    ^{fileTable}
