=== TimeGuard - Freelancer Time Log Pro ===
Contributors: fredawd
Tags: time tracking, time tracker, admin bar, invoicing, freelancers
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Time tracking for freelancers: admin-bar timer, manual entries, hourly rates, billable hours, earnings, and CSV export.

== Description ==

TimeGuard (formerly Freelancer Time Log Pro) is a lightweight time tracker for freelancers who want to log work fast without leaving wp-admin.

* Start / pause / resume timer in the WordPress admin bar
* Draggable floating timer that survives page loads
* Add entries by hand when you forgot to start the timer
* Client + project assignment, ticket number, tag and description
* Hourly rate per project, billable toggle per entry, automatic earnings
* This week / this month / all time overview with summary cards
* Project overview with total time, billable share and earnings
* CSV export (all, per project, per client)
* Delete single entries, a project's logged time, or everything

Suggestions or feature requests? Reach out via https://www.alentejowebdesign.nl/

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install via the WordPress plugin screen.
2. Activate the plugin through the 'Plugins' menu in WordPress.
3. Go to **TimeGuard > Projects** and set up your clients, projects and hourly rates.
4. Use the Start/Stop button in the admin bar, or **New Entry** on the Entries screen.

== Frequently Asked Questions ==

= Where are my time entries stored? =
In your own WordPress database, in the table `wp_frtlp_time_entries`, per user.

= Does uninstalling delete my time entries? =
No. Uninstalling removes the plugin settings but deliberately leaves the entries table intact so billing history is never lost by accident.

= Can I export my time entries? =
Yes: all entries, per project, or per client, as CSV including rate and amount columns.

= I upgraded from 1.0.x. Do I lose anything? =
No. The database, option names and text domain are unchanged. Existing entries get the hourly rate you configure for their project.

== Screenshots ==

1. Entries overview with summary cards, rates and earnings
2. Projects overview with billable share per project
3. Admin bar timer and floating timer widget
4. Save-entry modal

== Changelog ==

= 1.1.4 =
* Fixed: a project's totals on the Projects screen only counted entries logged after the 1.1.0 update. Older entries used a different label separator ("Client &mdash; Project" instead of "Client - Project"), which split one project into two and hid part of its time and earnings. Totals now cover every entry again, and existing labels are normalised automatically on update.

= 1.1.3 =
* Maintenance release: version bump, no functional changes.

= 1.1.2 =
* New: the save-entry dialog now defaults to the project you used last.
* Fixed: the row action menu on the Entries table is no longer clipped by the card; it opens as an overlay and flips upward near the bottom.
* Changed: the billable-time bar on Projects is now a single green, so a full bar no longer looks like a red warning.
* Added: a settings emblem on the Settings screen header.

= 1.1.1 =
* New: Export is now its own tab where you pick the project or client and the format, and export directly to a formatted Excel (.xlsx) file — hours, rate and amount stay real numbers, so no more CSV column juggling. CSV is still available.
* New: Settings is now its own tab with only the currency and default-rate card; projects stay on the Projects tab.
* Changed: the Guard mascot sits in the sidebar with the "Guard says" note as a separate card below it, matching the daneGuard / HelpGuard layout.
* Fixed: admin notices from other plugins no longer appear inside the Entries card.

= 1.1.0 =
* New: TimeGuard interface for the Entries and Projects screens, with a Guard-style navy sidebar (Tracking and System groups) and metric cards matching the daneGuard / HelpGuard family.
* New: hourly rate per project, billable flag per entry, automatic earnings.
* New: add time entries manually, without using the timer.
* New: tags on entries, week/month/all-time filtering and pagination.
* New: rebuild the project list from your logged entries if it was ever emptied, and apply project rates to entries that do not have one yet.
* Fixed: "Add project" and "Remove row" on the Projects screen did nothing, because the handler was never initialised and the client list was never loaded on that screen.
* Fixed: a failed database write during Save no longer discards the tracked time.
* Fixed: the tracked duration is now calculated server-side only and can no longer be overridden by the browser.
* Fixed: the full site user list is no longer exposed on the Entries screen.
* Fixed: projects whose names differ only in punctuation or casing no longer collapse into one another.
* Fixed: CSS and JavaScript are versioned by plugin version again, so updates are no longer served from browser cache.
* Fixed: invalid project rows now produce a warning instead of disappearing silently.
* Fixed: the database upgrade now runs for whoever opens wp-admin first, instead of only for administrators, so non-admin users can never hit the new screens before the new columns exist.
* Fixed: the plugin survives being executed more than once in the same request, which happens on stacks using OPcache preload or a loader that uses require() instead of require_once(). The class is declared conditionally and the plugin boots exactly once.
* Removed: unused stop-save AJAX endpoint and dead cache helpers.

= 1.0.3 =
* Updated script loading and prefixed plugin identifiers for WordPress.org review compliance.

= 1.0.2 =
* Updated text domain and internationalization loading for WordPress.org compliance.

= 1.0.0 =
* Initial public release.

== Upgrade Notice ==

= 1.1.4 =
Fixes project totals that were split by an old label separator after the 1.1.0 migration. Runs a one-time label cleanup on update.

= 1.1.3 =
Maintenance release.

= 1.1.2 =
Save dialog remembers your last project, and the Entries row menu is no longer clipped.

= 1.1.1 =
Separate Settings tab, mascot and quote layout, and admin notices moved out of the Entries card.

= 1.1.0 =
Interface overhaul plus rates and earnings. Fixes the broken "Add project" button and prevents time loss on failed saves. Your existing entries and settings are kept.

= 1.0.3 =
WordPress.org review compliance update.
