@analogjs/platform 0.2.0-beta.12 → 0.2.0-beta.13

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/platform",
3
- "version": "0.2.0-beta.12",
3
+ "version": "0.2.0-beta.13",
4
4
  "type": "commonjs",
5
5
  "description": "The fullstack meta-framework for Angular",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "nitropack": "^1.0.0",
28
- "@analogjs/vite-plugin-angular": "^0.2.0-beta.12",
29
- "@analogjs/vite-plugin-nitro": "^0.2.0-beta.12",
28
+ "@analogjs/vite-plugin-angular": "^0.2.0-beta.13",
29
+ "@analogjs/vite-plugin-nitro": "^0.2.0-beta.13",
30
30
  "@nx/devkit": "^16.0.0"
31
31
  },
32
32
  "generators": "./src/lib/nx-plugin/generators.json",
@@ -2,6 +2,7 @@ import { Component } from '@angular/core';
2
2
  import { AsyncPipe, DatePipe, NgFor, NgIf } from '@angular/common';
3
3
  import { FormsModule, NgForm } from '@angular/forms';
4
4
  import { waitFor } from '@analogjs/trpc';
5
+ import { shareReplay, Subject, switchMap, take } from 'rxjs';
5
6
  import { injectTRPCClient } from '../../trpc-client';
6
7
  import { Note } from '../../note';
7
8
 
@@ -9,13 +10,12 @@ import { Note } from '../../note';
9
10
  selector: '<%= fileName %>-home',
10
11
  standalone: true,
11
12
  imports: [AsyncPipe, FormsModule, NgFor, DatePipe, NgIf],
