You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.4 KiB
28 lines
1.4 KiB
<script lang="ts">
|
|
import Markdown from "$lib/components/common/Markdown.svelte";
|
|
import Progress from "$lib/components/common/Progress.svelte";
|
|
import Main from "$lib/components/layout/Main.svelte";
|
|
import Option from "$lib/components/layout/Option.svelte";
|
|
import OptionsRow from "$lib/components/layout/OptionsRow.svelte";
|
|
import TagRow from "../common/TagRow.svelte";
|
|
import { getProjectContext } from "../contexts/ProjectContext.svelte";
|
|
import Icon from "../layout/Icon.svelte";
|
|
import RequirementEntry from "./RequirementSection.svelte";
|
|
|
|
const {project} = getProjectContext();
|
|
</script>
|
|
|
|
<Main big title={$project.name}>
|
|
<Progress alwaysSmooth titlePercentageOnly thin green status={$project.status} count={$project.totalAcquired} target={$project.totalRequired} />
|
|
<Progress alwaysSmooth titlePercentageOnly thinner gray count={$project.totalPlanned} target={$project.totalRequired} />
|
|
<TagRow names={$project.tags} />
|
|
<Markdown source={$project.description} />
|
|
<OptionsRow slot="right">
|
|
<Option open={{name: "requirement.create", project: $project}}><Icon name="plus" /></Option>
|
|
<Option open={{name: "project.edit", project: $project}}><Icon name="pen" /></Option>
|
|
<Option open={{name: "project.delete", project: $project}} color="red"><Icon name="trash" /></Option>
|
|
</OptionsRow>
|
|
{#each $project.requirements as requirement (requirement.id)}
|
|
<RequirementEntry requirement={requirement} />
|
|
{/each}
|
|
</Main>
|