first commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<!-- ═══════════════ CRON PARSER ═══════════════ -->
|
||||
<div class="page" id="page-cron">
|
||||
<button class="back-btn" onclick="showPage('home')">← Back to Tools</button>
|
||||
<div class="section-header">
|
||||
<h2><i class="fas fa-clock" style="color:var(--orange)"></i> Cron Expression Parser</h2>
|
||||
<p>Parse cron expressions into human-readable descriptions and see next run times.</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="panel-label">Cron Expression</div>
|
||||
<input type="text" id="cronInput" placeholder="*/5 * * * *" value="*/5 * * * *" oninput="parseCron()" />
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary" onclick="parseCron()"><i class="fas fa-play"></i> Parse</button>
|
||||
<button class="btn btn-secondary" onclick="setCronPreset('*/5 * * * *')">Every 5 min</button>
|
||||
<button class="btn btn-secondary" onclick="setCronPreset('0 0 * * *')">Daily midnight</button>
|
||||
<button class="btn btn-secondary" onclick="setCronPreset('0 9 * * 1-5')">Weekdays 9am</button>
|
||||
<button class="btn btn-secondary" onclick="setCronPreset('0 0 1 * *')">1st of month</button>
|
||||
<button class="btn btn-secondary" onclick="setCronPreset('0 */2 * * *')">Every 2 hours</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="result-card" id="cronResult" style="display:none;">
|
||||
<div class="panel-label">Human-readable</div>
|
||||
<div id="cronDescription" style="font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--cyan);"></div>
|
||||
<div class="panel-label">Fields Breakdown</div>
|
||||
<div id="cronFields" style="margin-bottom:16px;"></div>
|
||||
<div class="panel-label">Next 5 Run Times</div>
|
||||
<div id="cronNextRuns"></div>
|
||||
</div>
|
||||
<div class="status" id="cronStatus"></div>
|
||||
<div class="api-usage">
|
||||
<button class="api-usage-toggle" onclick="toggleApiUsage(this)"><span><i class="fas fa-terminal"></i> API Usage <span class="badge">REST</span></span><i class="fas fa-chevron-down"></i></button>
|
||||
<div class="api-usage-body">
|
||||
<div class="api-baseurl-note">All examples use <code>BASE_URL</code> — set it to your deployment URL, e.g. <code>https://winnieapi-v2.yourdomain.com</code></div>
|
||||
<div class="api-endpoint">
|
||||
<span class="api-method post">POST</span><span class="api-path">/api/cron/parse</span>
|
||||
<div class="api-desc">Parse a cron expression into a human-readable description and next run times.</div>
|
||||
<div class="api-code"><button class="api-code-copy" onclick="copyApiCode(this)">Copy</button><span class="kw">const</span> res = <span class="kw">await</span> <span class="fn">fetch</span>(<span class="var">`${BASE_URL}/api/cron/parse`</span>, {
|
||||
method: <span class="str">"POST"</span>,
|
||||
headers: { <span class="str">"Content-Type"</span>: <span class="str">"application/json"</span> },
|
||||
body: JSON.<span class="fn">stringify</span>({ expression: <span class="str">"*/5 * * * *"</span> })
|
||||
});
|
||||
<span class="kw">const</span> data = <span class="kw">await</span> res.<span class="fn">json</span>();
|
||||
<span class="cm">// → { success: true, description: "Every 5 minutes", fields: {...}, nextRuns: [...] }</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user