12
- styles: [
13
+ styles: [
13
14
  `
14
-
15
- a {
16
- color: inherit;
17
- text-decoration: inherit;
18
- }
15
+ a {
16
+ color: inherit;
17
+ text-decoration: inherit;
18
+ }
19
19
 
20
20
  :host {
21
21
  display: flex;
@@ -23,7 +23,10 @@ import { Note } from '../../note';
23
23
  flex-direction: column;
24
24
  height: 100%;
25
25
  min-height: 100vh;
26
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
26
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
27
+ 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
28
+ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
29
+ 'Noto Color Emoji';
27
30
  }
28
31
 
29
32
  .main {
@@ -81,7 +84,7 @@ import { Note } from '../../note';
81
84
  }
82
85
 
83
86
  .text-analog-red {
84
- color: rgb(221,0,49);
87
+ color: rgb(221, 0, 49);
85
88
  }
86
89
 
87
90
  .heading-1 {
@@ -220,8 +223,6 @@ import { Note } from '../../note';
220
223
  line-height: 1.75rem;
221
224
  }
222
225
 
223
-
224
-
225
226
  .feature-card {
226
227
  position: relative;
227
228
  overflow: hidden;
@@ -250,7 +251,6 @@ import { Note } from '../../note';
250
251
  padding: 1.5rem;
251
252
  }
252
253
 
253
-
254
254
  .card-details {
255
255
  margin-top: 0.5rem;
256
256
  }
@@ -261,7 +261,6 @@ import { Note } from '../../note';
261
261
 
262
262
  .card-description {
263
263
  font-size: 0.875rem;
264
- color: rgb(39, 39, 42);
265
264
  }
266
265
 
267
266
  .further-info-container {
@@ -276,7 +275,6 @@ import { Note } from '../../note';
276
275
  line-height: 1.75rem;
277
276
  }
278
277
 
279
-
280
278
  .note-form {
281
279
  display: flex;
282
280
  padding-bottom: 0.5rem;
@@ -302,9 +300,7 @@ import { Note } from '../../note';
302
300
  }
303
301
 
304
302
  .note-input:focus-visible {
305
- outline-width: 2px;
306
- outline-style: solid;
307
- outline-color: rgb(39, 39, 42);
303
+ outline: 2px solid rgb(39, 39, 42);
308
304
  outline-offset: 2px;
309
305
  }
310
306
  .note-input:disabled {
@@ -347,94 +343,98 @@ import { Note } from '../../note';
347
343
  padding: 0.5rem !important;
348
344
  height: 2rem !important;
349
345
  }
346
+ .loading {
347
+ padding-top: 3rem;
348
+ text-align: center;
349
+ }
350
350
  `,
351
351
  ],
352
352
  template: `
353
353
  <main class="main">
354
354
  <section class="section-main">
355
355
  <div class="container-main">
356
- <svg
357
- class="main-icon"
358
- xmlns="http://www.w3.org/2000/svg"
359
- xmlns:svg="http://www.w3.org/2000/svg"
360
- width="362.26562"
361
- zoomAndPan="magnify"
362
- viewBox="0 0 271.62214 192.65233"
363
- height="256.86978"
364
- preserveAspectRatio="xMidYMid meet"
365
- version="1.0"
366
- id="svg27"
367
- >
368
- <defs id="defs11">
369
- <clipPath id="id1">
370
- <path
371
- d="M 127.29688,75.375 H 347.57031 V 267.52734 H 127.29688 Z m 0,0"
372
- clip-rule="nonzero"
373
- id="path2"
374
- />
375
- </clipPath>
376
- <clipPath id="id2">
356
+ <svg
357
+ class="main-icon"
358
+ xmlns="http://www.w3.org/2000/svg"
359
+ xmlns:svg="http://www.w3.org/2000/svg"
360
+ width="362.26562"
361
+ zoomAndPan="magnify"
362
+ viewBox="0 0 271.62214 192.65233"
363
+ height="256.86978"
364
+ preserveAspectRatio="xMidYMid meet"
365
+ version="1.0"
366
+ id="svg27"
367
+ >
368
+ <defs id="defs11">
369
+ <clipPath id="id1">
370
+ <path
371
+ d="M 127.29688,75.375 H 347.57031 V 267.52734 H 127.29688 Z m 0,0"
372
+ clip-rule="nonzero"
373
+ id="path2"
374
+ />
375
+ </clipPath>
376
+ <clipPath id="id2">
377
+ <path
378
+ d="M 75.871094,104 H 263.33594 V 268.03125 H 75.871094 Z m 0,0"
379
+ clip-rule="nonzero"
380
+ id="path5"
381
+ />
382
+ </clipPath>
383
+ <clipPath id="id3">
384
+ <path
385
+ d="m 105,169.02344 h 210 v 87.875 H 105 Z m 0,0"
386
+ clip-rule="nonzero"
387
+ id="path8"
388
+ />
389
+ </clipPath>
390
+ </defs>
391
+ <g
392
+ clip-path="url(#id1)"
393
+ id="g15"
394
+ transform="translate(-75.931091,-75.378906)"
395
+ >
377
396
  <path
378
- d="M 75.871094,104 H 263.33594 V 268.03125 H 75.871094 Z m 0,0"
379
- clip-rule="nonzero"
380
- id="path5"
397
+ fill="#c30f2e"
398
+ d="M 237.43359,75.378906 347.57031,267.52734 H 127.29688 L 237.43359,75.378906"
399
+ fill-opacity="1"
400
+ fill-rule="nonzero"
401
+ id="path13"
381
402
  />
382
- </clipPath>
383
- <clipPath id="id3">
403
+ </g>
404
+ <g
405
+ clip-path="url(#id2)"
406
+ id="g19"
407
+ transform="translate(-75.931091,-75.378906)"
408
+ >
384
409
  <path
385
- d="m 105,169.02344 h 210 v 87.875 H 105 Z m 0,0"
386
- clip-rule="nonzero"
387
- id="path8"
410
+ fill="#dd0330"
411
+ d="m 169.60156,104 93.73047,164.03125 H 75.871094 L 169.60156,104"
412
+ fill-opacity="1"
413
+ fill-rule="nonzero"
414
+ id="path17"
388
415
  />
389
- </clipPath>
390
- </defs>
391
- <g
392
- clip-path="url(#id1)"
393
- id="g15"
394
- transform="translate(-75.931091,-75.378906)"
395
- >
396
- <path
397
- fill="#c30f2e"
398
- d="M 237.43359,75.378906 347.57031,267.52734 H 127.29688 L 237.43359,75.378906"
399
- fill-opacity="1"
400
- fill-rule="nonzero"
401
- id="path13"
402
- />
403
- </g>
404
- <g
405
- clip-path="url(#id2)"
406
- id="g19"
407
- transform="translate(-75.931091,-75.378906)"
408
- >
409
- <path
410
- fill="#dd0330"
411
- d="m 169.60156,104 93.73047,164.03125 H 75.871094 L 169.60156,104"
412
- fill-opacity="1"
413
- fill-rule="nonzero"
414
- id="path17"
415
- />
416
- </g>
417
- <path
418
- fill="#ffffff"
419
- d="M 252.96344,143.58984 H 19.221253 v -2.56641 H 252.96344 v 2.56641"
420
- fill-opacity="1"
421
- fill-rule="nonzero"
422
- id="path21"
423
- />
424
- <g
425
- clip-path="url(#id3)"
426
- id="g25"
427
- transform="translate(-75.931091,-75.378906)"
428
- >
416
+ </g>
429
417
  <path
430
418
  fill="#ffffff"
431
- d="m 292.78516,256.51172 c -0.91407,0 -1.77344,-0.37891 -2.49219,-1.09766 -4.29297,-4.3125 -4.48047,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.27344,-34.00782 -2.01562,-35.5586 -2.23438,0.92578 -2.45704,17.16407 -2.60157,27.91407 -0.17187,12.50781 -0.34765,25.44921 -2.3789,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95703,3.59765 -2.21485,-0.19531 -2.92969,-3.6914 -4.58204,-17.48828 -0.6875,-5.73047 -1.39843,-11.65234 -2.23046,-13.94531 -0.10938,-0.28906 -0.20313,-0.51953 -0.28516,-0.69922 -0.88672,2.00391 -1.91016,7.51172 -2.62109,11.33594 -0.98438,5.28125 -1.91407,10.26953 -3.07813,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.31641,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 0,-27.01562 -3.53515,-30.16015 -4.24218,-30.51562 l -0.11329,0.0859 -0.17187,-0.0391 c -2.52344,1.10157 -2.66016,9.86328 -2.78906,18.33594 -0.10157,6.21484 -0.21094,13.25781 -1.11719,19.84766 -1.17578,8.54297 -2.59766,10.1914 -4.36719,10.08984 -4.07422,-0.27734 -4.1914,-14.30859 -4.1914,-15.90625 0,-0.5 0.0117,-1.08984 0.0273,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78906,-11.2539 -0.26563,-0.25391 -0.64063,-0.54688 -0.9336,-0.46485 -1.42968,0.35938 -2.91406,5.00391 -3.40625,6.53125 -0.15625,0.48438 -0.28125,0.88282 -0.38672,1.15625 -0.082,0.22657 -0.1875,0.54688 -0.3125,0.9336 -1.08203,3.28515 -2.3125,6.5625 -4.41406,7.37109 -0.77734,0.30078 -1.58984,0.23438 -2.35156,-0.19531 -1.01172,-0.57422 -1.83594,-1.7461 -2.60547,-3.69531 -0.42187,-1.07813 -0.78125,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90234,-2.72656 -1.46875,-4.04296 -0.44531,-1.02344 -1.55468,-1.48438 -2.96875,-1.23438 -2.9375,0.52344 -3.42968,3.49219 -3.84375,7.96094 -0.0742,0.77734 -0.14453,1.53906 -0.24218,2.25781 -0.0117,0.21094 -0.53125,6.76953 -0.86329,8.85547 -0.91796,5.71875 -2.125,7.97266 -4.1289,7.80859 -4.94531,-0.42187 -7.21485,-22.11328 -7.09375,-31.27734 0.0937,-6.99609 -1.17188,-9.55078 -1.92969,-9.95703 -0.0781,-0.0352 -0.19922,-0.10156 -0.48828,0.10156 -0.89453,0.60547 -1.69141,2.49219 -1.44531,4.47266 2.72265,21.5664 0.71484,46.26562 -4.20313,51.82812 -1.55078,1.75 -3.66015,1.72656 -5.1289,0.25 -4.29688,-4.3125 -4.47657,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.26953,-34.00782 -2.01563,-35.5586 -2.23437,0.92578 -2.45312,17.16407 -2.60156,27.91407 -0.17187,12.50781 -0.34766,25.44921 -2.38281,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95313,3.59765 -2.21875,-0.19531 -2.92968,-3.6914 -4.58593,-17.48828 -0.6875,-5.73047 -1.39844,-11.65234 -2.23047,-13.94531 -0.10547,-0.28906 -0.19922,-0.51953 -0.28516,-0.69922 -0.88281,2.00391 -1.90625,7.51172 -2.61719,11.33594 -0.98437,5.28125 -1.91406,10.26953 -3.08203,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.3125,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 -0.004,-27.01562 -3.53516,-30.16015 -4.24219,-30.51562 l -0.11328,0.0859 -0.17578,-0.0391 c -2.51953,1.10157 -2.65625,9.86328 -2.78906,18.33594 -0.0977,6.21484 -0.20703,13.25781 -1.11328,19.84766 -1.17578,8.54297 -2.58594,10.20703 -4.36328,10.08984 -4.08204,-0.27734 -4.19922,-14.30859 -4.19922,-15.90625 0,-0.5 0.0156,-1.08984 0.0312,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78907,-11.2539 -0.26562,-0.25391 -0.64062,-0.54688 -0.93359,-0.46485 -1.42969,0.35938 -2.91797,5.00391 -3.40234,6.53125 -0.15625,0.48047 -0.28907,0.88282 -0.38672,1.15625 -0.0859,0.22266 -0.19141,0.54297 -0.31641,0.92969 -1.08203,3.28516 -2.3125,6.56641 -4.41015,7.375 -0.78125,0.30078 -1.59766,0.23438 -2.35547,-0.19531 -1.01172,-0.57422 -1.83985,-1.7461 -2.60547,-3.69531 -0.42188,-1.07813 -0.78516,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90625,-2.72656 -1.47265,-4.04296 -0.44141,-1.02344 -1.55469,-1.48438 -2.96875,-1.23438 -3.38282,0.60156 -4.1836,4.79688 -4.82813,9.80469 l -0.11328,0.89062 -2.55859,-0.33984 0.12109,-0.875 c 0.55859,-4.39063 1.41016,-11.02734 6.92969,-12.00391 2.59765,-0.46093 4.86718,0.61719 5.78125,2.74219 0.61328,1.42188 1.09375,2.85938 1.55468,4.25391 0.34375,1.05078 0.69532,2.10156 1.10157,3.14062 0.71484,1.8125 1.26953,2.28125 1.47656,2.39453 1.29297,-0.40234 2.61328,-4.42187 3.05078,-5.74609 0.13672,-0.42578 0.25391,-0.77734 0.34766,-1.02734 0.0898,-0.2461 0.20703,-0.60547 0.34765,-1.03907 1.16407,-3.64062 2.625,-7.58203 5.21875,-8.23828 0.79297,-0.20312 2.01953,-0.17578 3.35156,1.09766 2.82813,2.69922 2.67969,9 2.58204,13.17187 -0.0156,0.625 -0.0312,1.19532 -0.0312,1.67969 0,6.65625 0.98828,11.30859 1.74218,12.90625 0.39063,-0.81641 1.0586,-2.79297 1.69532,-7.4375 0.88281,-6.4375 0.99609,-13.39844 1.08984,-19.53906 0.17187,-10.86719 0.29297,-18.7461 4.22656,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58594,-0.0352 3.80469,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.76172,6.84375 0.004,-0.0703 0.5625,-0.41407 1.48047,-2.13282 0.98047,-1.82421 1.95703,-7.07421 2.81641,-11.70312 1.90234,-10.20313 2.76562,-13.78516 5.01562,-13.97266 1.71485,-0.16797 2.50781,2.01172 2.83985,2.92969 0.9375,2.57031 1.63281,8.37109 2.36718,14.51563 0.57422,4.76562 1.39063,11.57031 2.22266,14.32421 0.0898,-0.24218 0.19141,-0.53125 0.30078,-0.88671 1.92578,-6.23829 2.10156,-18.98438 2.26953,-31.31641 0.23438,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69531,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66016,1.21484 3.94141,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52734,46.27735 0.33594,0.33984 0.57422,0.33984 0.66016,0.33984 0.17968,0 0.4375,-0.17187 0.71093,-0.48047 3.90625,-4.41797 6.37891,-27.61718 3.57813,-49.80468 -0.34766,-2.76172 0.71875,-5.66407 2.53906,-6.91407 1.00391,-0.6914 2.16016,-0.78125 3.16016,-0.24609 2.27734,1.21094 3.38281,5.33203 3.29297,12.25391 -0.16016,12.08593 2.74218,26.23046 4.63672,28.48828 0.30078,-0.5 0.89453,-1.8711 1.46484,-5.46094 0.32031,-1.98438 0.84766,-8.65234 0.85547,-8.71875 0.0937,-0.75391 0.16406,-1.48438 0.23047,-2.22656 0.39062,-4.16407 0.87109,-9.34375 5.95703,-10.2461 2.59375,-0.46093 4.86328,0.61328 5.78125,2.74219 0.61328,1.42188 1.08984,2.85938 1.55078,4.25391 0.35156,1.05078 0.70312,2.10156 1.10937,3.14062 0.71094,1.8125 1.26954,2.28125 1.47266,2.39453 1.29297,-0.40234 2.61719,-4.42187 3.05078,-5.74218 0.14063,-0.42579 0.25781,-0.78125 0.34766,-1.03125 0.0937,-0.24219 0.20703,-0.60547 0.34375,-1.03907 1.16797,-3.64062 2.6289,-7.58203 5.22656,-8.23828 0.78516,-0.20312 2.01563,-0.17578 3.34766,1.09766 2.82812,2.69922 2.67968,9 2.58593,13.17187 -0.0195,0.625 -0.0352,1.19532 -0.0352,1.67969 0,6.65625 0.98828,11.30859 1.74219,12.90625 0.38671,-0.81641 1.05468,-2.79297 1.69921,-7.4375 0.88282,-6.4375 0.98829,-13.39844 1.08985,-19.53906 0.16797,-10.86719 0.28906,-18.7461 4.22265,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58985,-0.0352 3.80078,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.75781,6.84375 0.008,-0.0703 0.5586,-0.41407 1.48438,-2.13282 0.98047,-1.82421 1.95312,-7.07421 2.81641,-11.70312 1.89453,-10.20313 2.76171,-13.78516 5.01171,-13.97266 1.71875,-0.16797 2.51172,2.01172 2.84375,2.92969 0.9336,2.57031 1.62891,8.37109 2.3711,14.51563 0.5664,4.76562 1.38281,11.57031 2.21875,14.32421 0.0859,-0.24218 0.1875,-0.53125 0.29687,-0.88671 1.92578,-6.23829 2.09766,-18.98438 2.26953,-31.31641 0.23047,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69922,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66407,1.21484 3.94532,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52344,46.27735 0.34375,0.33984 0.57812,0.33984 0.66797,0.33984 0.17578,0 0.43359,-0.17187 0.70312,-0.48047 3.91406,-4.41797 6.38281,-27.61718 3.58203,-49.80468 -0.36328,-2.89063 0.45703,-5.80469 1.95313,-6.92579 0.7539,-0.57031 1.67187,-0.6875 2.51562,-0.33203 2.17969,0.92969 3.65625,4.91407 4.51563,12.1875 0.35937,3.04688 0.67968,6.33985 0.98828,9.58985 0.67969,7.09375 1.60156,16.65234 2.84765,18.7539 0.38282,-0.48828 1.16407,-1.80859 2.32422,-5.34765 l 2.44922,0.80078 c -1.80078,5.47265 -3.21094,7.53515 -5.04687,7.32422 -2.85547,-0.31641 -3.67969,-6.08594 -5.13672,-21.28516 -0.3086,-3.23437 -0.625,-6.50781 -0.98438,-9.53906 -1.09375,-9.27735 -2.95312,-10.11719 -2.97265,-10.125 -0.36328,0.18359 -1.20703,2.11328 -0.89453,4.57422 2.71484,21.5664 0.71484,46.26953 -4.20704,51.82812 -0.79296,0.89453 -1.68359,1.34766 -2.63671,1.34766"
419
+ d="M 252.96344,143.58984 H 19.221253 v -2.56641 H 252.96344 v 2.56641"
432
420
  fill-opacity="1"
433
421
  fill-rule="nonzero"
434
- id="path23"
422
+ id="path21"
435
423
  />
436
- </g>
437
- </svg>
424
+ <g
425
+ clip-path="url(#id3)"
426
+ id="g25"
427
+ transform="translate(-75.931091,-75.378906)"
428
+ >
429
+ <path
430
+ fill="#ffffff"
431
+ d="m 292.78516,256.51172 c -0.91407,0 -1.77344,-0.37891 -2.49219,-1.09766 -4.29297,-4.3125 -4.48047,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.27344,-34.00782 -2.01562,-35.5586 -2.23438,0.92578 -2.45704,17.16407 -2.60157,27.91407 -0.17187,12.50781 -0.34765,25.44921 -2.3789,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95703,3.59765 -2.21485,-0.19531 -2.92969,-3.6914 -4.58204,-17.48828 -0.6875,-5.73047 -1.39843,-11.65234 -2.23046,-13.94531 -0.10938,-0.28906 -0.20313,-0.51953 -0.28516,-0.69922 -0.88672,2.00391 -1.91016,7.51172 -2.62109,11.33594 -0.98438,5.28125 -1.91407,10.26953 -3.07813,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.31641,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 0,-27.01562 -3.53515,-30.16015 -4.24218,-30.51562 l -0.11329,0.0859 -0.17187,-0.0391 c -2.52344,1.10157 -2.66016,9.86328 -2.78906,18.33594 -0.10157,6.21484 -0.21094,13.25781 -1.11719,19.84766 -1.17578,8.54297 -2.59766,10.1914 -4.36719,10.08984 -4.07422,-0.27734 -4.1914,-14.30859 -4.1914,-15.90625 0,-0.5 0.0117,-1.08984 0.0273,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78906,-11.2539 -0.26563,-0.25391 -0.64063,-0.54688 -0.9336,-0.46485 -1.42968,0.35938 -2.91406,5.00391 -3.40625,6.53125 -0.15625,0.48438 -0.28125,0.88282 -0.38672,1.15625 -0.082,0.22657 -0.1875,0.54688 -0.3125,0.9336 -1.08203,3.28515 -2.3125,6.5625 -4.41406,7.37109 -0.77734,0.30078 -1.58984,0.23438 -2.35156,-0.19531 -1.01172,-0.57422 -1.83594,-1.7461 -2.60547,-3.69531 -0.42187,-1.07813 -0.78125,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90234,-2.72656 -1.46875,-4.04296 -0.44531,-1.02344 -1.55468,-1.48438 -2.96875,-1.23438 -2.9375,0.52344 -3.42968,3.49219 -3.84375,7.96094 -0.0742,0.77734 -0.14453,1.53906 -0.24218,2.25781 -0.0117,0.21094 -0.53125,6.76953 -0.86329,8.85547 -0.91796,5.71875 -2.125,7.97266 -4.1289,7.80859 -4.94531,-0.42187 -7.21485,-22.11328 -7.09375,-31.27734 0.0937,-6.99609 -1.17188,-9.55078 -1.92969,-9.95703 -0.0781,-0.0352 -0.19922,-0.10156 -0.48828,0.10156 -0.89453,0.60547 -1.69141,2.49219 -1.44531,4.47266 2.72265,21.5664 0.71484,46.26562 -4.20313,51.82812 -1.55078,1.75 -3.66015,1.72656 -5.1289,0.25 -4.29688,-4.3125 -4.47657,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.26953,-34.00782 -2.01563,-35.5586 -2.23437,0.92578 -2.45312,17.16407 -2.60156,27.91407 -0.17187,12.50781 -0.34766,25.44921 -2.38281,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95313,3.59765 -2.21875,-0.19531 -2.92968,-3.6914 -4.58593,-17.48828 -0.6875,-5.73047 -1.39844,-11.65234 -2.23047,-13.94531 -0.10547,-0.28906 -0.19922,-0.51953 -0.28516,-0.69922 -0.88281,2.00391 -1.90625,7.51172 -2.61719,11.33594 -0.98437,5.28125 -1.91406,10.26953 -3.08203,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.3125,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 -0.004,-27.01562 -3.53516,-30.16015 -4.24219,-30.51562 l -0.11328,0.0859 -0.17578,-0.0391 c -2.51953,1.10157 -2.65625,9.86328 -2.78906,18.33594 -0.0977,6.21484 -0.20703,13.25781 -1.11328,19.84766 -1.17578,8.54297 -2.58594,10.20703 -4.36328,10.08984 -4.08204,-0.27734 -4.19922,-14.30859 -4.19922,-15.90625 0,-0.5 0.0156,-1.08984 0.0312,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78907,-11.2539 -0.26562,-0.25391 -0.64062,-0.54688 -0.93359,-0.46485 -1.42969,0.35938 -2.91797,5.00391 -3.40234,6.53125 -0.15625,0.48047 -0.28907,0.88282 -0.38672,1.15625 -0.0859,0.22266 -0.19141,0.54297 -0.31641,0.92969 -1.08203,3.28516 -2.3125,6.56641 -4.41015,7.375 -0.78125,0.30078 -1.59766,0.23438 -2.35547,-0.19531 -1.01172,-0.57422 -1.83985,-1.7461 -2.60547,-3.69531 -0.42188,-1.07813 -0.78516,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90625,-2.72656 -1.47265,-4.04296 -0.44141,-1.02344 -1.55469,-1.48438 -2.96875,-1.23438 -3.38282,0.60156 -4.1836,4.79688 -4.82813,9.80469 l -0.11328,0.89062 -2.55859,-0.33984 0.12109,-0.875 c 0.55859,-4.39063 1.41016,-11.02734 6.92969,-12.00391 2.59765,-0.46093 4.86718,0.61719 5.78125,2.74219 0.61328,1.42188 1.09375,2.85938 1.55468,4.25391 0.34375,1.05078 0.69532,2.10156 1.10157,3.14062 0.71484,1.8125 1.26953,2.28125 1.47656,2.39453 1.29297,-0.40234 2.61328,-4.42187 3.05078,-5.74609 0.13672,-0.42578 0.25391,-0.77734 0.34766,-1.02734 0.0898,-0.2461 0.20703,-0.60547 0.34765,-1.03907 1.16407,-3.64062 2.625,-7.58203 5.21875,-8.23828 0.79297,-0.20312 2.01953,-0.17578 3.35156,1.09766 2.82813,2.69922 2.67969,9 2.58204,13.17187 -0.0156,0.625 -0.0312,1.19532 -0.0312,1.67969 0,6.65625 0.98828,11.30859 1.74218,12.90625 0.39063,-0.81641 1.0586,-2.79297 1.69532,-7.4375 0.88281,-6.4375 0.99609,-13.39844 1.08984,-19.53906 0.17187,-10.86719 0.29297,-18.7461 4.22656,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58594,-0.0352 3.80469,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.76172,6.84375 0.004,-0.0703 0.5625,-0.41407 1.48047,-2.13282 0.98047,-1.82421 1.95703,-7.07421 2.81641,-11.70312 1.90234,-10.20313 2.76562,-13.78516 5.01562,-13.97266 1.71485,-0.16797 2.50781,2.01172 2.83985,2.92969 0.9375,2.57031 1.63281,8.37109 2.36718,14.51563 0.57422,4.76562 1.39063,11.57031 2.22266,14.32421 0.0898,-0.24218 0.19141,-0.53125 0.30078,-0.88671 1.92578,-6.23829 2.10156,-18.98438 2.26953,-31.31641 0.23438,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69531,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66016,1.21484 3.94141,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52734,46.27735 0.33594,0.33984 0.57422,0.33984 0.66016,0.33984 0.17968,0 0.4375,-0.17187 0.71093,-0.48047 3.90625,-4.41797 6.37891,-27.61718 3.57813,-49.80468 -0.34766,-2.76172 0.71875,-5.66407 2.53906,-6.91407 1.00391,-0.6914 2.16016,-0.78125 3.16016,-0.24609 2.27734,1.21094 3.38281,5.33203 3.29297,12.25391 -0.16016,12.08593 2.74218,26.23046 4.63672,28.48828 0.30078,-0.5 0.89453,-1.8711 1.46484,-5.46094 0.32031,-1.98438 0.84766,-8.65234 0.85547,-8.71875 0.0937,-0.75391 0.16406,-1.48438 0.23047,-2.22656 0.39062,-4.16407 0.87109,-9.34375 5.95703,-10.2461 2.59375,-0.46093 4.86328,0.61328 5.78125,2.74219 0.61328,1.42188 1.08984,2.85938 1.55078,4.25391 0.35156,1.05078 0.70312,2.10156 1.10937,3.14062 0.71094,1.8125 1.26954,2.28125 1.47266,2.39453 1.29297,-0.40234 2.61719,-4.42187 3.05078,-5.74218 0.14063,-0.42579 0.25781,-0.78125 0.34766,-1.03125 0.0937,-0.24219 0.20703,-0.60547 0.34375,-1.03907 1.16797,-3.64062 2.6289,-7.58203 5.22656,-8.23828 0.78516,-0.20312 2.01563,-0.17578 3.34766,1.09766 2.82812,2.69922 2.67968,9 2.58593,13.17187 -0.0195,0.625 -0.0352,1.19532 -0.0352,1.67969 0,6.65625 0.98828,11.30859 1.74219,12.90625 0.38671,-0.81641 1.05468,-2.79297 1.69921,-7.4375 0.88282,-6.4375 0.98829,-13.39844 1.08985,-19.53906 0.16797,-10.86719 0.28906,-18.7461 4.22265,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58985,-0.0352 3.80078,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.75781,6.84375 0.008,-0.0703 0.5586,-0.41407 1.48438,-2.13282 0.98047,-1.82421 1.95312,-7.07421 2.81641,-11.70312 1.89453,-10.20313 2.76171,-13.78516 5.01171,-13.97266 1.71875,-0.16797 2.51172,2.01172 2.84375,2.92969 0.9336,2.57031 1.62891,8.37109 2.3711,14.51563 0.5664,4.76562 1.38281,11.57031 2.21875,14.32421 0.0859,-0.24218 0.1875,-0.53125 0.29687,-0.88671 1.92578,-6.23829 2.09766,-18.98438 2.26953,-31.31641 0.23047,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69922,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66407,1.21484 3.94532,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52344,46.27735 0.34375,0.33984 0.57812,0.33984 0.66797,0.33984 0.17578,0 0.43359,-0.17187 0.70312,-0.48047 3.91406,-4.41797 6.38281,-27.61718 3.58203,-49.80468 -0.36328,-2.89063 0.45703,-5.80469 1.95313,-6.92579 0.7539,-0.57031 1.67187,-0.6875 2.51562,-0.33203 2.17969,0.92969 3.65625,4.91407 4.51563,12.1875 0.35937,3.04688 0.67968,6.33985 0.98828,9.58985 0.67969,7.09375 1.60156,16.65234 2.84765,18.7539 0.38282,-0.48828 1.16407,-1.80859 2.32422,-5.34765 l 2.44922,0.80078 c -1.80078,5.47265 -3.21094,7.53515 -5.04687,7.32422 -2.85547,-0.31641 -3.67969,-6.08594 -5.13672,-21.28516 -0.3086,-3.23437 -0.625,-6.50781 -0.98438,-9.53906 -1.09375,-9.27735 -2.95312,-10.11719 -2.97265,-10.125 -0.36328,0.18359 -1.20703,2.11328 -0.89453,4.57422 2.71484,21.5664 0.71484,46.26953 -4.20704,51.82812 -0.79296,0.89453 -1.68359,1.34766 -2.63671,1.34766"
432
+ fill-opacity="1"
433
+ fill-rule="nonzero"
434
+ id="path23"
435
+ />
436
+ </g>
437
+ </svg>
438
438
  <a
439
439
  class="button-badge"
440
440
  target="_blank"
@@ -442,7 +442,8 @@ import { Note } from '../../note';
442
442
  >Follow along on Twitter</a
443
443
  >
444
444
  <h1 class="heading-1">
445
- <span class="text-analog-red">Analog.</span> The fullstack Angular meta-framework
445
+ <span class="text-analog-red">Analog.</span> The fullstack Angular
446
+ meta-framework
446
447
  </h1>
447
448
  <p class="paragraph-intro">
448
449
  Analog is for building applications and websites with Angular.
@@ -485,74 +486,78 @@ import { Note } from '../../note';
485
486
  +
486
487
  </button>
487
488
  </form>
488
- <div class="note-grid">
489
- <div
490
- *ngFor="
491
- let note of notes ?? [];
492
- trackBy: noteTrackBy;
493
- let i = index
494
- "
495
- class="note feature-card"
496
- >
497
- <button
498
- [attr.data-testid]="'removeNoteAtIndexBtn' + i"
499
- class="delete-note-button secondary-button"
500
- (click)="removePost(note.id)"
489
+
490
+ <ng-container *ngIf="notes$ | async as notes; else loading">
491
+ <div class="note-grid">
492
+ <div
493
+ *ngFor="
494
+ let note of notes ?? [];
495
+ trackBy: noteTrackBy;
496
+ let i = index
497
+ "
498
+ class="note feature-card"
501
499
  >
502
- <svg
503
- xmlns="http://www.w3.org/2000/svg"
504
- fill="none"
505
- viewBox="0 0 24 24"
506
- stroke-width="1.5"
507
- stroke="currentColor"
508
- class="delete-note-icon"
500
+ <button
501
+ [attr.data-testid]="'removeNoteAtIndexBtn' + i"
502
+ class="delete-note-button secondary-button"
503
+ (click)="removePost(note.id)"
509
504
  >
510
- <path
511
- stroke-linecap="round"
512
- stroke-linejoin="round"
513
- d="M6 18L18 6M6 6l12 12"
514
- />
515
- </svg>
516
- </button>
505
+ <svg
506
+ xmlns="http://www.w3.org/2000/svg"
507
+ fill="none"
508
+ viewBox="0 0 24 24"
509
+ stroke-width="1.5"
510
+ stroke="currentColor"
511
+ class="delete-note-icon"
512
+ >
513
+ <path
514
+ stroke-linecap="round"
515
+ stroke-linejoin="round"
516
+ d="M6 18L18 6M6 6l12 12"
517
+ />
518
+ </svg>
519
+ </button>
520
+ <div class="card-content">
521
+ <div class="card-details">
522
+ <h3 class="card-title">{{ note.note }}</h3>
523
+ <p class="card-description">
524
+ {{ note.createdAt | date }}
525
+ </p>
526
+ </div>
527
+ </div>
528
+ </div>
529
+ </div>
530
+
531
+ <div *ngIf="notes.length === 0" class="feature-card">
517
532
  <div class="card-content">
518
533
  <div class="card-details">
519
- <h3 class="card-title">{{ note.note }}</h3>
534
+ <h3 class="card-title">No notes yet...</h3>
520
535
  <p class="card-description">
521
- {{ note.createdAt | date }}
536
+ Add a new one and see them appear here...
522
537
  </p>
523
538
  </div>
524
539
  </div>
525
540
  </div>
526
- </div>
527
-
528
- <div *ngIf="notes.length === 0" class="feature-card">
529
- <div class="card-content">
530
- <div class="card-details">
531
- <h3 class="card-title">
532
- {{ loadingPosts ? 'Loading...' : 'No notes yet...' }}
533
- </h3>
534
- <p class="card-description">
535
- {{
536
- loadingPosts
537
- ? ''
538
- : 'Add a new one and see them appear here...'
539
- }}
540
- </p>
541
- </div>
542
- </div>
543
- </div>
541
+ </ng-container>
542
+ <ng-template #loading>
543
+ <p class="loading">Loading...</p>
544
+ </ng-template>
544
545
  </section>
545
546
  </main>
546
547
  `,
547
548
  })
