@rtsee/ngx 0.0.90 → 0.0.93

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.
@@ -1,73 +1,429 @@
1
1
  @import "./variables";
2
2
 
3
3
  .rtsee-story-details {
4
- .rtsee-story-details-image-container {
4
+ display: block;
5
+ min-height: 100vh;
6
+ background-color: $rts-rates-bg-main;
7
+ color: $rts-rates-text-primary;
8
+ font-family: "Work Sans", "Inter", sans-serif;
9
+
10
+ /* ── HERO ─────────────────────────────────────────────────── */
11
+
12
+ .rtsee-story-details-cover {
5
13
  position: relative;
6
- line-height: 0;
7
- text-align: center;
14
+ background-size: cover;
15
+ background-position: center;
16
+ background-repeat: no-repeat;
17
+ display: flex;
18
+ align-items: flex-end;
19
+ overflow: hidden;
8
20
 
9
- .rtsee-story-details-image {
10
- width: 100%;
11
- }
21
+ // Mobile-first default
22
+ min-height: 320px;
12
23
 
13
- .rtsee-story-details-start-reading {
24
+ .rtsee-story-details-btn-close {
14
25
  position: absolute;
15
- bottom: $rts-offset-sm;
16
- right: $rts-offset-sm;
26
+ top: 24px;
27
+ right: 24px;
28
+ z-index: 10;
29
+ width: 40px;
30
+ height: 40px;
31
+ border-radius: 50%;
32
+ background: rgba(0, 0, 0, 0.4);
33
+ border: 1px solid rgba(255, 255, 255, 0.2);
34
+ backdrop-filter: blur(8px);
35
+ color: #fff;
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+ cursor: pointer;
40
+ transition:
41
+ transform 0.2s ease,
42
+ background-color 0.2s ease;
43
+
44
+ &:hover {
45
+ transform: scale(1.1);
46
+ background: rgba(0, 0, 0, 0.6);
47
+ }
48
+
49
+ &:active {
50
+ transform: scale(0.95);
51
+ }
52
+
53
+ span {
54
+ font-size: 1.1rem;
55
+ }
17
56
  }
57
+ }
18
58
 
19
- .rtsee-story-details-close {
20
- position: absolute;
21
- top: $rts-offset-sm;
22
- left: $rts-offset-sm;
59
+ .rtsee-story-details-cover-overlay {
60
+ position: absolute;
61
+ inset: 0;
62
+ background: linear-gradient(
63
+ 0deg,
64
+ $rts-rates-bg-main 0%,
65
+ rgba($rts-rates-bg-main, 0.92) 30%,
66
+ rgba($rts-rates-bg-main, 0.55) 55%,
67
+ rgba($rts-rates-bg-main, 0.3) 100%
68
+ );
69
+ z-index: 1;
70
+ }
71
+
72
+ .rtsee-story-details-cover-content {
73
+ position: relative;
74
+ z-index: 2;
75
+ width: 100%;
76
+ animation: rtseeHeroFadeUp 0.8s ease-out both;
77
+
78
+ // Mobile-first default
79
+ padding: $rts-offset-lg $rts-offset-md $rts-offset-xl;
80
+ max-width: 100%;
81
+ }
82
+
83
+ @keyframes rtseeHeroFadeUp {
84
+ from {
85
+ opacity: 0;
86
+ transform: translateY(30px);
87
+ }
88
+ to {
89
+ opacity: 1;
90
+ transform: translateY(0);
23
91
  }
24
92
  }
25
93
 
26
- .rtsee-story-details-title-container {
27
- padding: $rts-offset-sm;
94
+ /* ── TAGS / BADGES ────────────────────────────────────────── */
28
95
 
29
- .rtsee-story-details-title {
30
- color: $rts-font-color-light;
31
- margin: 0;
96
+ .rtsee-story-details-cover-badges {
97
+ display: flex;
98
+ flex-wrap: wrap;
99
+ gap: $rts-offset-sm;
100
+ margin-bottom: $rts-offset-md;
101
+ }
102
+
103
+ .rtsee-story-details-tag-pill {
104
+ --tag-color: #636e72;
105
+ display: inline-flex;
106
+ align-items: center;
107
+ font-weight: 600;
108
+ letter-spacing: 0.02em;
109
+ color: #fff;
110
+ background: rgba($rts-rates-accent-purple, 0.2);
111
+ border: 1px solid rgba($rts-rates-accent-purple, 0.4);
112
+ backdrop-filter: blur(6px);
113
+ transition:
114
+ transform 0.2s ease,
115
+ box-shadow 0.2s ease;
116
+
117
+ // Mobile-first default
118
+ padding: $rts-offset-xsm $rts-offset-sm;
119
+ font-size: 0.72rem;
120
+ border-radius: 12px;
121
+
122
+ &-label {
123
+ background: rgba(253, 203, 110, 0.15);
124
+ border-color: rgba(253, 203, 110, 0.35);
125
+
126
+ .symbol {
127
+ margin-right: $rts-offset-xsm;
128
+ }
129
+ }
130
+
131
+ &:hover {
132
+ transform: translateY(-2px);
133
+ box-shadow: 0 4px 16px rgba($rts-rates-accent-purple, 0.3);
32
134
  }
33
135
  }
34
136
 
35
- .rtsee-story-details-labels {
36
- padding: 0 $rts-offset-sm;
137
+ /* ── TITLE ────────────────────────────────────────────────── */
138
+
139
+ .rtsee-story-details-cover-title {
140
+ font-weight: 800;
141
+ line-height: 1.15;
142
+ margin: 0 0 $rts-offset-md;
143
+ color: #fff;
144
+ text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
145
+ letter-spacing: -0.02em;
37
146
 
38
- .rtsee-story-details-label {
39
- margin: 0 $rts-offset-sm $rts-offset-sm 0;
147
+ // Mobile-first default
148
+ font-size: 1.6rem;
149
+ }
150
+
151
+ /* ── META (rating + chips) ────────────────────────────────── */
152
+
153
+ .rtsee-story-details-cover-meta {
154
+ display: flex;
155
+ flex-wrap: wrap;
156
+
157
+ // Mobile-first default
158
+ flex-direction: column;
159
+ align-items: flex-start;
160
+ gap: ($rts-offset-sm + $rts-offset-xsm);
161
+ margin-bottom: $rts-offset-lg;
162
+ }
163
+
164
+ .rtsee-story-details-cover-rating {
165
+ display: flex;
166
+ align-items: center;
167
+ gap: $rts-offset-sm;
168
+ }
169
+
170
+ .rtsee-story-details-stars {
171
+ display: inline-flex;
172
+ gap: 2px;
173
+ }
174
+
175
+ .rtsee-story-details-star {
176
+ font-size: 1.1rem;
177
+ line-height: 1;
178
+ }
179
+
180
+ .rtsee-story-details-star--full {
181
+ color: $rts-rates-accent-gold;
182
+ text-shadow: 0 0 6px $rts-rates-accent-gold-shadow;
183
+ }
184
+
185
+ .rtsee-story-details-star--half {
186
+ color: $rts-rates-accent-gold;
187
+ opacity: 0.6;
188
+ }
189
+
190
+ .rtsee-story-details-star--empty {
191
+ color: $rts-rates-star-empty;
192
+ }
193
+
194
+ .rtsee-story-details-rating-number {
195
+ font-size: 1rem;
196
+ font-weight: 700;
197
+ color: $rts-rates-accent-gold;
198
+ }
199
+
200
+ .rtsee-story-details-rating-count {
201
+ font-size: 0.85rem;
202
+ color: $rts-rates-text-secondary;
203
+ }
204
+
205
+ .rtsee-story-details-cover-info-chips {
206
+ display: flex;
207
+ gap: $rts-offset-sm;
208
+
209
+ // Mobile-first default
210
+ flex-wrap: wrap;
211
+ }
212
+
213
+ .rtsee-story-details-info-chip {
214
+ display: inline-flex;
215
+ align-items: center;
216
+ gap: 6px;
217
+ padding: 6px 14px;
218
+ border-radius: 8px;
219
+ font-size: 0.82rem;
220
+ font-weight: 500;
221
+ color: $rts-rates-text-secondary;
222
+ background: rgba(255, 255, 255, 0.06);
223
+ border: 1px solid $rts-rates-border-med;
224
+
225
+ svg {
226
+ opacity: 0.7;
40
227
  }
41
228
  }
42
229
 
43
- .rtsee-story-details-description-container {
44
- .rtsee-story-details-description {
45
- padding: $rts-offset-sm;
230
+ /* ── HERO ACTIONS (buttons) ────────────────────────────────── */
231
+
232
+ .rtsee-story-details-cover-actions {
233
+ display: flex;
234
+ align-items: stretch;
235
+ margin-top: -$rts-offset-md;
236
+ padding-bottom: $rts-offset-xl;
237
+
238
+ // Mobile-first default
239
+ flex-direction: column;
240
+ gap: $rts-offset-sm;
241
+ width: 100%;
242
+
243
+ /* Override primeng button defaults to look premium dark theme */
244
+ ::v-deep .p-button {
245
+ border-radius: 8px;
246
+ font-weight: 600;
247
+ padding: 12px 24px;
248
+ transition:
249
+ transform 0.2s ease,
250
+ box-shadow 0.2s ease;
251
+ width: 100%;
252
+ }
253
+
254
+ .rtsee-story-details-start-reading ::v-deep .p-button {
255
+ background: linear-gradient(135deg, $rts-rates-accent-purple 0%, $rts-rates-accent-purple-light 100%);
256
+ border: none;
257
+ box-shadow: 0 4px 16px rgba($rts-rates-accent-purple, 0.3);
258
+
259
+ &:hover {
260
+ transform: translateY(-2px);
261
+ box-shadow: 0 6px 20px rgba($rts-rates-accent-purple, 0.4);
262
+ }
263
+
264
+ &:active {
265
+ transform: translateY(0);
266
+ box-shadow: 0 4px 12px rgba($rts-rates-accent-purple, 0.3);
267
+ }
268
+ }
269
+ }
270
+
271
+ /* ── CONTENT WRAPPER ──────────────────────────────────────── */
272
+
273
+ .rtsee-story-details-content-wrapper {
274
+ max-width: 1200px;
275
+ margin: 0 auto;
276
+
277
+ // Mobile-first default
278
+ padding: $rts-offset-lg $rts-offset-md $rts-offset-xl;
279
+ }
280
+
281
+ /* ── GLASS CARDS GRID ─────────────────────────────────────── */
282
+
283
+ .rtsee-story-details-content-grid {
284
+ display: grid;
285
+ grid-template-columns: 1fr;
286
+ gap: $rts-offset-lg;
287
+ margin-bottom: $rts-offset-xl;
288
+ }
289
+
290
+ .rtsee-story-details-glass-card {
291
+ background: linear-gradient(
292
+ 135deg,
293
+ $rts-rates-bg-card-start 0%,
294
+ $rts-rates-bg-card-end 100%
295
+ );
296
+ border: 1px solid $rts-rates-border-dim;
297
+ border-radius: 16px;
298
+ backdrop-filter: blur(12px);
299
+ transition:
300
+ transform 0.3s ease,
301
+ border-color 0.3s ease,
302
+ box-shadow 0.3s ease;
303
+ animation: rtseeCardSlideUp 0.6s ease-out both;
304
+
305
+ // Mobile-first default
306
+ padding: ($rts-offset-md + $rts-offset-sm); // 24px
307
+ }
308
+
309
+ @keyframes rtseeCardSlideUp {
310
+ from {
311
+ opacity: 0;
312
+ transform: translateY(24px);
313
+ }
314
+ to {
315
+ opacity: 1;
316
+ transform: translateY(0);
317
+ }
318
+ }
319
+
320
+ .rtsee-story-details-glass-card:hover {
321
+ transform: translateY(-4px);
322
+ border-color: rgba($rts-rates-accent-purple, 0.3);
323
+ box-shadow: 0 8px 32px rgba($rts-rates-accent-purple, 0.15);
324
+ }
325
+
326
+ .rtsee-story-details-glass-card-header {
327
+ display: flex;
328
+ align-items: center;
329
+ gap: 10px;
330
+ margin-bottom: $rts-offset-md;
331
+
332
+ svg {
333
+ color: $rts-rates-accent-purple;
334
+ flex-shrink: 0;
335
+ }
336
+
337
+ h2 {
46
338
  margin: 0;
339
+ font-size: 1.2rem;
340
+ font-weight: 700;
341
+ color: #fff;
342
+ letter-spacing: -0.01em;
47
343
  }
48
344
  }
49
345
 
346
+ .rtsee-story-details-glass-card-text {
347
+ margin: 0;
348
+ font-size: 0.94rem;
349
+ line-height: 1.72;
350
+ color: $rts-rates-text-secondary;
351
+ white-space: pre-line;
352
+ }
353
+
354
+ /* ── COMMENTS SECTION / INTEGRATED LOGIC ─────────────────── */
355
+
50
356
  .rtsee-story-details-votes {
357
+ margin-top: $rts-offset-xl;
358
+
51
359
  .rtsee-story-details-comments-label {
52
- margin: 0;
53
- font-size: 21px;
54
- padding: $rts-offset-sm;
55
- font-weight: 600;
56
- color: #333;
360
+ margin: 0 0 $rts-offset-md 0;
361
+ font-size: 1.3rem;
362
+ font-weight: 700;
363
+ color: #fff;
57
364
  }
58
365
  }
59
366
 
60
367
  .rtsee-story-details-feedback {
61
- padding: $rts-offset-sm;
368
+ padding: $rts-offset-sm 0;
369
+ color: #fff;
62
370
  }
63
371
 
64
- @media screen and (min-width: $rts-break-md) {
65
- .rtsee-story-details-image-container {
66
- .rtsee-story-details-image {
67
- max-width: 500px;
68
- }
372
+ /* ── RESPONSIVE MEDIA OVERRIDES ───────────────────────────── */
373
+
374
+ @media screen and (min-width: $rts-break-sm) {
375
+ .rtsee-story-details-cover {
376
+ min-height: 400px;
377
+ }
378
+
379
+ .rtsee-story-details-cover-title {
380
+ font-size: 2rem;
381
+ }
382
+
383
+ .rtsee-story-details-tag-pill {
384
+ font-size: 0.78rem;
385
+ padding: 5px 14px;
386
+ border-radius: 20px;
387
+ }
388
+
389
+ .rtsee-story-details-cover-meta {
390
+ flex-direction: row;
391
+ align-items: center;
392
+ gap: $rts-offset-lg;
69
393
  }
70
394
 
395
+ .rtsee-story-details-cover-actions {
396
+ flex-direction: row;
397
+ align-items: center;
398
+ gap: $rts-offset-md;
399
+ width: auto;
400
+
401
+ ::v-deep .p-button {
402
+ width: auto;
403
+ }
404
+ }
71
405
  }
72
406
 
407
+ @media screen and (min-width: $rts-break-md) {
408
+ .rtsee-story-details-cover {
409
+ min-height: 520px;
410
+ }
411
+
412
+ .rtsee-story-details-cover-content {
413
+ padding: $rts-offset-xl $rts-offset-xl $rts-offset-xl;
414
+ max-width: 900px;
415
+ }
416
+
417
+ .rtsee-story-details-cover-title {
418
+ font-size: 2.8rem;
419
+ }
420
+
421
+ .rtsee-story-details-content-wrapper {
422
+ padding: $rts-offset-xl $rts-offset-xl $rts-offset-xl;
423
+ }
424
+
425
+ .rtsee-story-details-glass-card {
426
+ padding: $rts-offset-xl;
427
+ }
428
+ }
73
429
  }
@@ -0,0 +1,6 @@
1
+ @import "./variables";
2
+ @import "./rate-input";
3
+ @import "./rate-item";
4
+ @import "./rater";
5
+ @import "./rates-list";
6
+ @import "./rating-section";
@@ -0,0 +1,153 @@
1
+ @import "./variables";
2
+
3
+ .rtsee-rate-input {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: $rts-offset-md;
7
+ border-bottom: 1px solid $rts-rates-border-dim;
8
+ padding-bottom: $rts-offset-lg;
9
+ box-sizing: border-box;
10
+
11
+ .rtsee-rate-input-header {
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: $rts-offset-xsm;
15
+ margin-bottom: $rts-offset-sm;
16
+
17
+ .rtsee-rate-input-name {
18
+ margin: 0;
19
+ font-size: 1.05rem;
20
+ font-weight: 700;
21
+ color: $rts-rates-text-primary;
22
+ letter-spacing: -0.01em;
23
+ }
24
+
25
+ .rtsee-rate-input-description {
26
+ margin: 0;
27
+ font-size: 0.84rem;
28
+ color: $rts-rates-text-secondary;
29
+ line-height: 1.4;
30
+ }
31
+ }
32
+
33
+ &:last-of-type {
34
+ border-bottom: none;
35
+ padding-bottom: 0;
36
+ }
37
+
38
+ .rtsee-rate-form-container {
39
+ .rtsee-rate-form {
40
+ display: flex;
41
+ flex-direction: column;
42
+ }
43
+ }
44
+
45
+ .rtsee-rate-comment-field {
46
+ background: rgba(255, 255, 255, 0.03) !important;
47
+ border: 1px solid $rts-rates-border-med !important;
48
+ border-radius: $rts-default-border-radius !important;
49
+ padding: ($rts-offset-sm + $rts-offset-xsm) $rts-offset-md !important;
50
+ font-family: inherit !important;
51
+ font-size: 0.92rem !important;
52
+ color: $rts-rates-text-primary !important;
53
+ transition:
54
+ border-color 0.25s ease,
55
+ box-shadow 0.25s ease,
56
+ background-color 0.25s ease !important;
57
+ outline: none !important;
58
+ resize: vertical !important;
59
+ min-height: 52px !important;
60
+ width: 100% !important;
61
+ box-sizing: border-box !important;
62
+
63
+ &::placeholder {
64
+ color: $rts-rates-text-muted !important;
65
+ }
66
+
67
+ &:hover {
68
+ background: rgba(255, 255, 255, 0.05) !important;
69
+ border-color: $rts-rates-border-bright !important;
70
+ }
71
+
72
+ &:focus {
73
+ background: rgba(255, 255, 255, 0.06) !important;
74
+ border-color: $rts-rates-accent-purple !important;
75
+ box-shadow: 0 0 0 3px rgba($rts-rates-accent-purple, 0.2) !important;
76
+ }
77
+ }
78
+
79
+ .rtsee-rate-select-container {
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: space-between;
83
+ gap: $rts-offset-md;
84
+ flex-wrap: wrap;
85
+
86
+ rtsee-rating {
87
+ flex-shrink: 0;
88
+ }
89
+
90
+ p-message {
91
+ .p-message {
92
+ margin: 0;
93
+ padding: 6px 12px;
94
+ font-size: 0.8rem;
95
+ border-radius: 6px;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ /* ── RATING STARS GLOBAL STYLES ───────────────────────────────── */
102
+ .rtsee-rating {
103
+ display: inline-flex;
104
+ align-items: center;
105
+ gap: $rts-offset-xsm;
106
+
107
+ .rtsee-rating-star {
108
+ font-size: 1.5rem;
109
+ line-height: 1;
110
+ color: $rts-rates-star-empty;
111
+ transition:
112
+ color 0.15s ease,
113
+ transform 0.15s ease,
114
+ text-shadow 0.15s ease;
115
+ user-select: none;
116
+
117
+ &.rtsee-rating-star-full {
118
+ color: $rts-rates-accent-gold;
119
+ text-shadow: 0 0 8px $rts-rates-accent-gold-shadow;
120
+ }
121
+
122
+ &.rtsee-rating-star-half {
123
+ color: $rts-rates-accent-gold;
124
+ opacity: 0.65;
125
+ }
126
+
127
+ &.rtsee-rating-star-empty {
128
+ color: $rts-rates-star-empty;
129
+ }
130
+
131
+ &.rtsee-rating-star-clickable {
132
+ cursor: pointer;
133
+
134
+ &:hover {
135
+ transform: scale(1.2);
136
+ color: #ffeaa7;
137
+ text-shadow: 0 0 10px rgba(255, 234, 167, 0.8);
138
+ }
139
+
140
+ &:active {
141
+ transform: scale(0.95);
142
+ }
143
+ }
144
+ }
145
+
146
+ .rtsee-rating-number {
147
+ font-size: 1.1rem;
148
+ font-weight: 700;
149
+ color: $rts-rates-accent-gold;
150
+ margin-left: $rts-offset-sm;
151
+ text-shadow: 0 0 4px rgba($rts-rates-accent-gold, 0.3);
152
+ }
153
+ }