Combines shared, blog, market, cart, events, federation, and account into a single repository. Eliminates submodule sync, sibling model copying at build time, and per-app CI orchestration. Changes: - Remove per-app .git, .gitmodules, .gitea, submodule shared/ dirs - Remove stale sibling model copies from each app - Update all 6 Dockerfiles for monorepo build context (root = .) - Add build directives to docker-compose.yml - Add single .gitea/workflows/ci.yml with change detection - Add .dockerignore for monorepo build context - Create __init__.py for federation and account (cross-app imports)
43 lines
1.7 KiB
HTML
43 lines
1.7 KiB
HTML
<div class="bg-white rounded-lg shadow-sm border border-stone-200 p-4 {{ 'border-l-4 border-l-stone-400' if not notif.read }}">
|
|
<div class="flex items-start gap-3">
|
|
{% if notif.from_actor_icon %}
|
|
<img src="{{ notif.from_actor_icon }}" alt="" class="w-8 h-8 rounded-full">
|
|
{% else %}
|
|
<div class="w-8 h-8 rounded-full bg-stone-300 flex items-center justify-center text-stone-600 font-bold text-xs">
|
|
{{ notif.from_actor_name[0] | upper if notif.from_actor_name else '?' }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="flex-1">
|
|
<div class="text-sm">
|
|
<span class="font-semibold">{{ notif.from_actor_name }}</span>
|
|
<span class="text-stone-500">
|
|
@{{ notif.from_actor_username }}{% if notif.from_actor_domain %}@{{ notif.from_actor_domain }}{% endif %}
|
|
</span>
|
|
|
|
{% if notif.notification_type == "follow" %}
|
|
<span class="text-stone-600">followed you</span>
|
|
{% elif notif.notification_type == "like" %}
|
|
<span class="text-stone-600">liked your post</span>
|
|
{% elif notif.notification_type == "boost" %}
|
|
<span class="text-stone-600">boosted your post</span>
|
|
{% elif notif.notification_type == "mention" %}
|
|
<span class="text-stone-600">mentioned you</span>
|
|
{% elif notif.notification_type == "reply" %}
|
|
<span class="text-stone-600">replied to your post</span>
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% if notif.target_content_preview %}
|
|
<div class="text-sm text-stone-500 mt-1 truncate">
|
|
{{ notif.target_content_preview }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="text-xs text-stone-400 mt-1">
|
|
{{ notif.created_at.strftime('%b %d, %H:%M') }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|