Skip to content

Instantly share code, notes, and snippets.

View mshivam019's full-sized avatar
😄
Explore!

Shivam Mishra mshivam019

😄
Explore!
View GitHub Profile
@mshivam019
mshivam019 / shareImage.js
Created February 14, 2024 19:38
Sharing an image on react native
import Share from 'react-native-share';
import {CameraRoll} from '@react-native-camera-roll/camera-roll';
const shareImage = async (platform = 'default',uri) => {
try {
const shareOptions = {
title: 'title',
message: `message`,
url: uri,
filename: 'yourImage',
@mshivam019
mshivam019 / ScreenWebview.jsx
Created February 14, 2024 19:21
A feature rich webview for react native
import {useState, useEffect, useRef, useCallback} from 'react';
import {View,Text,BackHandler, Share as RNshare, Platform} from 'react-native';
import {WebView} from 'react-native-webview';
import {useRoute, useNavigation} from '@react-navigation/native';
import {useFocusEffect, useIsFocused} from '@react-navigation/native';
import Share from 'react-native-share';
import ReactNativeBlobUtil from 'react-native-blob-util';
import styled from 'styled-components/native';
import axios from 'axios';
import HeaderComponentWithBackButton from '../components/HeaderComponentWithBackButton';
@mshivam019
mshivam019 / GestureHandlerContainer.jsx
Created February 14, 2024 18:55
Pan Handler for react native gesture handler
import React, {useRef} from 'react';
import {PanResponder} from 'react-native';
import {GestureHandlerRootView} from 'react-native-gesture-handler';
export default GestureHandlerContainer = ({onRightSwipe = () =>{}, onLeftSwipe = () =>{},onUpSwipe = () =>{},onDownSwipe = () =>{},children}) => {
const panResponder = useRef(
PanResponder.create({
onStartShouldSetPanResponder: () => true,
@mshivam019
mshivam019 / zustandStore.js
Created February 14, 2024 18:44
Zustand Store with react native mmkv example
import {create} from 'zustand';
import {persist} from 'zustand/middleware';
import {createJSONStorage} from 'zustand/middleware';
import {MMKV} from 'react-native-mmkv';
const storage = new MMKV();
const zustandStorage = {
setItem: (name, value) => {
return storage.set(name, value);
@mshivam019
mshivam019 / linking.js
Last active February 14, 2024 19:30
react native deep linking with v6
export default linking = {
prefixes: [
'https://domain.subdomain.com',
'appScheme://app',
],
config: {
screens: {
initialRouteName: 'yourBaseHomeScreenName',
someScreenName: 'itsRoute',
someOtherScreenName: 'itsRoute',
@mshivam019
mshivam019 / AndroidManifest.xml
Last active February 14, 2024 18:30
apple app link and android Universal linking file templates
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="subdomain.domain.com"
android:pathPattern="/someRouteWithAllNestedRoutes/.*" />
<data
android:scheme="https"