This commit is contained in:
lda committed 2025-05-26 06:41:12 +07:00
1 parent 0a0e623dad
commit 6a74253339
8 files changed
+267 -277

No files matched your search

+56 -29
View File
@@ -5,48 +5,75 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>cal app</title>
<link rel="stylesheet" href="/src/style.css" />
<link rel="stylesheet" href="/src/style.css"/>
<script type="module" src="/src/main.js" defer></script>
</head>
<body>
<div class="container">
<header class="app-header">
<h1>🗓️ Calendar Filter App</h1>
<p class="subtitle">Load, filter, and combine calendars with style.</p>
<div class="container mt-5">
<header class="text-center mb-4">
<h1 class="display-4">🗓️ Calendar Filter App</h1>
<p class="lead">Load, filter, and combine calendars with style.</p>
</header>
<form class="flex_input" onsubmit="return false;">
<input type="text" id="ics_file" placeholder="Paste .ics URL or API endpoint here" />
<button type="button" class="btn btn-primary" id="ics_run">New Calendar</button>
<button type="button" class="btn btn-primary" id="ics_add">Add a Calendar</button>
<form class="row g-3" onsubmit="return false;">
<div class="col-12">
<label for="url_mode" class="form-label">Select Mode</label>
<select id="url_mode" class="form-select">
<option value="manual">Manual URL</option>
<option value="args" id="proxy_opt">Send Arguments to Proxy</option>
</select>
</div>
<div id="manual-url-input" class="col-12">
<label for="ics_file" class="form-label">ICS URL</label>
<input type="text" id="ics_file" class="form-control"
placeholder="Paste .ics URL or API endpoint here" />
</div>
<div id="args-form" class="col-12" style="display: none">
<label for="be_url" class="form-label">Calendar URL</label>
<input type="text" id="be_url" class="form-control mb-2" placeholder="Enter .ics URL to query" />
<label for="regex_exc" class="form-label">Regex Exclude Rules</label>
<input type="text" id="regex_exc" class="form-control mb-2"
placeholder="Enter regex to exclude events" />
<label for="regex_inc" class="form-label">Regex Include Rules</label>
<input type="text" id="regex_inc" class="form-control mb-2"
placeholder="Enter regex to include events" />
</div>
<div class="col-12 d-flex justify-content-end flex-wrap gap-2">
<button type="button" class="btn btn-primary" id="ics_run">
New Calendar
</button>
<button type="button" class="btn btn-secondary" id="ics_add">
Add a Calendar
</button>
</div>
</form>
<div class="info-bar">
<span>Tip: You can add multiple calendars. Hover events for details.
<a href="https://fullcalendar.io/" target="_blank" rel="noopener noreferrer">Powered by
FullCalendar</a></span>
<div id="placeholder-message" class="alert alert-warning mt-4">
No calendar loaded yet. Paste a URL to get started!
</div>
<div class="calendar-wrapper">
<div class="placeholder-message" id="placeholder-message">
No calendar loaded yet. Paste a URL to get started!
</div>
<div id="calendar">
<!-- <div id="calendar"></div> -->
</div>
</div>
<div class="event-source-management" id="event-source-management">
<div class="d-flex justify-content-between align-items-center mb-3">
<h4>Event Sources</h4>
<button id="reload" class="btn btn-outline-primary">
<div id="event-source-management" class="card mt-4" style="display: none">
<div class="card-header mt-1 d-flex justify-content-between align-items-center bg-transparent border-0">
<h4 class="mb-0">Event Sources</h4>
<button id="reload" class="btn btn-outline-primary btn-sm">
<i class="bi bi-arrow-clockwise"></i> Reload
</button>
</div>
<div id="event-source-list">
<div id="event-source-list" class="card-body">
<!-- Event source cards will be dynamically added here -->
</div>
</div>
<footer class="app-footer">
<p>Made with Rust, JS, and ❤️</p>
<div id="calendar" class="mt-4"></div>
<footer class="text-center mt-4">
<p>Made with Rust, TS, and ❤️</p>
<p>
by
<a href="//ldlda.com" target="_blank" rel="noopener noreferrer">lđa</a>