Working toward an openly accessable registry
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Fabian Stamm
2020-08-02 22:33:18 +02:00
parent 855034f14d
commit 4aaee3e419
8 changed files with 64 additions and 18 deletions

View File

@ -30,7 +30,13 @@ import { sortVersions, getFile } from "../utils.ts";
import { Main, Menu } from "./_default.tsx";
export default async function index({ pkg }: { pkg: IPackage }) {
export default async function index({
pkg,
version,
}: {
pkg: IPackage;
version?: string;
}) {
if (!pkg)
return (
<Base>
@ -38,7 +44,7 @@ export default async function index({ pkg }: { pkg: IPackage }) {
</Base>
);
const readmeContent = await getFile(pkg.name, undefined, "README.md").then(
const readmeContent = await getFile(pkg.name, version, "README.md").then(
(res) => {
if (res)
return Marked.parse(new TextDecoder().decode(res.data))
@ -48,18 +54,43 @@ export default async function index({ pkg }: { pkg: IPackage }) {
);
return (
<Base>
<Base title={"DenReg - " + pkg.name}>
<Main>
<h2 style="margin-bottom: 0">Package: {pkg.name}</h2>
<h4 class="text-muted" style="margin-top: 0; margin-left: .5rem">
By {pkg.author}
</h4>
{readmeContent !== undefined ? (
<div innerHTML={readmeContent} />
) : (
<div class="alert alert-warning">No README.md found!</div>
)}
<div class="tabs">
<input id="tab1" type="radio" name="tabs" checked />
<label for="tab1">Readme</label>
<input id="tab2" type="radio" name="tabs" />
<label for="tab2">Versions</label>
{/*
<input id="tab3" type="radio" name="tabs" />
<label for="tab3">Tab 3</label>
<input id="tab4" type="radio" name="tabs" />
<label for="tab4">Tab 4</label> */}
<div class="content" id="content1">
{readmeContent !== undefined ? (
<div innerHTML={readmeContent} />
) : (
<div class="alert alert-warning">No README.md found!</div>
)}
</div>
<div class="content" id="content2">
<ul>
{pkg.versions.sort(sortVersions).map((version) => (
<li>
<a href={`./${pkg.name}@${version}`}>{version}</a>
</li>
))}
</ul>
</div>
</div>
</Main>
<Menu></Menu>
</Base>