mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:01:08 +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>
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { Tabs } from 'expo-router';
|
|
import { TabBarIcon } from '../../components/TabBarIcon';
|
|
import { CameraModal } from '../../components/camera/CameraModal';
|
|
import { useAppStore } from '../../store/AppStore';
|
|
import { useTheme } from '../../hooks/useTheme';
|
|
|
|
export default function TabLayout() {
|
|
const { showCameraModal, cameraMode } = useAppStore();
|
|
const { isDark } = useTheme();
|
|
|
|
return (
|
|
<>
|
|
<Tabs
|
|
screenOptions={{
|
|
tabBarActiveTintColor: '#6366f1',
|
|
tabBarStyle: {
|
|
backgroundColor: isDark ? '#1f2937' : 'white',
|
|
borderTopWidth: 1,
|
|
borderTopColor: isDark ? '#374151' : '#e5e7eb',
|
|
},
|
|
}}>
|
|
<Tabs.Screen
|
|
name="index"
|
|
options={{
|
|
title: 'Meals',
|
|
tabBarIcon: ({ color }) => (
|
|
<TabBarIcon sfSymbol="fork.knife" fallbackIcon="cutlery" color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="two"
|
|
options={{
|
|
title: 'Stats',
|
|
tabBarIcon: ({ color }) => (
|
|
<TabBarIcon sfSymbol="chart.bar" fallbackIcon="bar-chart" color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
</Tabs>
|
|
|
|
{showCameraModal && <CameraModal mode={cameraMode || 'camera'} />}
|
|
</>
|
|
);
|
|
}
|