{% extends 'base.html.twig' %} {% block title %}{{ 'title'|trans({}, 'Tracker') }} — Shamra Academia{% endblock %} {% block og_title %}{{ 'title'|trans({}, 'Tracker') }} — Shamra Academia{% endblock %} {% block og_description %}{{ 'page_description'|trans({}, 'Tracker') }}{% endblock %} {% block metaDescription %}{{ 'page_description'|trans({}, 'Tracker') }}{% endblock %} {% block metaKeywords %}research tracker, thesis progress, متابعة البحث, تقدم الرسالة, Shamra Academia{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block body %}

{{ tracker.title }}

{{ ('type.' ~ tracker.type)|trans({}, 'Tracker') }} {% if tracker.field %} · {{ app.request.locale == 'ar' ? tracker.field.arabicFullName : tracker.field.englishFullName }} {% endif %}
{% if stats.daysRemaining is not null %} {% if stats.daysRemaining >= 0 %} {{ 'days_remaining'|trans({'%days%': stats.daysRemaining}, 'Tracker') }} {% else %} {{ 'days_overdue'|trans({'%days%': stats.daysRemaining|abs}, 'Tracker') }} {% endif %} {% endif %}
{{ stats.progressPercentage }}% {{ 'milestones_completed'|trans({'%completed%': stats.completedMilestones, '%total%': stats.totalMilestones}, 'Tracker') }} {{ 'days_since_start'|trans({'%days%': stats.daysSinceStart}, 'Tracker') }}
{{ 'milestones'|trans({}, 'Tracker') }}
{% for milestone in tracker.milestones %}
{{ app.request.locale == 'ar' ? milestone.titleAr : milestone.titleEn }}
{% if milestone.completedAt %} {{ 'completed_on'|trans({'%date%': milestone.completedAt|date('Y-m-d')}, 'Tracker') }} {% else %} {{ ('status.' ~ milestone.status)|trans({}, 'Tracker') }} {% endif %}
{% if milestone.notes %}
{{ milestone.notes|nl2br }}
{% endif %} {% if milestone.hasSubtasks and milestone.subtasksJson %}
{% for index, subtask in milestone.subtasksJson %}
{{ app.request.locale == 'ar' ? (subtask.titleAr ?? subtask.title) : subtask.title }}
{% endfor %}
{% endif %} {% if milestone.linkedPapers|length > 0 %}
{{ 'linked_papers'|trans({'%count%': milestone.linkedPapers|length}, 'Tracker') }}
{% endif %}
{% if milestone.allowExperiments %} {% endif %} {% if milestone.isCustom %} {% endif %}
{% endfor %}
{{ 'linked_resources'|trans({}, 'Tracker') }}
{{ stats.papersRead }}
{{ 'papers_read'|trans({}, 'Tracker') }}
{{ stats.referencesSaved }}
{{ 'references_saved'|trans({}, 'Tracker') }}
{{ stats.wordCount|number_format }}
{{ 'words_written'|trans({}, 'Tracker') }}
{{ stats.aiSessions }}
{{ 'ai_sessions'|trans({}, 'Tracker') }}
{% if stats.linkedListProgress %}
{{ stats.linkedListProgress.read }}/{{ stats.linkedListProgress.total }}
{{ 'reading_list_progress'|trans({}, 'Tracker') }}
{% endif %} {% if stats.viabilityScore is not null %}
{{ 'viability_score'|trans({}, 'Tracker') }}
{{ stats.viabilityScore }}/5
{% if stats.viabilityScore >= 4 %} {{ 'viability_excellent'|trans({}, 'Tracker') }} {% elseif stats.viabilityScore >= 3 %} {{ 'viability_good'|trans({}, 'Tracker') }} {% else %} {{ 'viability_consider_refining'|trans({}, 'Tracker') }} {% endif %}
{% endif %} {% if stats.upcomingDeadlines|length > 0 %}
{{ 'upcoming_deadlines'|trans({}, 'Tracker') }}
{% for deadline in stats.upcomingDeadlines %}
{{ deadline.title }}
{{ deadline.deadlineDate|date('Y-m-d') }} {{ deadline.daysRemaining }} {{ 'days'|trans({}, 'Tracker') }}
{% endfor %}
{% endif %}
{% endblock %} {% block javascripts %} {{ parent() }} {% endblock %}