feat(clinic-services): two-page section→services flow matching Figma

Restructure clinic-services from two-pane to Figma two-view flow:
sections card grid (name, edit, activate/deactivate, 'بخش جدید' modal) →
click a section → its services card grid with breadcrumb back. Service
card matches Figma: overflow menu, active badge, base price, average
time badge, staff chip. Add duration_minutes to ServiceItem (migration
+ create/update + form field). Update clinic-services.md.

(Version20260713050014 syncs pre-existing entity/schema drift.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hamed
2026-07-13 08:41:29 +03:30
co-authored by Claude Opus 4.8
parent 5852890819
commit 9e491ae6b9
7 changed files with 267 additions and 227 deletions
+35
View File
@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20260713050014 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE doctor_claim_requests RENAME INDEX uniq_claim_uuid TO UNIQ_352BEA22D17F50A6');
$this->addSql('ALTER TABLE doctor_claim_requests RENAME INDEX idx_claim_user TO IDX_352BEA22A76ED395');
$this->addSql('ALTER TABLE representations CHANGE is_global is_global TINYINT NOT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE doctor_claim_requests RENAME INDEX idx_352bea22a76ed395 TO IDX_claim_user');
$this->addSql('ALTER TABLE doctor_claim_requests RENAME INDEX uniq_352bea22d17f50a6 TO UNIQ_claim_uuid');
$this->addSql('ALTER TABLE representations CHANGE is_global is_global TINYINT DEFAULT 0 NOT NULL');
}
}