Skip to content

Instantly share code, notes, and snippets.

View sanjaymhj's full-sized avatar
👋
</>

Sanjay Maharjan sanjaymhj

👋
</>
View GitHub Profile
@sanjaymhj
sanjaymhj / BackgroundAnimatedView.tsx
Created May 27, 2023 20:17
React native Component to make Image as background and animate side ways infinitely.
import { useEffect, useState } from 'react';
import { Pressable, SafeAreaView, useWindowDimensions, View, Text, Image, Animated, Easing } from 'react-native';
import picture from '../../assets/images/5.jpg';
const BackgroundAnimatedView = () => {
const { height: screenHeight, width: screenWidth } = useWindowDimensions();
const { width: imageWidth, height: imageHeight } = Image.resolveAssetSource(picture);
const aspectRatio = imageWidth / imageHeight;
const parallaxHeight = screenHeight;
@sanjaymhj
sanjaymhj / node _crypto_aes-256-cbc-hmac-256.js
Created February 16, 2023 09:23
Node crypto using aes-256-cbc-hmac-256
// Using node v18.14.0
let crypto = require('crypto');
const secret = 'monty python';
let messageToEncrypt = 'holy grail';
// HMAC key creation
const key = crypto.createHmac('sha256', secret).update(secret).digest('base64');
@sanjaymhj
sanjaymhj / LoadingSpinner
Last active September 5, 2023 14:54
Material Design loading spinner
------------Usage------------
-----------------------------
<LoadingSpinner size={50} borderWidth={4} borderColor={"#000"} />
----------Component----------
-----------------------------
import './style.css';
interface LoadingSpinnerProps {
@sanjaymhj
sanjaymhj / react-native-version
Created August 28, 2019 15:00
Install specific version of react-native
react-native init <newproject> --version react-native@<rnVersion>
@sanjaymhj
sanjaymhj / androidAppName-RN.txt
Created March 5, 2019 12:36
React native Android App naming.
Modify displayName in `/app.json` file
Modify app_name in `android/app/src/main/res/values/strings.xml`
then Run these commands one by one
```
cd android
gradlew clean
cd ..
@sanjaymhj
sanjaymhj / GPS Displacement
Last active January 2, 2019 11:06
Calculate Displacement of 2 GPS Coordinate
/**
* Calculate displacement of 2 GPS coordinate.
* From: https://en.wikipedia.org/wiki/Great-circle_distance
* @param {Object} point1
* @param {Object} point2
* @returns Number
*/
function getDisplacementByGPS(point1, point2) {
const radiusOfEarth = 6378137; // Earth’s mean radius in meter
const dLat = rad(point2.latitude - point1.latitude);
@sanjaymhj
sanjaymhj / randomStrings.js
Created September 5, 2018 11:24
Generate Random string of length n
/**
* Returns random string of arbitrary length
*
* @param {number} length
*
* @returns {string}
*/
export function getRandomStringOfLength(length = 44) {
return [...Array(length)]
@sanjaymhj
sanjaymhj / local-properties
Last active June 28, 2018 05:30
Create local.properties
# 1. Place the file in ~/MyScript/local.properties
# 2. Update .rc file to include alias local-properties="~/MyScript/local.properties/local-properties"
# 3. Make this file executable: chmod +x local-properties
touch ./android/local.properties
cat <<EOF >./android/local.properties
sdk.dir=/Users/snjmhj/Library/Android/sdk
EOF
#Usage: Goto react native project folder and run `local-properties`
@sanjaymhj
sanjaymhj / Linking Android SDK for react native
Created May 24, 2018 04:37
Linking Android SDK for react native
1. Go to your React native Project -> Android
2. Create a file local.properties
3. Open the file
paste your Android SDK path like below
in Windows sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk
in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
in linux sdk.dir = /home/USERNAME/Android/Sdk
Replace USERNAME with your user name
@sanjaymhj
sanjaymhj / syal
Last active October 29, 2018 12:46
Create React-Native Component foldering
#!/bin/bash
name=$1;
mkdir $name;
cd ./$name;
# Component file
touch $name.js
cat <<EOF >./$name.js
import React, { Component } from 'react';