@analogjs/platform 0.2.0-beta.24 → 0.2.0-beta.26

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.
Files changed (19) hide show
  1. package/package.json +4 -5
  2. package/src/lib/content-plugin.js +26 -8
  3. package/src/lib/nx-plugin/generators.json +4 -3
  4. package/src/lib/nx-plugin/package.json +2 -2
  5. package/src/lib/nx-plugin/src/generators/app/files/trpc/src/server/trpc/routers/notes.ts__template__ +2 -2
  6. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/css/src/app/pages/analog-welcome.component.ts__template__ +134 -223
  7. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/css-trpc/src/app/pages/analog-welcome.component.ts__template__ +235 -382
  8. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/tailwind/src/app/pages/analog-welcome.component.ts__template__ +9 -91
  9. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/tailwind-trpc/src/app/pages/analog-welcome.component.ts__template__ +12 -95
  10. package/src/lib/nx-plugin/src/generators/app/generator.js +2 -0
  11. package/src/lib/nx-plugin/src/generators/app/generator.js.map +1 -1
  12. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js +0 -10
  13. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js.map +1 -1
  14. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.d.ts +3 -0
  15. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.js +17 -0
  16. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.js.map +1 -0
  17. package/src/lib/nx-plugin/src/generators/app/versions/nx_16_X/versions.d.ts +5 -5
  18. package/src/lib/nx-plugin/src/generators/app/versions/nx_16_X/versions.js +5 -5
  19. package/src/lib/options.d.ts +3 -1
@@ -10,537 +10,390 @@ import { Note } from '../../note';
10
10
  selector: '<%= fileName %>-analog-welcome',
11
11
  standalone: true,
12
12
  imports: [AsyncPipe, FormsModule, NgFor, DatePipe, NgIf],
