feat: implement dynamic date calculation for projects
- Remove hardcoded startDate from La Porra project - Add gitRepoUrl field to Project struct for dynamic date fetching - Implement backend logic to fetch first commit date from git repositories - Add processProjectDates function to calculate dates dynamically - Update template to display computed dates and dynamic "Present/Presente" - Add support for both static and git-based project start dates When a project has a gitRepoUrl, the system automatically fetches the first commit date from the repository. For current projects, it displays "Present" (English) or "Presente" (Spanish) dynamically from the backend. The La Porra project now uses git repository path for date calculation instead of hardcoded JSON values.
This commit is contained in:
+70
-7
@@ -850,10 +850,11 @@ iconify-icon {
|
||||
}
|
||||
|
||||
.language-item {
|
||||
font-size: 0.9rem;
|
||||
font-size: 1.1rem!important;
|
||||
color: var(--text-dark);
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 1.4;
|
||||
margin-bottom: 0.3rem!important;
|
||||
line-height: 1.4!important;
|
||||
margin-left: 2rem!important;
|
||||
}
|
||||
|
||||
.language-item small {
|
||||
@@ -1073,12 +1074,14 @@ iconify-icon {
|
||||
|
||||
/* References */
|
||||
.reference-item {
|
||||
margin-bottom: 0.6rem;
|
||||
line-height: 1.4;
|
||||
margin-bottom: 0!important;
|
||||
line-height: 1.4!important;
|
||||
margin-left: 2rem!important;
|
||||
font-size: 1.1rem!important;
|
||||
}
|
||||
|
||||
.reference-item a {
|
||||
font-size: 0.9em;
|
||||
|
||||
color: var(--accent-blue);
|
||||
text-decoration: none;
|
||||
word-break: break-word;
|
||||
@@ -1509,7 +1512,10 @@ a:focus {
|
||||
.language-item,
|
||||
.reference-item,
|
||||
.other-content {
|
||||
margin-bottom: 1em;
|
||||
margin-bottom: 0!important;
|
||||
line-height: 1.4!important;
|
||||
margin-left: 2rem!important;
|
||||
font-size: 1.1rem!important;
|
||||
}
|
||||
|
||||
/* Award item with logo */
|
||||
@@ -1526,11 +1532,68 @@ a:focus {
|
||||
|
||||
/* Keep border on all award items including last one */
|
||||
|
||||
/* ========================================
|
||||
HIDE LOGOS, ICONS, AND BADGES MODE
|
||||
======================================== */
|
||||
|
||||
/* Adjust gap when logos are hidden */
|
||||
.cv-paper:not(.show-logos) .award-item {
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
/* Hide all logos when .show-logos is not present */
|
||||
.cv-paper:not(.show-logos) .company-logo,
|
||||
.cv-paper:not(.show-logos) .award-logo,
|
||||
.cv-paper:not(.show-logos) .project-icon,
|
||||
.cv-paper:not(.show-logos) .course-icon {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide logos inside responsibilities (Drolosoft sub-clients, Third Party projects) */
|
||||
.cv-paper:not(.show-logos) .responsibilities li img,
|
||||
.cv-paper:not(.show-logos) .responsibilities li iconify-icon.default-company-icon {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Adjust layout for responsibilities without logos */
|
||||
.cv-paper:not(.show-logos) .responsibilities li:has(img),
|
||||
.cv-paper:not(.show-logos) .responsibilities li:has(iconify-icon) {
|
||||
display: block !important;
|
||||
grid-template-columns: none !important;
|
||||
padding-left: 1.2rem !important;
|
||||
}
|
||||
|
||||
/* Restore bullet points for responsibilities without logos */
|
||||
.cv-paper:not(.show-logos) .responsibilities li:has(img):before,
|
||||
.cv-paper:not(.show-logos) .responsibilities li:has(iconify-icon):before {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
/* Hide all section icons */
|
||||
.cv-paper:not(.show-logos) .section-icon {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide all badges (Current, Expired, Maintained By) */
|
||||
.cv-paper:not(.show-logos) .current-badge,
|
||||
.cv-paper:not(.show-logos) .expired-badge,
|
||||
.cv-paper:not(.show-logos) .maintained-badge {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Adjust experience items layout when logos are hidden */
|
||||
.cv-paper:not(.show-logos) .experience-item {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
/* Adjust project and course items layout when icons are hidden */
|
||||
.cv-paper:not(.show-logos) .project-item,
|
||||
.cv-paper:not(.show-logos) .course-item,
|
||||
.cv-paper:not(.show-logos) .award-item {
|
||||
display: block !important;
|
||||
gap: 0 !important;
|
||||
}
|
||||
|
||||
.award-logo {
|
||||
flex-shrink: 0;
|
||||
display: block;
|
||||
|
||||
Reference in New Issue
Block a user