changes
This commit is contained in:
@@ -42,20 +42,31 @@
|
||||
value: branch
|
||||
}));
|
||||
|
||||
async function createBranch() {
|
||||
const name = prompt("Branch name:");
|
||||
if (name) {
|
||||
selected = null;
|
||||
await $pageRepo.createBranch(name);
|
||||
let inter = setInterval(() => {
|
||||
branches.reload();
|
||||
if ($branches.includes(name)) {
|
||||
selectedBranch = name;
|
||||
searchValue = "";
|
||||
clearInterval(inter);
|
||||
async function createBranch(name: string | null = null): Promise<string> {
|
||||
return new Promise(async (resolve) => {
|
||||
if (!name) {
|
||||
name = prompt("Branch name:");
|
||||
|
||||
if (!name) {
|
||||
resolve("");
|
||||
return;
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
if (name) {
|
||||
selected = null;
|
||||
await $pageRepo.createBranch(name);
|
||||
let inter = setInterval(() => {
|
||||
branches.reload();
|
||||
if ($branches.includes(name!)) {
|
||||
selectedBranch = name!;
|
||||
searchValue = "";
|
||||
clearInterval(inter);
|
||||
|
||||
resolve(name!);
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function changePage(id: number) {
|
||||
@@ -101,6 +112,33 @@
|
||||
selectedBranch = "###!";
|
||||
selectedBranch = w;
|
||||
}
|
||||
|
||||
async function newAnnouncement() {
|
||||
const title = prompt("Title: ");
|
||||
|
||||
if (!title) {
|
||||
return;
|
||||
}
|
||||
|
||||
const slug = title.toLowerCase().replace(/ /g, "-");
|
||||
|
||||
const branch = await createBranch(slug)
|
||||
|
||||
selectedPath = "announcements/de/"
|
||||
|
||||
await $pageRepo.createFile(`${selectedPath}${slug}.md`, branch, slug, title);
|
||||
reload();
|
||||
|
||||
const pages = await $pageRepo.listPages(branch);
|
||||
|
||||
const page = pages.find(page => page.path === `${selectedPath}${slug}.md`);
|
||||
|
||||
if (page) {
|
||||
changePage(page.id);
|
||||
} else {
|
||||
alert("Error creating page");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="flex flex-col h-screen overflow-scroll">
|
||||
@@ -139,10 +177,6 @@
|
||||
<ul>
|
||||
{#if (selectedPath)}
|
||||
{@const value = pagesMap.get(selectedPath) || []}
|
||||
{#if value.length === 0}
|
||||
<li class="p-4">No pages found</li>
|
||||
<li class="p-4">Select a path on the top</li>
|
||||
{/if}
|
||||
{#each value as page}
|
||||
{@const nameRegexExec = nameRegex.exec(page.path)}
|
||||
{@const match = nameRegexExec ? nameRegexExec[0] : ""}
|
||||
@@ -156,6 +190,8 @@
|
||||
class:text-orange-600={selected === page.id}>{page.path.substring(endIndex, page.path.length)}</span>
|
||||
</li>
|
||||
{/each}
|
||||
{:else}
|
||||
<Button on:click={newAnnouncement}>Neue Ankündigung</Button>
|
||||
{/if}
|
||||
</ul>
|
||||
{:catch error}
|
||||
|
||||
Reference in New Issue
Block a user