548
549
  export default class HomeComponent {
549
- private _trpc = injectTRPCClient();
550
- public loadingPosts = false;
551
- public notes: Note[] = [];
550
+ private _trpc = injectTRPCClient();
551
+ public triggerRefresh$ = new Subject<void>();
552
+ public notes$ = this.triggerRefresh$.pipe(
553
+ switchMap(() => this._trpc.note.list.query()),
554
+ shareReplay(1)
555
+ );
552
556
  public newNote = '';
553
557
 
554
558
  constructor() {
555
- waitFor(this._trpc.note.list.query().then((notes) => (this.notes = notes)));
559
+ void waitFor(this.notes$);
560
+ this.triggerRefresh$.next();
556
561
  }
557
562
 
558
563
  public noteTrackBy = (index: number, note: Note) => {
@@ -566,20 +571,16 @@ export default class HomeComponent {
566
571
  }
567
572
  this._trpc.note.create
568
573
  .mutate({ title: this.newNote })
569
- .then(() => this.fetchPosts());
574
+ .pipe(take(1))
575
+ .subscribe(() => this.triggerRefresh$.next());
570
576
  this.newNote = '';
571
577
  form.form.reset();
572
578
  }
573
579
 
574
580
  public removePost(id: number) {
575
- this._trpc.note.remove.mutate({ id }).then(() => this.fetchPosts());
576
- }
577
-
578
- private fetchPosts() {
579
- this.loadingPosts = true;
580
- this._trpc.note.list.query().then((notes) => {
581
- this.loadingPosts = false;
582
- this.notes = notes;
583
- });
581
+ this._trpc.note.remove
582
+ .mutate({ id })
583
+ .pipe(take(1))
584
+ .subscribe(() => this.triggerRefresh$.next());
584
585
  }
585
586
  }
