{% extends "layouts/base.html" %} {% block main_content %} {% set breadcrumbs = [ {"name": t('nav.projects'), "url": "/projects", "icon": "fas fa-folder-open"}, {"name": project.title, "icon": "fas fa-folder"} ] %} {% set header_title = project.title %} {% set header_subtitle = project.name + " (" + t('projects.type_' + project.project_type) + ")" %} {% set header_icon = "fas fa-folder" %} {% set header_actions = [] %} {% if can_edit %} {% set header_actions = header_actions + [ { "type": "button", "text": t('common.edit'), "url": "/projects/" + project.id|string + "/edit", "icon": "fas fa-edit", "style": "secondary" } ] %} {% endif %} {% if project.project_type == 'sequenced' %} {% set header_actions = header_actions + [ { "type": "button", "text": t('projects.execute_sequence'), "url": "/projects/" + project.id|string + "/execute", "icon": "fas fa-play", "style": "primary" } ] %} {% elif project.project_type == 'llm_comparison' %} {% set header_actions = header_actions + [ { "type": "button", "text": t('projects.run_comparison'), "url": "/projects/" + project.id|string + "/compare", "icon": "fas fa-balance-scale", "style": "primary" } ] %} {% endif %} {% set header_actions = header_actions + [ { "type": "dropdown", "text": t('common.actions'), "icon": "fas fa-ellipsis-v", "style": "secondary", "items": [ {"text": t('projects.add_prompts'), "url": "/projects/" + project.id|string + "/prompts/add", "icon": "fas fa-file-text"}, {"text": t('projects.add_rules'), "url": "/projects/" + project.id|string + "/rules/add", "icon": "fas fa-rules"}, {"text": t('projects.manage_members'), "url": "/projects/" + project.id|string + "/members", "icon": "fas fa-users"}, {"text": t('projects.version_history'), "url": "/projects/" + project.id|string + "/versions", "icon": "fas fa-history"}, {"text": t('common.export'), "url": "/projects/" + project.id|string + "/export", "icon": "fas fa-download"} ] } ] %} {% include "components/page_header.html" %}
{{ t('projects.prompts') }}
{{ project_stats.prompt_count or 0 }}
{{ t('projects.rules') }}
{{ project_stats.rule_count or 0 }}
{{ t('projects.members') }}
{{ project_stats.member_count or 1 }}
{{ t('projects.version') }}
v{{ project.version or 1 }}

{{ t('projects.token_analysis') }}

{{ t('projects.calculating_tokens') }}

{{ t('projects.tags') }}

{% if can_edit %} {% endif %}

{{ t('projects.loading_tags') }}

{{ t('projects.project_info') }}

{{ t('projects.description') }}
{{ project.description or t('projects.no_description') }}
{{ t('projects.type') }}
{% if project.project_type == 'general' %} {% elif project.project_type == 'sequenced' %} {% elif project.project_type == 'llm_comparison' %} {% elif project.project_type == 'developer' %} {% endif %} {{ t('projects.type_' + project.project_type) }}
{{ t('projects.created') }}
{{ project.created_at }}
{{ t('projects.visibility') }}
{% if project.visibility == 'public' %} {{ t('projects.public') }} {% else %} {{ t('projects.private') }} {% endif %} {% if project.shared_with_tenant %} {{ t('projects.shared_tenant') }} {% endif %}
{{ t('projects.owner') }}
{{ project.owner_name or project.user_id }}
{{ t('projects.last_updated') }}
{{ project.updated_at }}

{{ t('projects.recent_prompts') }}

{{ t('projects.view_all') }} →
{% if recent_prompts %}
    {% for prompt in recent_prompts %}
  • {{ prompt.title }}

    {% if project.project_type == 'sequenced' and prompt.sequence_order %} #{{ prompt.sequence_order }} {% endif %}

    {{ t('projects.added') }} {{ prompt.added_to_project_at }}

  • {% endfor %}
{% else %}

{{ t('projects.no_prompts_yet') }}

{{ t('projects.add_first_prompt') }}
{% endif %}

{{ t('projects.recent_rules') }}

{{ t('projects.view_all') }} →
{% if recent_rules %}
    {% for rule in recent_rules %}
  • {{ rule.title }}

    {% if rule.rule_set_name %} {{ rule.rule_set_name }} {% endif %}

    {{ t('projects.added') }} {{ rule.added_to_project_at }}

  • {% endfor %}
{% else %}

{{ t('projects.no_rules_yet') }}

{{ t('projects.add_first_rule') }}
{% endif %}
{% if project_stats.member_count > 1 or can_manage %}

{{ t('projects.team_members') }}

{% if can_manage %} {{ t('projects.manage_members') }} → {% endif %}
{% if members %}
{% for member in members[:5] %}

{{ member.user_name or member.user_id }}

{{ t('projects.joined') }} {{ member.added_at }}

{% if member.role == 'owner' %}{% endif %} {{ t('projects.role_' + member.role) }}
{% endfor %} {% if project_stats.member_count > 5 %} {% endif %}
{% endif %}
{% endif %}
{% endblock %}