2025-01-12 04:47:05 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
2025-01-12 06:39:38 +01:00
|
|
|
|
2025-01-12 04:47:05 +01:00
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>FeDirect</title>
|
2025-01-20 20:09:41 +01:00
|
|
|
<link rel="stylesheet" href="/static/main.css">
|
2025-02-03 01:01:53 +01:00
|
|
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src *;">
|
2025-01-12 04:47:05 +01:00
|
|
|
</head>
|
2025-01-12 06:39:38 +01:00
|
|
|
|
2025-01-12 04:47:05 +01:00
|
|
|
<body>
|
2025-02-03 01:01:53 +01:00
|
|
|
<script type="module" src="/static/crossroad.mjs"></script>
|
2025-01-12 06:39:38 +01:00
|
|
|
<div class="flex-vcenter">
|
2025-01-13 14:10:35 +01:00
|
|
|
<dialog id="mainDialog" class="half-width half-height">
|
|
|
|
<header class="separator-bottom margin-large-bottom">
|
|
|
|
<div class="flex-row">
|
|
|
|
<h1>FeDirect</h1>
|
|
|
|
<p class="margin-auto-top">  By Nekomata</p>
|
|
|
|
</div>
|
2025-01-14 17:41:14 +01:00
|
|
|
<img src="/static/nekomata_small.png" alt="Nekomata Logo" class="logo" />
|
2025-01-13 14:10:35 +01:00
|
|
|
</header>
|
2025-01-20 19:36:38 +01:00
|
|
|
<div class="flex-row align-content-center">
|
|
|
|
<div class="flex-vcenter full-height">
|
|
|
|
<center class="half-width">
|
|
|
|
You're about to go to
|
|
|
|
<pre id="path" class="inline-block"></pre>.<br>
|
|
|
|
<img src="/static/down_arrow.svg" alt="" class="medium-height" />
|
|
|
|
<p id="no-instance">You currently don't have any instances. You should add one!</p>
|
|
|
|
<form id="instanceSelectForm" class="align-start wfit-content"></form>
|
|
|
|
<br>
|
2025-02-03 03:52:11 +01:00
|
|
|
<button id="startAddInstanceFlow">Add an instance</button>
|
2025-01-20 19:36:38 +01:00
|
|
|
</center>
|
|
|
|
</div>
|
2025-01-28 21:57:49 +01:00
|
|
|
<div class="half-width align-self-start">
|
2025-01-15 06:44:47 +01:00
|
|
|
<div class="flex-hcenter">
|
2025-01-15 07:58:48 +01:00
|
|
|
<div class="flex-column buttonPanel">
|
2025-01-15 06:44:47 +01:00
|
|
|
<button id="redirect">Redirect</button>
|
|
|
|
<button id="redirectAlways">Redirect always</button>
|
2025-01-15 07:58:48 +01:00
|
|
|
<a href="/">Manage instances</a>
|
2025-01-15 06:44:47 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2025-01-14 18:25:02 +01:00
|
|
|
</div>
|
2025-01-13 14:10:35 +01:00
|
|
|
</div>
|
2025-01-12 06:39:38 +01:00
|
|
|
</dialog>
|
|
|
|
</div>
|
|
|
|
<dialog id="addInstance">
|
|
|
|
<h1>Add an instance</h1>
|
2025-01-13 06:59:58 +01:00
|
|
|
<form method="dialog" class="addInstanceForm">
|
|
|
|
<label for="instanceHost">Instance hostname or URL<br>
|
|
|
|
(for example <code>mastodon.social</code> or <code>https://kitsunes.club/</code>)<br>
|
|
|
|
</label>
|
|
|
|
<input id="instanceHost" type="text" name="instanceHost" />
|
|
|
|
<br>
|
2025-01-13 14:10:35 +01:00
|
|
|
<input id="autoQueryMetadata" type="checkbox" name="autoQueryMetadata" checked />
|
|
|
|
<label for="autoQueryMetadata">
|
2025-02-03 20:03:32 +01:00
|
|
|
<abbr
|
|
|
|
title="This uses FeDirect's API to automatically try to detect instance metadata, such as the name, software, and an icon.">
|
2025-01-13 14:10:35 +01:00
|
|
|
Automatically query metadata
|
|
|
|
</abbr>
|
|
|
|
</label>
|
|
|
|
<br><br>
|
2025-01-13 06:59:58 +01:00
|
|
|
<button type="submit">OK</button>
|
|
|
|
<button type="reset" class="close">Cancel</button>
|
2025-01-12 06:39:38 +01:00
|
|
|
</form>
|
|
|
|
</dialog>
|
2025-01-14 10:49:44 +01:00
|
|
|
<dialog id="instanceDetails">
|
|
|
|
<h1>Confirm instance details</h1>
|
|
|
|
<form method="dialog" class="instanceDetailsForm">
|
|
|
|
<div class="flex-row">
|
|
|
|
<div class="half-width">
|
|
|
|
<label for="instanceName">Instance name</label>
|
|
|
|
<br>
|
2025-01-14 13:10:29 +01:00
|
|
|
<input id="instanceName" type="text" name="instanceName" required />
|
|
|
|
<br><br>
|
|
|
|
<label for="instanceHost">Instance hostname</label>
|
|
|
|
<br>
|
|
|
|
<input id="instanceHost" type="text" name="instanceHost" required />
|
|
|
|
<br>
|
|
|
|
<input type="checkbox" name="instanceHostSecure" id="instanceHostSecure" checked />
|
|
|
|
<label for="instanceHostSecure">
|
|
|
|
<abbr title="Whether to use HTTPS (as opposed to HTTP).
|
|
|
|
Unchecking this is not recommended, and this option only exists for exceptional cases">
|
|
|
|
Secure?
|
|
|
|
</abbr>
|
|
|
|
</label>
|
2025-01-14 10:49:44 +01:00
|
|
|
<br><br>
|
|
|
|
<label for="instanceSoftware">Instance software</label>
|
|
|
|
<br>
|
|
|
|
<select id="instanceSoftware" type="text" name="instanceSoftware" required>
|
2025-01-28 23:45:59 +01:00
|
|
|
<option value="" disabled>(Please select)</option>
|
2025-01-14 10:49:44 +01:00
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
<div class="half-width flex-row-reverse">
|
|
|
|
<div class="full-height flex-column-reverse">
|
|
|
|
<div>
|
|
|
|
<label for="iconContainer">Instance icon</label>
|
|
|
|
<div id="iconContainer" class="square iconContainer">
|
|
|
|
<img id="instanceIcon" alt="Icon for the selected instance" class="icon" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<button type="submit">OK</button>
|
|
|
|
<button type="reset" class="close">Cancel</button>
|
|
|
|
</form>
|
|
|
|
</dialog>
|
2025-02-03 03:52:11 +01:00
|
|
|
<dialog id="spinner"><span class="spinner"></span></dialog>
|
2025-01-12 04:47:05 +01:00
|
|
|
</body>
|
2025-01-12 06:39:38 +01:00
|
|
|
|
2025-01-12 04:47:05 +01:00
|
|
|
</html>
|