Skip to content

01 - Features

This document describes the main capabilities of the Calendar Print application.

Main Features

  1. Calendar configuration form

  2. Set a custom calendar title

  3. Add optional free text displayed after the title (max 400 characters)
  4. Add optional free text displayed below calendars (max 400 characters)
  5. Select a month range using from/to month and year
  6. Choose page orientation: portrait or landscape
  7. Choose month grid layout: 4x3 or 3x4
  8. Choose the first day of the week: Monday or Sunday (default: Monday)
  9. Open a share dialog to generate a link that serializes the current form values
  10. Copy the generated link to clipboard or open an email draft containing the link

  11. Dynamic calendar generation

  12. Builds all months between the selected start and end month (inclusive)

  13. Renders each month with weekday headers and date cells
  14. Displays month names with an uppercase first letter in both English and French

  15. A4 print preview

  16. Displays the calendar in an A4-sized page container

  17. Adjusts width and height based on selected orientation
  18. On narrow screens the A4 page is automatically scaled down to fit the screen width, giving an accurate preview of the print layout on mobile devices

  19. Printing workflow

  20. One-click print action from preview mode

  21. Hides edition and action controls in print media
  22. Shows a footer with the printing date/time

  23. Edit and iterate loop

  24. Users can switch from preview back to edition mode

  25. Existing configuration is preserved for quick adjustments

  26. Mobile-friendly Floating Action Buttons (FAB)

  27. On small screens (mobile), a SpeedDial FAB appears in the bottom-right corner of the edition form, giving quick access to the Preview Calendar and Share configuration actions without scrolling

  28. On small screens in preview mode, two FABs are shown:
  29. Bottom-left: Back to Edit (grey)
  30. Bottom-right: Print (primary colour)
  31. Existing desktop buttons are preserved for larger screens

  32. UI language behavior

  33. Detects the browser language at startup (en or fr, with en fallback)

  34. Applies the active language to MUI date picker localization
  35. Lets users change language from Edition Mode to update translated app labels and calendar labels
  36. Provides a header GitHub shortcut to open a new issue on the repository

Functional Notes

  • Date values are stored in YYYY-MM format.
  • Shared links serialize form values and language in a base64url query parameter.
  • Month generation is inclusive of both fromDate and toDate.
  • The app currently trusts user input order and does not block fromDate > toDate.
  • Free text fields are limited to 400 characters and show a live counter.