@php use App\Domains\Entity\Enums\EntityEnum; $base_class = 'lqd-remaining-credit relative mx-2 flex flex-col gap-3 text-2xs'; $progress_base_class = 'lqd-progress flex h-2 overflow-hidden rounded-full'; $progressbar_text_base_class = 'lqd-progress-bar grow-0 basis-auto bg-primary'; $progressbar_image_base_class = 'lqd-progress-bar grow-0 basis-auto bg-secondary'; $legend_text_base_class = 'group'; $legend_box_text_base_class = ''; $legend_image_base_class = 'group'; $legend_box_image_base_class = 'bg-secondary'; $modal_trigger_base_class = ''; $variations = [ 'progressHeight' => [ 'sm' => 'h-1', 'md' => 'h-2', ], ]; $progressHeight = $variations['progressHeight'][$progressHeight] ?? $variations['progressHeight']['md']; $random = random_int(100000, 900000); if ($modalTriggerPos === 'inline' && $showType !== 'button') { $base_class .= ' pe-12'; $modal_trigger_base_class .= ' absolute end-0 top-0 size-9 shrink-0 p-0 outline-heading-foreground/10 hover:bg-primary hover:text-primary-foreground'; } @endphp @if ($showType === 'directly')
@else @php $wordContainUnlimited = $imageContainUnlimited = false; $imageCreditsCount = $wordCreditsCount = 0; $wordEntities = $imageEntities = null; if (auth()->check()) { $wordEntities = \App\Domains\Entity\EntityStats::word()->forUser(auth()->user()); $imageEntities = \App\Domains\Entity\EntityStats::image()->forUser(auth()->user()); $wordContainUnlimited = $wordEntities->checkIfThereUnlimited(); $imageContainUnlimited = $imageEntities->checkIfThereUnlimited(); $wordCreditsCount = $wordEntities->totalCredits(); $imageCreditsCount = $imageEntities->totalCredits(); } $totalCreditsCount = $imageCreditsCount + $wordCreditsCount; $totalCreditsCount = (int) $totalCreditsCount === 0 ? 1 : $totalCreditsCount; if ($wordContainUnlimited && $imageContainUnlimited) { $progressbar_text_base_class .= ' shrink-1'; $progressbar_image_base_class .= ' shrink-1'; } else { $progressbar_text_base_class .= ' shrink-0'; $progressbar_image_base_class .= ' shrink-0'; } $uniqueDriversByDefaultImageModel = $imageEntities ? $imageEntities ->list() ->filter(function ($driver) { $engine = $driver->engine(); $defaultModel = $engine?->getDefaultImageModel(); return $defaultModel && EntityEnum::fromSlug($driver->enum()->slug()) === $defaultModel; }) ->unique(function ($driver) { return $driver->engine()->value; }) : collect(); @endphp
withoutTwMergeClasses()->twMerge($base_class, $attributes->get('class')) }} @if ($aiImage) x-data="{ init() { if ( this.activeGenerator ) { this.generator = this.activeGenerator; this.$watch('activeGenerator', value => { if ( value === 'flux-pro' ) { value = 'fal_ai'; } this.generator = value; }); } }, _generator: '{{ $uniqueDriversByDefaultImageModel->first()?->engine()->value }}', get generator() { return this._generator; }, set generator(value) { this._generator = value; } }" @endif > @if ($showType !== 'button')
@if ($aiImage) @foreach ($uniqueDriversByDefaultImageModel as $driver) {{ $driver->isUnlimitedCredit() ? __('Unlimited') : $driver->creditBalance() }} @endforeach @else @formatNumberShort($wordEntities->checkIfThereUnlimited() ? __('Unlimited') : $wordEntities->totalCredits()) @if (!$wordEntities->checkIfThereUnlimited()) @endif @endif @formatNumberShort($imageEntities->checkIfThereUnlimited() ? __('Unlimited') : $imageEntities->totalCredits()) @if (!$imageEntities->checkIfThereUnlimited()) @endif
twMergeFor('progress', $progress_base_class, $progressHeight) }}>
twMergeFor('progressbar-text', $progressbar_text_base_class) }} style="width: {{ $wordContainUnlimited ? 100 : ($wordCreditsCount / $totalCreditsCount) * 100 }}%" >
twMergeFor('progressbar-image', $progressbar_image_base_class) }} style="width: {{ $imageContainUnlimited ? 100 : ($imageCreditsCount / $totalCreditsCount) * 100 }}%" >
@endif $modalTriggerPos === 'inline']) title="{{ __('Your Credit List') }}" disable-focus > @if ($attributes->has('expanded-modal-trigger')) {{ __('View Your Credits') }} @else @endif

{{ __('Unlock your creativity with credits') }}

{{ __('Each credit unlocks powerful AI tools and features designed to enhance your content creation.') }}

{{ __('Close') }} {{ __('Upgrade Plan') }}
@endif