@@ -1,6 +1,7 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { AsyncPipe, DatePipe, NgFor, NgIf } from '@angular/common';
3
3
  import { FormsModule, NgForm } from '@angular/forms';
4
+ import { shareReplay, Subject, switchMap, take } from 'rxjs';
4
5
  import { waitFor } from '@analogjs/trpc';
5
6
  import { injectTRPCClient } from '../../trpc-client';
6
7
  import { Note } from '../../note';
@@ -19,88 +20,88 @@ import { Note } from '../../note';
19
20
  <div
20
21
  class="container flex max-w-[64rem] flex-col items-center gap-4 text-center"
21
22
  >
22
- <svg
23
- class="mx-auto h-16 w-16 -mb-4"
24
- xmlns="http://www.w3.org/2000/svg"
25
- xmlns:svg="http://www.w3.org/2000/svg"
26
- width="362.26562"
27
- zoomAndPan="magnify"
28
- viewBox="0 0 271.62214 192.65233"
29
- height="256.86978"
30
- preserveAspectRatio="xMidYMid meet"
31
- version="1.0"
32
- id="svg27"
33
- >
34
- <defs id="defs11">
35
- <clipPath id="id1">
36
- <path
37
- d="M 127.29688,75.375 H 347.57031 V 267.52734 H 127.29688 Z m 0,0"
38
- clip-rule="nonzero"
39
- id="path2"
40
- />
41
- </clipPath>
42
- <clipPath id="id2">
23
+ <svg
24
+ class="mx-auto h-16 w-16 -mb-4"
25
+ xmlns="http://www.w3.org/2000/svg"
26
+ xmlns:svg="http://www.w3.org/2000/svg"
27
+ width="362.26562"
28
+ zoomAndPan="magnify"
29
+ viewBox="0 0 271.62214 192.65233"
30
+ height="256.86978"
31
+ preserveAspectRatio="xMidYMid meet"
32
+ version="1.0"
33
+ id="svg27"
34
+ >
35
+ <defs id="defs11">
36
+ <clipPath id="id1">
37
+ <path
38
+ d="M 127.29688,75.375 H 347.57031 V 267.52734 H 127.29688 Z m 0,0"
39
+ clip-rule="nonzero"
40
+ id="path2"
41
+ />
42
+ </clipPath>
43
+ <clipPath id="id2">
44
+ <path
45
+ d="M 75.871094,104 H 263.33594 V 268.03125 H 75.871094 Z m 0,0"
46
+ clip-rule="nonzero"
47
+ id="path5"
48
+ />
49
+ </clipPath>
50
+ <clipPath id="id3">
51
+ <path
52
+ d="m 105,169.02344 h 210 v 87.875 H 105 Z m 0,0"
53
+ clip-rule="nonzero"
54
+ id="path8"
55
+ />
56
+ </clipPath>
57
+ </defs>
58
+ <g
59
+ clip-path="url(#id1)"
60
+ id="g15"
61
+ transform="translate(-75.931091,-75.378906)"
62
+ >
43
63
  <path
44
- d="M 75.871094,104 H 263.33594 V 268.03125 H 75.871094 Z m 0,0"
45
- clip-rule="nonzero"
46
- id="path5"
64
+ fill="#c30f2e"
65
+ d="M 237.43359,75.378906 347.57031,267.52734 H 127.29688 L 237.43359,75.378906"
66
+ fill-opacity="1"
67
+ fill-rule="nonzero"
68
+ id="path13"
47
69
  />
48
- </clipPath>
49
- <clipPath id="id3">
70
+ </g>
71
+ <g
72
+ clip-path="url(#id2)"
73
+ id="g19"
74
+ transform="translate(-75.931091,-75.378906)"
75
+ >
50
76
  <path
51
- d="m 105,169.02344 h 210 v 87.875 H 105 Z m 0,0"
52
- clip-rule="nonzero"
53
- id="path8"
77
+ fill="#dd0330"
78
+ d="m 169.60156,104 93.73047,164.03125 H 75.871094 L 169.60156,104"
79
+ fill-opacity="1"
80
+ fill-rule="nonzero"
81
+ id="path17"
54
82
  />
55
- </clipPath>
56
- </defs>
57
- <g
58
- clip-path="url(#id1)"
59
- id="g15"
60
- transform="translate(-75.931091,-75.378906)"
61
- >
62
- <path
63
- fill="#c30f2e"
64
- d="M 237.43359,75.378906 347.57031,267.52734 H 127.29688 L 237.43359,75.378906"
65
- fill-opacity="1"
66
- fill-rule="nonzero"
67
- id="path13"
68
- />
69
- </g>
70
- <g
71
- clip-path="url(#id2)"
72
- id="g19"
73
- transform="translate(-75.931091,-75.378906)"
74
- >
75
- <path
76
- fill="#dd0330"
77
- d="m 169.60156,104 93.73047,164.03125 H 75.871094 L 169.60156,104"
78
- fill-opacity="1"
79
- fill-rule="nonzero"
80
- id="path17"
81
- />
82
- </g>
83
- <path
84
- fill="#ffffff"
85
- d="M 252.96344,143.58984 H 19.221253 v -2.56641 H 252.96344 v 2.56641"
86
- fill-opacity="1"
87
- fill-rule="nonzero"
88
- id="path21"
89
- />
90
- <g
91
- clip-path="url(#id3)"
92
- id="g25"
93
- transform="translate(-75.931091,-75.378906)"
94
- >
83
+ </g>
95
84
  <path
96
85
  fill="#ffffff"
