Skip to content

Instantly share code, notes, and snippets.

View renielsalvador's full-sized avatar

renielsalvador renielsalvador

View GitHub Profile
@renielsalvador
renielsalvador / location_enabler.ts
Last active May 1, 2020 23:24
GeoLocation enabler ios android
import RNAndroidLocationEnabler from 'react-native-android-location-enabler';
import {Platform, PermissionsAndroid} from 'react-native';
import Geolocation from 'react-native-geolocation-service';
export const checkLocationPermission = async (): Promise<string> => {
if (Platform.OS === 'android') {
const permission = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
);
import {useState, useEffect} from 'react';
import {LocationEnabler} from 'utils';
const useLocationEnabler = (): Array<boolean> => {
const [state, internalSetState] = useState<any>(false);
useEffect(() => {
LocationEnabler.checkLocationPermission().then(() => {
LocationEnabler.enableLocation();
internalSetState(true);
@renielsalvador
renielsalvador / useImagePicker.tsx
Last active May 1, 2020 22:47
Simple wrapper for react-native-image-picker
import {useState, useCallback, useMemo} from 'react';
import ImagePicker, {ImagePickerOptions} from 'react-native-image-picker';
type ImageResponse = {
uri: any;
};
type ImagePickerActions = {
showCamera: () => void;
showImageLibrary: () => void;
import React, {ReactNode} from 'react';
import {StyleSheet, Text} from 'react-native';
import {mapPropsToStyles} from '../utils/style_helper';
import themeColors from '../../themes/variables';
import {RnViewStyleProp} from 'native-base';
interface Props {
children: ReactNode;
style?: RnViewStyleProp | Array<RnViewStyleProp>;
}
@renielsalvador
renielsalvador / gist:84c6ccd35adabde2580d3b371035aaa5
Last active April 18, 2020 16:05
Sample type hinting with props children and style
import React, {ReactNode} from 'react';
import {StyleSheet} from 'react-native';
import {Container, RnViewStyleProp} from 'native-base';
interface Props {
children: ReactNode;
style?: RnViewStyleProp | Array<RnViewStyleProp>;
}
export default ({children, style}: Props) => (
// hold chat list
var chatlist = document.getElementsByClassName('_55za');
for(var x=0; x<chatlist.length; x++) { // loop
// open chatbox by triggering click
chatlist[x].click();
// get message textarea
var messages = document.getElementsByClassName('_552m');