- Create app factory with routers and templates - Auth, assets, activities, anchors, storage, users, renderers routers - Federation router for WebFinger and nodeinfo - Jinja2 templates for L2 pages - Config and dependency injection 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
43 lines
1.5 KiB
HTML
43 lines
1.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Art-DAG{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="max-w-4xl mx-auto">
|
|
{% if readme_html %}
|
|
<div class="prose prose-invert max-w-none mb-12">
|
|
{{ readme_html | safe }}
|
|
</div>
|
|
{% else %}
|
|
<div class="text-center py-12">
|
|
<h1 class="text-4xl font-bold mb-4">Art-DAG</h1>
|
|
<p class="text-xl text-gray-400 mb-8">Content-Addressable Media with ActivityPub Federation</p>
|
|
|
|
{% if not user %}
|
|
<div class="flex justify-center space-x-4">
|
|
<a href="/auth/login" class="bg-gray-700 hover:bg-gray-600 px-6 py-3 rounded-lg font-medium">Login</a>
|
|
<a href="/auth/register" class="bg-blue-600 hover:bg-blue-700 px-6 py-3 rounded-lg font-medium">Register</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if activities %}
|
|
<h2 class="text-2xl font-bold mb-4">Recent Activity</h2>
|
|
<div class="space-y-4">
|
|
{% for activity in activities %}
|
|
<div class="bg-gray-800 rounded-lg p-4">
|
|
<div class="flex items-center justify-between mb-2">
|
|
<span class="text-blue-400">{{ activity.actor }}</span>
|
|
<span class="text-gray-500 text-sm">{{ activity.created_at }}</span>
|
|
</div>
|
|
<div class="text-gray-300">
|
|
{{ activity.type }}: {{ activity.summary or activity.object_type }}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|