Skip to content

Instantly share code, notes, and snippets.

View andrew-levy's full-sized avatar

Andrew Levy andrew-levy

View GitHub Profile
@andrew-levy
andrew-levy / JetpackComposeView.kt
Last active April 11, 2024 05:03
JetpackComposeViewModule
package expo.modules.jetpackcomposeview
import android.content.Context
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.*
import ExpoModulesCore
import SwiftUI
public class SwiftuiViewModule: Module {
public func definition() -> ModuleDefinition {
Name("SwiftuiForm")
View(SwiftuiView.self) {
Prop("name") { (view, name: String) in
view.name = name
}
@andrew-levy
andrew-levy / App.tsx
Last active September 10, 2023 13:37
With Options
import { styled } from 'style-direct-club';
const Text = styled.Text.withOptions({
aliases: {
bg: "backgroundColor",
}
});
@andrew-levy
andrew-levy / App.tsx
Created September 10, 2023 13:21
Custom Props
import { styled } from 'style-direct-club';
import { Text } from 'react-native';
const StyledText = styled(Text, {
customProps: {
sm: {
fontSize: 12,
marginBottom: 5,
},
xl: {
@andrew-levy
andrew-levy / App.tsx
Created September 10, 2023 13:20
Default Styles
import { styled } from 'style-direct-club';
import { TouchableOpacity } from 'react-native';
const StyledTouchableOpacity = styled(TouchableOpacity, {
defaultStyles: {
backgroundColor: 'blue',
padding: 10,
borderRadius: 8,
},
});
@andrew-levy
andrew-levy / App.tsx
Created September 10, 2023 13:18
Aliases
import { styled } from 'style-direct-club';
import { View } from 'react-native';
const StyledView = styled(View, {
aliases: {
bg: 'backgroundColor',
p: 'padding',
m: 'margin',
mt: 'marginTop',
},
@andrew-levy
andrew-levy / App.tsx
Last active September 9, 2023 14:20
StyleSheet API
import { Text, StyleSheet } from 'react-native'
import { MyButton } from './components/MyButton';
function App() {
return (
<MyButton
style={styles.button}
onPress={() => console.log("Pressed")}
>
<Text style={styles.text}>Press Me!</Text>
@andrew-levy
andrew-levy / App.tsx
Last active September 9, 2023 14:20
Style Direct Club Example
import { styled } from 'style-direct-club';
import { MyButton } from './components/MyButton';
const MyStyledButton = styled(MyButton);
function App() {
return (
<MyStyledButton
backgroundColor="blue"
paddingTop={10}
import { VStack, Text, Button } from "swiftui-react-native";
function StylingExample() {
return (
<VStack
alignment="leading"
backgroundColor="systemGray6"
cornerRadius={8}
>
<Text font="title3">Styling is easy with modifiers!</Text>
import { TextField, Toggle, VStack, useBinding } from "swiftui-react-native";
function BindingExample() {
const text = useBinding("");
const isOn = useBinding(false);
return (
<VStack>
<TextField text={text} placeholder="Search" />
<Toggle isOn={isOn} tintColor="systemBlue" />