chore: Move to Typescript (#2783)

This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously.

closes #1282
This commit is contained in:
Tom Moor
2021-11-29 06:40:55 -08:00
committed by GitHub
parent 25ccfb5d04
commit 15b1069bcc
1017 changed files with 17410 additions and 54942 deletions

View File

@@ -0,0 +1,52 @@
import * as React from "react";
import styled from "styled-components";
import Badge from "~/components/Badge";
import { version } from "../../../../package.json";
import SidebarLink from "./SidebarLink";
export default function Version() {
const [releasesBehind, setReleasesBehind] = React.useState(0);
React.useEffect(() => {
async function loadReleases() {
let out = 0;
const res = await fetch(
"https://api.github.com/repos/outline/outline/releases"
);
const releases = await res.json();
for (const release of releases) {
if (release.tag_name === `v${version}`) {
return setReleasesBehind(out);
} else {
out++;
}
}
}
loadReleases();
}, []);
return (
<SidebarLink
href="https://github.com/outline/outline/releases"
label={
<>
v{version}
<br />
<LilBadge>
{releasesBehind === 0
? "Up to date"
: `${releasesBehind} version${
releasesBehind === 1 ? "" : "s"
} behind`}
</LilBadge>
</>
}
/>
);
}
const LilBadge = styled(Badge)`
margin-left: 0;
`;