mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:01:09 +02:00
- Add nutriphi-database package with Drizzle ORM - meals and nutrition_goals schemas - PostgreSQL 16 Docker setup - Drizzle Kit configuration - Migrate backend from Supabase to Drizzle - Add DatabaseModule with connection pooling - Add StorageService for Hetzner Object Storage (S3-compatible) - Update MealsService with Drizzle queries - Add /api/meals/upload endpoint for image upload + analysis - Update web app to use backend for uploads - Remove Supabase Storage direct upload - Update uploadService to send images to backend - Remove Supabase dependencies from package.json - Simplify hooks.server.ts - Add Coolify deployment configuration - Dockerfile for production build - docker-compose.coolify.yml 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
24 lines
695 B
TypeScript
24 lines
695 B
TypeScript
import { forwardRef } from 'react';
|
|
import { Text, TouchableOpacity, TouchableOpacityProps, View } from 'react-native';
|
|
|
|
type ButtonProps = {
|
|
title: string;
|
|
} & TouchableOpacityProps;
|
|
|
|
export const Button = forwardRef<View, ButtonProps>(({ title, ...touchableProps }, ref) => {
|
|
return (
|
|
<TouchableOpacity
|
|
ref={ref}
|
|
{...touchableProps}
|
|
className={`${styles.button} ${touchableProps.className}`}>
|
|
<Text className={styles.buttonText}>{title}</Text>
|
|
</TouchableOpacity>
|
|
);
|
|
});
|
|
|
|
Button.displayName = 'Button';
|
|
|
|
const styles = {
|
|
button: 'items-center bg-indigo-500 rounded-[28px] shadow-md p-4',
|
|
buttonText: 'text-white text-lg font-semibold text-center',
|
|
};
|