97
- d="m 292.78516,256.51172 c -0.91407,0 -1.77344,-0.37891 -2.49219,-1.09766 -4.29297,-4.3125 -4.48047,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.27344,-34.00782 -2.01562,-35.5586 -2.23438,0.92578 -2.45704,17.16407 -2.60157,27.91407 -0.17187,12.50781 -0.34765,25.44921 -2.3789,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95703,3.59765 -2.21485,-0.19531 -2.92969,-3.6914 -4.58204,-17.48828 -0.6875,-5.73047 -1.39843,-11.65234 -2.23046,-13.94531 -0.10938,-0.28906 -0.20313,-0.51953 -0.28516,-0.69922 -0.88672,2.00391 -1.91016,7.51172 -2.62109,11.33594 -0.98438,5.28125 -1.91407,10.26953 -3.07813,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.31641,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 0,-27.01562 -3.53515,-30.16015 -4.24218,-30.51562 l -0.11329,0.0859 -0.17187,-0.0391 c -2.52344,1.10157 -2.66016,9.86328 -2.78906,18.33594 -0.10157,6.21484 -0.21094,13.25781 -1.11719,19.84766 -1.17578,8.54297 -2.59766,10.1914 -4.36719,10.08984 -4.07422,-0.27734 -4.1914,-14.30859 -4.1914,-15.90625 0,-0.5 0.0117,-1.08984 0.0273,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78906,-11.2539 -0.26563,-0.25391 -0.64063,-0.54688 -0.9336,-0.46485 -1.42968,0.35938 -2.91406,5.00391 -3.40625,6.53125 -0.15625,0.48438 -0.28125,0.88282 -0.38672,1.15625 -0.082,0.22657 -0.1875,0.54688 -0.3125,0.9336 -1.08203,3.28515 -2.3125,6.5625 -4.41406,7.37109 -0.77734,0.30078 -1.58984,0.23438 -2.35156,-0.19531 -1.01172,-0.57422 -1.83594,-1.7461 -2.60547,-3.69531 -0.42187,-1.07813 -0.78125,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90234,-2.72656 -1.46875,-4.04296 -0.44531,-1.02344 -1.55468,-1.48438 -2.96875,-1.23438 -2.9375,0.52344 -3.42968,3.49219 -3.84375,7.96094 -0.0742,0.77734 -0.14453,1.53906 -0.24218,2.25781 -0.0117,0.21094 -0.53125,6.76953 -0.86329,8.85547 -0.91796,5.71875 -2.125,7.97266 -4.1289,7.80859 -4.94531,-0.42187 -7.21485,-22.11328 -7.09375,-31.27734 0.0937,-6.99609 -1.17188,-9.55078 -1.92969,-9.95703 -0.0781,-0.0352 -0.19922,-0.10156 -0.48828,0.10156 -0.89453,0.60547 -1.69141,2.49219 -1.44531,4.47266 2.72265,21.5664 0.71484,46.26562 -4.20313,51.82812 -1.55078,1.75 -3.66015,1.72656 -5.1289,0.25 -4.29688,-4.3125 -4.47657,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.26953,-34.00782 -2.01563,-35.5586 -2.23437,0.92578 -2.45312,17.16407 -2.60156,27.91407 -0.17187,12.50781 -0.34766,25.44921 -2.38281,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95313,3.59765 -2.21875,-0.19531 -2.92968,-3.6914 -4.58593,-17.48828 -0.6875,-5.73047 -1.39844,-11.65234 -2.23047,-13.94531 -0.10547,-0.28906 -0.19922,-0.51953 -0.28516,-0.69922 -0.88281,2.00391 -1.90625,7.51172 -2.61719,11.33594 -0.98437,5.28125 -1.91406,10.26953 -3.08203,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.3125,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 -0.004,-27.01562 -3.53516,-30.16015 -4.24219,-30.51562 l -0.11328,0.0859 -0.17578,-0.0391 c -2.51953,1.10157 -2.65625,9.86328 -2.78906,18.33594 -0.0977,6.21484 -0.20703,13.25781 -1.11328,19.84766 -1.17578,8.54297 -2.58594,10.20703 -4.36328,10.08984 -4.08204,-0.27734 -4.19922,-14.30859 -4.19922,-15.90625 0,-0.5 0.0156,-1.08984 0.0312,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78907,-11.2539 -0.26562,-0.25391 -0.64062,-0.54688 -0.93359,-0.46485 -1.42969,0.35938 -2.91797,5.00391 -3.40234,6.53125 -0.15625,0.48047 -0.28907,0.88282 -0.38672,1.15625 -0.0859,0.22266 -0.19141,0.54297 -0.31641,0.92969 -1.08203,3.28516 -2.3125,6.56641 -4.41015,7.375 -0.78125,0.30078 -1.59766,0.23438 -2.35547,-0.19531 -1.01172,-0.57422 -1.83985,-1.7461 -2.60547,-3.69531 -0.42188,-1.07813 -0.78516,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90625,-2.72656 -1.47265,-4.04296 -0.44141,-1.02344 -1.55469,-1.48438 -2.96875,-1.23438 -3.38282,0.60156 -4.1836,4.79688 -4.82813,9.80469 l -0.11328,0.89062 -2.55859,-0.33984 0.12109,-0.875 c 0.55859,-4.39063 1.41016,-11.02734 6.92969,-12.00391 2.59765,-0.46093 4.86718,0.61719 5.78125,2.74219 0.61328,1.42188 1.09375,2.85938 1.55468,4.25391 0.34375,1.05078 0.69532,2.10156 1.10157,3.14062 0.71484,1.8125 1.26953,2.28125 1.47656,2.39453 1.29297,-0.40234 2.61328,-4.42187 3.05078,-5.74609 0.13672,-0.42578 0.25391,-0.77734 0.34766,-1.02734 0.0898,-0.2461 0.20703,-0.60547 0.34765,-1.03907 1.16407,-3.64062 2.625,-7.58203 5.21875,-8.23828 0.79297,-0.20312 2.01953,-0.17578 3.35156,1.09766 2.82813,2.69922 2.67969,9 2.58204,13.17187 -0.0156,0.625 -0.0312,1.19532 -0.0312,1.67969 0,6.65625 0.98828,11.30859 1.74218,12.90625 0.39063,-0.81641 1.0586,-2.79297 1.69532,-7.4375 0.88281,-6.4375 0.99609,-13.39844 1.08984,-19.53906 0.17187,-10.86719 0.29297,-18.7461 4.22656,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58594,-0.0352 3.80469,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.76172,6.84375 0.004,-0.0703 0.5625,-0.41407 1.48047,-2.13282 0.98047,-1.82421 1.95703,-7.07421 2.81641,-11.70312 1.90234,-10.20313 2.76562,-13.78516 5.01562,-13.97266 1.71485,-0.16797 2.50781,2.01172 2.83985,2.92969 0.9375,2.57031 1.63281,8.37109 2.36718,14.51563 0.57422,4.76562 1.39063,11.57031 2.22266,14.32421 0.0898,-0.24218 0.19141,-0.53125 0.30078,-0.88671 1.92578,-6.23829 2.10156,-18.98438 2.26953,-31.31641 0.23438,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69531,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66016,1.21484 3.94141,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52734,46.27735 0.33594,0.33984 0.57422,0.33984 0.66016,0.33984 0.17968,0 0.4375,-0.17187 0.71093,-0.48047 3.90625,-4.41797 6.37891,-27.61718 3.57813,-49.80468 -0.34766,-2.76172 0.71875,-5.66407 2.53906,-6.91407 1.00391,-0.6914 2.16016,-0.78125 3.16016,-0.24609 2.27734,1.21094 3.38281,5.33203 3.29297,12.25391 -0.16016,12.08593 2.74218,26.23046 4.63672,28.48828 0.30078,-0.5 0.89453,-1.8711 1.46484,-5.46094 0.32031,-1.98438 0.84766,-8.65234 0.85547,-8.71875 0.0937,-0.75391 0.16406,-1.48438 0.23047,-2.22656 0.39062,-4.16407 0.87109,-9.34375 5.95703,-10.2461 2.59375,-0.46093 4.86328,0.61328 5.78125,2.74219 0.61328,1.42188 1.08984,2.85938 1.55078,4.25391 0.35156,1.05078 0.70312,2.10156 1.10937,3.14062 0.71094,1.8125 1.26954,2.28125 1.47266,2.39453 1.29297,-0.40234 2.61719,-4.42187 3.05078,-5.74218 0.14063,-0.42579 0.25781,-0.78125 0.34766,-1.03125 0.0937,-0.24219 0.20703,-0.60547 0.34375,-1.03907 1.16797,-3.64062 2.6289,-7.58203 5.22656,-8.23828 0.78516,-0.20312 2.01563,-0.17578 3.34766,1.09766 2.82812,2.69922 2.67968,9 2.58593,13.17187 -0.0195,0.625 -0.0352,1.19532 -0.0352,1.67969 0,6.65625 0.98828,11.30859 1.74219,12.90625 0.38671,-0.81641 1.05468,-2.79297 1.69921,-7.4375 0.88282,-6.4375 0.98829,-13.39844 1.08985,-19.53906 0.16797,-10.86719 0.28906,-18.7461 4.22265,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58985,-0.0352 3.80078,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.75781,6.84375 0.008,-0.0703 0.5586,-0.41407 1.48438,-2.13282 0.98047,-1.82421 1.95312,-7.07421 2.81641,-11.70312 1.89453,-10.20313 2.76171,-13.78516 5.01171,-13.97266 1.71875,-0.16797 2.51172,2.01172 2.84375,2.92969 0.9336,2.57031 1.62891,8.37109 2.3711,14.51563 0.5664,4.76562 1.38281,11.57031 2.21875,14.32421 0.0859,-0.24218 0.1875,-0.53125 0.29687,-0.88671 1.92578,-6.23829 2.09766,-18.98438 2.26953,-31.31641 0.23047,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69922,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66407,1.21484 3.94532,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52344,46.27735 0.34375,0.33984 0.57812,0.33984 0.66797,0.33984 0.17578,0 0.43359,-0.17187 0.70312,-0.48047 3.91406,-4.41797 6.38281,-27.61718 3.58203,-49.80468 -0.36328,-2.89063 0.45703,-5.80469 1.95313,-6.92579 0.7539,-0.57031 1.67187,-0.6875 2.51562,-0.33203 2.17969,0.92969 3.65625,4.91407 4.51563,12.1875 0.35937,3.04688 0.67968,6.33985 0.98828,9.58985 0.67969,7.09375 1.60156,16.65234 2.84765,18.7539 0.38282,-0.48828 1.16407,-1.80859 2.32422,-5.34765 l 2.44922,0.80078 c -1.80078,5.47265 -3.21094,7.53515 -5.04687,7.32422 -2.85547,-0.31641 -3.67969,-6.08594 -5.13672,-21.28516 -0.3086,-3.23437 -0.625,-6.50781 -0.98438,-9.53906 -1.09375,-9.27735 -2.95312,-10.11719 -2.97265,-10.125 -0.36328,0.18359 -1.20703,2.11328 -0.89453,4.57422 2.71484,21.5664 0.71484,46.26953 -4.20704,51.82812 -0.79296,0.89453 -1.68359,1.34766 -2.63671,1.34766"
86
+ d="M 252.96344,143.58984 H 19.221253 v -2.56641 H 252.96344 v 2.56641"
98
87
  fill-opacity="1"
