Skip to content

Instantly share code, notes, and snippets.

View LeslieOA's full-sized avatar
😌
🏠☀️

Leslie Owusu-Appiah LeslieOA

😌
🏠☀️
View GitHub Profile
import React, { useState } from 'react';
import { Pressable, Text } from 'react-native';
import Animated, { css } from 'react-native-reanimated';
export default function GlowButton() {
const [pressed, setPressed] = useState(false);
return (
<Pressable onPress={() => setPressed(!pressed)}>
<Animated.View
import React, { useState } from 'react';
import { Pressable, Text } from 'react-native';
import Animated, { css } from 'react-native-reanimated';
export default function PhysicalButton() {
const [pressed, setPressed] = useState(false);
return (
<Pressable onPressIn={() => setPressed(true)} onPressOut={() => setPressed(false)}>
<Animated.View style={[styles.button, pressed ? styles.animationDown : styles.animationUp]}>
import React, { useState } from 'react';
import { Pressable, Text } from 'react-native';
import Animated, { css } from 'react-native-reanimated';
export default function OutlineButton() {
const [pressed, setPressed] = useState(false);
const animation1 = {
animationName: css.keyframes({
'0%': {
import React, { useState } from 'react';
import { Pressable, Text } from 'react-native';
import Animated, { css } from 'react-native-reanimated';
export default function ParticleButton() {
const [pressed, setPressed] = useState(false);
const [showParticles, setShowParticles] = useState(false);
return (
<Pressable
@LeslieOA
LeslieOA / Ripple.tsx
Created December 30, 2024 12:06 — forked from Saadnajmi/Ripple.tsx
Ripple Effect Shader with react-native-skia
import { Canvas, Circle, Group, Rect, Shader, Skia, useClock, RuntimeShader, SkRuntimeEffect, RoundedRect } from "@shopify/react-native-skia";
import { SafeAreaView, StyleSheet } from "react-native";
import { useDerivedValue, useSharedValue } from "react-native-reanimated";
import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
const styles = StyleSheet.create({
centered: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
@LeslieOA
LeslieOA / babel.config.js
Created August 20, 2020 13:33
Expo TypeScript Absolute Path's
module.exports = function(api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: [
[
'module-resolver',
{
root: ['./src'],
extensions: [