HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/ai.naniguide.com/resources/views/audience/overview.blade.php
@extends('layouts.core.frontend', [
    'menu' => 'overview',
])

@section('title', trans('messages.dashboard'))

@section('head')
    <script type="text/javascript" src="{{ AppUrl::asset('core/echarts/echarts.min.js') }}"></script>
    <script type="text/javascript" src="{{ AppUrl::asset('core/echarts/dark.js') }}"></script>
@endsection

@section('content')
    <h2 class="mt-4 pt-2">
        {{ trans('messages.audience.manage') }}
    </h2>
    <p>{!! trans('messages.audience.intro') !!}</p>

    <div class="row mt-4 mb-4">
        <div class="col-md-3">
            <div class="bg-secondary p-3 shadow rounded-3 text-white">
                <div class="text-center">
                    <h2 class="text-semibold mb-1 mt-0">{{ number_with_delimiter($subscriberCount) }}</h2>
                    <div class="text-muted2 text-white">
                        {!! trans('messages.list.mail_list_count.desc', [
                            'count' => number_with_delimiter($subscribedCount)
                        ]) !!}
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-3">
            <div class="bg-secondary p-3 shadow rounded-3 text-white">
                <div class="text-center">
                    <h2 class="text-semibold mb-1 mt-0">{{ number_to_percentage($activeContactPercent) }}</h2>
                    <div class="text-muted2 text-white">
                        {{ trans('messages.list.active_contact.desc') }}
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-3">
            <div class="bg-secondary p-3 shadow rounded-3 text-white">
                <div class="text-center">
                    <h2 class="text-semibold mb-1 mt-0">{{ number_with_delimiter($formCount) }}</h2>
                    <div class="text-muted2 text-white">
                        @if (Auth::user()->customer->local()->forms()->count())
                            <p class="mb-0">{{ trans('messages.list.form.desc') }}</p>
                        @else
                            <p class="mb-0">{{ trans('messages.forms_not_yet') }}</p>
                        @endif
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-3">
            <a href="{{ action('BlacklistController@index') }}" class="bg-secondary p-3 shadow rounded-3 text-white d-block">
                <div class="text-center">
                    <h2 class="text-semibold mb-1 mt-0">
                        {{ number_with_delimiter($blacklistedCount) }}
                    </h2>
                    <div class="text-muted2 text-white">
                        <p class="mb-0">{!! trans('messages.list.blacklist.desc') !!}</p>                        
                    </div>
                </div>
            </a>
        </div>
    </div>

    <h3 class="mt-5 mb-20"><span class="material-symbols-rounded me-2">insights</span> {{ trans('messages.audience.audience_growth.title') }}</h3>
    <p class="mb-4">{{ trans('messages.audience.audience_growth.desc') }}</p>
    <div class="border shadow-sm rounded">
        <div class="p-3">
            <div id="AudienceGrowthChart"
                class=""
                style="width:100%; height:350px;"
            ></div>
        </div>
    </div>
    
    <script>
        var AudienceGrowthChart = {
            url: '{{ action('AudienceController@growthChart') }}',
            getChart: function() {
                return $('#AudienceGrowthChart');
            },
    
            showChart: function() {
                $.ajax({
                    method: "GET",
                    url: this.url,
                })
                .done(function( response ) {
                    AudienceGrowthChart.renderChart( response );
                });
            },
    
            renderChart: function(data) {
                    // based on prepared DOM, initialize echarts instance
                    var my2Chart = echarts.init(AudienceGrowthChart.getChart()[0], ECHARTS_THEME);
    
                    var option = {
                        tooltip: {
                            trigger: 'axis'
                        },
                        legend: {
                            data: ['{{ trans('messages.total') }}', '{{ trans('messages.unsubscribed') }}']
                        },
                        grid: {
                            left: '3%',
                            right: '4%',
                            bottom: '3%',
                            containLabel: true
                        },
                        toolbox: {
                            show: false
                        },
                        xAxis: {
                            type: 'category',
                            boundaryGap: false,
                            data: data.columns
                        },
                        yAxis: {
                            type: 'value'
                        },
                        series: [
                            {
                                name: '{{ trans('messages.total') }}',
                                type: 'line',
                                itemStyle: {
                                    color: '#5cb2b2'
                                },
                                data: data.total
                            },
                            {
                                name: '{{ trans('messages.unsubscribed') }}',
                                type: 'line',
                                itemStyle: {
                                    color: '#b26e59'
                                },
                                data: data.unsubscribed
                            }
                        ]
                    };
    
                    // use configuration item and data specified to show chart
                    my2Chart.setOption(option);
            }
        }
    
        AudienceGrowthChart.showChart();
    </script>

    <h3 class="mt-5 mb-20"><span class="material-symbols-rounded me-2">open_in_new</span> {{ trans('messages.audience.quick_action') }}</h3>
    <p class="mb-4">{{ trans('messages.audience.quick_action.desc') }}</p>

    <div class="my-4">
        <div class="quick-action-items">
            <div class="quick-action py-3 border-top">
                <div class="d-flex align-items-center">
                    <div class="me-4">
                        <img width="180px" src="{{ url('images/quick-action-sign-up-form.svg') }}" />
                    </div>
                    <div>
                        <label class="fs-6 fw-600 mb-1">{{ trans('messages.create_a_signup_form') }}</label>
                        <p class="mb-0 text-muted fst-italic">
                            {!! trans('messages.create_a_signup_form.desc') !!}
                        </p>
                    </div>
                    <div class="ms-auto">
                        <a href="{{ action('FormController@index') }}" class="btn btn-secondary py-2 px-4">
                            {{ trans('messages.form.create') }}
                        </a>
                    </div>
                </div>
            </div>
            <div class="quick-action py-3 border-top">
                <div class="d-flex align-items-center">
                    <div class="me-4">
                        <img width="180px" src="{{ url('images/import-contacts.png') }}" />
                    </div>
                    <div>
                        <label class="fs-6 fw-600 mb-1">{{ trans('messages.audience.import_contacts.title') }}</label>
                        <p class="mb-0 text-muted fst-italic">
                            {!! trans('messages.create_a_signup_form.desc') !!}
                        </p>
                    </div>
                    <div class="ms-auto">
                        <a href="javascript:;" class="btn btn-primary py-2 px-4 import-select-list">
                            {{ trans('messages.audience.import_contacts.title') }}
                        </a>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script>
        var AudienceOverviewImportSelectList = {
            url: '{!! action('LegacyMailListController@selectList', [
                'redirect' => action('SubscriberController@import2', [
                    'list_uid' => 'list_uid',                    
                ]),
                'title' => trans('messages.audience.import_contacts.title'),
            ]) !!}',

            popup: null,

            getPopup: function() {
                if (this.popup == null) {
                    this.popup = new Popup({
                        url: this.url
                    });
                }

                return this.popup;
            },

            load: function() {
                this.getPopup().load();
            }
        }

        $(function() {
            $('.import-select-list').on('click', function() {
                AudienceOverviewImportSelectList.load();
            });
        });
    </script>
@endsection