Implement grace period system for member dues management
All checks were successful
Build And Push Image / docker (push) Successful in 2m55s

- Add grace period logic for new members (1 month from join date)
- Enhance dues status computation with actual payment date validation
- Update member card to show grace period status with warning indicators
- Remove overdue dues banner from member list
- Add payment due date calculation in registration process
- Update email templates for improved member communication
This commit is contained in:
2025-08-11 15:03:44 +02:00
parent d9ef5bbdeb
commit 7a8c88c341
8 changed files with 224 additions and 44 deletions

View File

@@ -9,17 +9,25 @@
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
margin: 0;
padding: 20px;
background-color: #f4f4f4;
background-image: url('{{baseUrl}}/monaco_high_res.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
min-height: 100vh;
}
.email-container {
background: white;
padding: 30px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 40px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 25px rgba(163, 21, 21, 0.15);
max-width: 600px;
margin: 20px auto;
border: 1px solid rgba(163, 21, 21, 0.1);
}
.header {

View File

@@ -9,17 +9,25 @@
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
margin: 0;
padding: 20px;
background-color: #f4f4f4;
background-image: url('{{baseUrl}}/monaco_high_res.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
min-height: 100vh;
}
.email-container {
background: white;
padding: 30px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 40px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 25px rgba(163, 21, 21, 0.15);
max-width: 600px;
margin: 20px auto;
border: 1px solid rgba(163, 21, 21, 0.1);
}
.header {

View File

@@ -9,17 +9,25 @@
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
margin: 0;
padding: 20px;
background-color: #f4f4f4;
background-image: url('{{baseUrl}}/monaco_high_res.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
min-height: 100vh;
}
.email-container {
background: white;
padding: 30px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 40px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 25px rgba(163, 21, 21, 0.15);
max-width: 600px;
margin: 20px auto;
border: 1px solid rgba(163, 21, 21, 0.1);
}
.header {

View File

@@ -9,17 +9,25 @@
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
margin: 0;
padding: 20px;
background-color: #f4f4f4;
background-image: url('{{baseUrl}}/monaco_high_res.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
min-height: 100vh;
}
.email-container {
background: white;
padding: 30px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 40px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 25px rgba(163, 21, 21, 0.15);
max-width: 600px;
margin: 20px auto;
border: 1px solid rgba(163, 21, 21, 0.1);
}
.header {