Demo Admin
2026-03-10 13:26:32
qa194-validation.png
Standalone QA Hub
/at/petsitter/dashboard · 2026-03-10 13:27:04
Stored at legacy-import/issues/194/1773076360816-4ef77865-cb0d-442b-ab32-211d3bb0b970.png
[
{
"matches": 1,
"score": 76,
"selector": "div.grid.grid-cols-2.gap-6",
"strategy": "class"
},
{
"matches": 1,
"score": 74,
"selector": "#explanation-content \u003e div:nth-of-type(1)",
"strategy": "scoped-parent-id"
},
{
"matches": 1,
"score": 58,
"selector": "#explanation-content \u003e div \u003e div:nth-of-type(1)",
"strategy": "ancestor-path"
},
{
"matches": 205,
"score": 60,
"selector": "div:nth-of-type(1)",
"strategy": "nth-of-type"
}
]
{
"ancestorPath": [
"#explanation-content",
"div"
],
"ariaLabel": null,
"className": "grid grid-cols-2 gap-6 mb-6",
"href": null,
"id": null,
"name": null,
"role": null,
"tagName": "div",
"textSample": "Points Earned Replied to message in 9 min +1 pt Booking confirmed +5 pts Replied to booking request in 14 min +5 pts Cli"
}
{
"hasFiberInstance": true,
"reactComponentStack": [
"div",
"section",
"eC",
"Content",
"c",
"eV",
"x",
"f",
"T",
"E",
"j",
"u"
],
"reactOwnerStack": [],
"source": "react-fiber"
}
bbox:
{
"bottom": 953,
"height": 518,
"left": 537,
"right": 1703,
"top": 435,
"width": 1166,
"x": 537,
"y": 435
}
viewport:
{
"height": 1112,
"width": 1920
}
scroll:
{
"x": 0,
"y": 0
}
screenshotMarks:
[]
<div class="grid grid-cols-2 gap-6 mb-6"><div class="p-5 bg-green-50 rounded-lg border border-green-200"><h4 class="font-bold text-gray-900 mb-3 flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up text-green-600 mr-2 w-4 h-4" aria-hidden="true"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg>Points Earned</h4><div class="space-y-2 text-sm"><div class="flex justify-between"><span class="text-gray-700">Replied to message in 9 min</span><span class="font-semibold text-green-600">+1 pt</span></div><div class="flex justify-between"><span class="text-gray-700">Booking confirmed</span><span class="font-semibold text-green-600">+5 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Replied to booking request in 14 min</span><span class="font-semibold text-green-600">+5 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Client review received (5★)</span><span class="font-semibold text-green-600">+10 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Booking completed</span><span class="font-semibold text-green-600">+15 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Rebooking with the same client</span><span class="font-semibold text-green-600">+15 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Profile completed</span><span class="font-semibold text-green-600">+70 pts</span></div></div></div><div class="p-5 bg-red-50 rounded-lg border border-red-200"><h4 class="font-bold text-gray-900 mb-3 flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down text-red-600 mr-2 w-4 h-4" aria-hidden="true"><path d="M12 5v14"></path><path d="m19 12-7 7-7-7"></path></svg>Points Lost</h4><div class="space-y-2 text-sm"><div class="flex justify-between"><span class="text-gray-700">Replied to message in 31 min</span><span class="font-semibold text-red-600">-1 pt</span></div><div class="flex justify-between"><span class="text-gray-700">Booking request refused</span><span class="font-semibold text-red-600">-3 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Replied to booking request in 2 h</span><span class="font-semibold text-red-600">-3 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Attempted to share contact details</span><span class="font-semibold text-red-600">-5 pts</span></div><div class="flex justify-between"><span class="text-gray-700">False or abusive report</span><span class="font-semibold text-red-600">-5 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Message ignored (>24h)</span><span class="font-semibold text-red-600">-5 pts</span></div><div class="flex justify-between"><span class="text-gray-700">No profile update for 30+ days</span><span class="font-semibold text-red-600">-5 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Client review received (2★)</span><span class="font-semibold text-red-600">-10 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Dispute opened</span><span class="font-semibold text-red-600">-10 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Booking request ignored</span><span class="font-semibold text-red-600">-15 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Dispute confirmed</span><span class="font-semibold text-red-600">-20 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Cancelled booking 1 h before start</span><span class="font-semibold text-red-600">-25 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Animal safety incident</span><span class="font-semibold text-red-600">-40 pts</span></div><div class="flex justify-between"><span class="text-gray-700">No-show confirmed</span><span class="font-semibold text-red-600">-40 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Platform circumvention confirmed</span><span class="font-semibold text-red-600">-50 pts</span></div><div class="flex justify-between"><span class="text-gray-700">Repeated dangerous behavior</span><span class="font-semibold text-red-600">-50 pts</span></div></div></div></div>
qa194-validation.png