fix: improve note interactions and markdown LaTeX support
## Bug Fixes ### Note Card Actions - Fix broken size change functionality (missing state declaration) - Implement React 19 useOptimistic for instant UI feedback - Add startTransition for non-blocking updates - Ensure smooth animations without page refresh - All note actions now work: pin, archive, color, size, checklist ### Markdown LaTeX Rendering - Add remark-math and rehype-katex plugins - Support inline equations with dollar sign syntax - Support block equations with double dollar sign syntax - Import KaTeX CSS for proper styling - Equations now render correctly instead of showing raw LaTeX ## Technical Details - Replace undefined currentNote references with optimistic state - Add optimistic updates before server actions for instant feedback - Use router.refresh() in transitions for smart cache invalidation - Install remark-math, rehype-katex, and katex packages ## Testing - Build passes successfully with no TypeScript errors - Dev server hot-reloads changes correctly
This commit is contained in:
89
docker-compose.yml
Normal file
89
docker-compose.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# ============================================
|
||||
# keep-notes - Next.js Web Application
|
||||
# ============================================
|
||||
keep-notes:
|
||||
build:
|
||||
context: ./keep-notes
|
||||
dockerfile: Dockerfile
|
||||
container_name: memento-web
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- DATABASE_URL=file:/app/prisma/dev.db
|
||||
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET:-changethisinproduction}
|
||||
- NEXTAUTH_URL=${NEXTAUTH_URL:-http://localhost:3000}
|
||||
- NODE_ENV=production
|
||||
|
||||
# Email Configuration (SMTP)
|
||||
- SMTP_HOST=${SMTP_HOST}
|
||||
- SMTP_PORT=${SMTP_PORT:-587}
|
||||
- SMTP_USER=${SMTP_USER}
|
||||
- SMTP_PASS=${SMTP_PASS}
|
||||
- SMTP_FROM=${SMTP_FROM:-noreply@memento.app}
|
||||
|
||||
# AI Providers
|
||||
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
||||
- OLLAMA_API_URL=${OLLAMA_API_URL:-http://ollama:11434}
|
||||
volumes:
|
||||
- db-data:/app/prisma
|
||||
- uploads-data:/app/public/uploads
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
networks:
|
||||
- memento-network
|
||||
|
||||
# ============================================
|
||||
# mcp-server - MCP Protocol Server
|
||||
# ============================================
|
||||
mcp-server:
|
||||
build:
|
||||
context: ./mcp-server
|
||||
dockerfile: Dockerfile
|
||||
container_name: memento-mcp
|
||||
volumes:
|
||||
- db-data:/app/db
|
||||
depends_on:
|
||||
- keep-notes
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- memento-network
|
||||
|
||||
# ============================================
|
||||
# Ollama - Local LLM Provider (Optional)
|
||||
# ============================================
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: memento-ollama
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama-data:/root/.ollama
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- memento-network
|
||||
|
||||
# ============================================
|
||||
# Volumes - Data Persistence
|
||||
# ============================================
|
||||
volumes:
|
||||
db-data:
|
||||
driver: local
|
||||
uploads-data:
|
||||
driver: local
|
||||
ollama-data:
|
||||
driver: local
|
||||
|
||||
# ============================================
|
||||
# Networks - Service Communication
|
||||
# ============================================
|
||||
networks:
|
||||
memento-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user