10 Commits

Author SHA1 Message Date
jalendarreddy97
e4b0c53b3b
Add monthly rank tracking schedule (#45)
* feat: add monthly rank tracking schedule

* fix(ci): un-export ScheduledRankTrackingInterval to satisfy knip

---------

Co-authored-by: Ben Senescu <bensenescu@gmail.com>
2026-06-28 17:32:05 -04:00
Fishlex0
e4a90d6767
feat: add country combobox (#43)
* feat: add country combobox

* refactor: change to a switch statement
2026-06-28 16:29:53 -04:00
Ben Senescu
f8d5ffd285
Scheduled rank checks run through DataForSEO's task queue (#268) 2026-06-13 11:20:42 -04:00
Ben Senescu
ae2031bfad
Harden domain and backlinks validation before external calls (#183)
* Validate backlinks targets before calling DataForSEO

* Validate backlinks targets before provider calls
2026-05-12 19:15:51 -04:00
Ben Senescu
7f892ca433
Merge pull request #19 from every-app/split-modal-dismissal
fix: exit closes modal + accessible labels
2026-05-06 10:46:45 -04:00
Ben Senescu
17298da7ee
fix: capture DataForSEO errors with context (#138) 2026-04-24 00:16:20 -04:00
Ben Senescu
e78ef5e3dd
fix: accept full URLs in rank tracking domain input (#117)
Replace DOMAIN_REGEX with URL-based normalization so users can paste
full URLs (e.g. https://example.com/path) into the domain config form
without getting a ZodError. The URL class handles protocol stripping,
hostname extraction, and validation natively.
2026-04-16 02:58:34 -04:00
Ben Senescu
86d3714846
feat: allow free plan users to set up rank tracking (#116) 2026-04-16 02:19:23 -04:00
Ben Senescu
aeafa5649d
feat: polish rank tracking UI (#115) 2026-04-16 00:42:10 -04:00
Ben Senescu
53a83996ef feat: Rank Tracking MVP (#91) 2026-04-14 20:29:38 -04:00