Krisztiaan 37d2ebccf7 fix: modal forms not submitting on Enter key (#9)
* fix: add type="button" to modal close buttons to fix Enter key form submission

Previously, pressing Enter in modal form inputs would dismiss the modal instead
of submitting the form because close buttons defaulted to type="submit". This
adds explicit type="button" to all modal close buttons to ensure Enter key
properly submits forms.

Fixes:
- New board creation via Enter key
- New workspace creation via Enter key
- New card creation via Enter key
- New list creation via Enter key
- Member invitation via Enter key
- Label creation/editing via Enter key
- Board URL updates via Enter key
- Import boards forms via Enter key

* fix: submit forms on enter key submission

---------

Co-authored-by: Henry <henry_ball@hotmail.co.uk>
2025-06-03 16:07:12 +01:00
2024-12-12 14:34:10 +00:00
2024-12-12 14:34:10 +00:00
2025-05-07 23:35:13 +01:00
2025-06-02 16:20:10 +01:00
2024-12-12 14:34:10 +00:00
2024-12-12 14:34:10 +00:00
2024-12-12 14:34:10 +00:00
2025-06-02 13:43:20 +01:00
2025-06-01 21:02:41 +01:00
2024-12-12 14:34:10 +00:00

github-background

Kan

The open-source project management alternative to Trello.

Roadmap · Website · Docs · Discord

License

Features 💫

  • 👁️ Board Visibility: Control who can view and edit your boards
  • 🤝 Workspace Members: Invite members and collaborate with your team
  • 🚀 Trello Imports: Easily import your Trello boards
  • 🔍 Labels & Filters: Organise and find cards quickly
  • 💬 Comments: Discuss and collaborate with your team
  • 📝 Activity Log: Track all card changes with detailed activity history
  • 🎨 Templates (coming soon) : Save time with reusable board templates
  • Integrations (coming soon) : Connect your favourite tools

See our roadmap for upcoming features.

Screenshot 👁️

hero-dark

Made With 🛠️

Local Development 🧑‍💻

  1. Clone the repository (or fork)
git clone https://github.com/kanbn/kan.git
  1. Install dependencies
pnpm install
  1. Copy .env.example to .env and configure your environment variables
  2. Start the development server
pnpm dev

Environment Variables 🔐

Variable Description Required Example
POSTGRES_URL PostgreSQL connection URL Yes postgres://user:pass@localhost:5432/db
EMAIL_FROM Sender email address Yes "Kan <hello@mail.kan.bn>"
EMAIL_URL Email service API URL Yes https://api.resend.com/emails
EMAIL_TOKEN Email service API token Yes re_xxxx
NEXT_PUBLIC_BASE_URL Base URL of your installation Yes http://localhost:3000
BETTER_AUTH_SECRET Auth encryption secret Yes Random 32+ char string
BETTER_AUTH_URL Auth callback URL Yes Same as NEXT_PUBLIC_BASE_URL
BETTER_AUTH_TRUSTED_ORIGINS Allowed callback origins For Google login http://localhost:3000,http://localhost:3001
GOOGLE_CLIENT_ID Google OAuth client ID For Google login xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET Google OAuth client secret For Google login xxx
S3_REGION S3 storage region For file uploads WEUR
S3_ENDPOINT S3 endpoint URL For file uploads https://xxx.r2.cloudflarestorage.com
S3_ACCESS_KEY_ID S3 access key For file uploads xxx
S3_SECRET_ACCESS_KEY S3 secret key For file uploads xxx
NEXT_PUBLIC_STORAGE_URL Storage service URL For file uploads https://storage.kanbn.com
NEXT_PUBLIC_STORAGE_DOMAIN Storage domain name For file uploads storage.kanbn.com
NEXT_PUBLIC_AVATAR_BUCKET_NAME S3 bucket name for avatars For file uploads avatars

See .env.example for a complete list of supported environment variables.

Contributing 🤝

We welcome contributions! Please read our contribution guidelines before submitting a pull request.

License 📝

Kan is licensed under the AGPLv3 license.

Contact 📧

For support or to get in touch, please email henry@kan.bn or join our Discord server.

Languages
TypeScript 97.8%
MDX 0.9%
JavaScript 0.6%
PLpgSQL 0.4%
Dockerfile 0.2%