Files
activity-pub/app/templates/users/profile.html

63 lines
3.4 KiB
HTML

{% extends "base.html" %}
{% block title %}{{ profile.username }} - Profile{% endblock %}
{% block content %}
<div class="max-w-4xl mx-auto">
<!-- Profile Header -->
<div class="bg-gray-800 rounded-lg p-6 mb-6">
<div class="flex items-start gap-6">
<div class="w-24 h-24 bg-gradient-to-br from-blue-500 to-purple-600 rounded-full flex items-center justify-center text-3xl font-bold text-white">
{{ profile.username[0]|upper }}
</div>
<div class="flex-1">
<h1 class="text-2xl font-bold text-white mb-1">{{ profile.display_name or profile.username }}</h1>
<p class="text-gray-400 mb-3">@{{ profile.username }}</p>
{% if profile.bio %}
<p class="text-gray-300">{{ profile.bio }}</p>
{% endif %}
</div>
</div>
</div>
<!-- Assets -->
<div class="bg-gray-800 rounded-lg p-6">
<h2 class="text-xl font-semibold text-white mb-4">Assets</h2>
{% if assets %}
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
{% for asset in assets %}
<a href="/assets/{{ asset.name }}" class="group">
<div class="aspect-square bg-gray-900 rounded-lg overflow-hidden">
{% if asset.asset_type == 'image' %}
<div class="w-full h-full bg-gradient-to-br from-green-900/50 to-blue-900/50 flex items-center justify-center">
<svg class="w-12 h-12 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"/>
</svg>
</div>
{% elif asset.asset_type == 'video' %}
<div class="w-full h-full bg-gradient-to-br from-purple-900/50 to-pink-900/50 flex items-center justify-center">
<svg class="w-12 h-12 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"/>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
</div>
{% else %}
<div class="w-full h-full bg-gray-700 flex items-center justify-center">
<svg class="w-12 h-12 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z"/>
</svg>
</div>
{% endif %}
</div>
<p class="mt-2 text-sm text-gray-300 truncate group-hover:text-white">{{ asset.name }}</p>
</a>
{% endfor %}
</div>
{% else %}
<p class="text-gray-500 text-center py-8">No assets yet.</p>
{% endif %}
</div>
</div>
{% endblock %}