zachd ab42bbb65a Add support for fixed days off in calendar component
- Introduced `fixedDaysOff` prop to `CalendarMonth.svelte` for specifying non-working days.
- Enhanced tooltip functionality to indicate fixed days off.
- Updated day click handling to respect fixed days off.
- Modified styles to visually distinguish fixed days off in the calendar.
- Adjusted `optimizeDaysOff` and `calculateConsecutiveDaysOff` functions to account for fixed days off.
- Added tests to ensure fixed days off are excluded from optimization but included in consecutive periods.
- Implemented UI elements for managing fixed days off in the settings panel.
2025-11-10 00:59:54 +01:00
2024-11-12 00:07:50 +01:00
2024-11-10 15:58:42 +01:00
2024-11-10 15:58:42 +01:00
2024-11-11 19:42:38 +01:00
2025-11-10 00:36:51 +01:00
2025-11-10 00:36:51 +01:00
2024-11-11 19:42:38 +01:00
2024-11-11 19:20:28 +01:00
2024-11-10 15:58:42 +01:00
2025-11-10 00:36:51 +01:00

Stretch My Time Off

Stretch My Time Off is a tool designed to help you optimize your vacation days by aligning public holidays and personal leave. This project was generated entirely with ChatGPT in a code editor designed for AI-assisted development.

Website: https://stretchmytimeoff.com

Stretch My Time Off

Table of Contents

About the Project

This project was created to efficiently manage vacation days by aligning them with public holidays. It was developed using the Cursor IDE with GPT-4o and is hosted on Vercel with Cloudflare.

Features

  • Country-Specific Holidays: Fetches public holidays for your country.
  • Optimized Days Off: Calculates the best use of personal leave days.
  • Interactive Calendar: Visualizes holidays and optimized days off.
  • Responsive Design: Compatible with desktop and mobile devices.

Tech Stack

Installation

  1. Clone the repository:

    git clone https://github.com/zachd/stretch-my-time-off.git
    
  2. Navigate to the project directory:

    cd stretch-my-time-off
    
  3. Install dependencies:

    npm install
    
  4. Start the development server:

    npm run dev
    

Usage

Access the application at http://localhost:3000. Enter your country to view public holidays and plan your time off using the interactive calendar.

Algorithm

The algorithm optimizes personal leave days to maximize consecutive days off:

  1. Identify Public Holidays and Weekends.
  2. Find Gaps between these days.
  3. Rank Gaps by efficiency.
  4. Select Days Off to fill gaps.
  5. Calculate Consecutive Days Off.
graph TD;
    A[Start] --> B[Identify Public Holidays and Weekends]
    B --> C[Find Gaps Between Days Off]
    C --> D[Rank Gaps by Efficiency]
    D --> E[Select Days Off to Fill Gaps]
    E --> F[Calculate Consecutive Days Off]
    F --> G[End]

Contributing

Contributions are welcome! Open an issue or submit a pull request for improvements or new features.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgments

  • SvelteKit: For the framework.
  • Vercel: For hosting.
  • Cloudflare: For CDN and security.
  • Cursor IDE and GPT-4o: For development assistance.

Disclaimer: This project was 100% generated with ChatGPT out of pure interest, using a code editor designed for AI-assisted development.

Description
No description provided
Readme 412 KiB
Languages
TypeScript 61.4%
Svelte 37.5%
HTML 0.9%
JavaScript 0.2%