Skip to content

Instantly share code, notes, and snippets.

@abdullahIsa
abdullahIsa / react-native-animated_twitter-profile.jsx
Created September 14, 2021 18:44 — forked from eveningkid/react-native-animated_twitter-profile.jsx
React Native Animated: Twitter Profile Example
// Expo SDK41
// expo-blur: ~9.0.3
import React, { useRef } from 'react';
import {
Animated,
Image,
ImageBackground,
ScrollView,
StatusBar,
import React, {useMemo, useRef, useState} from 'react';
import {replaceMentionValues} from 'react-native-controlled-mentions';
import {useChatStore} from '../store/chatStoreProvider';
const giveMessage = message => {
var noMessage = message === undefined || message === null || message === '';
return noMessage === true
? undefined
: replaceMentionValues(message, value => value.original);
import { createContext, forwardRef, useCallback, useMemo } from "react";
import { FlatList, FlatListProps, ViewToken } from "react-native";
import Animated, { useSharedValue } from "react-native-reanimated";
const MAX_VIEWABLE_ITEMS = 4;
type ViewabilityItemsContextType = string[];
export const ViewabilityItemsContext = createContext<
Animated.SharedValue<ViewabilityItemsContextType>
@abdullahIsa
abdullahIsa / FlashListMessagesRender.js
Last active August 5, 2022 20:44
FlashListMessagesRender
import React, {useCallback, useMemo} from 'react';
import {View} from 'react-native';
import {OptimizedHeavyScreen} from 'react-navigation-heavy-screen';
import {toJS} from 'mobx';
import {observer} from 'mobx-react-lite';
import {ViewabilityTrackerFlatlist} from './viewabilityTracker/viewability-tracker-flashist';
import {useChatStore} from '../store/chatStoreProvider';
import {UserContextProvider} from '../../user/userHook';
import {useMessagesRenderHook} from './messagesRenderHook';
import {generateMessages} from './messageBrainer';
@abdullahIsa
abdullahIsa / readme.md
Created August 5, 2022 20:35 — forked from benstr/readme.md
Gist Markdown Cheatsheet

#Heading 1 ##Heading 2 ###Heading 3 ####Heading 4 #####Heading 5 ######Heading 6


Paragraph

@abdullahIsa
abdullahIsa / FlashListCollapsibleTabView.js
Created August 7, 2022 04:43
FlashListCollapsibleTabView
import React from 'react';
import {useWindowDimensions} from 'react-native';
import {TabBar, SceneMap} from 'react-native-tab-view';
import {HScrollView} from 'react-native-head-tab-view';
import {CollapsibleHeaderTabView} from 'react-native-tab-view-collapsible-header';
import Feeds from './feeds';
import SocialProfileHeader from './profileHeader';
const FirstRoute = () => (
<HScrollView index={0}>
@abdullahIsa
abdullahIsa / MEMOIZE.md
Created December 13, 2022 03:14 — forked from mrousavy/MEMOIZE.md
Memoize!!! 💾 - a react (native) performance guide
In computing, memoization or memoisation
is an optimization technique used primarily
to speed up computer programs by storing
the results of expensive function calls and  
returning the cached result when the same
inputs occur again.                                         
                                                     — wikipedia
import React, {useCallback, useEffect, useState} from 'react';
import {Image, StyleSheet, Text, View, TouchableOpacity} from 'react-native';
import {initStripe, useStripe} from '@stripe/stripe-react-native';
import {COMPANY} from '@env';
import {colors} from './colors';
import Button from './button';
import {getPaymentIntent, getPublishableKey} from './stripeHelper';
import {AccountSettingsHelpers} from '../setting';
import {RootNavigation} from '../navigation/RootNavigation';