@gravity-ui/blog-constructor 5.11.0 → 5.12.1-alpha.0
Sign up to get free protection for your applications and to get access to all the features.
- package/build/cjs/blocks/Author/schema.d.ts +12 -0
- package/build/cjs/blocks/Banner/schema.d.ts +12 -0
- package/build/cjs/blocks/CTA/schema.d.ts +12 -0
- package/build/cjs/blocks/ColoredText/schema.d.ts +12 -0
- package/build/cjs/blocks/Feed/schema.d.ts +12 -0
- package/build/cjs/blocks/Header/schema.d.ts +47 -0
- package/build/cjs/blocks/Layout/schema.d.ts +12 -0
- package/build/cjs/blocks/Media/schema.d.ts +47 -0
- package/build/cjs/blocks/Meta/schema.d.ts +12 -0
- package/build/cjs/blocks/Suggest/schema.d.ts +12 -0
- package/build/cjs/blocks/YFM/schema.d.ts +12 -0
- package/build/cjs/containers/BlogPage/BlogPage.d.ts +3 -2
- package/build/cjs/containers/BlogPage/BlogPage.js +4 -3
- package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +3 -2
- package/build/cjs/containers/BlogPostPage/BlogPostPage.js +4 -3
- package/build/cjs/hooks/useExtendedComponentMap.d.ts +24 -0
- package/build/cjs/hooks/useExtendedComponentMap.js +9 -0
- package/build/cjs/models/blocks.d.ts +1 -1
- package/build/cjs/schema/index.d.ts +202 -0
- package/build/esm/blocks/Author/schema.d.ts +12 -0
- package/build/esm/blocks/Banner/schema.d.ts +12 -0
- package/build/esm/blocks/CTA/schema.d.ts +12 -0
- package/build/esm/blocks/ColoredText/schema.d.ts +12 -0
- package/build/esm/blocks/Feed/schema.d.ts +12 -0
- package/build/esm/blocks/Header/schema.d.ts +47 -0
- package/build/esm/blocks/Layout/schema.d.ts +12 -0
- package/build/esm/blocks/Media/schema.d.ts +47 -0
- package/build/esm/blocks/Meta/schema.d.ts +12 -0
- package/build/esm/blocks/Suggest/schema.d.ts +12 -0
- package/build/esm/blocks/YFM/schema.d.ts +12 -0
- package/build/esm/containers/BlogPage/BlogPage.d.ts +3 -2
- package/build/esm/containers/BlogPage/BlogPage.js +4 -3
- package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +3 -2
- package/build/esm/containers/BlogPostPage/BlogPostPage.js +4 -3
- package/build/esm/hooks/useExtendedComponentMap.d.ts +24 -0
- package/build/esm/hooks/useExtendedComponentMap.js +4 -0
- package/build/esm/models/blocks.d.ts +1 -1
- package/build/esm/schema/index.d.ts +202 -0
- package/package.json +5 -4
- package/server/models/blocks.d.ts +1 -1
@@ -443,6 +443,41 @@ export declare const schemasForCustom: {
|
|
443
443
|
ratio: {
|
444
444
|
type: string;
|
445
445
|
};
|
446
|
+
iframe: {
|
447
|
+
type: string;
|
448
|
+
additionalProperties: boolean;
|
449
|
+
required: string[];
|
450
|
+
properties: {
|
451
|
+
src: {
|
452
|
+
type: string;
|
453
|
+
};
|
454
|
+
name: {
|
455
|
+
type: string;
|
456
|
+
};
|
457
|
+
title: {
|
458
|
+
type: string;
|
459
|
+
};
|
460
|
+
height: {
|
461
|
+
oneOf: ({
|
462
|
+
type: string;
|
463
|
+
enum?: undefined;
|
464
|
+
} | {
|
465
|
+
type: string;
|
466
|
+
enum: string[];
|
467
|
+
})[];
|
468
|
+
};
|
469
|
+
width: {
|
470
|
+
type: string;
|
471
|
+
};
|
472
|
+
justifyContent: {
|
473
|
+
type: string;
|
474
|
+
enum: string[];
|
475
|
+
};
|
476
|
+
};
|
477
|
+
};
|
478
|
+
margins: {
|
479
|
+
type: string;
|
480
|
+
};
|
446
481
|
};
|
447
482
|
} & {
|
448
483
|
optionName: string;
|
@@ -534,6 +569,18 @@ export declare const schemasForCustom: {
|
|
534
569
|
context: {
|
535
570
|
type: string;
|
536
571
|
};
|
572
|
+
indent: {
|
573
|
+
type: string;
|
574
|
+
additionalProperties: boolean;
|
575
|
+
properties: {
|
576
|
+
top: {
|
577
|
+
enum: string[];
|
578
|
+
};
|
579
|
+
bottom: {
|
580
|
+
enum: string[];
|
581
|
+
};
|
582
|
+
};
|
583
|
+
};
|
537
584
|
type: {};
|
538
585
|
when: {
|
539
586
|
type: string;
|
@@ -597,6 +644,18 @@ export declare const schemasForCustom: {
|
|
597
644
|
context: {
|
598
645
|
type: string;
|
599
646
|
};
|
647
|
+
indent: {
|
648
|
+
type: string;
|
649
|
+
additionalProperties: boolean;
|
650
|
+
properties: {
|
651
|
+
top: {
|
652
|
+
enum: string[];
|
653
|
+
};
|
654
|
+
bottom: {
|
655
|
+
enum: string[];
|
656
|
+
};
|
657
|
+
};
|
658
|
+
};
|
600
659
|
type: {};
|
601
660
|
when: {
|
602
661
|
type: string;
|
@@ -747,6 +806,18 @@ export declare const schemasForCustom: {
|
|
747
806
|
context: {
|
748
807
|
type: string;
|
749
808
|
};
|
809
|
+
indent: {
|
810
|
+
type: string;
|
811
|
+
additionalProperties: boolean;
|
812
|
+
properties: {
|
813
|
+
top: {
|
814
|
+
enum: string[];
|
815
|
+
};
|
816
|
+
bottom: {
|
817
|
+
enum: string[];
|
818
|
+
};
|
819
|
+
};
|
820
|
+
};
|
750
821
|
type: {};
|
751
822
|
when: {
|
752
823
|
type: string;
|
@@ -914,6 +985,18 @@ export declare const schemasForCustom: {
|
|
914
985
|
context: {
|
915
986
|
type: string;
|
916
987
|
};
|
988
|
+
indent: {
|
989
|
+
type: string;
|
990
|
+
additionalProperties: boolean;
|
991
|
+
properties: {
|
992
|
+
top: {
|
993
|
+
enum: string[];
|
994
|
+
};
|
995
|
+
bottom: {
|
996
|
+
enum: string[];
|
997
|
+
};
|
998
|
+
};
|
999
|
+
};
|
917
1000
|
type: {};
|
918
1001
|
when: {
|
919
1002
|
type: string;
|
@@ -1064,6 +1147,18 @@ export declare const schemasForCustom: {
|
|
1064
1147
|
context: {
|
1065
1148
|
type: string;
|
1066
1149
|
};
|
1150
|
+
indent: {
|
1151
|
+
type: string;
|
1152
|
+
additionalProperties: boolean;
|
1153
|
+
properties: {
|
1154
|
+
top: {
|
1155
|
+
enum: string[];
|
1156
|
+
};
|
1157
|
+
bottom: {
|
1158
|
+
enum: string[];
|
1159
|
+
};
|
1160
|
+
};
|
1161
|
+
};
|
1067
1162
|
type: {};
|
1068
1163
|
when: {
|
1069
1164
|
type: string;
|
@@ -1138,6 +1233,18 @@ export declare const schemasForCustom: {
|
|
1138
1233
|
context: {
|
1139
1234
|
type: string;
|
1140
1235
|
};
|
1236
|
+
indent: {
|
1237
|
+
type: string;
|
1238
|
+
additionalProperties: boolean;
|
1239
|
+
properties: {
|
1240
|
+
top: {
|
1241
|
+
enum: string[];
|
1242
|
+
};
|
1243
|
+
bottom: {
|
1244
|
+
enum: string[];
|
1245
|
+
};
|
1246
|
+
};
|
1247
|
+
};
|
1141
1248
|
type: {};
|
1142
1249
|
when: {
|
1143
1250
|
type: string;
|
@@ -1206,6 +1313,18 @@ export declare const schemasForCustom: {
|
|
1206
1313
|
context: {
|
1207
1314
|
type: string;
|
1208
1315
|
};
|
1316
|
+
indent: {
|
1317
|
+
type: string;
|
1318
|
+
additionalProperties: boolean;
|
1319
|
+
properties: {
|
1320
|
+
top: {
|
1321
|
+
enum: string[];
|
1322
|
+
};
|
1323
|
+
bottom: {
|
1324
|
+
enum: string[];
|
1325
|
+
};
|
1326
|
+
};
|
1327
|
+
};
|
1209
1328
|
type: {};
|
1210
1329
|
when: {
|
1211
1330
|
type: string;
|
@@ -1464,6 +1583,41 @@ export declare const schemasForCustom: {
|
|
1464
1583
|
ratio: {
|
1465
1584
|
type: string;
|
1466
1585
|
};
|
1586
|
+
iframe: {
|
1587
|
+
type: string;
|
1588
|
+
additionalProperties: boolean;
|
1589
|
+
required: string[];
|
1590
|
+
properties: {
|
1591
|
+
src: {
|
1592
|
+
type: string;
|
1593
|
+
};
|
1594
|
+
name: {
|
1595
|
+
type: string;
|
1596
|
+
};
|
1597
|
+
title: {
|
1598
|
+
type: string;
|
1599
|
+
};
|
1600
|
+
height: {
|
1601
|
+
oneOf: ({
|
1602
|
+
type: string;
|
1603
|
+
enum?: undefined;
|
1604
|
+
} | {
|
1605
|
+
type: string;
|
1606
|
+
enum: string[];
|
1607
|
+
})[];
|
1608
|
+
};
|
1609
|
+
width: {
|
1610
|
+
type: string;
|
1611
|
+
};
|
1612
|
+
justifyContent: {
|
1613
|
+
type: string;
|
1614
|
+
enum: string[];
|
1615
|
+
};
|
1616
|
+
};
|
1617
|
+
};
|
1618
|
+
margins: {
|
1619
|
+
type: string;
|
1620
|
+
};
|
1467
1621
|
paddingTop: {
|
1468
1622
|
type: string;
|
1469
1623
|
enum: string[];
|
@@ -1509,6 +1663,18 @@ export declare const schemasForCustom: {
|
|
1509
1663
|
context: {
|
1510
1664
|
type: string;
|
1511
1665
|
};
|
1666
|
+
indent: {
|
1667
|
+
type: string;
|
1668
|
+
additionalProperties: boolean;
|
1669
|
+
properties: {
|
1670
|
+
top: {
|
1671
|
+
enum: string[];
|
1672
|
+
};
|
1673
|
+
bottom: {
|
1674
|
+
enum: string[];
|
1675
|
+
};
|
1676
|
+
};
|
1677
|
+
};
|
1512
1678
|
type: {};
|
1513
1679
|
when: {
|
1514
1680
|
type: string;
|
@@ -1566,6 +1732,18 @@ export declare const schemasForCustom: {
|
|
1566
1732
|
context: {
|
1567
1733
|
type: string;
|
1568
1734
|
};
|
1735
|
+
indent: {
|
1736
|
+
type: string;
|
1737
|
+
additionalProperties: boolean;
|
1738
|
+
properties: {
|
1739
|
+
top: {
|
1740
|
+
enum: string[];
|
1741
|
+
};
|
1742
|
+
bottom: {
|
1743
|
+
enum: string[];
|
1744
|
+
};
|
1745
|
+
};
|
1746
|
+
};
|
1569
1747
|
type: {};
|
1570
1748
|
when: {
|
1571
1749
|
type: string;
|
@@ -1623,6 +1801,18 @@ export declare const schemasForCustom: {
|
|
1623
1801
|
context: {
|
1624
1802
|
type: string;
|
1625
1803
|
};
|
1804
|
+
indent: {
|
1805
|
+
type: string;
|
1806
|
+
additionalProperties: boolean;
|
1807
|
+
properties: {
|
1808
|
+
top: {
|
1809
|
+
enum: string[];
|
1810
|
+
};
|
1811
|
+
bottom: {
|
1812
|
+
enum: string[];
|
1813
|
+
};
|
1814
|
+
};
|
1815
|
+
};
|
1626
1816
|
type: {};
|
1627
1817
|
when: {
|
1628
1818
|
type: string;
|
@@ -1685,6 +1875,18 @@ export declare const schemasForCustom: {
|
|
1685
1875
|
context: {
|
1686
1876
|
type: string;
|
1687
1877
|
};
|
1878
|
+
indent: {
|
1879
|
+
type: string;
|
1880
|
+
additionalProperties: boolean;
|
1881
|
+
properties: {
|
1882
|
+
top: {
|
1883
|
+
enum: string[];
|
1884
|
+
};
|
1885
|
+
bottom: {
|
1886
|
+
enum: string[];
|
1887
|
+
};
|
1888
|
+
};
|
1889
|
+
};
|
1688
1890
|
type: {};
|
1689
1891
|
when: {
|
1690
1892
|
type: string;
|
@@ -52,6 +52,18 @@ export declare const Author: {
|
|
52
52
|
context: {
|
53
53
|
type: string;
|
54
54
|
};
|
55
|
+
indent: {
|
56
|
+
type: string;
|
57
|
+
additionalProperties: boolean;
|
58
|
+
properties: {
|
59
|
+
top: {
|
60
|
+
enum: string[];
|
61
|
+
};
|
62
|
+
bottom: {
|
63
|
+
enum: string[];
|
64
|
+
};
|
65
|
+
};
|
66
|
+
};
|
55
67
|
type: {};
|
56
68
|
when: {
|
57
69
|
type: string;
|
@@ -141,6 +141,18 @@ export declare const Banner: {
|
|
141
141
|
context: {
|
142
142
|
type: string;
|
143
143
|
};
|
144
|
+
indent: {
|
145
|
+
type: string;
|
146
|
+
additionalProperties: boolean;
|
147
|
+
properties: {
|
148
|
+
top: {
|
149
|
+
enum: string[];
|
150
|
+
};
|
151
|
+
bottom: {
|
152
|
+
enum: string[];
|
153
|
+
};
|
154
|
+
};
|
155
|
+
};
|
144
156
|
type: {};
|
145
157
|
when: {
|
146
158
|
type: string;
|
@@ -141,6 +141,18 @@ export declare const CTA: {
|
|
141
141
|
context: {
|
142
142
|
type: string;
|
143
143
|
};
|
144
|
+
indent: {
|
145
|
+
type: string;
|
146
|
+
additionalProperties: boolean;
|
147
|
+
properties: {
|
148
|
+
top: {
|
149
|
+
enum: string[];
|
150
|
+
};
|
151
|
+
bottom: {
|
152
|
+
enum: string[];
|
153
|
+
};
|
154
|
+
};
|
155
|
+
};
|
144
156
|
type: {};
|
145
157
|
when: {
|
146
158
|
type: string;
|
@@ -158,6 +158,18 @@ export declare const ColoredText: {
|
|
158
158
|
context: {
|
159
159
|
type: string;
|
160
160
|
};
|
161
|
+
indent: {
|
162
|
+
type: string;
|
163
|
+
additionalProperties: boolean;
|
164
|
+
properties: {
|
165
|
+
top: {
|
166
|
+
enum: string[];
|
167
|
+
};
|
168
|
+
bottom: {
|
169
|
+
enum: string[];
|
170
|
+
};
|
171
|
+
};
|
172
|
+
};
|
161
173
|
type: {};
|
162
174
|
when: {
|
163
175
|
type: string;
|
@@ -65,6 +65,18 @@ export declare const Feed: {
|
|
65
65
|
context: {
|
66
66
|
type: string;
|
67
67
|
};
|
68
|
+
indent: {
|
69
|
+
type: string;
|
70
|
+
additionalProperties: boolean;
|
71
|
+
properties: {
|
72
|
+
top: {
|
73
|
+
enum: string[];
|
74
|
+
};
|
75
|
+
bottom: {
|
76
|
+
enum: string[];
|
77
|
+
};
|
78
|
+
};
|
79
|
+
};
|
68
80
|
type: {};
|
69
81
|
when: {
|
70
82
|
type: string;
|
@@ -435,6 +435,41 @@ export declare const Header: {
|
|
435
435
|
ratio: {
|
436
436
|
type: string;
|
437
437
|
};
|
438
|
+
iframe: {
|
439
|
+
type: string;
|
440
|
+
additionalProperties: boolean;
|
441
|
+
required: string[];
|
442
|
+
properties: {
|
443
|
+
src: {
|
444
|
+
type: string;
|
445
|
+
};
|
446
|
+
name: {
|
447
|
+
type: string;
|
448
|
+
};
|
449
|
+
title: {
|
450
|
+
type: string;
|
451
|
+
};
|
452
|
+
height: {
|
453
|
+
oneOf: ({
|
454
|
+
type: string;
|
455
|
+
enum?: undefined;
|
456
|
+
} | {
|
457
|
+
type: string;
|
458
|
+
enum: string[];
|
459
|
+
})[];
|
460
|
+
};
|
461
|
+
width: {
|
462
|
+
type: string;
|
463
|
+
};
|
464
|
+
justifyContent: {
|
465
|
+
type: string;
|
466
|
+
enum: string[];
|
467
|
+
};
|
468
|
+
};
|
469
|
+
};
|
470
|
+
margins: {
|
471
|
+
type: string;
|
472
|
+
};
|
438
473
|
};
|
439
474
|
} & {
|
440
475
|
optionName: string;
|
@@ -526,6 +561,18 @@ export declare const Header: {
|
|
526
561
|
context: {
|
527
562
|
type: string;
|
528
563
|
};
|
564
|
+
indent: {
|
565
|
+
type: string;
|
566
|
+
additionalProperties: boolean;
|
567
|
+
properties: {
|
568
|
+
top: {
|
569
|
+
enum: string[];
|
570
|
+
};
|
571
|
+
bottom: {
|
572
|
+
enum: string[];
|
573
|
+
};
|
574
|
+
};
|
575
|
+
};
|
529
576
|
type: {};
|
530
577
|
when: {
|
531
578
|
type: string;
|
@@ -59,6 +59,18 @@ export declare const Layout: {
|
|
59
59
|
context: {
|
60
60
|
type: string;
|
61
61
|
};
|
62
|
+
indent: {
|
63
|
+
type: string;
|
64
|
+
additionalProperties: boolean;
|
65
|
+
properties: {
|
66
|
+
top: {
|
67
|
+
enum: string[];
|
68
|
+
};
|
69
|
+
bottom: {
|
70
|
+
enum: string[];
|
71
|
+
};
|
72
|
+
};
|
73
|
+
};
|
62
74
|
type: {};
|
63
75
|
when: {
|
64
76
|
type: string;
|
@@ -249,6 +249,41 @@ export declare const Media: {
|
|
249
249
|
ratio: {
|
250
250
|
type: string;
|
251
251
|
};
|
252
|
+
iframe: {
|
253
|
+
type: string;
|
254
|
+
additionalProperties: boolean;
|
255
|
+
required: string[];
|
256
|
+
properties: {
|
257
|
+
src: {
|
258
|
+
type: string;
|
259
|
+
};
|
260
|
+
name: {
|
261
|
+
type: string;
|
262
|
+
};
|
263
|
+
title: {
|
264
|
+
type: string;
|
265
|
+
};
|
266
|
+
height: {
|
267
|
+
oneOf: ({
|
268
|
+
type: string;
|
269
|
+
enum?: undefined;
|
270
|
+
} | {
|
271
|
+
type: string;
|
272
|
+
enum: string[];
|
273
|
+
})[];
|
274
|
+
};
|
275
|
+
width: {
|
276
|
+
type: string;
|
277
|
+
};
|
278
|
+
justifyContent: {
|
279
|
+
type: string;
|
280
|
+
enum: string[];
|
281
|
+
};
|
282
|
+
};
|
283
|
+
};
|
284
|
+
margins: {
|
285
|
+
type: string;
|
286
|
+
};
|
252
287
|
paddingTop: {
|
253
288
|
type: string;
|
254
289
|
enum: string[];
|
@@ -294,6 +329,18 @@ export declare const Media: {
|
|
294
329
|
context: {
|
295
330
|
type: string;
|
296
331
|
};
|
332
|
+
indent: {
|
333
|
+
type: string;
|
334
|
+
additionalProperties: boolean;
|
335
|
+
properties: {
|
336
|
+
top: {
|
337
|
+
enum: string[];
|
338
|
+
};
|
339
|
+
bottom: {
|
340
|
+
enum: string[];
|
341
|
+
};
|
342
|
+
};
|
343
|
+
};
|
297
344
|
type: {};
|
298
345
|
when: {
|
299
346
|
type: string;
|
@@ -48,6 +48,18 @@ export declare const Meta: {
|
|
48
48
|
context: {
|
49
49
|
type: string;
|
50
50
|
};
|
51
|
+
indent: {
|
52
|
+
type: string;
|
53
|
+
additionalProperties: boolean;
|
54
|
+
properties: {
|
55
|
+
top: {
|
56
|
+
enum: string[];
|
57
|
+
};
|
58
|
+
bottom: {
|
59
|
+
enum: string[];
|
60
|
+
};
|
61
|
+
};
|
62
|
+
};
|
51
63
|
type: {};
|
52
64
|
when: {
|
53
65
|
type: string;
|
@@ -48,6 +48,18 @@ export declare const Suggest: {
|
|
48
48
|
context: {
|
49
49
|
type: string;
|
50
50
|
};
|
51
|
+
indent: {
|
52
|
+
type: string;
|
53
|
+
additionalProperties: boolean;
|
54
|
+
properties: {
|
55
|
+
top: {
|
56
|
+
enum: string[];
|
57
|
+
};
|
58
|
+
bottom: {
|
59
|
+
enum: string[];
|
60
|
+
};
|
61
|
+
};
|
62
|
+
};
|
51
63
|
type: {};
|
52
64
|
when: {
|
53
65
|
type: string;
|
@@ -53,6 +53,18 @@ export declare const YFM: {
|
|
53
53
|
context: {
|
54
54
|
type: string;
|
55
55
|
};
|
56
|
+
indent: {
|
57
|
+
type: string;
|
58
|
+
additionalProperties: boolean;
|
59
|
+
properties: {
|
60
|
+
top: {
|
61
|
+
enum: string[];
|
62
|
+
};
|
63
|
+
bottom: {
|
64
|
+
enum: string[];
|
65
|
+
};
|
66
|
+
};
|
67
|
+
};
|
56
68
|
type: {};
|
57
69
|
when: {
|
58
70
|
type: string;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React, { SyntheticEvent } from 'react';
|
2
|
-
import { NavigationData, PageConstructorProviderProps, PageContent } from '@gravity-ui/page-constructor';
|
2
|
+
import { CustomConfig, NavigationData, PageConstructorProviderProps, PageContent } from '@gravity-ui/page-constructor';
|
3
3
|
import { GetPostsType, MetaProps, PostsProps, Service, SetQueryType, Tag, ToggleLikeCallbackType } from '../../models/common';
|
4
4
|
import './BlogPage.css';
|
5
5
|
export type BlogPageProps = {
|
@@ -14,8 +14,9 @@ export type BlogPageProps = {
|
|
14
14
|
metaData?: MetaProps;
|
15
15
|
setQuery?: SetQueryType;
|
16
16
|
settings?: PageConstructorProviderProps;
|
17
|
+
custom?: CustomConfig;
|
17
18
|
pageCountForShowSupportButtons?: number;
|
18
19
|
isSignedInUser?: boolean;
|
19
20
|
onClickSignIn?: React.EventHandler<SyntheticEvent>;
|
20
21
|
};
|
21
|
-
export declare const BlogPage: ({ content, posts, tags, services, getPosts, metaData, hasLikes, toggleLike, navigation, settings, pageCountForShowSupportButtons, isSignedInUser, onClickSignIn, }: BlogPageProps) => React.JSX.Element;
|
22
|
+
export declare const BlogPage: ({ content, posts, tags, services, getPosts, metaData, custom, hasLikes, toggleLike, navigation, settings, pageCountForShowSupportButtons, isSignedInUser, onClickSignIn, }: BlogPageProps) => React.JSX.Element;
|
@@ -4,13 +4,14 @@ import { PageConstructor, PageConstructorProvider, } from '@gravity-ui/page-cons
|
|
4
4
|
import { MetaWrapper } from '../../components/MetaWrapper/MetaWrapper';
|
5
5
|
import { PromptSignIn } from '../../components/PromptSignIn/PromptSignIn';
|
6
6
|
import { usePromptSignInProps } from '../../components/PromptSignIn/hooks/usePromptSignInProps';
|
7
|
-
import componentMap from '../../constructor/blocksMap';
|
8
7
|
import { FeedContext } from '../../contexts/FeedContext';
|
9
8
|
import { LikesContext } from '../../contexts/LikesContext';
|
9
|
+
import { useExtendedComponentMap } from '../../hooks/useExtendedComponentMap';
|
10
10
|
import './BlogPage.css';
|
11
|
-
export const BlogPage = ({ content, posts, tags, services, getPosts, metaData, hasLikes = false, toggleLike, navigation, settings, pageCountForShowSupportButtons, isSignedInUser = false, onClickSignIn, }) => {
|
11
|
+
export const BlogPage = ({ content, posts, tags, services, getPosts, metaData, custom, hasLikes = false, toggleLike, navigation, settings, pageCountForShowSupportButtons, isSignedInUser = false, onClickSignIn, }) => {
|
12
12
|
const _a = usePromptSignInProps(onClickSignIn), { requireSignIn } = _a, promptSignInProps = __rest(_a, ["requireSignIn"]);
|
13
13
|
const likesContextData = useMemo(() => ({ toggleLike, hasLikes, isSignedInUser, requireSignIn }), [toggleLike, hasLikes, isSignedInUser, requireSignIn]);
|
14
|
+
const actualComponentMap = useExtendedComponentMap(custom);
|
14
15
|
return (React.createElement(LikesContext.Provider, { value: likesContextData },
|
15
16
|
React.createElement(FeedContext.Provider, { value: {
|
16
17
|
posts: posts.posts,
|
@@ -23,6 +24,6 @@ export const BlogPage = ({ content, posts, tags, services, getPosts, metaData, h
|
|
23
24
|
} },
|
24
25
|
React.createElement(PageConstructorProvider, Object.assign({}, settings),
|
25
26
|
metaData ? React.createElement(MetaWrapper, Object.assign({}, metaData)) : null,
|
26
|
-
React.createElement(PageConstructor, { content: content, custom:
|
27
|
+
React.createElement(PageConstructor, { content: content, custom: actualComponentMap, navigation: navigation }))),
|
27
28
|
React.createElement(PromptSignIn, Object.assign({}, promptSignInProps))));
|
28
29
|
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, { SyntheticEvent } from 'react';
|
2
2
|
import { ShareOptions } from '@gravity-ui/components';
|
3
|
-
import { NavigationData, PageConstructorProviderProps, PageContent } from '@gravity-ui/page-constructor';
|
3
|
+
import { CustomConfig, NavigationData, PageConstructorProviderProps, PageContent } from '@gravity-ui/page-constructor';
|
4
4
|
import { MetaProps, PostData, ToggleLikeCallbackType } from '../../models/common';
|
5
5
|
import './BlogPostPage.css';
|
6
6
|
export interface BlogPostPageProps {
|
@@ -15,8 +15,9 @@ export interface BlogPostPageProps {
|
|
15
15
|
post: PostData;
|
16
16
|
settings?: PageConstructorProviderProps;
|
17
17
|
navigation?: NavigationData;
|
18
|
+
custom?: CustomConfig;
|
18
19
|
shareOptions?: ShareOptions[];
|
19
20
|
isSignedInUser?: boolean;
|
20
21
|
onClickSignIn?: React.EventHandler<SyntheticEvent>;
|
21
22
|
}
|
22
|
-
export declare const BlogPostPage: ({ metaData, suggestedPosts, likes, content, post, settings, navigation, shareOptions, isSignedInUser, onClickSignIn, }: BlogPostPageProps) => React.JSX.Element;
|
23
|
+
export declare const BlogPostPage: ({ metaData, suggestedPosts, likes, content, post, settings, navigation, custom, shareOptions, isSignedInUser, onClickSignIn, }: BlogPostPageProps) => React.JSX.Element;
|
@@ -4,12 +4,12 @@ import { PageConstructor, PageConstructorProvider, } from '@gravity-ui/page-cons
|
|
4
4
|
import { MetaWrapper } from '../../components/MetaWrapper/MetaWrapper';
|
5
5
|
import { PromptSignIn } from '../../components/PromptSignIn/PromptSignIn';
|
6
6
|
import { usePromptSignInProps } from '../../components/PromptSignIn/hooks/usePromptSignInProps';
|
7
|
-
import componentMap from '../../constructor/blocksMap';
|
8
7
|
import { LikesContext } from '../../contexts/LikesContext';
|
9
8
|
import { PostPageContext } from '../../contexts/PostPageContext';
|
9
|
+
import { useExtendedComponentMap } from '../../hooks/useExtendedComponentMap';
|
10
10
|
import { useLikes } from '../../hooks/useLikes';
|
11
11
|
import './BlogPostPage.css';
|
12
|
-
export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings, navigation, shareOptions, isSignedInUser = false, onClickSignIn, }) => {
|
12
|
+
export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings, navigation, custom, shareOptions, isSignedInUser = false, onClickSignIn, }) => {
|
13
13
|
const { hasUserLike, likesCount, handleLike } = useLikes({
|
14
14
|
hasLike: likes === null || likes === void 0 ? void 0 : likes.hasUserLike,
|
15
15
|
count: likes === null || likes === void 0 ? void 0 : likes.likesCount,
|
@@ -23,6 +23,7 @@ export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, s
|
|
23
23
|
isSignedInUser,
|
24
24
|
requireSignIn,
|
25
25
|
}), [likes, isSignedInUser, requireSignIn]);
|
26
|
+
const actualComponentMap = useExtendedComponentMap(custom);
|
26
27
|
return (React.createElement(LikesContext.Provider, { value: likesContextData },
|
27
28
|
React.createElement(PostPageContext.Provider, { value: {
|
28
29
|
post,
|
@@ -38,6 +39,6 @@ export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, s
|
|
38
39
|
} },
|
39
40
|
React.createElement(PageConstructorProvider, Object.assign({}, settings),
|
40
41
|
metaData ? React.createElement(MetaWrapper, Object.assign({}, metaData)) : null,
|
41
|
-
React.createElement(PageConstructor, { content: content, custom:
|
42
|
+
React.createElement(PageConstructor, { content: content, custom: actualComponentMap, navigation: navigation }))),
|
42
43
|
React.createElement(PromptSignIn, Object.assign({}, promptSignInProps))));
|
43
44
|
};
|