{% from "_custom_select.html" import custom_select %} {% if effective_appearance %} {% endif %} {% include 'partials/_ui_font_head.html' %} {% block title %}{{ repo_owner }}/{{ repo_name }} - {{ brand_name }}{% endblock %} {# --- Core Scripts & Styles --- #} {# CodeMirror addons & modes: must live in repo_layout (not only repository.html extra_head) so SPA tab nav keeps highlighting, search, and repo styles. #} {% if repo and repo.has_wiki %} {% endif %} {% block extra_head %}{% endblock %} {% include 'backgrounds/_chooser.html' %}
{% for char in brand_name %}{{ char }}{% endfor %}
{% if g.user %}
Notifications
{% endif %}
{# --- Repository Header --- #} {% if repo %}
{# Left: Identity #}
{% if repo.owner_avatar and repo.owner_avatar != 'default_avatar.png' %} {{ repo_owner }} {% else %}
{% endif %}
{{ repo_owner }} / {{ repo_name }} {{ repo.visibility if repo else 'public' }}
{# Right: Actions #}
{% if repo.has_wiki %}
{% endif %}
{% if g.user and not repo.is_owner and repo.id %}
{% endif %}
{% if repo.is_owner %} {% endif %}
{# --- Navigation Tabs --- #}
Code Issues {% if repo.can_write %} Tasks {% endif %} Pull Requests Shells Security
{% endif %} {# --- Main Content Area --- #} {# SPA navigate() sets inline opacity on this wrapper; avoid transition-opacity here or reveal fades 0→1. #}
{% block repo_content %}{% endblock %}
{% block repo_modals %} {% if repo and repo.is_owner %} {% include 'repository_modals/repo_settings_modal.html' %} {% include 'repository_modals/repo_delete_confirm_modal.html' %} {% endif %} {% include 'credit_confirm_modal.html' %} {% include 'repository_modals/repo_info_modal.html' %} {% if repo and repo.has_wiki %} {% include 'repository_modals/wiki_shell_modals.html' %} {% endif %} {# Report Repository Modal #} {% if g.user %} {% endif %} {% endblock %}
{# --- Notifications --- #}
{% include '_global_select_picker_modal.html' %} {% include 'notifications.html' %} {% if g.user %}{% include 'messenger.html' %}{% endif %}