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:
2026-01-09 22:13:49 +01:00
parent 3c4b9d6176
commit 640fcb26f7
218 changed files with 51363 additions and 902 deletions

View File

@@ -1,7 +1,24 @@
# Memento - Your Digital Notepad
# Memento - Your Digital Notepad
A beautiful and functional note-taking app inspired by Google Keep, built with Next.js 16, TypeScript, Tailwind CSS 4, and Prisma.
## 🌟 Support Memento
**Memento is 100% free and open-source!** If you find it useful, please consider supporting its development:
- **[☕ Buy me a coffee on Ko-fi](https://ko-fi.com/yourusername)** - One-time or monthly support
- **[💚 Sponsor on GitHub](https://github.com/sponsors/yourusername)** - Recurring support
- **[⭐ Star on GitHub](https://github.com/yourusername/memento)** - Free way to show support
Your support helps:
- ☕ Keep the developer fueled with coffee
- 🐛 Cover hosting and server costs (~$50/month)
- ✨ Fund development of new features
- 📚 Improve documentation
- 🌍 Keep Memento 100% open-source
---
## 🚀 Project Location
The complete application is in the `keep-notes/` directory.
@@ -271,15 +288,32 @@ Full TypeScript coverage with interfaces:
## 🎯 Future Enhancements
Possible additions:
- User authentication (NextAuth.js)
- Real-time collaboration
- Image uploads
- Rich text editor
- Note sharing
- Reminders
- Export to PDF/Markdown
- Voice notes
- Drawing support
- [x] User authentication (NextAuth.js) ✅ Already implemented!
- [ ] Real-time collaboration
- [x] Image uploads ✅ Already implemented!
- [ ] Rich text editor
- [ ] Note sharing
- [x] Reminders ✅ Already implemented!
- [ ] Export to PDF/Markdown
- [ ] Voice notes
- [ ] Drawing support
## 🤝 Contributing
We welcome contributions! Please feel free to:
- **Report bugs**: [Open an issue](https://github.com/yourusername/memento/issues)
- **Suggest features**: [Start a discussion](https://github.com/yourusername/memento/discussions)
- **Submit pull requests**: Fork and create a PR
- **Share feedback**: [Support page](/support)
## ☕ Support Development
Enjoying Memento? Consider supporting its development:
- **[Donate on Ko-fi](https://ko-fi.com/yourusername)** - Buy me a coffee ☕
- **[GitHub Sponsors](https://github.com/sponsors/yourusername)** - Monthly sponsorship 💚
- **[Star the repo](https://github.com/yourusername/memento)** - It's free! ⭐
## 📄 License
@@ -287,6 +321,8 @@ MIT License - feel free to use for personal or commercial projects!
---
**Built with ❤️ using Next.js 16, TypeScript, and Tailwind CSS 4**
**Built with ❤️ and ☕ using Next.js 16, TypeScript, and Tailwind CSS 4**
Server running at: http://localhost:3000
**⭐ If you like Memento, please consider giving it a star on GitHub!**