feat: show Jobs tab for all vendors when no filter selected

- Add /admin/letzshop/jobs API endpoint for all jobs across vendors
- Update list_letzshop_jobs service to support optional vendor_id
- Remove x-if condition from Jobs tab button and panel
- Update JS to use global or vendor-specific endpoint based on selection
- Update jobs table subtitle to show context

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-25 00:30:33 +01:00
parent 50fd1d01c2
commit bedc979b12
5 changed files with 91 additions and 46 deletions

View File

@@ -125,9 +125,7 @@
{{ tab_button('products', 'Products', tab_var='activeTab', icon='cube') }}
{{ tab_button('orders', 'Orders', tab_var='activeTab', icon='shopping-cart', count_var='orderStats.pending') }}
{{ tab_button('exceptions', 'Exceptions', tab_var='activeTab', icon='exclamation-circle', count_var='exceptionStats.pending') }}
<template x-if="selectedVendor">
<span>{{ tab_button('jobs', 'Jobs', tab_var='activeTab', icon='collection') }}</span>
</template>
{{ tab_button('jobs', 'Jobs', tab_var='activeTab', icon='collection') }}
<template x-if="selectedVendor">
<span>{{ tab_button('settings', 'Settings', tab_var='activeTab', icon='cog') }}</span>
</template>
@@ -155,12 +153,10 @@
{% include 'admin/partials/letzshop-exceptions-tab.html' %}
{{ endtab_panel() }}
<!-- Jobs Tab - Vendor only -->
<template x-if="selectedVendor">
{{ tab_panel('jobs', tab_var='activeTab') }}
{% include 'admin/partials/letzshop-jobs-table.html' %}
{{ endtab_panel() }}
</template>
<!-- Jobs Tab -->
{{ tab_panel('jobs', tab_var='activeTab') }}
{% include 'admin/partials/letzshop-jobs-table.html' %}
{{ endtab_panel() }}
</div>
<!-- Tracking Modal -->

View File

@@ -6,7 +6,10 @@
<div class="flex items-center justify-between mb-4">
<div>
<h3 class="text-lg font-semibold text-gray-700 dark:text-gray-200">Recent Jobs</h3>
<p class="text-sm text-gray-500 dark:text-gray-400">Product imports, exports, and order sync history</p>
<p class="text-sm text-gray-500 dark:text-gray-400">
<span x-show="selectedVendor">Product imports, exports, and order sync history</span>
<span x-show="!selectedVendor">All Letzshop jobs across all vendors</span>
</p>
</div>
<button
@click="loadJobs()"