Files
orion/app/templates/store/partials/store_info.html
Samir Boulahtit 35d1559162
Some checks failed
CI / ruff (push) Successful in 10s
CI / pytest (push) Failing after 47m30s
CI / validate (push) Successful in 24s
CI / dependency-scanning (push) Successful in 29s
CI / docs (push) Has been skipped
CI / deploy (push) Has been skipped
feat(monitoring): add Redis exporter + Sentry docs to deployment guide
- 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>
2026-02-27 23:30:18 +01:00

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>