Rapid development

This commit is contained in:
CenTdemeern1 2025-01-12 06:39:38 +01:00
parent 7494237d19
commit c1213e40ef
5 changed files with 86 additions and 1 deletions

View file

@ -1,6 +1,7 @@
{ {
"software": { "software": {
"misskey": { "misskey": {
"name": "Misskey",
"aliases": [ "aliases": [
"misskey", "misskey",
"mk" "mk"
@ -11,6 +12,7 @@
] ]
}, },
"sharkey": { "sharkey": {
"name": "Sharkey",
"aliases": [ "aliases": [
"sharkey", "sharkey",
"sk" "sk"
@ -22,6 +24,7 @@
"forkOf": "misskey" "forkOf": "misskey"
}, },
"iceshrimp-js": { "iceshrimp-js": {
"name": "Iceshrimp-JS",
"aliases": [ "aliases": [
"iceshrimp-js" "iceshrimp-js"
], ],
@ -33,6 +36,7 @@
"forkOf": "misskey" "forkOf": "misskey"
}, },
"iceshrimp-dotnet": { "iceshrimp-dotnet": {
"name": "Iceshrimp.NET",
"aliases": [ "aliases": [
"iceshrimp-dotnet" "iceshrimp-dotnet"
], ],
@ -44,6 +48,7 @@
"forkOf": "misskey" "forkOf": "misskey"
}, },
"firefish": { "firefish": {
"name": "Firefish",
"aliases": [ "aliases": [
"firefish", "firefish",
"calckey" "calckey"
@ -57,21 +62,28 @@
}, },
"groups": { "groups": {
"misskey-compliant": { "misskey-compliant": {
"name": "Misskey-compliant",
"aliases": [ "aliases": [
"misskey-compliant", "misskey-compliant",
"mkc" "mkc"
] ]
}, },
"misskey-v12": { "misskey-v12": {
"name": "Misskey v12 (legacy)",
"aliases": [ "aliases": [
"misskey-v12", "misskey-v12",
"misskeyv12", "misskeyv12",
"misskey12", "misskey12",
"mk-v12",
"mkv12", "mkv12",
"mk12" "mk12",
"misskey-legacy",
"misskeylegacy",
"mkl"
] ]
}, },
"misskey-v13": { "misskey-v13": {
"name": "Misskey v13",
"aliases": [ "aliases": [
"misskey-v13", "misskey-v13",
"misskeyv13", "misskeyv13",
@ -81,6 +93,7 @@
] ]
}, },
"iceshrimp": { "iceshrimp": {
"name": "Iceshrimp",
"aliases": [ "aliases": [
"iceshrimp" "iceshrimp"
] ]

View file

@ -13,6 +13,7 @@ pub static KNOWN_SOFTWARE_NAMES: LazyLock<HashMap<String, String>> =
#[derive(Deserialize)] #[derive(Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct Software { pub struct Software {
name: String,
aliases: HashSet<String>, aliases: HashSet<String>,
groups: HashSet<String>, groups: HashSet<String>,
fork_of: Option<String>, fork_of: Option<String>,
@ -20,6 +21,7 @@ pub struct Software {
#[derive(Deserialize)] #[derive(Deserialize)]
pub struct Group { pub struct Group {
name: String,
aliases: HashSet<String>, aliases: HashSet<String>,
} }

44
static/crossroad.css Normal file
View file

@ -0,0 +1,44 @@
html,
body {
background: linear-gradient(300deg, #cb0b0b, #2081c3);
background-size: 100vw 100vh;
margin: 0;
min-height: 100vh;
height: 100vh;
}
dialog {
background-color: white;
border: 0;
border-radius: 2em;
opacity: 0;
transition: opacity 0.125s ease-out;
}
dialog::backdrop {
backdrop-filter: blur(5px);
background-color: #0008;
transition: background-color 0.125s ease-out;
@starting-style {
/* This might not work on Firefox because Firefox being behind moment */
background-color: #0000;
}
}
dialog[open] {
opacity: 1;
@starting-style {
/* This might not work on Firefox because Firefox being behind moment */
opacity: 0;
}
}
.flex-vcenter {
display: flex;
flex-direction: column;
justify-content: center;
width: 100%;
height: 100%;
}

View file

@ -1,11 +1,35 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FeDirect</title> <title>FeDirect</title>
<link rel="stylesheet" href="/static/crossroad.css">
</head> </head>
<body> <body>
<script type="module" src="/static/crossroad.mjs"></script> <script type="module" src="/static/crossroad.mjs"></script>
<div class="flex-vcenter">
<dialog open>
<h1>FeDirect</h1>
<p>By Nekomata</p>
<form>
<input id="radio" type="radio" />
<label for="radio">
Instances and stuff go here!
</label>
</form>
<br />
<button onclick="document.getElementById('addInstance').showModal()">Add an instance</button>
</dialog>
</div>
<dialog id="addInstance">
<h1>Add an instance</h1>
<form method="dialog">
<button>OK</button>
</form>
</dialog>
</body> </body>
</html> </html>

View file

@ -1,10 +1,12 @@
type Software = { type Software = {
name: string,
aliases: string[], aliases: string[],
groups: string[], groups: string[],
forkOf?: string, forkOf?: string,
} }
type Group = { type Group = {
name: string,
aliases: string[], aliases: string[],
} }