01 - Features¶
This document describes the main capabilities of the Calendar Print application.
Main Features¶
-
Calendar configuration form
-
Set a custom calendar title
- Add optional free text displayed after the title (max 400 characters)
- Add optional free text displayed below calendars (max 400 characters)
- Select a month range using from/to month and year
- Choose page orientation: portrait or landscape
- Choose month grid layout:
4x3or3x4 - Choose the first day of the week: Monday or Sunday (default: Monday)
- Open a share dialog to generate a link that serializes the current form values
-
Copy the generated link to clipboard or open an email draft containing the link
-
Dynamic calendar generation
-
Builds all months between the selected start and end month (inclusive)
- Renders each month with weekday headers and date cells
-
Displays month names with an uppercase first letter in both English and French
-
A4 print preview
-
Displays the calendar in an A4-sized page container
- Adjusts width and height based on selected orientation
-
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
-
Printing workflow
-
One-click print action from preview mode
- Hides edition and action controls in print media
-
Shows a footer with the printing date/time
-
Edit and iterate loop
-
Users can switch from preview back to edition mode
-
Existing configuration is preserved for quick adjustments
-
Mobile-friendly Floating Action Buttons (FAB)
-
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
- On small screens in preview mode, two FABs are shown:
- Bottom-left: Back to Edit (grey)
- Bottom-right: Print (primary colour)
-
Existing desktop buttons are preserved for larger screens
-
UI language behavior
-
Detects the browser language at startup (
enorfr, withenfallback) - Applies the active language to MUI date picker localization
- Lets users change language from Edition Mode to update translated app labels and calendar labels
- Provides a header GitHub shortcut to open a new issue on the repository
Functional Notes¶
- Date values are stored in
YYYY-MMformat. - Shared links serialize form values and language in a base64url query parameter.
- Month generation is inclusive of both
fromDateandtoDate. - 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.