99
88
  fill-rule="nonzero"
100
- id="path23"
89
+ id="path21"
101
90
  />
102
- </g>
103
- </svg>
91
+ <g
92
+ clip-path="url(#id3)"
93
+ id="g25"
94
+ transform="translate(-75.931091,-75.378906)"
95
+ >
96
+ <path
97
+ fill="#ffffff"
98
+ d="m 292.78516,256.51172 c -0.91407,0 -1.77344,-0.37891 -2.49219,-1.09766 -4.29297,-4.3125 -4.48047,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.27344,-34.00782 -2.01562,-35.5586 -2.23438,0.92578 -2.45704,17.16407 -2.60157,27.91407 -0.17187,12.50781 -0.34765,25.44921 -2.3789,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95703,3.59765 -2.21485,-0.19531 -2.92969,-3.6914 -4.58204,-17.48828 -0.6875,-5.73047 -1.39843,-11.65234 -2.23046,-13.94531 -0.10938,-0.28906 -0.20313,-0.51953 -0.28516,-0.69922 -0.88672,2.00391 -1.91016,7.51172 -2.62109,11.33594 -0.98438,5.28125 -1.91407,10.26953 -3.07813,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.31641,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 0,-27.01562 -3.53515,-30.16015 -4.24218,-30.51562 l -0.11329,0.0859 -0.17187,-0.0391 c -2.52344,1.10157 -2.66016,9.86328 -2.78906,18.33594 -0.10157,6.21484 -0.21094,13.25781 -1.11719,19.84766 -1.17578,8.54297 -2.59766,10.1914 -4.36719,10.08984 -4.07422,-0.27734 -4.1914,-14.30859 -4.1914,-15.90625 0,-0.5 0.0117,-1.08984 0.0273,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78906,-11.2539 -0.26563,-0.25391 -0.64063,-0.54688 -0.9336,-0.46485 -1.42968,0.35938 -2.91406,5.00391 -3.40625,6.53125 -0.15625,0.48438 -0.28125,0.88282 -0.38672,1.15625 -0.082,0.22657 -0.1875,0.54688 -0.3125,0.9336 -1.08203,3.28515 -2.3125,6.5625 -4.41406,7.37109 -0.77734,0.30078 -1.58984,0.23438 -2.35156,-0.19531 -1.01172,-0.57422 -1.83594,-1.7461 -2.60547,-3.69531 -0.42187,-1.07813 -0.78125,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90234,-2.72656 -1.46875,-4.04296 -0.44531,-1.02344 -1.55468,-1.48438 -2.96875,-1.23438 -2.9375,0.52344 -3.42968,3.49219 -3.84375,7.96094 -0.0742,0.77734 -0.14453,1.53906 -0.24218,2.25781 -0.0117,0.21094 -0.53125,6.76953 -0.86329,8.85547 -0.91796,5.71875 -2.125,7.97266 -4.1289,7.80859 -4.94531,-0.42187 -7.21485,-22.11328 -7.09375,-31.27734 0.0937,-6.99609 -1.17188,-9.55078 -1.92969,-9.95703 -0.0781,-0.0352 -0.19922,-0.10156 -0.48828,0.10156 -0.89453,0.60547 -1.69141,2.49219 -1.44531,4.47266 2.72265,21.5664 0.71484,46.26562 -4.20313,51.82812 -1.55078,1.75 -3.66015,1.72656 -5.1289,0.25 -4.29688,-4.3125 -4.47657,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.26953,-34.00782 -2.01563,-35.5586 -2.23437,0.92578 -2.45312,17.16407 -2.60156,27.91407 -0.17187,12.50781 -0.34766,25.44921 -2.38281,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95313,3.59765 -2.21875,-0.19531 -2.92968,-3.6914 -4.58593,-17.48828 -0.6875,-5.73047 -1.39844,-11.65234 -2.23047,-13.94531 -0.10547,-0.28906 -0.19922,-0.51953 -0.28516,-0.69922 -0.88281,2.00391 -1.90625,7.51172 -2.61719,11.33594 -0.98437,5.28125 -1.91406,10.26953 -3.08203,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.3125,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 -0.004,-27.01562 -3.53516,-30.16015 -4.24219,-30.51562 l -0.11328,0.0859 -0.17578,-0.0391 c -2.51953,1.10157 -2.65625,9.86328 -2.78906,18.33594 -0.0977,6.21484 -0.20703,13.25781 -1.11328,19.84766 -1.17578,8.54297 -2.58594,10.20703 -4.36328,10.08984 -4.08204,-0.27734 -4.19922,-14.30859 -4.19922,-15.90625 0,-0.5 0.0156,-1.08984 0.0312,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78907,-11.2539 -0.26562,-0.25391 -0.64062,-0.54688 -0.93359,-0.46485 -1.42969,0.35938 -2.91797,5.00391 -3.40234,6.53125 -0.15625,0.48047 -0.28907,0.88282 -0.38672,1.15625 -0.0859,0.22266 -0.19141,0.54297 -0.31641,0.92969 -1.08203,3.28516 -2.3125,6.56641 -4.41015,7.375 -0.78125,0.30078 -1.59766,0.23438 -2.35547,-0.19531 -1.01172,-0.57422 -1.83985,-1.7461 -2.60547,-3.69531 -0.42188,-1.07813 -0.78516,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90625,-2.72656 -1.47265,-4.04296 -0.44141,-1.02344 -1.55469,-1.48438 -2.96875,-1.23438 -3.38282,0.60156 -4.1836,4.79688 -4.82813,9.80469 l -0.11328,0.89062 -2.55859,-0.33984 0.12109,-0.875 c 0.55859,-4.39063 1.41016,-11.02734 6.92969,-12.00391 2.59765,-0.46093 4.86718,0.61719 5.78125,2.74219 0.61328,1.42188 1.09375,2.85938 1.55468,4.25391 0.34375,1.05078 0.69532,2.10156 1.10157,3.14062 0.71484,1.8125 1.26953,2.28125 1.47656,2.39453 1.29297,-0.40234 2.61328,-4.42187 3.05078,-5.74609 0.13672,-0.42578 0.25391,-0.77734 0.34766,-1.02734 0.0898,-0.2461 0.20703,-0.60547 0.34765,-1.03907 1.16407,-3.64062 2.625,-7.58203 5.21875,-8.23828 0.79297,-0.20312 2.01953,-0.17578 3.35156,1.09766 2.82813,2.69922 2.67969,9 2.58204,13.17187 -0.0156,0.625 -0.0312,1.19532 -0.0312,1.67969 0,6.65625 0.98828,11.30859 1.74218,12.90625 0.39063,-0.81641 1.0586,-2.79297 1.69532,-7.4375 0.88281,-6.4375 0.99609,-13.39844 1.08984,-19.53906 0.17187,-10.86719 0.29297,-18.7461 4.22656,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58594,-0.0352 3.80469,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.76172,6.84375 0.004,-0.0703 0.5625,-0.41407 1.48047,-2.13282 0.98047,-1.82421 1.95703,-7.07421 2.81641,-11.70312 1.90234,-10.20313 2.76562,-13.78516 5.01562,-13.97266 1.71485,-0.16797 2.50781,2.01172 2.83985,2.92969 0.9375,2.57031 1.63281,8.37109 2.36718,14.51563 0.57422,4.76562 1.39063,11.57031 2.22266,14.32421 0.0898,-0.24218 0.19141,-0.53125 0.30078,-0.88671 1.92578,-6.23829 2.10156,-18.98438 2.26953,-31.31641 0.23438,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69531,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66016,1.21484 3.94141,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52734,46.27735 0.33594,0.33984 0.57422,0.33984 0.66016,0.33984 0.17968,0 0.4375,-0.17187 0.71093,-0.48047 3.90625,-4.41797 6.37891,-27.61718 3.57813,-49.80468 -0.34766,-2.76172 0.71875,-5.66407 2.53906,-6.91407 1.00391,-0.6914 2.16016,-0.78125 3.16016,-0.24609 2.27734,1.21094 3.38281,5.33203 3.29297,12.25391 -0.16016,12.08593 2.74218,26.23046 4.63672,28.48828 0.30078,-0.5 0.89453,-1.8711 1.46484,-5.46094 0.32031,-1.98438 0.84766,-8.65234 0.85547,-8.71875 0.0937,-0.75391 0.16406,-1.48438 0.23047,-2.22656 0.39062,-4.16407 0.87109,-9.34375 5.95703,-10.2461 2.59375,-0.46093 4.86328,0.61328 5.78125,2.74219 0.61328,1.42188 1.08984,2.85938 1.55078,4.25391 0.35156,1.05078 0.70312,2.10156 1.10937,3.14062 0.71094,1.8125 1.26954,2.28125 1.47266,2.39453 1.29297,-0.40234 2.61719,-4.42187 3.05078,-5.74218 0.14063,-0.42579 0.25781,-0.78125 0.34766,-1.03125 0.0937,-0.24219 0.20703,-0.60547 0.34375,-1.03907 1.16797,-3.64062 2.6289,-7.58203 5.22656,-8.23828 0.78516,-0.20312 2.01563,-0.17578 3.34766,1.09766 2.82812,2.69922 2.67968,9 2.58593,13.17187 -0.0195,0.625 -0.0352,1.19532 -0.0352,1.67969 0,6.65625 0.98828,11.30859 1.74219,12.90625 0.38671,-0.81641 1.05468,-2.79297 1.69921,-7.4375 0.88282,-6.4375 0.98829,-13.39844 1.08985,-19.53906 0.16797,-10.86719 0.28906,-18.7461 4.22265,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58985,-0.0352 3.80078,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.75781,6.84375 0.008,-0.0703 0.5586,-0.41407 1.48438,-2.13282 0.98047,-1.82421 1.95312,-7.07421 2.81641,-11.70312 1.89453,-10.20313 2.76171,-13.78516 5.01171,-13.97266 1.71875,-0.16797 2.51172,2.01172 2.84375,2.92969 0.9336,2.57031 1.62891,8.37109 2.3711,14.51563 0.5664,4.76562 1.38281,11.57031 2.21875,14.32421 0.0859,-0.24218 0.1875,-0.53125 0.29687,-0.88671 1.92578,-6.23829 2.09766,-18.98438 2.26953,-31.31641 0.23047,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69922,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66407,1.21484 3.94532,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52344,46.27735 0.34375,0.33984 0.57812,0.33984 0.66797,0.33984 0.17578,0 0.43359,-0.17187 0.70312,-0.48047 3.91406,-4.41797 6.38281,-27.61718 3.58203,-49.80468 -0.36328,-2.89063 0.45703,-5.80469 1.95313,-6.92579 0.7539,-0.57031 1.67187,-0.6875 2.51562,-0.33203 2.17969,0.92969 3.65625,4.91407 4.51563,12.1875 0.35937,3.04688 0.67968,6.33985 0.98828,9.58985 0.67969,7.09375 1.60156,16.65234 2.84765,18.7539 0.38282,-0.48828 1.16407,-1.80859 2.32422,-5.34765 l 2.44922,0.80078 c -1.80078,5.47265 -3.21094,7.53515 -5.04687,7.32422 -2.85547,-0.31641 -3.67969,-6.08594 -5.13672,-21.28516 -0.3086,-3.23437 -0.625,-6.50781 -0.98438,-9.53906 -1.09375,-9.27735 -2.95312,-10.11719 -2.97265,-10.125 -0.36328,0.18359 -1.20703,2.11328 -0.89453,4.57422 2.71484,21.5664 0.71484,46.26953 -4.20704,51.82812 -0.79296,0.89453 -1.68359,1.34766 -2.63671,1.34766"
99
+ fill-opacity="1"
100
+ fill-rule="nonzero"
101
+ id="path23"
102
+ />
103
+ </g>
104
+ </svg>
104
105
  <a
