{% extends "base.html" %} {% from "components/cards.html" import info_card, stat_card %} {% from "components/ui.html" import confirm_dialog %} {% block content %}

{{ _('Dashboard') }}

{{ _("Here's a quick overview of your work.") }}

/ {{ _('Dashboard') }}

Today's Hours

{{ "%.2f"|format(today_hours) }} hours

Week's Hours

{{ "%.2f"|format(week_hours) }} hours

Month's Hours

{{ "%.2f"|format(month_hours) }} hours

{{ _('Timer') }}

{% if not active_timer %} {% endif %}
{% if active_timer %}

{% if active_timer.project %} {{ active_timer.project.name }} {% elif active_timer.client %} {{ active_timer.client.name }} ({{ _('Direct') }}) {% else %} {{ _('No project') }} {% endif %}

{{ _('Started at') }} {{ active_timer.start_time|user_time('%I:%M %p') }}

{% else %}

{{ _('No active timer.') }}

{% endif %}

Recent Entries

{% for entry in recent_entries %} {% else %} {% endfor %}
{{ _('Source') }} {{ _('Task') }} {{ _('Notes') }} {{ _('Tags') }} {{ _('Duration') }} {{ _('Date') }} {{ _('Actions') }}
{% if entry.project %} {{ entry.project.name }} {% elif entry.client %} {{ entry.client.name }} ({{ _('Direct') }}) {% else %} {{ _('N/A') }} {% endif %} {{ entry.task.name if entry.task else '-' }} {% if entry.notes %}{{ entry.notes[:60] }}{% if entry.notes|length > 60 %}...{% endif %}{% else %}-{% endif %} {{ entry.tags or '-' }} {{ entry.duration_formatted }} {{ entry.start_time|user_datetime('%Y-%m-%d %H:%M') }}
{% if current_user.is_admin or entry.user_id == current_user.id %} {% endif %}
{{ _('No recent entries found.') }}
{% if settings and settings.ui_allow_weekly_goals and current_user.ui_show_weekly_goals %} {% if current_week_goal %}

{{ _('Weekly Goal') }}

{{ current_week_goal.actual_hours }}h / {{ current_week_goal.target_hours }}h {{ current_week_goal.progress_percentage }}%
{{ _('Remaining') }}
{{ current_week_goal.remaining_hours }}h
{{ _('Days Left') }}
{{ current_week_goal.days_remaining }}
{% if current_week_goal.days_remaining > 0 and current_week_goal.remaining_hours > 0 %}
{{ _('Need') }} {{ current_week_goal.average_hours_per_day }}h/day {{ _('to reach goal') }}
{% endif %}
{% else %}

{{ _('No Weekly Goal') }}

{{ _('Set a weekly time goal to track your progress') }}

{{ _('Create Goal') }}
{% endif %} {% endif %}

{{ _('Top Projects (30 days)') }}

    {% for item in top_projects %}
  • {{ item.project.name }}
    {{ _('Billable') }}: {{ '%.1f'|format(item.billable_hours) }}h
    {{ '%.1f'|format(item.hours) }}h
  • {% else %}
  • {{ _('No activity in the last 30 days.') }}
  • {% endfor %}

{{ _('Recent Activity') }}

Live
{% if recent_activities %} {% for activity in recent_activities %}

{{ activity.description or 'Activity' }}

{{ activity.created_at|local_datetime_short }}

{% endfor %} {% else %}

No recent activity

{% endif %}

{{ _('Support TimeTracker') }}

{{ _('Enjoying TimeTracker? Consider buying me a coffee to support continued development!') }}

{{ _('Buy me a coffee') }}
{% for entry in recent_entries %} {% if current_user.is_admin or entry.user_id == current_user.id %} {{ confirm_dialog( 'confirmDeleteEntry-' ~ entry.id, 'Delete Time Entry', 'Are you sure you want to delete this time entry? This action cannot be undone.', 'Delete', 'Cancel', 'danger' ) }} {% endif %} {% endfor %} {% endblock %} {% block scripts_extra %} {% endblock %}