feat: add contact management functionality

- Implemented ContactForm component for creating and editing contacts.
- Added ProjectContactSelector component to manage project-specific contacts.
- Updated ProjectForm to include ProjectContactSelector for associating contacts with projects.
- Enhanced Card component with a new CardTitle subcomponent for better structure.
- Updated Navigation to include a link to the contacts page.
- Added translations for contact-related terms in the i18n module.
- Initialized contacts database schema and created necessary tables for contact management.
- Developed queries for CRUD operations on contacts, including linking and unlinking contacts to projects.
- Created a test script to validate contact queries against the database.
This commit is contained in:
2025-12-03 16:23:05 +01:00
parent c9b7355f3c
commit 60b79fa360
18 changed files with 2332 additions and 10 deletions

View File

@@ -12,6 +12,7 @@ const translations = {
navigation: {
dashboard: "Panel główny",
projects: "Projekty",
contacts: "Kontakty",
calendar: "Kalendarz",
taskTemplates: "Szablony zadań",
projectTasks: "Zadania projektów",
@@ -245,6 +246,38 @@ const translations = {
}
},
// Contacts
contacts: {
title: "Kontakty",
subtitle: "Zarządzaj kontaktami",
contact: "Kontakt",
newContact: "Nowy kontakt",
editContact: "Edytuj kontakt",
deleteContact: "Usuń kontakt",
name: "Imię i nazwisko",
phone: "Telefon",
email: "Email",
company: "Firma",
position: "Stanowisko",
contactType: "Typ kontaktu",
notes: "Notatki",
active: "Aktywny",
inactive: "Nieaktywny",
searchPlaceholder: "Szukaj kontaktów...",
noContacts: "Brak kontaktów",
addFirstContact: "Dodaj pierwszy kontakt",
selectContact: "Wybierz kontakt",
addContact: "Dodaj kontakt",
linkedProjects: "Powiązane projekty",
types: {
project: "Kontakt projektowy",
contractor: "Wykonawca",
office: "Urząd",
supplier: "Dostawca",
other: "Inny"
}
},
// Contracts
contracts: {
title: "Umowy",