Catalyst / admin/Strike 14.8 GB / 57.8 GB 40.0 GB free
Help Sign in

admin / Strike

public

Web-Based UK Cyber Compliance Tool with Reporting

Code Issues Pull requests Pipelines Packages Security Insights Wiki Settings
Strike / strikexi-v2 / frontend / index.html 4924 B · main
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>StrikeXi — CAF Cyber Maturity Assessment</title>
  <link rel="stylesheet" href="/css/app.css?v=2.0.0" />
</head>
<body>

  <!-- ============ LOGIN VIEW ============ -->
  <div id="login-view" class="login-wrap">
    <form class="login-card" id="login-form">
      <div class="brand">Strike<span>Xi</span></div>
      <div class="tagline">NCSC CAF Cyber Maturity Assessment</div>
      <label for="username">Username</label>
      <input id="username" autocomplete="username" required />
      <label for="password">Password</label>
      <input id="password" type="password" autocomplete="current-password" required />
      <button class="btn btn-primary" type="submit">Sign in</button>
      <div class="error" id="login-error"></div>
      <p class="muted" style="text-align:center;margin-top:16px">
        New here? <a href="#" id="show-signup" style="color:#2e86de;font-weight:600">Create an account</a>
      </p>
    </form>

    <!-- Self-service signup -->
    <form class="login-card hidden" id="signup-form">
      <div class="brand">Strike<span>Xi</span></div>
      <div class="tagline">Create your account</div>
      <label for="su-firstname">First Name</label>
      <input id="su-firstname" autocomplete="given-name" required />
      <label for="su-surname">Surname</label>
      <input id="su-surname" autocomplete="family-name" required />
      <label for="su-company">Company Name</label>
      <input id="su-company" autocomplete="organization" required />
      <label for="su-email">Email Address</label>
      <input id="su-email" type="email" autocomplete="email" required />
      <label for="su-contact">Contact Number</label>
      <input id="su-contact" type="tel" autocomplete="tel" required />
      <label for="su-username">Username</label>
      <input id="su-username" autocomplete="username" required />
      <label for="su-password">Password</label>
      <input id="su-password" type="password" autocomplete="new-password" required />
      <label for="su-password2">Confirm Password</label>
      <input id="su-password2" type="password" autocomplete="new-password" required />
      <p class="muted" style="margin-top:8px;font-size:12px">Password must be at least 8 characters and include a capital letter and a special character.</p>
      <button class="btn btn-primary" type="submit">Sign up</button>
      <button class="btn btn-ghost" type="button" id="signup-cancel" style="width:100%;margin-top:10px">Back to sign in</button>
      <div class="error" id="signup-error"></div>
    </form>

    <!-- Second factor step (shown only when the account uses MFA) -->
    <form class="login-card hidden" id="mfa-form">
      <div class="brand">Strike<span>Xi</span></div>
      <div class="tagline">Two-factor authentication</div>
      <p class="muted" style="text-align:center">Enter the 6-digit code from your authenticator app.</p>
      <label for="mfa-code">Authentication code</label>
      <input id="mfa-code" inputmode="numeric" autocomplete="one-time-code" placeholder="123456" />
      <button class="btn btn-primary" type="submit">Verify</button>
      <button class="btn btn-ghost" type="button" id="mfa-cancel" style="width:100%;margin-top:10px">Cancel</button>
      <div class="error" id="mfa-error"></div>
    </form>
  </div>

  <!-- ============ APP SHELL ============ -->
  <div id="app-view" class="app hidden">
    <aside class="sidebar">
      <div class="brand">Strike<span style="color:#5cb3ff">Xi</span></div>
      <a class="nav-item active" data-view="dashboard">📊 Dashboard</a>
      <a class="nav-item" data-view="new">➕ New Assessment</a>
      <a class="nav-item nav-admin" data-view="users">👥 Users</a>
      <a class="nav-item nav-admin" data-view="audit">📜 Audit Log</a>
      <a class="nav-item" data-view="account">⚙ My Account</a>
      <a class="nav-item nav-logout" id="logout-btn">⎋ Logout</a>
    </aside>

    <main class="main">
      <div class="topbar">
        <h1 id="page-title">Dashboard</h1>
        <div class="user-chip" id="user-chip"></div>
      </div>
      <div id="content"></div>
    </main>
  </div>

  <!-- Report metadata modal -->
  <div id="report-modal" class="modal-bg hidden">
    <div class="modal">
      <h3>Confirm report details</h3>
      <label>Organisation Assessed</label>
      <input id="report-org" />
      <label>Date of Assessment</label>
      <input id="report-date" type="date" />
      <div class="row-actions" style="margin-top:18px; justify-content:flex-end;">
        <button class="btn btn-ghost btn-sm" id="report-cancel">Cancel</button>
        <button class="btn btn-success btn-sm" id="report-generate">Generate PDF</button>
      </div>
    </div>
  </div>

  <script src="/js/app.js?v=2.0.0"></script>
</body>
</html>