Some checks failed
- Add redis-exporter container to docker-compose (oliver006/redis_exporter, 32MB) - Add Redis scrape target to Prometheus config - Add 4 Redis alert rules: RedisDown, HighMemory, HighConnections, RejectedConnections - Document Step 19b (Sentry Error Tracking) in Hetzner deployment guide - Document Step 19c (Redis Monitoring) in Hetzner deployment guide - Update resource budget and port reference tables Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
59 lines
2.9 KiB
HTML
59 lines
2.9 KiB
HTML
{# app/templates/store/partials/store_info.html #}
|
|
{#
|
|
This component loads store data client-side via JavaScript
|
|
No server-side store data required - follows same pattern as admin pages
|
|
#}
|
|
<div class="p-4 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
|
|
<!-- Loading State -->
|
|
<div x-show="!store && !error" class="flex items-center">
|
|
<div class="w-12 h-12 rounded-full bg-gray-100 dark:bg-gray-700 flex items-center justify-center mr-4 animate-pulse">
|
|
<span class="text-xl">🏪</span>
|
|
</div>
|
|
<div class="flex-1">
|
|
<div class="h-4 bg-gray-200 dark:bg-gray-700 rounded w-1/3 mb-2 animate-pulse"></div>
|
|
<div class="h-3 bg-gray-200 dark:bg-gray-700 rounded w-1/2 animate-pulse"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Store Data (loaded via JavaScript) -->
|
|
<div x-show="store" class="flex items-center justify-between">
|
|
<div class="flex items-center">
|
|
<div class="w-12 h-12 rounded-full bg-purple-100 dark:bg-purple-600 flex items-center justify-center mr-4">
|
|
<span class="text-xl font-bold text-purple-600 dark:text-purple-100"
|
|
x-text="store?.name?.charAt(0).toUpperCase() || '?'"></span>
|
|
</div>
|
|
<div>
|
|
<h3 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
|
|
x-text="store?.name || 'Loading...'"></h3>
|
|
<p class="text-sm text-gray-600 dark:text-gray-400">
|
|
<span class="font-medium" x-text="store?.store_code"></span>
|
|
<template x-if="store?.subdomain">
|
|
<span>• <span x-text="store.subdomain"></span>.platform.com</span>
|
|
</template>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="flex items-center space-x-2">
|
|
<template x-if="store">
|
|
<span class="px-2 py-1 text-xs font-semibold leading-tight rounded-full"
|
|
:class="store.is_verified
|
|
? 'text-green-700 bg-green-100 dark:bg-green-700 dark:text-green-100'
|
|
: 'text-orange-700 bg-orange-100 dark:text-white dark:bg-orange-600'"
|
|
x-text="store.is_verified ? 'Verified' : 'Pending'"></span>
|
|
</template>
|
|
<template x-if="store">
|
|
<span class="px-2 py-1 text-xs font-semibold leading-tight rounded-full"
|
|
:class="store.is_active
|
|
? 'text-green-700 bg-green-100 dark:bg-green-700 dark:text-green-100'
|
|
: 'text-red-700 bg-red-100 dark:bg-red-700 dark:text-red-100'"
|
|
x-text="store.is_active ? 'Active' : 'Inactive'"></span>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Error State -->
|
|
<div x-show="error" class="text-center py-4">
|
|
<p class="text-sm text-red-600 dark:text-red-400" x-text="error"></p>
|
|
</div>
|
|
</div>
|