@gravity-ui/blog-constructor 4.2.0 → 4.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -0
- package/build/cjs/containers/BlogPage/BlogPage.js +14 -15
- package/build/cjs/containers/BlogPostPage/BlogPostPage.d.ts +3 -1
- package/build/cjs/containers/BlogPostPage/BlogPostPage.js +48 -7
- package/build/esm/containers/BlogPage/BlogPage.js +15 -16
- package/build/esm/containers/BlogPostPage/BlogPostPage.d.ts +3 -1
- package/build/esm/containers/BlogPostPage/BlogPostPage.js +25 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [4.2.1](https://github.com/gravity-ui/blog-constructor/compare/v4.2.0...v4.2.1) (2023-07-07)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* prompt-sign-in-on-like for blog post pages ([#75](https://github.com/gravity-ui/blog-constructor/issues/75)) ([1862306](https://github.com/gravity-ui/blog-constructor/commit/186230610d13e4c31bfd4bbbb52128b23e81bf39))
|
9
|
+
|
3
10
|
## [4.2.0](https://github.com/gravity-ui/blog-constructor/compare/v4.1.2...v4.2.0) (2023-06-28)
|
4
11
|
|
5
12
|
|
@@ -48,21 +48,20 @@ const FeedContext_1 = require("../../contexts/FeedContext");
|
|
48
48
|
const LikesContext_1 = require("../../contexts/LikesContext");
|
49
49
|
const BlogPage = ({ content, posts, tags, services, getPosts, metaData, hasLikes = false, toggleLike, navigation, settings, pageCountForShowSupportButtons, isSignedInUser = false, onClickSignIn, }) => {
|
50
50
|
const _a = (0, usePromptSignInProps_1.usePromptSignInProps)(onClickSignIn), { requireSignIn } = _a, promptSignInProps = __rest(_a, ["requireSignIn"]);
|
51
|
-
const
|
52
|
-
return (react_1.default.createElement(
|
53
|
-
react_1.default.createElement(
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
react_1.default.createElement(
|
64
|
-
|
65
|
-
react_1.default.createElement(page_constructor_1.PageConstructor, { content: content, custom: blocksMap_1.default, navigation: navigation })))),
|
51
|
+
const likesContextData = (0, react_1.useMemo)(() => ({ toggleLike, hasLikes, isSignedInUser, requireSignIn }), [toggleLike, hasLikes, isSignedInUser, requireSignIn]);
|
52
|
+
return (react_1.default.createElement(LikesContext_1.LikesContext.Provider, { value: likesContextData },
|
53
|
+
react_1.default.createElement(FeedContext_1.FeedContext.Provider, { value: {
|
54
|
+
posts: posts.posts,
|
55
|
+
pinnedPost: posts.pinnedPost,
|
56
|
+
totalCount: posts.count,
|
57
|
+
tags,
|
58
|
+
services: services !== null && services !== void 0 ? services : [],
|
59
|
+
getPosts,
|
60
|
+
pageCountForShowSupportButtons,
|
61
|
+
} },
|
62
|
+
react_1.default.createElement(page_constructor_1.PageConstructorProvider, Object.assign({}, settings),
|
63
|
+
metaData ? react_1.default.createElement(MetaWrapper_1.MetaWrapper, Object.assign({}, metaData)) : null,
|
64
|
+
react_1.default.createElement(page_constructor_1.PageConstructor, { content: content, custom: blocksMap_1.default, navigation: navigation }))),
|
66
65
|
react_1.default.createElement(PromptSignIn_1.PromptSignIn, Object.assign({}, promptSignInProps))));
|
67
66
|
};
|
68
67
|
exports.BlogPage = BlogPage;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { SyntheticEvent } from 'react';
|
2
2
|
import { NavigationData, PageConstructorProviderProps, PageContent } from '@gravity-ui/page-constructor';
|
3
3
|
import { ShareOptions } from '@gravity-ui/uikit';
|
4
4
|
import { MetaProps, PostData, ToggleLikeCallbackType } from '../../models/common';
|
@@ -15,5 +15,7 @@ export interface BlogPostPageProps {
|
|
15
15
|
settings?: PageConstructorProviderProps;
|
16
16
|
navigation?: NavigationData;
|
17
17
|
shareOptions?: ShareOptions[];
|
18
|
+
isSignedInUser?: boolean;
|
19
|
+
onClickSignIn?: React.EventHandler<SyntheticEvent>;
|
18
20
|
}
|
19
21
|
export declare const BlogPostPage: React.FC<BlogPostPageProps>;
|
@@ -1,27 +1,67 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
26
|
+
var t = {};
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
28
|
+
t[p] = s[p];
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
32
|
+
t[p[i]] = s[p[i]];
|
33
|
+
}
|
34
|
+
return t;
|
35
|
+
};
|
2
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
38
|
};
|
5
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
40
|
exports.BlogPostPage = void 0;
|
7
|
-
const react_1 =
|
41
|
+
const react_1 = __importStar(require("react"));
|
8
42
|
const page_constructor_1 = require("@gravity-ui/page-constructor");
|
9
43
|
const MetaWrapper_1 = require("../../components/MetaWrapper/MetaWrapper");
|
44
|
+
const PromptSignIn_1 = require("../../components/PromptSignIn/PromptSignIn");
|
45
|
+
const usePromptSignInProps_1 = require("../../components/PromptSignIn/hooks/usePromptSignInProps");
|
10
46
|
const blocksMap_1 = __importDefault(require("../../constructor/blocksMap"));
|
11
47
|
const LikesContext_1 = require("../../contexts/LikesContext");
|
12
48
|
const PostPageContext_1 = require("../../contexts/PostPageContext");
|
13
49
|
const useLikes_1 = require("../../hooks/useLikes");
|
14
|
-
const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings, navigation, shareOptions, }) => {
|
50
|
+
const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings, navigation, shareOptions, isSignedInUser = false, onClickSignIn, }) => {
|
15
51
|
const { hasUserLike, likesCount, handleLike } = (0, useLikes_1.useLikes)({
|
16
52
|
hasLike: likes === null || likes === void 0 ? void 0 : likes.hasUserLike,
|
17
53
|
count: likes === null || likes === void 0 ? void 0 : likes.likesCount,
|
18
54
|
toggleLikeCallback: likes === null || likes === void 0 ? void 0 : likes.toggleLike,
|
19
55
|
postId: post === null || post === void 0 ? void 0 : post.blogPostId,
|
20
56
|
});
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
57
|
+
const _a = (0, usePromptSignInProps_1.usePromptSignInProps)(onClickSignIn), { requireSignIn } = _a, promptSignInProps = __rest(_a, ["requireSignIn"]);
|
58
|
+
const likesContextData = (0, react_1.useMemo)(() => ({
|
59
|
+
toggleLike: likes === null || likes === void 0 ? void 0 : likes.toggleLike,
|
60
|
+
hasLikes: Boolean(likes),
|
61
|
+
isSignedInUser,
|
62
|
+
requireSignIn,
|
63
|
+
}), [likes, isSignedInUser, requireSignIn]);
|
64
|
+
return (react_1.default.createElement(LikesContext_1.LikesContext.Provider, { value: likesContextData },
|
25
65
|
react_1.default.createElement(PostPageContext_1.PostPageContext.Provider, { value: {
|
26
66
|
post,
|
27
67
|
suggestedPosts,
|
@@ -36,6 +76,7 @@ const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings
|
|
36
76
|
} },
|
37
77
|
react_1.default.createElement(page_constructor_1.PageConstructorProvider, Object.assign({}, settings),
|
38
78
|
metaData ? react_1.default.createElement(MetaWrapper_1.MetaWrapper, Object.assign({}, metaData)) : null,
|
39
|
-
react_1.default.createElement(page_constructor_1.PageConstructor, { content: content, custom: blocksMap_1.default, navigation: navigation })))
|
79
|
+
react_1.default.createElement(page_constructor_1.PageConstructor, { content: content, custom: blocksMap_1.default, navigation: navigation }))),
|
80
|
+
react_1.default.createElement(PromptSignIn_1.PromptSignIn, Object.assign({}, promptSignInProps))));
|
40
81
|
};
|
41
82
|
exports.BlogPostPage = BlogPostPage;
|
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
9
9
|
}
|
10
10
|
return t;
|
11
11
|
};
|
12
|
-
import React, {
|
12
|
+
import React, { useMemo } from 'react';
|
13
13
|
import { PageConstructor, PageConstructorProvider, } from '@gravity-ui/page-constructor';
|
14
14
|
import { MetaWrapper } from '../../components/MetaWrapper/MetaWrapper';
|
15
15
|
import { PromptSignIn } from '../../components/PromptSignIn/PromptSignIn';
|
@@ -20,20 +20,19 @@ import { LikesContext } from '../../contexts/LikesContext';
|
|
20
20
|
import './BlogPage.css';
|
21
21
|
export const BlogPage = ({ content, posts, tags, services, getPosts, metaData, hasLikes = false, toggleLike, navigation, settings, pageCountForShowSupportButtons, isSignedInUser = false, onClickSignIn, }) => {
|
22
22
|
const _a = usePromptSignInProps(onClickSignIn), { requireSignIn } = _a, promptSignInProps = __rest(_a, ["requireSignIn"]);
|
23
|
-
const
|
24
|
-
return (React.createElement(
|
25
|
-
React.createElement(
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
React.createElement(
|
36
|
-
|
37
|
-
React.createElement(PageConstructor, { content: content, custom: componentMap, navigation: navigation })))),
|
23
|
+
const likesContextData = useMemo(() => ({ toggleLike, hasLikes, isSignedInUser, requireSignIn }), [toggleLike, hasLikes, isSignedInUser, requireSignIn]);
|
24
|
+
return (React.createElement(LikesContext.Provider, { value: likesContextData },
|
25
|
+
React.createElement(FeedContext.Provider, { value: {
|
26
|
+
posts: posts.posts,
|
27
|
+
pinnedPost: posts.pinnedPost,
|
28
|
+
totalCount: posts.count,
|
29
|
+
tags,
|
30
|
+
services: services !== null && services !== void 0 ? services : [],
|
31
|
+
getPosts,
|
32
|
+
pageCountForShowSupportButtons,
|
33
|
+
} },
|
34
|
+
React.createElement(PageConstructorProvider, Object.assign({}, settings),
|
35
|
+
metaData ? React.createElement(MetaWrapper, Object.assign({}, metaData)) : null,
|
36
|
+
React.createElement(PageConstructor, { content: content, custom: componentMap, navigation: navigation }))),
|
38
37
|
React.createElement(PromptSignIn, Object.assign({}, promptSignInProps))));
|
39
38
|
};
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { SyntheticEvent } from 'react';
|
2
2
|
import { NavigationData, PageConstructorProviderProps, PageContent } from '@gravity-ui/page-constructor';
|
3
3
|
import { ShareOptions } from '@gravity-ui/uikit';
|
4
4
|
import { MetaProps, PostData, ToggleLikeCallbackType } from '../../models/common';
|
@@ -16,5 +16,7 @@ export interface BlogPostPageProps {
|
|
16
16
|
settings?: PageConstructorProviderProps;
|
17
17
|
navigation?: NavigationData;
|
18
18
|
shareOptions?: ShareOptions[];
|
19
|
+
isSignedInUser?: boolean;
|
20
|
+
onClickSignIn?: React.EventHandler<SyntheticEvent>;
|
19
21
|
}
|
20
22
|
export declare const BlogPostPage: React.FC<BlogPostPageProps>;
|
@@ -1,22 +1,39 @@
|
|
1
|
-
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React, { useMemo } from 'react';
|
2
13
|
import { PageConstructor, PageConstructorProvider, } from '@gravity-ui/page-constructor';
|
3
14
|
import { MetaWrapper } from '../../components/MetaWrapper/MetaWrapper';
|
15
|
+
import { PromptSignIn } from '../../components/PromptSignIn/PromptSignIn';
|
16
|
+
import { usePromptSignInProps } from '../../components/PromptSignIn/hooks/usePromptSignInProps';
|
4
17
|
import componentMap from '../../constructor/blocksMap';
|
5
18
|
import { LikesContext } from '../../contexts/LikesContext';
|
6
19
|
import { PostPageContext } from '../../contexts/PostPageContext';
|
7
20
|
import { useLikes } from '../../hooks/useLikes';
|
8
21
|
import './BlogPostPage.css';
|
9
|
-
export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings, navigation, shareOptions, }) => {
|
22
|
+
export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, settings, navigation, shareOptions, isSignedInUser = false, onClickSignIn, }) => {
|
10
23
|
const { hasUserLike, likesCount, handleLike } = useLikes({
|
11
24
|
hasLike: likes === null || likes === void 0 ? void 0 : likes.hasUserLike,
|
12
25
|
count: likes === null || likes === void 0 ? void 0 : likes.likesCount,
|
13
26
|
toggleLikeCallback: likes === null || likes === void 0 ? void 0 : likes.toggleLike,
|
14
27
|
postId: post === null || post === void 0 ? void 0 : post.blogPostId,
|
15
28
|
});
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
29
|
+
const _a = usePromptSignInProps(onClickSignIn), { requireSignIn } = _a, promptSignInProps = __rest(_a, ["requireSignIn"]);
|
30
|
+
const likesContextData = useMemo(() => ({
|
31
|
+
toggleLike: likes === null || likes === void 0 ? void 0 : likes.toggleLike,
|
32
|
+
hasLikes: Boolean(likes),
|
33
|
+
isSignedInUser,
|
34
|
+
requireSignIn,
|
35
|
+
}), [likes, isSignedInUser, requireSignIn]);
|
36
|
+
return (React.createElement(LikesContext.Provider, { value: likesContextData },
|
20
37
|
React.createElement(PostPageContext.Provider, { value: {
|
21
38
|
post,
|
22
39
|
suggestedPosts,
|
@@ -31,5 +48,6 @@ export const BlogPostPage = ({ metaData, suggestedPosts, likes, content, post, s
|
|
31
48
|
} },
|
32
49
|
React.createElement(PageConstructorProvider, Object.assign({}, settings),
|
33
50
|
metaData ? React.createElement(MetaWrapper, Object.assign({}, metaData)) : null,
|
34
|
-
React.createElement(PageConstructor, { content: content, custom: componentMap, navigation: navigation })))
|
51
|
+
React.createElement(PageConstructor, { content: content, custom: componentMap, navigation: navigation }))),
|
52
|
+
React.createElement(PromptSignIn, Object.assign({}, promptSignInProps))));
|
35
53
|
};
|