add: full multi-tenancy control

This commit is contained in:
Cauê Faleiros
2026-02-02 15:31:15 -03:00
commit c6ec92802b
1711 changed files with 258106 additions and 0 deletions

View File

@@ -0,0 +1,222 @@
<?php if (isset($component)) { $__componentOriginal8001c520f4b7dcb40a16cd3b411856d1 = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginal8001c520f4b7dcb40a16cd3b411856d1 = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.layouts.index','data' => []] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
<?php $component->withName('admin::layouts'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
<?php endif; ?>
<?php $component->withAttributes([]); ?>
<?php $__env->slot('title', null, []); ?>
<?php echo app('translator')->get('admin::app.dashboard.index.title'); ?>
<?php $__env->endSlot(); ?>
<!-- Head Details Section -->
<?php echo view_render_event('admin.dashboard.index.header.before'); ?>
<div class="mb-5 flex items-center justify-between gap-4 max-sm:flex-wrap">
<?php echo view_render_event('admin.dashboard.index.header.left.before'); ?>
<div class="grid gap-1.5">
<p class="text-2xl font-semibold dark:text-white">
<?php echo app('translator')->get('admin::app.dashboard.index.title'); ?>
</p>
</div>
<?php echo view_render_event('admin.dashboard.index.header.left.after'); ?>
<!-- Actions -->
<?php echo view_render_event('admin.dashboard.index.header.right.before'); ?>
<v-dashboard-filters>
<!-- Shimmer -->
<div class="flex gap-1.5">
<div class="light-shimmer-bg dark:shimmer h-[39px] w-[140px] rounded-md"></div>
<div class="light-shimmer-bg dark:shimmer h-[39px] w-[140px] rounded-md"></div>
</div>
</v-dashboard-filters>
<?php echo view_render_event('admin.dashboard.index.header.right.after'); ?>
</div>
<?php echo view_render_event('admin.dashboard.index.header.after'); ?>
<!-- Body Component -->
<?php echo view_render_event('admin.dashboard.index.content.before'); ?>
<div class="mt-3.5 flex gap-4 max-xl:flex-wrap">
<!-- Left Section -->
<?php echo view_render_event('admin.dashboard.index.content.left.before'); ?>
<div class="flex flex-1 flex-col gap-4 max-xl:flex-auto">
<!-- Revenue Stats -->
<?php echo $__env->make('admin::dashboard.index.revenue', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<!-- Over All Stats -->
<?php echo $__env->make('admin::dashboard.index.over-all', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<!-- Total Leads Stats -->
<?php echo $__env->make('admin::dashboard.index.total-leads', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<div class="flex gap-4 max-lg:flex-wrap">
<!-- Total Products -->
<?php echo $__env->make('admin::dashboard.index.top-selling-products', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<!-- Total Persons -->
<?php echo $__env->make('admin::dashboard.index.top-persons', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
</div>
</div>
<?php echo view_render_event('admin.dashboard.index.content.left.after'); ?>
<!-- Right Section -->
<?php echo view_render_event('admin.dashboard.index.content.right.before'); ?>
<div class="flex w-[378px] max-w-full flex-col gap-4 max-sm:w-full">
<!-- Revenue by Types -->
<?php echo $__env->make('admin::dashboard.index.open-leads-by-states', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<!-- Revenue by Sources -->
<?php echo $__env->make('admin::dashboard.index.revenue-by-sources', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<!-- Revenue by Types -->
<?php echo $__env->make('admin::dashboard.index.revenue-by-types', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
</div>
<?php echo view_render_event('admin.dashboard.index.content.left.after'); ?>
</div>
<?php echo view_render_event('admin.dashboard.index.content.after'); ?>
<?php if (! $__env->hasRenderedOnce('6b012e08-1880-4962-91f3-cedcee3c943d')): $__env->markAsRenderedOnce('6b012e08-1880-4962-91f3-cedcee3c943d');
$__env->startPush('scripts'); ?>
<script
type="module"
src="<?php echo e(vite()->asset('js/chart.js')); ?>"
>
</script>
<script
type="module"
src="https://cdn.jsdelivr.net/npm/chartjs-chart-funnel@4.2.1/build/index.umd.min.js"
>
</script>
<script
type="text/x-template"
id="v-dashboard-filters-template"
>
<?php echo view_render_event('admin.dashboard.index.date_filters.before'); ?>
<div class="flex gap-1.5">
<?php if (isset($component)) { $__componentOriginalfb6be9e824dd35fb24e37e299d255b9b = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.flat-picker.date','data' => ['class' => '!w-[140px]',':allowInput' => 'false',':maxDate' => 'filters.end']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
<?php $component->withName('admin::flat-picker.date'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
<?php endif; ?>
<?php $component->withAttributes(['class' => '!w-[140px]',':allow-input' => 'false',':max-date' => 'filters.end']); ?>
<input
class="flex min-h-[39px] w-full rounded-md border px-3 py-2 text-sm text-gray-600 transition-all hover:border-gray-400 dark:border-gray-800 dark:bg-gray-900 dark:text-gray-300 dark:hover:border-gray-400"
v-model="filters.start"
placeholder="<?php echo app('translator')->get('admin::app.dashboard.index.start-date'); ?>"
/>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b)): ?>
<?php $attributes = $__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b; ?>
<?php unset($__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalfb6be9e824dd35fb24e37e299d255b9b)): ?>
<?php $component = $__componentOriginalfb6be9e824dd35fb24e37e299d255b9b; ?>
<?php unset($__componentOriginalfb6be9e824dd35fb24e37e299d255b9b); ?>
<?php endif; ?>
<?php if (isset($component)) { $__componentOriginalfb6be9e824dd35fb24e37e299d255b9b = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.flat-picker.date','data' => ['class' => '!w-[140px]',':allowInput' => 'false',':maxDate' => 'filters.end']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
<?php $component->withName('admin::flat-picker.date'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
<?php endif; ?>
<?php $component->withAttributes(['class' => '!w-[140px]',':allow-input' => 'false',':max-date' => 'filters.end']); ?>
<input
class="flex min-h-[39px] w-full rounded-md border px-3 py-2 text-sm text-gray-600 transition-all hover:border-gray-400 dark:border-gray-800 dark:bg-gray-900 dark:text-gray-300 dark:hover:border-gray-400"
v-model="filters.end"
placeholder="<?php echo app('translator')->get('admin::app.dashboard.index.end-date'); ?>"
/>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b)): ?>
<?php $attributes = $__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b; ?>
<?php unset($__attributesOriginalfb6be9e824dd35fb24e37e299d255b9b); ?>
<?php endif; ?>
<?php if (isset($__componentOriginalfb6be9e824dd35fb24e37e299d255b9b)): ?>
<?php $component = $__componentOriginalfb6be9e824dd35fb24e37e299d255b9b; ?>
<?php unset($__componentOriginalfb6be9e824dd35fb24e37e299d255b9b); ?>
<?php endif; ?>
</div>
<?php echo view_render_event('admin.dashboard.index.date_filters.after'); ?>
</script>
<script type="module">
app.component('v-dashboard-filters', {
template: '#v-dashboard-filters-template',
data() {
return {
filters: {
channel: '',
start: "<?php echo e($startDate->format('Y-m-d')); ?>",
end: "<?php echo e($endDate->format('Y-m-d')); ?>",
}
}
},
watch: {
filters: {
handler() {
this.$emitter.emit('reporting-filter-updated', this.filters);
},
deep: true
}
},
});
</script>
<?php $__env->stopPush(); endif; ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginal8001c520f4b7dcb40a16cd3b411856d1)): ?>
<?php $attributes = $__attributesOriginal8001c520f4b7dcb40a16cd3b411856d1; ?>
<?php unset($__attributesOriginal8001c520f4b7dcb40a16cd3b411856d1); ?>
<?php endif; ?>
<?php if (isset($__componentOriginal8001c520f4b7dcb40a16cd3b411856d1)): ?>
<?php $component = $__componentOriginal8001c520f4b7dcb40a16cd3b411856d1; ?>
<?php unset($__componentOriginal8001c520f4b7dcb40a16cd3b411856d1); ?>
<?php endif; ?>
<?php /**PATH /var/www/html/packages/Webkul/Admin/src/Providers/../Resources/views/dashboard/index.blade.php ENDPATH**/ ?>