+page.svelte 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <script>
  2. import logoMark from '$lib/images/logo_white.svg';
  3. let { data } = $props();
  4. </script>
  5. <svelte:head>
  6. <title>Workouts — Torus</title>
  7. </svelte:head>
  8. <div class="page">
  9. <header class="top">
  10. <a class="brand" href="/">
  11. <img class="brand-mark" src={logoMark} alt="" width="28" height="28" />
  12. <span class="brand-name">Torus</span>
  13. </a>
  14. <a class="btn btn-ghost" href="/logout">Log out</a>
  15. </header>
  16. <main>
  17. <section class="panel">
  18. <h1>Workouts</h1>
  19. <p class="lede">Signed in as {data.user.name}. Your sessions will show up here.</p>
  20. </section>
  21. </main>
  22. </div>
  23. <style>
  24. .page {
  25. min-height: 100vh;
  26. display: flex;
  27. flex-direction: column;
  28. }
  29. .top {
  30. display: flex;
  31. align-items: center;
  32. justify-content: space-between;
  33. gap: 16px;
  34. padding: 16px 20px;
  35. border-bottom: 1px solid var(--border);
  36. }
  37. .brand {
  38. display: inline-flex;
  39. align-items: center;
  40. gap: 10px;
  41. font-weight: 700;
  42. letter-spacing: -0.02em;
  43. }
  44. .brand-mark {
  45. display: block;
  46. width: 28px;
  47. height: 28px;
  48. flex-shrink: 0;
  49. }
  50. .brand-name {
  51. font-size: 15px;
  52. }
  53. main {
  54. flex: 1;
  55. width: min(1120px, 100%);
  56. margin: 0 auto;
  57. padding: 40px 20px 64px;
  58. }
  59. .panel {
  60. background: var(--surface);
  61. border: 1px solid var(--border);
  62. border-radius: var(--radius-lg);
  63. padding: 24px;
  64. }
  65. h1 {
  66. margin: 0;
  67. font-size: 1.6rem;
  68. letter-spacing: -0.03em;
  69. font-weight: 750;
  70. }
  71. .lede {
  72. margin: 8px 0 0;
  73. color: var(--text-muted);
  74. line-height: 1.45;
  75. }
  76. @media (min-width: 720px) {
  77. .top {
  78. padding: 16px 28px;
  79. }
  80. main {
  81. padding: 48px 28px 80px;
  82. }
  83. }
  84. </style>