- Introduced touch event listeners to enhance mobile interactivity for certification, education, and skills cards.
- Refactored modal display logic to improve user experience by allowing smooth scrolling and restoring scroll position after modal closure.
- Updated event handling to prevent default actions and ensure modals function correctly across devices.
- Updated modal content styles in Certifications, Education, and Skills components to allow for scrollable content on mobile devices.
- Removed body overflow control during modal display, enabling better user experience by allowing background scrolling.
- Enhanced Work Experience component with click-to-expand functionality for mobile users, improving accessibility and interaction.
- Added touchend event listeners to certification, education, and skills cards for improved mobile compatibility.
- Updated click event listeners to prevent default actions, ensuring modals display correctly on both desktop and mobile devices.
- Enhanced mobile-specific styles in the Work Experience component for better usability, including adjustments to padding, gap, and text sizing.
- Replaced existing widgets with modern versions for Work Experience, Certifications, Skills, and Education sections to improve visual appeal and interactivity.
- Introduced an animated hero background and enhanced call-to-action buttons for better user engagement.
- Implemented staggered animations for content sections to create a more dynamic user experience.
- Updated styles for a cohesive glassmorphism effect across all sections, enhancing the overall aesthetic of the page.
- Reduced the number of weeks shown in the ContributionCalendar component from 19 to 18 when in mobile view and not expanded.
- This change aims to further enhance the usability of the calendar on smaller screens.
- Modified the logic for determining the number of weeks to show in the ContributionCalendar component, reducing the count from 20 to 19 when in mobile view and not expanded.
- This change aims to optimize the calendar display for better usability on smaller screens.
- Updated date handling in ContributionCalendar to work entirely in UTC, ensuring consistency with Gitea's date representation.
- Adjusted logic for calculating the start date of the 52-week period and generating calendar days accordingly.
- Improved comments for clarity regarding the use of UTC in date manipulations.
- Cleaned up redundant code and ensured proper date formatting in the rendering of calendar days.
- Minor adjustments in the development.astro file to comment out a collapsible intro section for better organization.
- Integrated Gemini AI for spam detection in the contact form API, returning a token for manual review requests if spam is detected.
- Implemented a manual review UI in the Form.astro component, allowing users to submit their email and justification for review.
- Updated email handler to send manual review requests to a designated email address.
- Enhanced rate limiter configuration to allow more attempts in a shorter duration for better user experience.
- Added new dependencies: jsonwebtoken and @types/jsonwebtoken for handling JWTs in the spam detection process.
- Deleted multiple blog-related components including Grid, GridItem, Headline, List, ListItem, Pagination, RelatedPosts, SinglePost, and Tags to simplify the codebase.
- Removed associated configurations from src/config.yaml, eliminating unused blog settings.
- Cleaned up email templates and layouts related to blog functionality to enhance maintainability.
- Updated styles in tailwind.css for consistency following the removal of blog components.
- Increased the refresh interval in UpdateTimer from 300 seconds to 1800 seconds for less frequent updates.
- Refactored UptimeStatusIsland to utilize a 30-minute window for data caching and fetching, enhancing performance.
- Updated styles in UptimeStatusIsland for better visual consistency, including backdrop blur effects and improved layout for mobile responsiveness.
- Added state management for mobile detection and scroll position tracking in the UptimeStatusIsland component.
- Implemented responsive design adjustments for heartbeat display based on screen size.
- Introduced visual indicators for scroll position on mobile to improve user experience.
- Updated styles for heartbeat history container to accommodate mobile layout and scrolling behavior.
- Changed the progress bar gradient to a blue color scheme for better alignment with the overall design.
- Adjusted the height and border radius of the progress bar for a more modern appearance.
- Enhanced the transition effect and added a box shadow for improved visual depth.
- Adjusted the color mapping for heartbeat statuses to enhance clarity: changed DOWN to red, PENDING to yellow, and maintained UP as green.
- Simplified the logic for better readability and maintainability.
- Removed UpdateTimer component and integrated countdown functionality directly into UptimeStatusIsland.
- Implemented sessionStorage caching for system status data to enhance performance and user experience.
- Added visual countdown display for the next update, improving user awareness of data refresh timing.
- Updated privacy policy to clarify the use of sessionStorage for caching non-personal data.
- Removed unnecessary comments and adjusted the date format to exclude timezone information.
- Enhanced clarity of the function by focusing on local time display without timezone context.
- Integrated Tippy.js for enhanced tooltip functionality in the UptimeStatusIsland component, providing detailed heartbeat information on hover.
- Added custom styles for Tippy.js tooltips to support light and dark themes.
- Updated package.json and package-lock.json to include @tippyjs/react and its dependencies.
- Updated formatLocalTime function to accept a timezone parameter, allowing for dynamic local time display.
- Modified heartbeat time display to include both local and UTC formats for better user clarity.
- Ensured handling of invalid date scenarios to improve robustness of date formatting.
- Updated package-lock.json to reflect new versions of dependencies, including luxon for date handling.
- Modified UptimeStatusIsland component to improve local time formatting, ensuring UTC display and handling of invalid dates.
- Introduced a new Uptime link in the footer for system status monitoring.
- Updated translations to include the Uptime label in the footer.
- Simplified page title for improved clarity and focus on IT systems and automation.
- Added luxon library for improved date handling.
- Updated UptimeStatusIsland component to format and display local time for heartbeats.
- Enhanced state management to track user timezone and locale.
- Ensured UTC formatting for timestamps in API responses.
- Added state management for open badges and refs for badge popups.
- Implemented toggle functionality for badge information on click.
- Updated badge rendering to support mobile interactions, improving user experience.
- Added react-icons package to the project for icon usage.
- Enhanced UptimeStatusIsland component to display responsive badges for certificate expiry, average ping, and uptime metrics, utilizing icons for mobile views.
- Updated ToggleTheme component styles for better visibility in dark mode.
- Added a new Uptime link in the Footer for system status monitoring.
- Introduced translations for Uptime in English, Dutch, German, and French to support multilingual users.
- Enhanced sitemap configuration to limit entries and ensure a single sitemap generation.
- Updated robots.txt to reflect the new sitemap URL.
- Revised metadata descriptions and titles across multiple pages for better SEO alignment.
- Obfuscated email address in the footer for improved privacy.
- Adjusted content in various pages to better reflect services offered and enhance clarity.
- Adjusted positioning and dimensions of the BackToTop button for better accessibility and user experience.
- Increased right margin and button size to enhance visibility and interaction.
- Updated ImageModal styles to include overflow handling and a maximum height for better usability.
- Adjusted the structure to place the enlarged image at the top, enhancing visual presentation.
- Removed the redundant image container to streamline the component.
- Changed LanguageSelectorComponent to use client:visible for better loading performance.
- Updated CollapsibleIntro and ContributionCalendar components to utilize client:visible, enhancing user experience by ensuring they load only when in view.
- Removed unnecessary spacing in the header layout for a cleaner appearance.
- Enhanced the contact link with additional hover styles for better user experience and visual feedback.
- Updated ImageModal styles to center the modal and adjust image container dimensions for better visual presentation.
- Refactored CompactSteps to include an icon component for better visual consistency and adjusted layout for improved readability.
- Removed outdated WorkExperience item rendering to streamline the component structure.
- Updated aboutme page to conditionally set icons based on title content for better context.
- Eliminated the scroll indicator functionality for mobile users to streamline the component.
- Retained calendar reference for future use while simplifying the rendering logic.
- Adjusted related useEffect hooks to enhance performance and maintainability.
- Updated styles in CompactCertifications, CompactSkills, CompactSteps, Content, Features, Features2, and WorkExperience components for a more cohesive design.
- Enhanced grid layouts and adjusted padding, borders, and background colors for better visual appeal and responsiveness.
- Standardized component classes to use rounded-2xl and shadow-lg for a unified look across widgets.
- Added mobile detection and state management to handle screen size changes.
- Implemented a scroll indicator for mobile users to enhance navigation.
- Introduced a toggle button for expanding the calendar view to show the full year.
- Adjusted the rendering logic to display a limited number of weeks based on the mobile state.
- Filtered out the Contact link from the main navigation in Header.astro and added a Contact icon that links to the contact page.
- Integrated Rocket.Chat Livechat script into Layout.astro for improved user support interaction.
- Adjusted CSS classes in Header.astro to remove unnecessary overflow properties, enhancing the layout for better mobile navigation.
- Maintained max-width settings for consistent design across different screen sizes.
- Removed @astrojs/netlify and related dependencies from package-lock.json to streamline the project.
- Updated Header.astro to enhance layout with max-width and overflow properties for better responsiveness and mobile navigation accessibility.
- Replace Netlify adapter with Node adapter in astro.config.ts for standalone mode.
- Update package.json to reflect the new dependency on @astrojs/node.
- Modify package-lock.json to include updated versions of dependencies and remove Netlify-specific configurations from the contact form.
- Introduce a hidden CSRF token input field in the contact form.
- Implement a function to fetch and set the CSRF token on form load.
- Update form submission logic to use FormData and re-fetch the CSRF token after successful submission.
- Refactor ContributionCalendar to support light and dark color schemes based on user preference.
- Implement dark mode detection using a MutationObserver to dynamically adjust styles.
- Update development.astro to include a new CollapsibleIntro component for better user experience.
- Improve commit display logic to format messages with bullet points and enhance layout for clarity.
- Modify getCalendarDays function to start the week on Monday and improve date calculations.
- Add getMonthLabels function to generate month labels for the contribution calendar.
- Update styling and structure of the ContributionCalendar for improved layout and responsiveness.
- Integrate ContributionCalendar into development.astro to visually represent code contributions over the past year, enhancing project transparency.
- Update GITEA_COMMITS_URL to include additional query parameters for better data retrieval.
- Implement authorization header for secure API access if a token is present.
- Refactor commit display logic to handle potential missing data gracefully.