@dudousxd/nestjs-durable-dashboard 0.32.0 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -572,7 +572,7 @@ function renderLoginPage(basePath) {
572
572
  <meta name="robots" content="noindex, nofollow" />
573
573
  <title>Sign in \u2014 Durable</title>
574
574
  <style>
575
- :root { color-scheme: light dark; }
575
+ :root { color-scheme: dark; }
576
576
  * { box-sizing: border-box; }
577
577
  body {
578
578
  margin: 0;
@@ -580,80 +580,85 @@ function renderLoginPage(basePath) {
580
580
  display: flex;
581
581
  align-items: center;
582
582
  justify-content: center;
583
- font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
584
- background: #0b0f14;
585
- color: #e5e7eb;
583
+ background: #09090b;
584
+ color: #e4e4e7;
585
+ font: 14px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
586
+ padding: 16px;
586
587
  }
587
- main {
588
+ .card {
588
589
  width: 100%;
589
- max-width: 360px;
590
+ max-width: 384px;
591
+ border: 1px solid #27272a;
592
+ background: #18181b;
593
+ border-radius: 8px;
590
594
  padding: 32px;
595
+ box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.5);
591
596
  }
592
- h1 {
597
+ .brand {
598
+ margin: 0 0 24px;
599
+ text-align: center;
593
600
  font-size: 18px;
594
601
  font-weight: 600;
595
- margin: 0 0 4px;
602
+ color: #34d399;
596
603
  }
597
- p.subtitle {
598
- margin: 0 0 24px;
599
- color: #9ca3af;
600
- font-size: 13px;
604
+ form { display: flex; flex-direction: column; gap: 16px; }
605
+ label { display: flex; flex-direction: column; gap: 6px; }
606
+ .field-label {
607
+ font-size: 11px;
608
+ text-transform: uppercase;
609
+ letter-spacing: 0.05em;
610
+ color: #71717a;
601
611
  }
602
- label {
603
- display: block;
612
+ input {
613
+ border-radius: 4px;
614
+ border: 1px solid #3f3f46;
615
+ background: #09090b;
616
+ color: #f4f4f5;
617
+ padding: 8px 12px;
618
+ font: inherit;
619
+ outline: none;
620
+ }
621
+ input:focus { border-color: rgb(52 211 153 / 0.6); }
622
+ #error {
623
+ display: none;
624
+ margin: 0;
604
625
  font-size: 12px;
605
- font-weight: 500;
606
- margin-bottom: 6px;
607
- color: #cbd5e1;
626
+ color: #fb7185;
608
627
  }
609
- input {
610
- width: 100%;
611
- padding: 8px 10px;
612
- margin-bottom: 16px;
613
- border-radius: 6px;
614
- border: 1px solid #374151;
615
- background: #111827;
616
- color: #e5e7eb;
617
- font-size: 14px;
618
- }
619
- input:focus { outline: 2px solid #3b82f6; outline-offset: 1px; }
620
628
  button {
621
- width: 100%;
622
- padding: 9px 10px;
623
- border-radius: 6px;
624
- border: none;
625
- background: #3b82f6;
626
- color: white;
627
- font-size: 14px;
628
- font-weight: 600;
629
+ margin-top: 8px;
630
+ border-radius: 4px;
631
+ border: 1px solid rgb(52 211 153 / 0.4);
632
+ background: rgb(52 211 153 / 0.1);
633
+ color: #6ee7b7;
634
+ padding: 8px 12px;
635
+ font: inherit;
636
+ font-size: 12px;
637
+ font-weight: 500;
638
+ text-transform: uppercase;
639
+ letter-spacing: 0.05em;
629
640
  cursor: pointer;
630
641
  }
642
+ button:hover:not(:disabled) { background: rgb(52 211 153 / 0.2); }
631
643
  button:disabled { opacity: 0.6; cursor: default; }
632
- button:hover:not(:disabled) { background: #2563eb; }
633
- #error {
634
- display: none;
635
- margin-bottom: 16px;
636
- padding: 8px 10px;
637
- border-radius: 6px;
638
- background: #7f1d1d;
639
- color: #fecaca;
640
- font-size: 13px;
641
- }
642
644
  </style>
643
645
  </head>
644
646
  <body>
645
- <main>
646
- <h1>Durable control plane</h1>
647
- <p class="subtitle">Sign in to continue.</p>
648
- <div id="error" role="alert">Invalid username or password.</div>
649
- <form id="login-form" autocomplete="on">
650
- <label for="username">Username</label>
651
- <input id="username" name="username" type="text" autocomplete="username" required autofocus />
652
- <label for="password">Password</label>
653
- <input id="password" name="password" type="password" autocomplete="current-password" required />
654
- <button id="submit" type="submit">Sign in</button>
655
- </form>
656
- </main>
647
+ <div class="card">
648
+ <p class="brand">Durable</p>
649
+ <form id="login-form" autocomplete="on">
650
+ <label>
651
+ <span class="field-label">Username</span>
652
+ <input id="username" name="username" type="text" autocomplete="username" required autofocus />
653
+ </label>
654
+ <label>
655
+ <span class="field-label">Password</span>
656
+ <input id="password" name="password" type="password" autocomplete="current-password" />
657
+ </label>
658
+ <p id="error" role="alert">Invalid username or password.</p>
659
+ <button id="submit" type="submit">Sign in</button>
660
+ </form>
661
+ </div>
657
662
  <script>
658
663
  (function () {
659
664
  var LOGIN_ACTION = ${JSON.stringify(loginAction)};