Skip to content

Instantly share code, notes, and snippets.

@andrew-levy
andrew-levy / PRIVACY.md
Last active August 7, 2025 02:23
Stargazer Privacy Policy

Privacy Policy

Effective Date: July 27, 2025
Version: 1.0

Your privacy is important to us. This Privacy Policy explains how Stargazer ("we", "us", or "our") collects, uses, and protects your information when you use our mobile app and related services (the “Service”).


1. Information We Collect

import ExpoModulesCore
import SwiftUI
class DraggableProps: ExpoSwiftUI.ViewProps {
@Field var text: String
}
struct DraggableView: ExpoSwiftUI.View {
@EnvironmentObject var props: DraggableProps
var body: some View {
@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}