1.0.2 • Published 2 years ago

react-native-insta-story-2 v1.0.2

Weekly downloads
-
License
-
Repository
github
Last release
2 years ago

react-native-insta-story-2

Install

1. Step

npm install react-native-insta-story-2 --save

or

yarn add react-native-insta-story-2

2. Step

cd ios && pod install

Import

import InstaStory from "react-native-insta-story-2";

Props

NameDescriptionTypeDefault Value
unPressedBorderColorUnpressed border color of profile circlecolorred
pressedBorderColorPressed border color of profile circlecolorgrey
onCloseTodo when closefunctionnull
onStartTodo when startfunctionnull
durationPer story duration secondsnumber10
swipeTextText of swipe componentstringSwipe Up
customSwipeUpComponentFor use custom component for swipe areacomponent
customCloseComponentFor use custom component for close buttoncomponent
avatarSizeSize of avatar circlenumber60
showAvatarTextFor show or hide avatar text.booltrue
textStyleFor avatar text styleTextStyle
customStoryCircleListItemFor use custom component for story circlecomponent
avatarWrapperStyleFor avatar wrapper styleTextStyle
customStoryComponentFor use custom story view componentcomponent
dataArray of IUserStory. You can check from interfaces.object

note:

1. In `stories` inside `data` you can pass custom story duration as `duration` refer below

2. Video is not supported directly but you can use videos with `customStoryComponent` with exact `duration` and handle 'pause' with 
	`pressed` variable refer below for `customStoryComponent`'s variables and functions invoked.

Usage

    const data = [
        {
			group_id: 1,
            thumbnail: "https://i.picsum.photos/id/213/200/200.jpg?hmac=Jzh2fbzIE1nc6J8qLi_ljVCRz0AITXxCC1Z8t2sD4jU",
            name: "Ahmet Çağlar Durmuş",
            stories: [
                {
                    story_id: 7,
                    story_image: "https://image.freepik.com/free-vector/universe-mobile-wallpaper-with-planets_79603-600.jpg",
                    swipeText: "Custom swipe text for this story",
					duration : 8, // custom individual story duration
                    onPress: () => console.log("story 1 swiped")
                },
                {
                    story_id: 8,
                    story_image: "https://image.freepik.com/free-vector/mobile-wallpaper-with-fluid-shapes_79603-601.jpg"
                },
            ]
        },
        {
			group_id: 2,
            thumbnail:
                "https://images.unsplash.com/photo-1511367461989-f85a21fda167?ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8cHJvZmlsZXxlbnwwfHwwfHw%3D&ixlib=rb-1.2.1&w=1000&q=80",
            name: "Test User",
            stories: [
                {
                    story_id: 1,
                    story_image: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjORKvjcbMRGYPR3QIs3MofoWkD4wHzRd_eg&usqp=CAU",
                    swipeText: "Custom swipe text for this story",
                    onPress: () => console.log("story 1 swiped")
                },
                {
                    story_id: 2,
                    story_image: "https://files.oyebesmartest.com/uploads/preview/vivo-u20-mobile-wallpaper-full-hd-(1)qm6qyz9v60.jpg",
                    swipeText: "Custom swipe text for this story",
                    onPress: () => console.log("story 2 swiped")
                }
            ]
        }
    ];

			<Story
				data={data}
				duration={10}
				onStart={(item) => console.log(item)}
				onClose={(item) => console.log("close: ", item)}
				unPressedBorderColor={"white"}
				pressedBorderColor={"white"}
				avatarSize={80}
				showAvatarText={false}
				customStoryCircleListItem={({item}) => (
					<>
					// your jsx
					</>
				)}
				customStoryComponent={({
					content,
					load,
					setLoad,
					current,
					progress,
					onClosePress,
					pressed,
					setPressed,
					startAnimation,
					previous,
					next,
					onSwipeUp,
					swipeText,
					start
				}) => {}}
				/>;