Skip to content

Commit afebbdc

Browse files
authored
Merge pull request #325 from AMushegh/master
removes default props as its deprecated in react 19
2 parents 2baeed2 + 6046525 commit afebbdc

File tree

2 files changed

+49
-44
lines changed

2 files changed

+49
-44
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-insta-stories",
3-
"version": "2.7.0",
3+
"version": "2.8.0",
44
"description": "A React component for Instagram like stories",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/index.tsx

+48-43
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,57 @@ import { renderers as defaultRenderers } from './renderers/index';
88
import withHeader from './renderers/wrappers/withHeader'
99
import withSeeMore from './renderers/wrappers/withSeeMore'
1010

11-
const ReactInstaStories = function (props: ReactInstaStoriesProps) {
12-
let renderers = props.renderers ? props.renderers.concat(defaultRenderers) : defaultRenderers;
13-
let context: GlobalCtx = {
14-
width: props.width,
15-
height: props.height,
16-
loader: props.loader,
17-
header: props.header,
18-
storyContainerStyles: props.storyContainerStyles,
19-
storyInnerContainerStyles: props.storyInnerContainerStyles,
20-
storyStyles: props.storyStyles,
21-
progressContainerStyles: props.progressContainerStyles,
22-
progressWrapperStyles: props.progressWrapperStyles,
23-
progressStyles: props.progressStyles,
24-
loop: props.loop,
25-
defaultInterval: props.defaultInterval,
26-
isPaused: props.isPaused,
27-
currentIndex: props.currentIndex,
28-
onStoryStart: props.onStoryStart,
29-
onStoryEnd: props.onStoryEnd,
30-
onAllStoriesEnd: props.onAllStoriesEnd,
31-
onNext: props.onNext,
32-
onPrevious: props.onPrevious,
33-
keyboardNavigation: props.keyboardNavigation,
34-
preventDefault: props.preventDefault,
35-
preloadCount: props.preloadCount,
36-
}
37-
const [stories, setStories] = useState<{ stories: Story[] }>({ stories: generateStories(props.stories, renderers) });
11+
const ReactInstaStories = function ({
12+
width = 360,
13+
height = 640,
14+
defaultInterval = 4000,
15+
preloadCount = 1,
16+
...restProps
17+
}: ReactInstaStoriesProps) {
18+
let renderers = restProps.renderers
19+
? restProps.renderers.concat(defaultRenderers)
20+
: defaultRenderers;
21+
let context: GlobalCtx = {
22+
width,
23+
height,
24+
loader: restProps.loader,
25+
header: restProps.header,
26+
storyContainerStyles: restProps.storyContainerStyles,
27+
storyInnerContainerStyles: restProps.storyInnerContainerStyles,
28+
storyStyles: restProps.storyStyles,
29+
progressContainerStyles: restProps.progressContainerStyles,
30+
progressWrapperStyles: restProps.progressWrapperStyles,
31+
progressStyles: restProps.progressStyles,
32+
loop: restProps.loop,
33+
defaultInterval,
34+
isPaused: restProps.isPaused,
35+
currentIndex: restProps.currentIndex,
36+
onStoryStart: restProps.onStoryStart,
37+
onStoryEnd: restProps.onStoryEnd,
38+
onAllStoriesEnd: restProps.onAllStoriesEnd,
39+
onNext: restProps.onNext,
40+
onPrevious: restProps.onPrevious,
41+
keyboardNavigation: restProps.keyboardNavigation,
42+
preventDefault: restProps.preventDefault,
43+
preloadCount,
44+
};
45+
const [stories, setStories] = useState<{ stories: Story[] }>({
46+
stories: generateStories(restProps.stories, renderers),
47+
});
3848

49+
useEffect(() => {
50+
setStories({ stories: generateStories(restProps.stories, renderers) });
51+
}, [restProps.stories, restProps.renderers]);
3952

40-
useEffect(() => {
41-
setStories({ stories: generateStories(props.stories, renderers) });
42-
}, [props.stories, props.renderers]);
43-
44-
return <GlobalContext.Provider value={context}>
45-
<StoriesContext.Provider value={stories}>
46-
<Container />
47-
</StoriesContext.Provider>
53+
return (
54+
<GlobalContext.Provider value={context}>
55+
<StoriesContext.Provider value={stories}>
56+
<Container />
57+
</StoriesContext.Provider>
4858
</GlobalContext.Provider>
49-
}
59+
);
60+
};
61+
5062

5163
const generateStories = (stories: Story[], renderers: { renderer: Renderer, tester: Tester }[]) => {
5264
return stories.map(s => {
@@ -66,13 +78,6 @@ const generateStories = (stories: Story[], renderers: { renderer: Renderer, test
6678
})
6779
};
6880

69-
ReactInstaStories.defaultProps = {
70-
width: 360,
71-
height: 640,
72-
defaultInterval: 4000,
73-
preloadCount: 1,
74-
}
75-
7681
export const WithHeader = withHeader;
7782
export const WithSeeMore = withSeeMore;
7883

0 commit comments

Comments
 (0)