Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<!-- Total Sales Stats Vue Component --> <v-reporting-sales-total-sales> <!-- Shimmer ..
Decoded Output download
<? <!-- Total Sales Stats Vue Component -->
<v-reporting-sales-total-sales>
<!-- Shimmer -->
<x-admin::shimmer.reporting.sales.total-sales />
</v-reporting-sales-total-sales>
@pushOnce('scripts')
<script
type="text/x-template"
id="v-reporting-sales-total-sales-template"
>
<!-- Shimmer -->
<template v-if="isLoading">
<x-admin::shimmer.reporting.sales.total-sales />
</template>
<!-- Total Sales Section -->
<template v-else>
<div class="box-shadow relative rounded bg-white p-4 dark:bg-gray-900">
<!-- Header -->
<div class="mb-4 flex items-center justify-between">
<p class="text-base font-semibold text-gray-600 dark:text-white">
@lang('admin::app.reporting.sales.index.total-sales')
</p>
<a
href="{{ route('admin.reporting.sales.view', ['type' => 'total-sales']) }}"
class="cursor-pointer text-sm text-blue-600 transition-all hover:underline"
>
@lang('admin::app.reporting.sales.index.view-details')
</a>
</div>
<!-- Content -->
<div class="grid gap-4">
<div class="flex place-content-start gap-4">
<p class="text-3xl font-bold leading-9 text-gray-600 dark:text-gray-300">
@{{ report.statistics.sales.formatted_total }}
</p>
<div class="flex items-center gap-0.5">
<p
class="text-base text-emerald-500"
:class="[report.statistics.sales.progress < 0 ? 'text-red-500' : 'text-emerald-500']"
>
@{{ Math.abs(report.statistics.sales.progress.toFixed(2)) }}%
</p>
<span
class="text-base text-emerald-500"
:class="[report.statistics.sales.progress < 0 ? 'icon-down-stat text-red-500 dark:!text-red-500' : 'icon-up-stat text-emerald-500 dark:!text-emerald-500']"
></span>
</div>
</div>
<p class="text-base font-semibold text-gray-600 dark:text-gray-300">
@lang('admin::app.reporting.sales.index.sales-over-time')
</p>
<!-- Line Chart -->
<x-admin::charts.line
::labels="chartLabels"
::datasets="chartDatasets"
/>
<!-- Date Range Section -->
<div class="flex justify-center gap-5">
<div class="flex items-center gap-1">
<span class="h-3.5 w-3.5 rounded-md bg-emerald-400"></span>
<p class="text-xs dark:text-gray-300">
@{{ report.date_range.previous }}
</p>
</div>
<div class="flex items-center gap-1">
<span class="h-3.5 w-3.5 rounded-md bg-sky-400"></span>
<p class="text-xs dark:text-gray-300">
@{{ report.date_range.current }}
</p>
</div>
</div>
</div>
</div>
</template>
</script>
<script type="module">
app.component('v-reporting-sales-total-sales', {
template: '#v-reporting-sales-total-sales-template',
data() {
return {
report: [],
isLoading: true,
}
},
computed: {
chartLabels() {
return this.report.statistics.over_time.current.map(({ label }) => label);
},
chartDatasets() {
return [{
data: this.report.statistics.over_time.current.map(({ total }) => total),
lineTension: 0.2,
pointStyle: false,
borderWidth: 2,
borderColor: '#0E9CFF',
backgroundColor: 'rgba(14, 156, 255, 0.3)',
fill: true,
}, {
data: this.report.statistics.over_time.previous.map(({ total }) => total),
lineTension: 0.2,
pointStyle: false,
borderWidth: 2,
borderColor: '#34D399',
backgroundColor: 'rgba(52, 211, 153, 0.3)',
fill: true,
}];
}
},
mounted() {
this.getStats({});
this.$emitter.on('reporting-filter-updated', this.getStats);
},
methods: {
getStats(filtets) {
this.isLoading = true;
var filtets = Object.assign({}, filtets);
filtets.type = 'total-sales';
this.$axios.get("{{ route('admin.reporting.sales.stats') }}", {
params: filtets
})
.then(response => {
this.report = response.data;
this.isLoading = false;
})
.catch(error => {});
}
}
});
</script>
@endPushOnce ?>
Did this file decode correctly?
Original Code
<!-- Total Sales Stats Vue Component -->
<v-reporting-sales-total-sales>
<!-- Shimmer -->
<x-admin::shimmer.reporting.sales.total-sales />
</v-reporting-sales-total-sales>
@pushOnce('scripts')
<script
type="text/x-template"
id="v-reporting-sales-total-sales-template"
>
<!-- Shimmer -->
<template v-if="isLoading">
<x-admin::shimmer.reporting.sales.total-sales />
</template>
<!-- Total Sales Section -->
<template v-else>
<div class="box-shadow relative rounded bg-white p-4 dark:bg-gray-900">
<!-- Header -->
<div class="mb-4 flex items-center justify-between">
<p class="text-base font-semibold text-gray-600 dark:text-white">
@lang('admin::app.reporting.sales.index.total-sales')
</p>
<a
href="{{ route('admin.reporting.sales.view', ['type' => 'total-sales']) }}"
class="cursor-pointer text-sm text-blue-600 transition-all hover:underline"
>
@lang('admin::app.reporting.sales.index.view-details')
</a>
</div>
<!-- Content -->
<div class="grid gap-4">
<div class="flex place-content-start gap-4">
<p class="text-3xl font-bold leading-9 text-gray-600 dark:text-gray-300">
@{{ report.statistics.sales.formatted_total }}
</p>
<div class="flex items-center gap-0.5">
<p
class="text-base text-emerald-500"
:class="[report.statistics.sales.progress < 0 ? 'text-red-500' : 'text-emerald-500']"
>
@{{ Math.abs(report.statistics.sales.progress.toFixed(2)) }}%
</p>
<span
class="text-base text-emerald-500"
:class="[report.statistics.sales.progress < 0 ? 'icon-down-stat text-red-500 dark:!text-red-500' : 'icon-up-stat text-emerald-500 dark:!text-emerald-500']"
></span>
</div>
</div>
<p class="text-base font-semibold text-gray-600 dark:text-gray-300">
@lang('admin::app.reporting.sales.index.sales-over-time')
</p>
<!-- Line Chart -->
<x-admin::charts.line
::labels="chartLabels"
::datasets="chartDatasets"
/>
<!-- Date Range Section -->
<div class="flex justify-center gap-5">
<div class="flex items-center gap-1">
<span class="h-3.5 w-3.5 rounded-md bg-emerald-400"></span>
<p class="text-xs dark:text-gray-300">
@{{ report.date_range.previous }}
</p>
</div>
<div class="flex items-center gap-1">
<span class="h-3.5 w-3.5 rounded-md bg-sky-400"></span>
<p class="text-xs dark:text-gray-300">
@{{ report.date_range.current }}
</p>
</div>
</div>
</div>
</div>
</template>
</script>
<script type="module">
app.component('v-reporting-sales-total-sales', {
template: '#v-reporting-sales-total-sales-template',
data() {
return {
report: [],
isLoading: true,
}
},
computed: {
chartLabels() {
return this.report.statistics.over_time.current.map(({ label }) => label);
},
chartDatasets() {
return [{
data: this.report.statistics.over_time.current.map(({ total }) => total),
lineTension: 0.2,
pointStyle: false,
borderWidth: 2,
borderColor: '#0E9CFF',
backgroundColor: 'rgba(14, 156, 255, 0.3)',
fill: true,
}, {
data: this.report.statistics.over_time.previous.map(({ total }) => total),
lineTension: 0.2,
pointStyle: false,
borderWidth: 2,
borderColor: '#34D399',
backgroundColor: 'rgba(52, 211, 153, 0.3)',
fill: true,
}];
}
},
mounted() {
this.getStats({});
this.$emitter.on('reporting-filter-updated', this.getStats);
},
methods: {
getStats(filtets) {
this.isLoading = true;
var filtets = Object.assign({}, filtets);
filtets.type = 'total-sales';
this.$axios.get("{{ route('admin.reporting.sales.stats') }}", {
params: filtets
})
.then(response => {
this.report = response.data;
this.isLoading = false;
})
.catch(error => {});
}
}
});
</script>
@endPushOnce
Function Calls
None |
Stats
MD5 | d6f38ff1e4edae068be3d8f2257c2a28 |
Eval Count | 0 |
Decode Time | 103 ms |