13
- styles: [
13
+ styles: [
14
14
  `
15
- a {
16
- color: inherit;
17
- text-decoration: inherit;
18
- }
19
-
20
15
  :host {
21
- display: flex;
22
- padding: 2rem;
23
- flex-direction: column;
24
- height: 100%;
25
- min-height: 100vh;
26
16
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
27
17
  'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
28
18
  'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
29
19
  'Noto Color Emoji';
20
+ display: flex;
21
+ padding: 2rem 1rem 8rem;
22
+ flex-direction: column;
23
+ background: rgb(250 250 250);
24
+ height: 100%;
25
+ }
26
+ a {
27
+ color: inherit;
28
+ text-decoration: inherit;
30
29
  }
31
-
32
30
  .main {
33
- margin-left: auto;
34
- margin-right: auto;
31
+ margin: 0 auto;
35
32
  flex: 1 1 0;
36
33
  }
37
-
38
- .section-main {
34
+ .intro-section {
39
35
  padding-top: 1.5rem;
40
36
  padding-bottom: 2rem;
37
+ }
38
+ .intro-section > * + * {
41
39
  margin-top: 1.5rem;
42
40
  }
43
-
44
41
  @media (min-width: 768px) {
45
- .section-main {
42
+ .intro-section {
46
43
  padding-top: 2.5rem;
47
44
  padding-bottom: 3rem;
48
45
  }
49
46
  }
50
-
51
47
  @media (min-width: 1024px) {
52
- .section-main {
48
+ .intro-section {
53
49
  padding-top: 8rem;
54
50
  padding-bottom: 8rem;
55
51
  }
56
52
  }
57
-
58
- .main-icon {
59
- margin-left: auto;
60
- margin-right: auto;
61
- margin-bottom: -1rem;
62
- width: 4rem;
63
- height: 4rem;
64
- }
65
-
66
- .container-main {
53
+ .intro-container {
67
54
  display: flex;
68
- text-align: center;
69
55
  flex-direction: column;
70
- align-items: center;
56
+ text-align: center;
71
57
  gap: 1rem;
58
+ align-items: center;
59
+ max-width: 64rem;
72
60
  }
73
-
74
- .button-badge {
75
- padding-top: 0.375rem;
76
- padding-bottom: 0.375rem;
77
- padding-left: 1rem;
78
- padding-right: 1rem;
61
+ .intro-logo {
62
+ height: 3rem;
63
+ width: 3rem;
64
+ }
65
+ .intro-badge {
66
+ transition-property: color, background-color, border-color,
67
+ text-decoration-color, fill, stroke;
68
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
69
+ transition-duration: 150ms;
70
+ font-weight: 500;
79
71
  font-size: 0.875rem;
80
72
  line-height: 1.25rem;
81
- font-weight: 500;
82
- border-radius: 1rem;
73
+ padding: 0.375rem 1rem;
83
74
  background-color: rgb(228 228 231);
75
+ border-radius: 1rem;
84
76
  }
85
-
86
- .text-analog-red {
87
- color: rgb(221, 0, 49);
88
- }
89
-
90
- .heading-1 {
91
- font-size: 1.875rem;
92
- line-height: 2.25rem;
77
+ .intro-heading {
78
+ margin: 0;
93
79
  font-weight: 500;
94
- margin: 1rem 0;
95
80
  }
96
81
 
97
82
  @media (min-width: 640px) {
98
- .heading-1 {
99
- font-size: 2.25rem; /* 36px */
100
- line-height: 2.5rem; /* 40px */
83
+ .intro-heading {
84
+ font-size: 3rem;
85
+ line-height: 1;
101
86
  }
102
87
  }
103
-
104
88
  @media (min-width: 768px) {
105
- .heading-1 {
106
- font-size: 3rem; /* 48px */
89
+ .intro-heading {
90
+ font-size: 3.75rem;
107
91
  line-height: 1;
108
92
  }
109
93
  }
110
-
111
94
  @media (min-width: 1024px) {
112
- .heading-1 {
113
- font-size: 3.75rem; /* 60px */
95
+ .intro-heading {
96
+ font-size: 4.5rem;
114
97
  line-height: 1;
115
98
  }
116
99
  }
117
-
118
- .paragraph-intro {
100
+ .intro-analog {
101
+ color: #dd0031;
102
+ }
103
+ .intro-description {
119
104
  line-height: 1.5;
105
+ max-width: 42rem;
106
+ margin: 0;
120
107
  }
121
108
 
122
109
  @media (min-width: 640px) {
123
- .paragraph-intro {
124
- font-size: 1.25rem;
110
+ .intro-description {
125
111
  line-height: 2rem;
112
+ font-size: 1.25rem;
126
113
  }
127
114
  }
128
-
129
- .button-group {
130
- display: flex;
131
- gap: 1rem;
115
+ .btn-container > * + * {
116
+ margin-left: 1rem;
132
117
  }
133
-
134
- .primary-button {
135
- display: inline-flex;
136
- align-items: center;
137
- justify-content: center;
138
- font-size: 0.875rem;
139
- font-weight: 500;
140
- transition-property: color, background-color;
118
+ .darkBtn {
119
+ transition-property: color, background-color, border-color,
120
+ text-decoration-color, fill, stroke;
121
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
141
122
  transition-duration: 150ms;
142
- outline-offset: 2px;
143
- opacity: 1;
144
- pointer-events: auto;
145
- background-color: rgb(9, 9, 11);
146
- color: rgb(250, 250, 250);
147
- height: 2.75rem;
123
+ color: rgb(250 250 250);
124
+ font-weight: 500;
125
+ font-size: 0.875rem;
126
+ line-height: 1.25rem;
148
127
  padding-left: 2rem;
149
128
  padding-right: 2rem;
129
+ background-color: rgb(9 9 11);
150
130
  border-radius: 0.375rem;
151
- }
152
-
153
- .secondary-button {
154
- display: inline-flex;
155
- align-items: center;
156
131
  justify-content: center;
157
- font-size: 0.875rem;
158
- font-weight: 500;
159
- transition-property: color, background-color, border-color;
160
- transition-duration: 150ms;
161
- outline-offset: 2px;
162
- opacity: 1;
163
- pointer-events: auto;
164
- background-color: rgb(250, 250, 250);
165
- color: rgb(9, 9, 11);
132
+ align-items: center;
166
133
  height: 2.75rem;
134
+ cursor: pointer;
135
+ display: inline-flex;
136
+ }
137
+ .darkBtn:hover {
138
+ background-color: rgb(9 9 11 / 0.9);
139
+ }
140
+ .lightBtn {
141
+ transition-property: color, background-color, border-color,
142
+ text-decoration-color, fill, stroke;
143
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
144
+ transition-duration: 150ms;
145
+ color: rgb(24, 24, 27);
146
+ background: rgb(250 250 250);
147
+ font-weight: 500;
148
+ font-size: 0.875rem;
149
+ line-height: 1.25rem;
167
150
  padding-left: 2rem;
168
151
  padding-right: 2rem;
169
- border: 1px solid rgb(161, 161, 170, 0.25);
170
152
  border-radius: 0.375rem;
153
+ border: 1px solid rgb(229, 231, 235);
154
+ justify-content: center;
155
+ align-items: center;
156
+ height: 2.75rem;
157
+ display: inline-flex;
158
+ cursor: pointer;
171
159
  }
172
-
173
- .secondary-button:hover {
160
+ .lightBtn:hover {
174
161
  background-color: rgb(244 244 245);
175
- color: rgb(9, 9, 11);
176
162
  }
177
-
178
- .section {
179
- margin-top: 8rem;
180
- margin-bottom: 8rem;
163
+ .trpc-section {
181
164
  padding-top: 2rem;
182
165
  padding-bottom: 2rem;
183
- display: flex;
184
- flex-direction: column;
185
- gap: 0.5rem;
186
166
  }
187
167
 
188
168
  @media (min-width: 768px) {
189
- .section {
169
+ .trpc-section {
190
170
  padding-top: 3rem;
191
171
  padding-bottom: 3rem;
192
172
  }
193
173
  }
194
174
 
195
175
  @media (min-width: 1024px) {
196
- .section {
176
+ .trpc-section {
197
177
  padding-top: 6rem;
178
+ padding-bottom: 6rem;
198
179
  }
199
180
  }
200
-
201
- .intro-container {
202
- margin-left: auto;
203
- margin-right: auto;
181
+ .trpc-container {
182
+ text-align: center;
183
+ gap: 1rem;
184
+ justify-content: center;
185
+ align-items: center;
186
+ flex-direction: column;
204
187
  max-width: 58rem;
205
188
  display: flex;
206
- flex-direction: column;
207
- align-items: center;
208
- gap: 1rem;
209
- text-align: center;
189
+ margin-left: auto;
190
+ margin-right: auto;
210
191
  }
211
-
212
- .title {
213
- font-weight: 500;
214
- font-size: 3rem;
192
+ .trpc-heading {
193
+ color: #dd0031;
215
194
  line-height: 1.1;
216
- text-align: center;
195
+ font-weight: 500;
196
+ font-size: 1.875rem;
217
197
  margin: 0;
218
198
  }
219
-
220
- .description {
199
+ .trpc-description {
200
+ line-height: 1.5;
221
201
  max-width: 85%;
222
- font-size: 1.125rem;
223
- line-height: 1.75rem;
224
- }
225
-
226
- .feature-card {
227
- position: relative;
228
- overflow: hidden;
229
- border: 1px solid rgb(228 228 231);
230
- border-radius: 0.375rem;
231
- padding: 0.5rem;
202
+ margin: 0;
232
203
  }
233
204
 
234
- .status-badge {
235
- position: absolute;
236
- top: 0.5rem;
237
- right: 0.5rem;
238
- border-radius: 0.5rem;
239
- background-color: rgb(228, 228, 231);
240
- padding: 0.375rem 0.75rem;
241
- font-size: 0.75rem;
242
- font-weight: 500;
205
+ @media (min-width: 640px) {
206
+ .trpc-description {
207
+ line-height: 1.75rem;
208
+ font-size: 1.125rem;
209
+ }
243
210
  }
244
-
245
- .card-content {
211
+ .trpc-form {
212
+ padding-bottom: 0.5rem;
213
+ align-items: center;
246
214
  display: flex;
247
- height: 180px;
248
- flex-direction: column;
249
- justify-content: space-between;
250
- border-radius: 0.375rem;
251
- padding: 1.5rem;
252
- }
253
-
254
- .card-details {
255
- margin-top: 0.5rem;
215
+ margin-top: 2rem;
216
+ gap: 0.5rem;
256
217
  }
257
-
258
- .card-title {
259
- font-weight: bold;
218
+ .sr-only {
219
+ position: absolute;
220
+ width: 1px;
221
+ height: 1px;
222
+ padding: 0;
223
+ margin: -1px;
224
+ overflow: hidden;
225
+ clip: rect(0, 0, 0, 0);
226
+ white-space: nowrap;
227
+ border-width: 0;
260
228
  }
261
-
262
- .card-description {
229
+ .trpcInput {
230
+ transition-property: color, background-color, border-color,
231
+ text-decoration-color, fill, stroke;
232
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
233
+ transition-duration: 150ms;
234
+ font-weight: 500;
263
235
  font-size: 0.875rem;
236
+ line-height: 1.25rem;
237
+ padding-left: 0.5rem;
238
+ padding-right: 0.5rem;
239
+ border-radius: 0.375rem;
240
+ justify-content: center;
241
+ align-items: center;
242
+ width: 100%;
243
+ height: 2.5rem;
244
+ font-family: inherit;
245
+ font-feature-settings: inherit;
246
+ font-variation-settings: inherit;
247
+ color: inherit;
248
+ margin: 0;
249
+ border: 1px solid rgb(229, 231, 235);
264
250
  }
265
251
 
266
- .further-info-container {
267
- margin-left: auto;
268
- margin-right: auto;
269
- text-align: center;
270
- max-width: 58rem;
252
+ .notes {
253
+ margin-top: 1rem;
271
254
  }
272
-
273
- .description {
274
- font-size: 1.125rem;
275
- line-height: 1.75rem;
255
+ .note {
256
+ padding: 1rem;
257
+ margin-bottom: 1rem;
258
+ border-radius: 0.375rem;
259
+ font-weight: 400;
260
+ border: 1px solid rgb(229, 231, 235);
276
261
  }
277
-
278
- .note-form {
262
+ .note-head {
279
263
  display: flex;
280
- padding-bottom: 0.5rem;
281
- margin-top: 2rem;
264
+ justify-content: space-between;
282
265
  align-items: center;
283
266
  }
284
- .note-input {
285
- display: flex;
286
- height: 2.5rem;
287
- width: 100%;
288
- border-radius: 0.375rem;
289
- border: 1px solid rgb(161, 161, 170, 0.25);
290
- background-color: transparent;
291
- padding: 0.5rem 0.75rem;
267
+ .note-date {
292
268
  font-size: 0.875rem;
293
- outline: none;
294
- font-family: inherit;
295
- color: inherit;
269
+ margin: 0;
270
+ line-height: 1.25rem;
271
+ color: rgb(161, 161, 170);
296
272
  }
297
-
298
- .note-input::placeholder {
299
- color: rgb(161, 161, 170, 0.8);
273
+ .note-note {
274
+ margin: 0 0 2rem 0;
300
275
  }
301
-
302
- .note-input:focus-visible {
303
- outline: 2px solid rgb(39, 39, 42);
304
- outline-offset: 2px;
276
+ .noteDeleteBtn {
277
+ transition-property: color, background-color, border-color,
278
+ text-decoration-color, fill, stroke;
279
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
280
+ transition-duration: 150ms;
281
+ font-weight: 500;
282
+ font-size: 0.875rem;
283
+ line-height: 1.25rem;
284
+ border-radius: 0.375rem;
285
+ justify-content: center;
286
+ align-items: center;
287
+ width: 1.5rem;
288
+ height: 1.5rem;
289
+ display: inline-flex;
290
+ cursor: pointer;
291
+ background: none;
292
+ border: 1px solid transparent;
305
293
  }
306
- .note-input:disabled {
307
- cursor: not-allowed;
308
- opacity: 0.5;
294
+ .noteDeleteBtn:hover {
295
+ background-color: rgb(244 244 245);
309
296
  }
310
297
 
311
- .add-note-button {
312
- margin-left: 0.5rem;
313
- height: 2.5rem !important;
298
+ .no-notes {
299
+ padding: 5rem;
300
+ border-radius: 0.75rem;
301
+ text-align: center;
314
302
  }
315
- .hidden {
316
- position: absolute;
317
- width: 1px;
318
- height: 1px;
319
- padding: 0;
320
- margin: -1px;
321
- overflow: hidden;
322
- clip: rect(0, 0, 0, 0);
323
- white-space: nowrap;
324
- border-width: 0;
303
+ .no-notes-headline {
304
+ font-size: 1.25rem;
305
+ line-height: 1.75rem;
306
+ font-weight: 500;
307
+ margin: 0;
325
308
  }
326
- .note {
327
- position: relative;
309
+ .no-notes-desc {
310
+ color: rgb(161 161 170);
311
+ margin: 0;
328
312
  }
329
- .note-grid {
330
- display: flex;
313
+
314
+ .loading-text {
331
315
  margin-top: 1rem;
332
- flex-direction: column;
333
- gap: 1rem;
334
- }
335
- .delete-note-icon {
336
- width: 1rem;
337
- height: 1rem;
338
- }
339
- .delete-note-button {
340
- position: absolute;
341
- top: 1rem;
342
- right: 1rem;
343
- padding: 0.5rem !important;
344
- height: 2rem !important;
345
- }
346
- .loading {
347
- padding-top: 3rem;
348
316
  text-align: center;
349
317
  }
350
318
  `,
351
319
  ],
352
320
  template: `
353
321
  <main class="main">
354
- <section class="section-main">
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">
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
- >
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
- >
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>
322
+ <section class="intro-section">
323
+ <div class="intro-container">
324
+ <img
325
+ class="intro-logo"
326
+ src="https://analogjs.org/img/logos/analog-logo.svg"
327
+ alt="AnalogJs logo. Two red triangles and a white analog wave in front"
328
+ />
438
329
  <a
439
- class="button-badge"
330
+ class="intro-badge"
440
331
  target="_blank"
441
332
  href="https://twitter.com/analogjs"
442
333
  >Follow along on Twitter</a
443
334
  >
444
- <h1 class="heading-1">
445
- <span class="text-analog-red">Analog.</span> The fullstack Angular
335
+ <h1 class="intro-heading">
336
+ <span class="intro-analog">Analog.</span> The fullstack Angular
446
337
  meta-framework
447
338
  </h1>
448
- <p class="paragraph-intro">
339
+ <p class="intro-description">
449
340
  Analog is for building applications and websites with Angular.
450
341
  <br />Powered by Vite.
451
342
  </p>
452
- <div class="button-group">
453
- <a class="primary-button" href="https://analogjs.org"
454
- >Read the docs</a
455
- >
343
+ <div class="btn-container">
344
+ <a class="darkBtn" href="https://analogjs.org">Read the docs</a>
456
345
  <a
457
- class="secondary-button"
346
+ target="_blank"
347
+ rel="noreferrer"
348
+ class="lightBtn"
458
349
  href="https://github.com/analogjs/analog"
459
- >GitHub</a
350
+ >Star on GitHub</a
460
351
  >
461
352
  </div>
462
353
  </div>
463
354
  </section>
464
- <section id="trpc-demo" class="section">
465
- <div class="intro-container">
466
- <h2 class="text-analog-red title">Leave a note</h2>
467
- <p class="description">
355
+ <section id="trpc-demo" class="trpc-section">
356
+ <div class="trpc-container">
357
+ <h2 class="trpc-heading">Leave a note</h2>
358
+ <p class="trpc-description">
468
359
  This is an example of how to you can use tRPC to superpower you
469
360
  client server interaction.
470
361
  </p>
471
362
  </div>
472
- <form class="note-form" #f="ngForm" (ngSubmit)="addNote(f)">
473
- <label class="hidden" for="newNote"> Note </label>
363
+ <form class="trpc-form" #f="ngForm" (ngSubmit)="addNote(f)">
364
+ <label class="sr-only" for="newNote"> Note </label>
474
365
  <input
475
366
  required
476
367
  autocomplete="off"
477
- data-testid="newNoteInput"
478
368
  name="newNote"
479
369
  [(ngModel)]="newNote"
480
- class="note-input"
370
+ class="trpcInput"
481
371
  />
482
- <button
483
- data-testid="addNoteBtn"
484
- class="secondary-button add-note-button"
485
- >
486
- +
487
- </button>
372
+ <button class="lightBtn">+</button>
488
373
  </form>
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"
499
- >
500
- <button
501
- [attr.data-testid]="'removeNoteAtIndexBtn' + i"
502
- class="delete-note-button secondary-button"
503
- (click)="removeNote(note.id)"
504
- >
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>
374
+ <div class="notes" *ngIf="notes$ | async as notes; else loading">
375
+ <div
376
+ class="note"
377
+ *ngFor="let note of notes; trackBy: noteTrackBy; let i = index"
378
+ >
379
+ <div class="note-head">
380
+ <p class="note-date">{{ note.createdAt | date }}</p>
381
+ <button class="noteDeleteBtn" (click)="removeNote(note.id)">
382
+ x
519
383
  </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
384
  </div>
385
+ <p class="note-note">{{ note.note }}</p>
529
386
  </div>
530
387
 
531
- <div *ngIf="notes.length === 0" class="feature-card">
532
- <div class="card-content">
533
- <div class="card-details">
534
- <h3 class="card-title">No notes yet...</h3>
535
- <p class="card-description">
536
- Add a new one and see them appear here...
537
- </p>
538
- </div>
539
- </div>
388
+ <div class="no-notes " *ngIf="notes.length === 0">
389
+ <h3 class="no-notes-headline">No notes yet!</h3>
390
+ <p class="no-notes-desc">
391
+ Add a new one and see them appear here...
392
+ </p>
540
393
  </div>
541
- </ng-container>
394
+ </div>
542
395
  <ng-template #loading>
543
- <p class="loading">Loading...</p>
396
+ <p class="loading-text">Loading...</p>
544
397
  </ng-template>
545
398
  </section>
546
399
  </main>
@@ -570,7 +423,7 @@ export class AnalogWelcomeComponent {
570
423
  return;
571
424
  }
572
425
  this._trpc.note.create
573
- .mutate({ title: this.newNote })
426
+ .mutate({ note: this.newNote })
574
427
  .pipe(take(1))
575
428
  .subscribe(() => this.triggerRefresh$.next());
576
429
  this.newNote = '';