- config.py: OAuth settings replace l2_server/l2_domain - auth.py: full rewrite — login/callback/logout with itsdangerous signed state cookies and httpx token exchange - dependencies.py: remove l2_server assignment, fix redirect path - home.py: simplify /login to redirect to /auth/login - base.html: cross-app nav (Blog, Market, Account) + Rose Ash branding - requirements.txt: add itsdangerous Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
2.1 KiB
HTML
34 lines
2.1 KiB
HTML
{% extends "_base.html" %}
|
|
|
|
{% block brand %}
|
|
<a href="https://blog.rose-ash.com/" class="text-white hover:text-gray-200 no-underline">Rose Ash</a>
|
|
<span class="text-gray-500 mx-1">|</span>
|
|
Art-DAG
|
|
{% endblock %}
|
|
|
|
{% block nav_items %}
|
|
<nav class="flex items-center space-x-6">
|
|
<a href="/runs" class="text-gray-300 hover:text-white {% if active_tab == 'runs' %}text-white font-medium{% endif %}">Runs{% if nav_counts and nav_counts.runs %} ({{ nav_counts.runs }}){% endif %}</a>
|
|
<a href="/recipes" class="text-gray-300 hover:text-white {% if active_tab == 'recipes' %}text-white font-medium{% endif %}">Recipes{% if nav_counts and nav_counts.recipes %} ({{ nav_counts.recipes }}){% endif %}</a>
|
|
<a href="/effects" class="text-gray-300 hover:text-white {% if active_tab == 'effects' %}text-white font-medium{% endif %}">Effects{% if nav_counts and nav_counts.effects %} ({{ nav_counts.effects }}){% endif %}</a>
|
|
<a href="/media" class="text-gray-300 hover:text-white {% if active_tab == 'media' %}text-white font-medium{% endif %}">Media{% if nav_counts and nav_counts.media %} ({{ nav_counts.media }}){% endif %}</a>
|
|
<a href="/storage" class="text-gray-300 hover:text-white {% if active_tab == 'storage' %}text-white font-medium{% endif %}">Storage{% if nav_counts and nav_counts.storage %} ({{ nav_counts.storage }}){% endif %}</a>
|
|
<a href="/download/client" class="text-gray-300 hover:text-white" title="Download CLI client">Client</a>
|
|
<span class="text-gray-600">|</span>
|
|
<a href="https://blog.rose-ash.com/" class="text-gray-400 hover:text-white text-sm">Blog</a>
|
|
<a href="https://market.rose-ash.com/" class="text-gray-400 hover:text-white text-sm">Market</a>
|
|
<a href="https://account.rose-ash.com/" class="text-gray-400 hover:text-white text-sm">Account</a>
|
|
</nav>
|
|
{% endblock %}
|
|
|
|
{% block nav_right %}
|
|
{% if user %}
|
|
<div class="flex items-center space-x-4">
|
|
<span class="text-gray-400">{{ user.username }}</span>
|
|
<a href="/auth/logout" class="text-gray-300 hover:text-white">Logout</a>
|
|
</div>
|
|
{% else %}
|
|
<a href="/auth/login" class="text-gray-300 hover:text-white">Login</a>
|
|
{% endif %}
|
|
{% endblock %}
|