105
106
  class="rounded-2xl bg-zinc-200 px-4 py-1.5 text-sm font-medium"
106
107
  target="_blank"
@@ -110,7 +111,8 @@ import { Note } from '../../note';
110
111
  <h1
111
112
  class="font-heading font-medium text-3xl sm:text-5xl md:text-6xl lg:text-7xl"
112
113
  >
113
- <span class="text-[#DD0031]">Analog.</span> The fullstack Angular meta-framework
114
+ <span class="text-[#DD0031]">Analog.</span> The fullstack Angular
115
+ meta-framework
114
116
  </h1>
115
117
  <p
116
118
  class="max-w-[42rem] leading-normal text-muted-foreground sm:text-xl sm:leading-8"
@@ -137,7 +139,9 @@ import { Note } from '../../note';
137
139
  <div
138
140
  class="mx-auto flex max-w-[58rem] flex-col items-center justify-center gap-4 text-center"
139
141
  >
140
- <h2 class="text-[#DD0031] font-medium text-3xl leading-[1.1]">Leave a note</h2>
142
+ <h2 class="text-[#DD0031] font-medium text-3xl leading-[1.1]">
143
+ Leave a note
144
+ </h2>
141
145
  <p
142
146
  class="max-w-[85%] leading-normal text-muted-foreground sm:text-lg sm:leading-7"
143
147
  >
@@ -166,77 +170,53 @@ import { Note } from '../../note';
166
170
  +
167
171
  </button>
168
172
  </form>
169
- <div class="mt-4 flex flex-col gap-4">
173
+ <div class="mt-4" *ngIf="notes$ | async as notes; else loading">
170
174
  <div
171
- *ngFor="
172
- let note of notes ?? [];
173
- trackBy: noteTrackBy;
174
- let i = index
175
- "
176
- class="note relative overflow-hidden rounded-lg border bg-background p-2"
175
+ class="note mb-4 p-4 font-normal border border-zinc-500/40 rounded-md"
176
+ *ngFor="let note of notes; trackBy: noteTrackBy; let i = index"
177
177
  >
178
- <button
179
- [attr.data-testid]="'removeNoteAtIndexBtn' + i"
180
- class="absolute top-4 right-4 inline-flex items-center justify-center text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background border border-transparent hover:bg-zinc-100 hover:text-zinc-950 h-6 px-2 rounded-md"
181
- (click)="removePost(note.id)"
182
- >
183
- <svg
184
- xmlns="http://www.w3.org/2000/svg"
185
- fill="none"
186
- viewBox="0 0 24 24"
187
- stroke-width="1.5"
188
- stroke="currentColor"
189
- class="w-4 h-4"
178
+ <div class="flex items-center justify-between">
179
+ <p class="text-sm text-zinc-400">{{ note.createdAt | date }}</p>
180
+ <button
181
+ [attr.data-testid]="'removeNoteAtIndexBtn' + i"
182
+ class="text-xs text-center h-6 w-6 bg-opacity-10 hover:bg-opacity-50 bg-zinc-200 text-zinc-500"
183
+ (click)="removePost(note.id)"
190
184
  >
191
- <path
192
- stroke-linecap="round"
193
- stroke-linejoin="round"
194
- d="M6 18L18 6M6 6l12 12"
195
- />
196
- </svg>
197
- </button>
198
- <div class="flex h-[180px] flex-col justify-between rounded-md p-6">
199
- <div class="space-y-2">
200
- <h3 class="font-bold">{{ note.note }}</h3>
201
- <p class="text-sm text-muted-foreground">
202
- {{ note.createdAt | date }}
203
- </p>
204
- </div>
185
+ x
186
+ </button>
205
187
  </div>
188
+ <p class="mb-4">{{ note.note }}</p>
206
189
  </div>
207
- </div>
208
190
 
209
- <div
210
- *ngIf="notes.length === 0"
211
- class="relative overflow-hidden rounded-lg border bg-background p-2"
212
- >
213
- <div class="flex h-[180px] flex-col justify-between rounded-md p-6">
214
- <div class="space-y-2">
215
- <h3 class="font-bold">
216
- {{ loadingPosts ? 'Loading...' : 'No notes yet...' }}
217
- </h3>
218
- <p class="text-sm text-muted-foreground">
219
- {{
220
- loadingPosts
221
- ? ''
222
- : 'Add a new one and see them appear here...'
223
- }}
224
- </p>
225
- </div>
191
+ <div
192
+ class="no-notes text-center rounded-xl p-20"
193
+ *ngIf="notes.length === 0"
194
+ >
195
+ <h3 class="text-xl font-medium">No notes yet!</h3>
196
+ <p class="text-zinc-400">
197
+ Add a new one and see them appear here...
198
+ </p>
226
199
  </div>
227
200
  </div>
201
+ <ng-template #loading>
202
+ <p class="text-center mt-4">Loading...</p>
203
+ </ng-template>
228
204
  </section>
229
205
  </main>
