working on wiki index

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-09-09 16:19:03 +02:00
parent 3b8e7ed258
commit 3627ccee73
7 changed files with 113 additions and 17 deletions

View File

@@ -32,6 +32,7 @@
import ViewDoc from "./routes/document/View.svelte";
import ViewPrj from "./routes/project/View.svelte";
import ViewTask from "./routes/task/View.svelte";
import WikiIndex from "./routes/wiki/Index.svelte";
let translations_ready = $state(false);
@@ -87,6 +88,7 @@
<Route path="/user/:user_id/edit" component={EditUser} />
<Route path="/user/oidc/add" component={EditService} />
<Route path="/user/oidc/edit/:serviceName" component={EditService} />
<Route path="/wiki" component={WikiIndex} />
<Route>
Not found!
</Route>

View File

@@ -0,0 +1,37 @@
<script>
import { onMount } from 'svelte';
import { api } from '../../urls.svelte';
import { t } from '../../translations.svelte';
let error = $state(null);
let pages = $state(null);
let lastLetter = null;
async function loadPageList(){
const url = api('wiki');
const res = await fetch(url,{credentials:'include'});
if (res.ok){
pages = await res.json();
} else {
error = await res.text();
}
}
onMount(loadPageList);
</script>
{#if error}
<span class="error">{error}</span>
{/if}
<h1>{t('wiki')}</h1>
{#if pages}
{#each pages as page}
{#if page.charAt(0).toUpperCase() != lastLetter}
<h2>{lastLetter = page.charAt(0).toUpperCase()||page.charAt(0).toUpperCase()}</h2>
{/if}
<div>
<a href={`/wiki/${page}/view`}>{page}</a>
</div>
{/each}
{/if}