Skip to content

Commit 67d9305

Browse files
authored
Merge pull request #93 from vuongpd95/add-group-component
Add group component Thanks
2 parents cb6ac6e + 85f8b9d commit 67d9305

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
- Embedded video
2323
- Page
2424
- Feed
25+
- Group
2526
- Message Us
2627
- Customer Chat
2728
- Status
@@ -261,6 +262,29 @@ export default class Example extends Component {
261262
}
262263
```
263264

265+
## Group
266+
267+
```js
268+
import React, { Component } from 'react';
269+
import { FacebookProvider, Group } from 'react-facebook';
270+
271+
export default class Example extends Component {
272+
render() {
273+
return (
274+
<FacebookProvider appId="123456789">
275+
<Group
276+
href="https://www.facebook.com/groups/375934682909754"
277+
width="300"
278+
showSocialContext={true}
279+
showMetaData={true}
280+
skin="light"
281+
/>
282+
</FacebookProvider>
283+
);
284+
}
285+
}
286+
```
287+
264288
## MessageUs
265289

266290
```js

src/Group.jsx

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
// @flow
2+
import React, { forwardRef, PureComponent, type Node } from 'react';
3+
import Parser from './Parser';
4+
import getCurrentHref from './utils/getCurrentHref';
5+
6+
type Props = {
7+
href?: string,
8+
skin?: string,
9+
showSocialContext?: boolean,
10+
showMetaData?: boolean,
11+
width?: number | string,
12+
children?: Node,
13+
style?: Object,
14+
handleParse: Function,
15+
};
16+
17+
class Group extends PureComponent<Props> {
18+
static defaultProps = {
19+
showSocialContext: undefined,
20+
showMetaData: undefined,
21+
width: undefined,
22+
children: undefined,
23+
style: undefined,
24+
href: undefined,
25+
skin: undefined
26+
};
27+
28+
componentDidUpdate() {
29+
const { handleParse } = this.props;
30+
handleParse();
31+
}
32+
33+
render() {
34+
const {
35+
style,
36+
href = getCurrentHref(),
37+
width,
38+
showSocialContext,
39+
showMetaData,
40+
children,
41+
skin
42+
} = this.props;
43+
44+
return (
45+
<div
46+
className="fb-group"
47+
style={style}
48+
data-href={href}
49+
data-width={width}
50+
data-show-social-context={showSocialContext}
51+
data-show-metadata={showMetaData}
52+
data-skin={skin}
53+
>
54+
{children}
55+
</div>
56+
);
57+
}
58+
}
59+
60+
export default forwardRef((props, ref) => (
61+
<Parser>
62+
{({ handleParse }) => (
63+
<Group
64+
{...props}
65+
handleParse={handleParse}
66+
ref={ref}
67+
/>
68+
)}
69+
</Parser>
70+
));

src/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export EmbeddedVideo from './EmbeddedVideo';
1616
export Comments from './Comments';
1717
export CommentsCount from './CommentsCount';
1818
export Feed from './Feed';
19+
export Group from './Group';
1920
export Subscribe from './Subscribe';
2021
export Status from './Status';
2122
export Profile from './Profile';

0 commit comments

Comments
 (0)