230
206
  `,
231
207
  })
232
208
  export default class HomeComponent {
233
209
  private _trpc = injectTRPCClient();
234
- public loadingPosts = false;
235
- public notes: Note[] = [];
210
+ public triggerRefresh$ = new Subject<void>();
211
+ public notes$ = this.triggerRefresh$.pipe(
212
+ switchMap(() => this._trpc.note.list.query()),
213
+ shareReplay(1)
214
+ );
236
215
  public newNote = '';
237
216
 
238
217
  constructor() {
239
- waitFor(this._trpc.note.list.query().then((notes) => (this.notes = notes)));
218
+ void waitFor(this.notes$);
219
+ this.triggerRefresh$.next();
240
220
  }
241
221
 
242
222
  public noteTrackBy = (index: number, note: Note) => {
@@ -250,20 +230,16 @@ export default class HomeComponent {
250
230
  }
251
231
  this._trpc.note.create
252
232
  .mutate({ title: this.newNote })
253
- .then(() => this.fetchPosts());
233
+ .pipe(take(1))
234
+ .subscribe(() => this.triggerRefresh$.next());
254
235
  this.newNote = '';
255
236
  form.form.reset();
256
237
  }
257
238
 
258
239
  public removePost(id: number) {
259
- this._trpc.note.remove.mutate({ id }).then(() => this.fetchPosts());
260
- }
261
-
262
- private fetchPosts() {
263
- this.loadingPosts = true;
264
- this._trpc.note.list.query().then((notes) => {
265
- this.loadingPosts = false;
266
- this.notes = notes;
267
- });
240
+ this._trpc.note.remove
241
+ .mutate({ id })
242
+ .pipe(take(1))
243
+ .subscribe(() => this.triggerRefresh$.next());
268
244
  }
269
245
  }
@@ -17,39 +17,11 @@ export default defineConfig(({ mode }) => {
17
17
  noExternal: '@analogjs/trpc/**',
18
18
  },
19
19
  <% } %>
20
- optimizeDeps: {
21
- include: ['@angular/common', '@angular/forms'],
22
- },
23
20
  build: {
24
21
  target: ['es2020'],
25
22
  },
26
23
  plugins: [
27
- analog({
28
- ssrBuildDir: '<%= offsetFromRoot %>dist/<%= appsDir %>/<%= projectName %>/ssr',
29
- entryServer: '<%= appsDir %>/<%= projectName %>/src/main.server.ts',
30
- vite: {
31
- inlineStylesExtension: 'css',
32
- tsconfig:
33
- mode === 'test'
34
- ? '<%= appsDir %>/<%= projectName %>/tsconfig.spec.json'
35
- : '<%= appsDir %>/<%= projectName %>/tsconfig.app.json',
36
- },
37
- nitro: {
38
- rootDir: '<%= appsDir %>/<%= projectName %>',
39
- output: {
40
- dir: '<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/analog',
41
- publicDir: '<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/analog/public',
42
- },
43
- publicAssets: [{ dir: `<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/client` }],
44
- serverAssets: [
45
- { baseName: 'public', dir: `./dist/<%= appsDir %>/<%= projectName %>/client` },
46
- ],
47
- buildDir: '<%= offsetFromRoot %>dist/<%= appsDir %>/<%= projectName %>/.nitro',
48
- },
49
- prerender: {
50
- routes: ['/'],
51
- },
52
- }),
24
+ analog(),
53
25
  tsConfigPaths({
54
26
  root: '<%= offsetFromRoot %>',
55
27
  }),
@@ -58,7 +58,7 @@ function initializeAngularWorkspace(tree, installedNxVersion, normalizedOptions)
58
58
  }
59
59
  }
60
60
  if ((0, semver_1.lt)(angularVersion, versions_1.MINIMUM_SUPPORTED_ANGULAR_VERSION)) {
61
- throw new Error((0, devkit_1.stripIndents) `AnalogJs only supports an Angular version of 15 and higher`);
61
+ throw new Error((0, devkit_1.stripIndents) `Analog only supports an Angular version of 15 and higher`);
62
62
  }
63
63
  return angularVersion;
64
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-analog-workspace.js","sourceRoot":"","sources":["../../../../../../../../../../packages/nx-plugin/src/generators/app/lib/initialize-analog-workspace.ts"],"names":[],"mappings":";;;;AAAA,mCAAmC;AACnC,uCAKoB;AACpB,0CAQqB;AACrB,gEAA0E;AAG1E,SAAsB,0BAA0B,CAC9C,IAAU,EACV,kBAA0B,EAC1B,iBAAoC;;QAEpC,IAAI,cAAc,GAAG,IAAA,0CAA0B,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;YAEF,IAAI,IAAA,cAAK,EAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE;gBACpC,IAAI;oBACF,IAAA,sBAAa,EAAC,YAAY,EAAE,wBAAa,CAAC,CAAC;oBAC3C,IAAA,sBAAa,EAAC,aAAa,EAAE,yBAAc,CAAC,CAAC;iBAC9C;gBAAC,WAAM;oBACN,gHAAgH;iBACjH;gBACD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF;oBACE,YAAY,EAAE,wBAAa;oBAC3B,aAAa,EAAE,yBAAc;iBAC9B,CACF,CAAC;aACH;iBAAM;gBACL,IAAI;oBACF,IAAA,sBAAa,EAAC,cAAc,EAAE,0BAAe,CAAC,CAAC;oBAC/C,IAAA,sBAAa,EAAC,eAAe,EAAE,2BAAgB,CAAC,CAAC;iBAClD;gBAAC,WAAM;oBACN,gHAAgH;iBACjH;gBACD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF;oBACE,cAAc,EAAE,0BAAe;oBAC/B,eAAe,EAAE,2BAAgB;iBAClC,CACF,CAAC;aACH;YAED,IAAI,IAAA,cAAK,EAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE;gBACpC,MAAM,CACJ;gBACE,6DAA6D;gBAC7D,aAAa;gBACb,wBAAwB,EACzB,CACF,CAAC,oBAAoB,CAAC,IAAI,EAAE;oBAC3B,cAAc,EAAE,MAAa;oBAC7B,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,iBAAiB,CAAC,UAAU;iBACzC,CAAC,CAAC;gBACH,cAAc,GAAG,sBAAW,CAAC;aAC9B;iBAAM;gBACL,MAAM,CACJ,2CAAa,0BAA0B,EAAC,CACzC,CAAC,oBAAoB,CAAC,IAAI,EAAE;oBAC3B,cAAc,EAAE,MAAa;oBAC7B,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,iBAAiB,CAAC,UAAU;iBACzC,CAAC,CAAC;gBACH,cAAc,GAAG,sBAAW,CAAC;aAC9B;SACF;QAED,IAAI,IAAA,WAAE,EAAC,cAAc,EAAE,4CAAiC,CAAC,EAAE;YACzD,MAAM,IAAI,KAAK,CACb,IAAA,qBAAY,EAAA,4DAA4D,CACzE,CAAC;SACH;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CAAA;AA5ED,gEA4EC"}
1
+ {"version":3,"file":"initialize-analog-workspace.js","sourceRoot":"","sources":["../../../../../../../../../../packages/nx-plugin/src/generators/app/lib/initialize-analog-workspace.ts"],"names":[],"mappings":";;;;AAAA,mCAAmC;AACnC,uCAKoB;AACpB,0CAQqB;AACrB,gEAA0E;AAG1E,SAAsB,0BAA0B,CAC9C,IAAU,EACV,kBAA0B,EAC1B,iBAAoC;;QAEpC,IAAI,cAAc,GAAG,IAAA,0CAA0B,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;YAEF,IAAI,IAAA,cAAK,EAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE;gBACpC,IAAI;oBACF,IAAA,sBAAa,EAAC,YAAY,EAAE,wBAAa,CAAC,CAAC;oBAC3C,IAAA,sBAAa,EAAC,aAAa,EAAE,yBAAc,CAAC,CAAC;iBAC9C;gBAAC,WAAM;oBACN,gHAAgH;iBACjH;gBACD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF;oBACE,YAAY,EAAE,wBAAa;oBAC3B,aAAa,EAAE,yBAAc;iBAC9B,CACF,CAAC;aACH;iBAAM;gBACL,IAAI;oBACF,IAAA,sBAAa,EAAC,cAAc,EAAE,0BAAe,CAAC,CAAC;oBAC/C,IAAA,sBAAa,EAAC,eAAe,EAAE,2BAAgB,CAAC,CAAC;iBAClD;gBAAC,WAAM;oBACN,gHAAgH;iBACjH;gBACD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF;oBACE,cAAc,EAAE,0BAAe;oBAC/B,eAAe,EAAE,2BAAgB;iBAClC,CACF,CAAC;aACH;YAED,IAAI,IAAA,cAAK,EAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE;gBACpC,MAAM,CACJ;gBACE,6DAA6D;gBAC7D,aAAa;gBACb,wBAAwB,EACzB,CACF,CAAC,oBAAoB,CAAC,IAAI,EAAE;oBAC3B,cAAc,EAAE,MAAa;oBAC7B,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,iBAAiB,CAAC,UAAU;iBACzC,CAAC,CAAC;gBACH,cAAc,GAAG,sBAAW,CAAC;aAC9B;iBAAM;gBACL,MAAM,CACJ,2CAAa,0BAA0B,EAAC,CACzC,CAAC,oBAAoB,CAAC,IAAI,EAAE;oBAC3B,cAAc,EAAE,MAAa;oBAC7B,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,iBAAiB,CAAC,UAAU;iBACzC,CAAC,CAAC;gBACH,cAAc,GAAG,sBAAW,CAAC;aAC9B;SACF;QAED,IAAI,IAAA,WAAE,EAAC,cAAc,EAAE,4CAAiC,CAAC,EAAE;YACzD,MAAM,IAAI,KAAK,CACb,IAAA,qBAAY,EAAA,0DAA0D,CACvE,CAAC;SACH;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CAAA;AA5ED,gEA4EC"}
@@ -2,9 +2,9 @@ export declare const MINIMUM_SUPPORTED_ANGULAR_VERSION = "15.0.0";
2
2
  export declare const V16_ANGULAR = "16.0.0";
3
3
  export declare const V16_NX_DEVKIT = "^16.0.0";
4
4
  export declare const V16_NX_ANGULAR = "^16.0.0";
5
- export declare const V16_ANALOG_JS_CONTENT = "^0.2.0-beta.12";
6
- export declare const V16_ANALOG_JS_ROUTER = "^0.2.0-beta.12";
7
- export declare const V16_ANALOG_JS_TRPC = "^0.2.0-beta.12";
5
+ export declare const V16_ANALOG_JS_CONTENT = "^0.2.0-beta.13";
6
+ export declare const V16_ANALOG_JS_ROUTER = "^0.2.0-beta.13";
7
+ export declare const V16_ANALOG_JS_TRPC = "^0.2.0-beta.13";
8
8
  export declare const V16_TRPC_CLIENT = "^10.25.0";
9
9
  export declare const V16_TRPC_SERVER = "^10.25.0";
10
10
  export declare const V16_ISOMORPHIC_FETCH = "^3.0.0";
@@ -13,7 +13,7 @@ export declare const V16_ANGULAR_PLATFORM_SERVER = "^16.0.0";
13
13
  export declare const V16_FRONT_MATTER = "^4.0.2";
14
14
  export declare const V16_MARKED = "^4.2.12";
15
15
  export declare const V16_PRISMJS = "^1.29.0";
16
- export declare const V16_ANALOG_JS_PLATFORM = "^0.2.0-beta.12";
16
+ export declare const V16_ANALOG_JS_PLATFORM = "^0.2.0-beta.13";
17
17
  export declare const V16_NX_VITE = "^16.0.0";
18
18
  export declare const V16_JSDOM = "^20.0.0";
19
19
  export declare const V16_TYPESCRIPT = "~5.0.2";
@@ -24,9 +24,9 @@ export declare const V16_ZOD = "^3.21.4";
24
24
  export declare const V15_ANGULAR = "15.2.7";
25
25
  export declare const V15_NRWL_DEVKIT = "15.9.2";
26
26
  export declare const V15_NRWL_ANGULAR = "15.9.2";
27
- export declare const V15_ANALOG_JS_CONTENT = "^0.2.0-beta.12";
28
- export declare const V15_ANALOG_JS_ROUTER = "^0.2.0-beta.12";
29
- export declare const V15_ANALOG_JS_TRPC = "^0.2.0-beta.12";
27
+ export declare const V15_ANALOG_JS_CONTENT = "^0.2.0-beta.13";
28
+ export declare const V15_ANALOG_JS_ROUTER = "^0.2.0-beta.13";
29
+ export declare const V15_ANALOG_JS_TRPC = "^0.2.0-beta.13";
30
30
  export declare const V15_TRPC_CLIENT = "^10.25.0";
31
31
  export declare const V15_TRPC_SERVER = "^10.25.0";
32
32
  export declare const V15_ISOMORPHIC_FETCH = "^3.0.0";
@@ -7,9 +7,9 @@ exports.MINIMUM_SUPPORTED_ANGULAR_VERSION = '15.0.0';
7
7
  exports.V16_ANGULAR = '16.0.0';
8
8
  exports.V16_NX_DEVKIT = '^16.0.0';
9
9
  exports.V16_NX_ANGULAR = '^16.0.0';
10
- exports.V16_ANALOG_JS_CONTENT = '^0.2.0-beta.12';
11
- exports.V16_ANALOG_JS_ROUTER = '^0.2.0-beta.12';
12
- exports.V16_ANALOG_JS_TRPC = '^0.2.0-beta.12';
10
+ exports.V16_ANALOG_JS_CONTENT = '^0.2.0-beta.13';
11
+ exports.V16_ANALOG_JS_ROUTER = '^0.2.0-beta.13';
12
+ exports.V16_ANALOG_JS_TRPC = '^0.2.0-beta.13';
13
13
  exports.V16_TRPC_CLIENT = '^10.25.0';
14
14
  exports.V16_TRPC_SERVER = '^10.25.0';
15
15
  exports.V16_ISOMORPHIC_FETCH = '^3.0.0';
@@ -19,7 +19,7 @@ exports.V16_FRONT_MATTER = '^4.0.2';
19
19
  exports.V16_MARKED = '^4.2.12';
20
20
  exports.V16_PRISMJS = '^1.29.0';
21
21
  // devDependencies
22
- exports.V16_ANALOG_JS_PLATFORM = '^0.2.0-beta.12';
22
+ exports.V16_ANALOG_JS_PLATFORM = '^0.2.0-beta.13';
23
23
  exports.V16_NX_VITE = '^16.0.0';
24
24
  exports.V16_JSDOM = '^20.0.0';
25
25
  exports.V16_TYPESCRIPT = '~5.0.2';
@@ -32,9 +32,9 @@ exports.V16_ZOD = '^3.21.4';
32
32
  exports.V15_ANGULAR = '15.2.7';
33
33
  exports.V15_NRWL_DEVKIT = '15.9.2';
34
34
  exports.V15_NRWL_ANGULAR = '15.9.2';
35
- exports.V15_ANALOG_JS_CONTENT = '^0.2.0-beta.12';
36
- exports.V15_ANALOG_JS_ROUTER = '^0.2.0-beta.12';
37
- exports.V15_ANALOG_JS_TRPC = '^0.2.0-beta.12';
35
+ exports.V15_ANALOG_JS_CONTENT = '^0.2.0-beta.13';
36
+ exports.V15_ANALOG_JS_ROUTER = '^0.2.0-beta.13';
37
+ exports.V15_ANALOG_JS_TRPC = '^0.2.0-beta.13';
38
38
  exports.V15_TRPC_CLIENT = '^10.25.0';
39
39
  exports.V15_TRPC_SERVER = '^10.25.0';
40
40
  exports.V15_ISOMORPHIC_FETCH = '^3.0.0';