defter 0.8.5

Self-hosted Zotero sync and file storage server, with metadata in SQLite and attachments in S3.
{% extends "base.html" %}

{% block title %}{{ name }}{% endblock %}

{% block content %}
<p class="mb-4 text-sm"><a href="/ui/groups" class="underline">{{ t.all_groups }}</a></p>
<div class="flex flex-wrap items-baseline justify-between gap-3">
  <h1 class="text-2xl font-semibold tracking-tight">{{ name }}</h1>
  <a href="{{ zotero }}" target="_blank" rel="noreferrer" class="text-sm underline">{{ t.view_on_zotero }}</a>
</div>
<p class="mt-2 text-sm text-muted-foreground">{{ t.groups_managed }}</p>

<section class="mt-6 rounded-lg border bg-card p-5 space-y-3">
  <div class="flex flex-wrap items-baseline justify-between gap-2">
    <h2 class="font-semibold">{{ t.group_profile }}</h2>
    {%- if manage %}
    <a href="{{ zotero }}/settings" target="_blank" rel="noreferrer" class="rounded-md border px-3 py-1.5 text-sm hover:bg-muted">{{ t.manage_profile }}</a>
    {%- endif %}
  </div>
  {%- if !description.is_empty() %}
  <p class="text-sm">{{ description }}</p>
  {%- endif %}
  <dl class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1 text-sm">
    <dt class="text-muted-foreground">{{ t.group_type }}</dt><dd>{{ kind }}</dd>
    {%- if !url.is_empty() %}
    <dt class="text-muted-foreground">{{ t.group_website }}</dt><dd><a href="{{ url }}" target="_blank" rel="noreferrer" class="underline wrap-anywhere">{{ url }}</a></dd>
    {%- endif %}
    <dt class="text-muted-foreground">{{ t.role_owner }}</dt><dd>{{ owner }}</dd>
  </dl>
</section>

<section class="mt-4 rounded-lg border bg-card p-5 space-y-3">
  <div class="flex flex-wrap items-baseline justify-between gap-2">
    <h2 class="font-semibold">{{ t.group_members }}</h2>
    {%- if manage %}
    <a href="{{ zotero }}/settings/members" target="_blank" rel="noreferrer" class="rounded-md border px-3 py-1.5 text-sm hover:bg-muted">{{ t.manage_members }}</a>
    {%- endif %}
  </div>
  <p class="text-sm text-muted-foreground">{{ t.members_here_only }}</p>
  <ul class="divide-y text-sm">
    {%- for member in members %}
    <li class="flex flex-wrap items-baseline justify-between gap-2 py-2">
      {%- if member.orcid.is_empty() %}
      <span class="font-medium">{{ member.name }}</span>
      {%- else %}
      <a href="/{{ member.orcid }}" class="font-medium underline">{{ member.name }}</a>
      {%- endif %}
      <span class="text-muted-foreground">{{ member.role }}</span>
    </li>
    {%- endfor %}
  </ul>
</section>

<section class="mt-4 rounded-lg border bg-card p-5 space-y-3">
  <div class="flex flex-wrap items-baseline justify-between gap-2">
    <h2 class="font-semibold">{{ t.group_library }}</h2>
    {%- if manage %}
    <a href="{{ zotero }}/settings/library" target="_blank" rel="noreferrer" class="rounded-md border px-3 py-1.5 text-sm hover:bg-muted">{{ t.manage_library }}</a>
    {%- endif %}
  </div>
  <dl class="grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1 text-sm">
    <dt class="text-muted-foreground">{{ t.library_reading }}</dt><dd>{{ reading }}</dd>
    <dt class="text-muted-foreground">{{ t.library_editing }}</dt><dd>{{ editing }}</dd>
    <dt class="text-muted-foreground">{{ t.file_editing }}</dt><dd>{{ files }}</dd>
  </dl>
</section>
{% endblock %}