akaunting 3.0 (the last dance)

This commit is contained in:
Burak Civan
2022-06-01 10:15:55 +03:00
parent cead09f6d4
commit d9c0764572
3812 changed files with 126831 additions and 102949 deletions

View File

@ -1,38 +1,35 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans('modules.api_key') }}
</x-slot>
@section('title', trans('modules.api_key'))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('content')
<div class="card">
{!! Form::open([
'route' => 'apps.api-key.store',
'id' => 'form-app',
'@submit.prevent' => 'onSubmit',
'files' => true,
'role' => 'form',
'class' => 'form-loading-button'
]) !!}
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
<div class="card-body">
<div class="row">
{{ Form::textGroup('api_key', trans('modules.api_key'), 'key', ['required' => 'required', 'placeholder' => trans('general.form.enter', ['field' => trans('modules.api_key')])], setting('apps.api_key', null), 'col-sm-12') }}
<x-slot name="content" without-bar>
<x-form id="form-app" route="apps.api-key.store">
<div class="w-1/2">
<div class="py-8 flex flex-col gap-2">
<x-form.group.text name="api_key" placeholder="{{ trans('general.form.enter', ['field' => trans('modules.api_key')]) }}" value="{{ setting('apps.api_key', null) }}" />
<div class="col-sm-12">
<small>{!! trans('modules.get_api_key', ['url' => 'https://akaunting.com/dashboard']) !!}</small>
<div class="text-xs">
{!! trans('modules.get_api_key', ['url' => 'https://akaunting.com/dashboard']) !!}
</div>
</div>
</div>
<div class="card-footer">
<div class="row save-buttons">
{{ Form::saveButtons('apps.home.index') }}
<div>
<x-form.buttons cancel-route="apps.home.index" without-cancel />
</div>
</div>
</x-form>
</x-slot>
{!! Form::close() !!}
</div>
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/modules/apps.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>

View File

@ -1,72 +1,29 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans_choice('general.modules', 2) }}
</x-slot>
@section('title', trans_choice('general.modules', 2))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('new_button')
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
@section('content')
@include('partials.modules.bar')
<x-slot name="content">
<x-modules.banners />
@if ($pre_sale)
<h2>{{ trans('modules.pre_sale') }}</h2>
<x-modules.pre-sale />
<div class="row">
@if ($pre_sale->data)
@foreach ($pre_sale->data as $module)
@include('partials.modules.pre_sale')
@endforeach
@else
@include('partials.modules.no_apps')
@endif
</div>
@endif
<x-modules.paid />
@if ($paid)
<h2>{{ trans('modules.top_paid') }}</h2>
<x-modules.nnew />
<div class="row">
@if ($paid->data)
@foreach ($paid->data as $module)
@include('partials.modules.item')
@endforeach
@else
@include('partials.modules.no_apps')
@endif
</div>
@endif
<x-modules.free />
</x-slot>
@if ($new)
<h2>{{ trans('modules.new') }}</h2>
<div class="row">
@if ($new->data)
@foreach ($new->data as $module)
@include('partials.modules.item')
@endforeach
@else
@include('partials.modules.no_apps')
@endif
</div>
@endif
@if ($free)
<h2>{{ trans('modules.top_free') }}</h2>
<div class="row">
@if ($free->data)
@foreach ($free->data as $module)
@include('partials.modules.item')
@endforeach
@else
@include('partials.modules.no_apps')
@endif
</div>
@endif
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/modules/apps.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>

View File

@ -1,42 +1,35 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans('modules.documentation') }}
</x-slot>
@section('title', trans_choice('general.modules', 2))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('new_button')
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
@section('content')
@include('partials.modules.bar')
<x-slot name="content">
<div>
<div class="app-documentation flex flex-col gap-4 py-4">
@if ($documentation)
{!! $documentation->body !!}
@else
<x-empty-data />
@endif
</div>
<div class="card">
<div class="card-body documentation-content">
@if ($documentation)
{!! $documentation->body !!}
@else
{{ trans('general.na') }}
@endif
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-12">
<a href="{{ url($back) }}" class="btn btn-white">{{ trans('modules.back') }}</a>
</div>
<div class="flex flex-end">
<x-link href="{{ url($back) }}" class="px-6 py-1.5 hover:bg-gray-200 rounded-lg bg-light-gray">
{{ trans('modules.back') }}
</x-link>
</div>
</div>
</div>
@endsection
</x-slot>
@push('stylesheet')
<style>
.documentation-content img {
width: 100%;
}
</style>
@endpush
@push('scripts_start')
<script src="{{ asset('public/js/modules/apps.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>

View File

@ -1,166 +1,177 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans_choice('general.modules', 2) }}
</x-slot>
@section('title', trans_choice('general.modules', 2))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('new_button')
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
@section('content')
@include('partials.modules.bar')
<div class="row">
<div class="col-md-8">
<div class="row">
<div class="col-xs-12 col-sm-12">
<div class="float-left">
<h3>{{ $module->name }}</h3>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="tab-content">
<div class="tab-pane fade show active" id="description">
{!! $module->description !!}
@if ($module->screenshots || $module->video)
<akaunting-carousel :name="'{{ $module->name }}'" :height="'430px'" arrow="always"
<x-slot name="content">
<div class="flex flex-col gap-16 py-4">
<div class="flex flex-col lg:flex-row w-full gap-8 lg:gap-16">
<div class="w-full lg:w-7/12 flex flex-col gap-2 banner">
@foreach ($module->files as $file)
@if ($loop->first)
<div class="relative w-full">
<img src="{{ $file->path_string }}" class="w-full h-auto rounded-xl" />
@if ($module->video)
@php
if (strpos($module->video->link, '=') !== false) {
$code = explode('=', $module->video->link);
$code[1]= str_replace('&list', '', $code[1]);
}
@endphp
:video="'{{ $code[1] }}'"
@endif
:screenshots="{{ json_encode($module->screenshots) }}">
</akaunting-carousel>
@endif
@php
if (strpos($module->video->link, '=') !== false) {
$code = explode('=', $module->video->link);
$code[1]= str_replace('&list', '', $code[1]);
}
@endphp
<a href="https://www.youtube-nocookie.com/embed/{{ $code[1] }}" class="glightbox-video absolute flex items-center justify-around top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-20 h-20 bg-white bg-opacity-75 hover:bg-opacity-100 rounded-full">
<i class="material-icons text-purple text-7xl"> play_arrow </i>
</a>
@endif
</div>
@endif
@endforeach
@if ($module->categories)
<div class="flex justify-between">
<span>
@foreach ($module->categories as $module_category)
<a href="{{ route('apps.categories.show', $module_category->slug) }}">{{ $module_category->name }}</a> </br>
@endforeach
</span>
</div>
</div>
@endif
</div>
</div>
</div>
<div class="col-md-4">
<h3>{{ trans_choice('general.actions', 1) }}</h3>
<div class="w-full lg:w-5/12 flex flex-col justify-between">
<div class="flex flex-col gap-6">
<div class="flex flex-col">
<div class="flex flex-col gap-4">
@if ($module->vote)
<div class="flex items-center gap-4">
<div class="flex">
@for ($i = 1; $i <= $module->vote; $i++)
<i class="material-icons text-orange text-sm">star</i>
@endfor
<div class="card">
<div class="card-body">
<akaunting-countdown id="countdown-pre-sale"
:year="{{ (int) $module->pre_sale_date->year }}"
:month="{{ (int) $module->pre_sale_date->month - 1 }}"
:date="{{ (int) $module->pre_sale_date->day }}"
></akaunting-countdown>
</div>
</div>
@for ($i = $module->vote; $i < 5; $i++)
<i class="material-icons text-sm">star_border</i>
@endfor
</div>
<p class="text-xs">
@if ($module->total_review)
( {{ $module->total_review }} {{ trans('modules.tab.reviews') }} )
@endif
</p>
</div>
@endif
<div class="card">
<div class="card-body">
<div class="text-center">
<strong>
<div class="text-xl">
<div class="flex flex-col gap-1">
<div class="flex gap-4 items-baseline">
<h3 class="text-4xl font-semibold text-black">{{ $module->name }}</h3>
@if ($module->vendor_name)
<span class="text-sm"> by <a class="border-b border-dashed border-black transition-all hover:font-semibold" href="{{ route('apps.vendors.show', $module->vendor->slug) }}">{{ $module->vendor_name }}</a></span>
@endif
</div>
@if ($module->version)
<div class="text-xs">
<span>{{ trans('footer.version') }} {{ $module->version }}</span>
@if ($module->updated_at)
<span> ( {{ trans('modules.updated') }} {{ Date::parse($module->updated_at)->diffForHumans() }} )</span>
@endif
</div>
@endif
</div>
</div>
</div>
<div
class="text-sm whitespace-normal truncate line-clamp-3"
>
{!! $module->description !!}
</div>
<div class="flex items-baseline">
<span class="text-5xl font-bold text-purple">
@if ($module->price == '0.0000')
{{ trans('modules.free') }}
@else
{!! $module->price_prefix !!}
@if (isset($module->special_price))
<del class="text-danger">{{ $module->price }}</del>
{{ $module->special_price }}
@else
{{ $module->price }}
@endif
@if (isset($module->special_price))
<del>{{ $module->price }}</del>
{{ $module->special_price }}
@else
{{ $module->price }}
@endif
{!! $module->price_suffix !!}
@endif
</div>
</strong>
</span>
<span class="text-sm mb-0"> / {{ trans('modules.billed_yearly') }}</span>
</div>
</div>
<div class="flex flex-col mt-5">
@can('create-modules-item')
@if ($module->install)
<x-tooltip id="tooltip-countdown-install" placement="bottom" message="{{ trans('modules.pre_sale_install') }}">
<x-button
kind="primary"
override="class"
class="w-full px-3 py-1.5 mb-3 sm:mb-0 rounded-xl text-sm text-white font-medium leading-6 cursor-default bg-green hover:bg-green-700 disabled:bg-gray-50"
>
<akaunting-countdown id="countdown-pre-sale"
:year="{{ (int) $module->pre_sale_date->year }}"
:month="{{ (int) $module->pre_sale_date->month - 1 }}"
:date="{{ (int) $module->pre_sale_date->day }}"
></akaunting-countdown>
</x-button>
</x-tooltip>
@else
<x-tooltip id="tooltip-countdown-uninstall" placement="bottom" message="{{ trans('modules.pre_sale_uninstall') }}">
<x-link
href="/"
kind="primary"
override="class"
class="w-full flex items-center justify-center px-3 py-1.5 mb-3 sm:mb-0 rounded-xl text-sm font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
>
<akaunting-countdown id="countdown-pre-sale"
:year="{{ (int) $module->pre_sale_date->year }}"
:month="{{ (int) $module->pre_sale_date->month - 1 }}"
:date="{{ (int) $module->pre_sale_date->day }}"
></akaunting-countdown>
</x-link>
</x-tooltip>
@endif
@endcan
</div>
</div>
<div class="card-footer">
@can('create-modules-item')
@if ($module->install)
<a href="javascript:void(0)" class="btn btn-warning btn-block" disabled="disabled">
{{ trans('modules.pre_sale') }}
</a>
@else
<a href="{{ $module->action_url }}" class="btn btn-warning btn-block" target="_blank">
{{ trans('modules.pre_sale') }}
</a>
@endif
@endcan
@if (!empty($module->purchase_desc))
<div class="text-center mt-3">
{!! $module->purchase_desc !!}
</div>
@endif
</div>
</div>
<h3>{{ trans('modules.about') }}</h3>
<div class="card">
<table class="table">
<tbody>
@if ($module->vendor_name)
<tr class="row">
<th class="col-5">{{ trans_choice('general.developers', 1) }}</th>
<td class="col-7 text-right"><a href="{{ route('apps.vendors.show', $module->vendor->slug) }}">{{ $module->vendor_name }}</a></td>
</tr>
@endif
@if ($module->version)
<tr class="row">
<th class="col-5">{{ trans('footer.version') }}</th>
<td class="col-7 text-right">{{ $module->version }}</td>
</tr>
@endif
@if ($module->created_at)
<tr class="row">
<th class="col-5">{{ trans('modules.added') }}</th>
<td class="col-7 text-right long-texts">@date($module->created_at)</td>
</tr>
@endif
@if ($module->updated_at)
<tr class="row">
<th class="col-5">{{ trans('modules.updated') }}</th>
<td class="col-7 text-right">{{ Date::parse($module->updated_at)->diffForHumans() }}</td>
</tr>
@endif
@if ($module->categories)
<tr class="row">
<th class="col-5">{{ trans_choice('general.categories', (count($module->categories) > 1) ? 2 : 1) }}</th>
<td class="col-7 text-right">
@foreach ($module->categories as $module_category)
<a href="{{ route('apps.categories.show', $module_category->slug) }}">{{ $module_category->name }}</a> </br>
@endforeach
</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
</div>
@if ($module->purchase_faq)
<akaunting-modal :show="faq" modal-dialog-class="max-w-screen-md">
<template #modal-content>
{!! $module->purchase_faq !!}
</template>
</akaunting-modal>
@endif
</x-slot>
@if ($module->purchase_faq)
<akaunting-modal :show="faq" modal-dialog-class="modal-md">
<template #modal-content>
{!! $module->purchase_faq !!}
</template>
</akaunting-modal>
@endif
@endsection
@push('scripts_start')
<script type="text/javascript">
var app_slug = "{{ $module->slug }}";
</script>
@endpush
@push('scripts_start')
<script type="text/javascript">
var app_slug = "{{ $module->slug }}";
</script>
<script src="{{ asset('public/js/modules/item.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>

View File

@ -1,382 +1,278 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans_choice('general.modules', 2) }}
</x-slot>
@section('title', trans_choice('general.modules', 2))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('new_button')
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
@section('content')
@include('partials.modules.bar')
<x-slot name="content">
<div class="flex flex-col space-y-16 py-4">
<div class="flex flex-col lg:flex-row w-full space-x-16 space-y-0">
<div class="w-full lg:w-7/12 flex flex-col space-x-2 banner">
@foreach ($module->files as $file)
@if ($loop->first)
<div class="relative w-full">
<img src="{{ $file->path_string }}" class="w-full h-auto rounded-xl" />
<div class="row">
<div class="col-md-8">
<div class="row">
<div class="col-xs-6 col-sm-6">
<div class="float-left">
<h3>{!! $module->name !!}</h3>
</div>
</div>
<div class="col-xs-6 col-sm-6">
<div class="float-right">
@for($i = 1; $i <= $module->vote; $i++)
<i class="fa fa-star fa-sm text-yellow"></i>
@endfor
@for($i = $module->vote; $i < 5; $i++)
<i class="fa fa-star-o fa-sm"></i>
@endfor
</div>
</div>
</div>
<div class="nav-wrapper pt-0">
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
<li class="nav-item">
<a class="nav-link mb-sm-2 mb-md-0 active" href="#description" data-toggle="tab" aria-selected="false">
{{ trans('general.description') }}
</a>
</li>
@if ($module->installation)
<li class="nav-item">
<a class="nav-link mb-sm-2 mb-md-0" href="#installation" data-toggle="tab" aria-selected="false">
{{ trans('modules.tab.installation') }}
</a>
</li>
@endif
@if ($module->faq)
<li class="nav-item">
<a class="nav-link mb-sm-2 mb-md-0" href="#faq" data-toggle="tab" aria-selected="false">
{{ trans('modules.tab.faq') }}
</a>
</li>
@endif
@if ($module->changelog)
<li class="nav-item">
<a class="nav-link mb-sm-2 mb-md-0" href="#changelog" data-toggle="tab" aria-selected="false">
{{ trans('modules.tab.changelog') }}
</a>
</li>
@endif
<li class="nav-item">
<a class="nav-link mb-sm-2 mb-md-0" href="#review" data-toggle="tab" id="tab-{{ $module->slug }}-review" aria-selected="false">
{{ trans('modules.tab.reviews') }} @if ($module->total_review) ({{ $module->total_review }}) @endif
</a>
</li>
</ul>
</div>
<div class="card">
<div class="card-body">
<div class="tab-content">
<div class="tab-pane fade show active" id="description">
{!! $module->description !!}
@if($module->screenshots || $module->video)
<akaunting-carousel name="{!! $module->name !!}" height="430px" arrow="always"
@if($module->video)
@php
if (strpos($module->video->link, '=') !== false) {
$code = explode('=', $module->video->link);
$code[1]= str_replace('&list', '', $code[1]);
}
@endphp
:video="'{{ $code[1] }}'"
@endif
:screenshots="{{ json_encode($module->screenshots) }}">
</akaunting-carousel>
@endif
</div>
@if ($module->installation)
<div class="tab-pane fade" id="installation">
{!! $module->installation !!}
</div>
@endif
@if ($module->faq)
<div class="tab-pane fade" id="faq">
{!! $module->faq !!}
</div>
@endif
@if ($module->changelog)
<div class="tab-pane fade" id="changelog">
@if ($module->video)
@php
$releases = $module->app_releases;
if (strpos($module->video->link, '=') !== false) {
$code = explode('=', $module->video->link);
$code[1]= str_replace('&list', '', $code[1]);
}
@endphp
<div id="releases" class="clearfix" v-if="releases.status" v-html="releases.html"></div>
<div id="releases" class="clearfix" v-else>
@include('partials.modules.releases')
</div>
@php
$release_first_item = count($releases->data) > 0 ? ($releases->current_page - 1) * $releases->per_page + 1 : null;
$release_last_item = count($releases->data) > 0 ? $release_first_item + count($releases->data) - 1 : null;
@endphp
@if (!empty($release_first_item))
@stack('pagination_start')
<div class="row mt-4">
<div class="col-md-6">
<span class="table-text d-lg-block">
{{ trans('pagination.showing', ['first' => $release_first_item, 'last' => $release_last_item, 'total' => $releases->total, 'type' => strtolower(trans('modules.tab.changelog'))]) }}
</span>
</div>
<div class="col-md-6">
<ul class="pagination float-right">
{{-- Previous Page Link --}}
<li class="page-item disabled" v-if="releases.pagination.current_page == 1">
<span class="page-link">&laquo;</span>
</li>
<li class="page-item" v-else>
<button type="button" class="page-link" @click="onReleases(releases.pagination.current_page - 1)" rel="prev">&laquo;</button>
</li>
{{-- Pagination Elements --}}
@for ($page = 1; $page <= $releases->last_page; $page++)
<li class="page-item" :class="[{'active': releases.pagination.current_page == {{ $page }}}]" v-if="releases.pagination.current_page == {{ $page }}">
<span class="page-link">{{ $page }}</span>
</li>
<li class="page-item" v-else>
<button type="button" class="page-link" @click="onReleases({{ $page }})" data-page="{{ $page }}">{{ $page }}</button>
</li>
@endfor
{{-- Next Page Link --}}
<li class="page-item" v-if="releases.pagination.last_page != releases.pagination.current_page">
<button type="button" class="page-link" @click="onReleases(releases.pagination.current_page + 1)" rel="next">&raquo;</button>
</li>
<li class="page-item disabled" v-else>
<span class="page-link">&raquo;</span>
</li>
</ul>
</div>
</div>
@stack('pagination_end')
@else
<div class="row">
<div class="col-md-12">
<small>{{ trans('general.no_records') }}</small>
</div>
</div>
<a href="https://www.youtube-nocookie.com/embed/{{ $code[1] }}" class="glightbox-video absolute flex items-center justify-around top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-20 h-20 bg-white bg-opacity-75 hover:bg-opacity-100 rounded-full">
<i class="material-icons text-purple text-7xl">play_arrow</i>
</a>
@endif
</div>
@endif
@endif
@endforeach
<div class="tab-pane fade" id="review">
@php
$reviews = $module->app_reviews;
@endphp
@if ($module->categories)
<div class="flex justify-between">
<span>
@foreach ($module->categories as $module_category)
<a href="{{ route('apps.categories.show', $module_category->slug) }}">{{ $module_category->name }}</a> </br>
@endforeach
</span>
</div>
@endif
</div>
<div id="reviews" class="clearfix" v-if="reviews.status" v-html="reviews.html"></div>
<div id="reviews" class="clearfix" v-else>
@include('partials.modules.reviews')
</div>
@php
$review_first_item = count($reviews->data) > 0 ? ($reviews->current_page - 1) * $reviews->per_page + 1 : null;
$review_last_item = count($reviews->data) > 0 ? $review_first_item + count($reviews->data) - 1 : null;
@endphp
@if (!empty($review_first_item))
@stack('pagination_start')
<div class="row mt-4">
<div class="col-md-6">
<span class="table-text d-lg-block">
{{ trans('pagination.showing', ['first' => $review_first_item, 'last' => $review_last_item, 'total' => $reviews->total, 'type' => strtolower(trans('modules.tab.reviews'))]) }}
</span>
</div>
<div class="col-md-6">
<ul class="pagination float-right">
{{-- Previous Page Link --}}
<li class="page-item disabled" v-if="reviews.pagination.current_page == 1">
<span class="page-link">&laquo;</span>
</li>
<li class="page-item" v-else>
<button type="button" class="page-link" @click="onReviews(reviews.pagination.current_page - 1)" rel="prev">&laquo;</button>
</li>
{{-- Pagination Elements --}}
@for ($page = 1; $page <= $reviews->last_page; $page++)
<li class="page-item" :class="[{'active': reviews.pagination.current_page == {{ $page }}}]" v-if="reviews.pagination.current_page == {{ $page }}">
<span class="page-link">{{ $page }}</span>
</li>
<li class="page-item" v-else>
<button type="button" class="page-link" @click="onReviews({{ $page }})" data-page="{{ $page }}">{{ $page }}</button>
</li>
<div class="w-full lg:w-5/12" x-data="{ price_type : true }">
<div class="flex flex-col space-y-6">
<div class="flex flex-col">
<div class="flex flex-col space-y-4">
@if ($module->vote)
<div class="flex items-center space-x-4">
<div class="flex">
@for ($i = 1; $i <= $module->vote; $i++)
<i class="material-icons text-orange text-sm">star</i>
@endfor
{{-- Next Page Link --}}
<li class="page-item" v-if="reviews.pagination.last_page != reviews.pagination.current_page">
<button type="button" class="page-link" @click="onReviews(reviews.pagination.current_page + 1)" rel="next">&raquo;</button>
</li>
<li class="page-item disabled" v-else>
<span class="page-link">&raquo;</span>
</li>
</ul>
</div>
</div>
@for ($i = $module->vote; $i < 5; $i++)
<i class="material-icons text-sm">star_border</i>
@endfor
</div>
@stack('pagination_end')
@else
<div class="row">
<div class="col-md-12">
<small>{{ trans('general.no_records') }}</small>
<p class="text-xs">
@if ($module->total_review)
( {{ $module->total_review }} {{ trans('modules.tab.reviews') }} )
@endif
</p>
</div>
</div>
@endif
@endif
<div class="card-footer mx--4 mb--4">
<div class="row">
<div class="col-md-12 text-right">
@if (!empty($module->review_action))
<a href="{{ $module->review_action }}" class="btn btn-success" target="_blank">
{{ trans('modules.reviews.button.add') }}
</a>
<div class="flex flex-col">
<div class="flex flex-wrap items-baseline space-x-4">
<h3 class="text-4xl font-semibold text-black">
{!! $module->name !!}
</h3>
@if ($module->vendor_name)
<span class="text-sm">
by
<a id="apps-vendor" class="border-b border-dashed border-black transition-all hover:font-semibold" href="{{ route('apps.vendors.show', $module->vendor->slug) }}">
{{ $module->vendor_name }}
</a>
</span>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<h3>{{ trans_choice('general.actions', 1) }}</h3>
<div class="text-sm truncate line-clamp-1">
{!! $module->description !!}
</div>
@include('partials.modules.show.actions_header')
<div class="relative flex flex-col lg:flex-row space-x-4 justify-between">
<x-layouts.modules.show.price :module="$module" />
<div class="card">
<div class="card-body">
@include('partials.modules.show.price')
<div class="flex w-1/2 lg:justify-center">
@if ($module->price != '0.0000')
<x-layouts.modules.show.toggle />
@endif
</div>
</div>
</div>
<div class="flex justify-around space-x-12 mt-5">
<x-layouts.modules.show.buttons :module="$module" :installed="$installed" :enable="$enable" />
</div>
</div>
</div>
<div class="card">
<div class="card-body">
@include('partials.modules.show.buttons')
</div>
</div>
<div class="tabs w-full">
<x-tabs class="flex border-b -mb-1 space-x-2 overflow-x-scroll lg:overflow-visible" active="{{ ! empty($module->call_to_actions) ? 'features' : 'description' }}">
<x-slot name="navs">
@stack('features_nav_start')
<h3>{{ trans('modules.about') }}</h3>
<div class="card">
<table class="table">
<tbody>
@if ($module->vendor_name)
<tr class="row">
<th class="col-5">{{ trans_choice('general.developers', 1) }}</th>
<td class="col-7 text-right"><a href="{{ route('apps.vendors.show', $module->vendor->slug) }}">{{ $module->vendor_name }}</a></td>
</tr>
@if ($module->call_to_actions)
<x-tabs.nav
id="features"
name="{{ trans('modules.tab.features') }}"
active
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@else
<x-tabs.nav
id="description"
name="{{ trans('general.description') }}"
active
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@endif
@if ($module->version)
<tr class="row">
<th class="col-5">{{ trans('footer.version') }}</th>
<td class="col-7 text-right">{{ $module->version }}</td>
</tr>
@stack('reviews_nav_start')
@if ($module->app_reviews->data)
<x-tabs.nav
id="reviews"
name="{{ trans('modules.tab.reviews') }}"
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@endif
@if ($module->created_at)
<tr class="row">
<th class="col-5">{{ trans('modules.added') }}</th>
<td class="col-7 text-right long-texts">@date($module->created_at)</td>
</tr>
@stack('installation_nav_start')
@if ($module->installation)
<x-tabs.nav
id="installation"
name="{{ trans('modules.tab.installation') }}"
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@endif
@if ($module->updated_at)
<tr class="row">
<th class="col-5">{{ trans('modules.updated') }}</th>
<td class="col-7 text-right">{{ Date::parse($module->updated_at)->diffForHumans() }}</td>
</tr>
@stack('documentation_nav_start')
@if ($module->documentation)
<x-tabs.nav
id="documentation"
name="{{ trans('modules.documentation') }}"
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@endif
@if ($module->categories)
<tr class="row">
<th class="col-5">{{ trans_choice('general.categories', (count($module->categories) > 1) ? 2 : 1) }}</th>
<td class="col-7 text-right">
@foreach ($module->categories as $module_category)
<a href="{{ route('apps.categories.show', $module_category->slug) }}">{{ $module_category->name }}</a> </br>
@endforeach
</td>
</tr>
@stack('screenshots_nav_start')
@if ($module->screenshots)
<x-tabs.nav
id="screenshots"
name="{{ trans('modules.tab.screenshots') }}"
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@endif
<tr class="row">
<th class="col-5">{{ trans('modules.documentation') }}</th>
@if ($module->documentation)
<td class="col-7 text-right">
<a href="{{ route('apps.docs.show', $module->slug) }}">{{ trans('modules.view') }}</a>
</td>
@stack('changelog_nav_start')
@if ($module->changelog)
<x-tabs.nav
id="changelog"
name="{{ trans('modules.tab.changelog') }}"
class="relative px-8 text-sm text-black text-center pb-2 cursor-pointer transition-all border-b tabs-link"
/>
@endif
@stack('changelog_nav_end')
</x-slot>
<x-slot name="content">
<div class="pt-4">
@stack('features_tab_start')
@if ($module->call_to_actions)
<x-tabs.tab id="features">
<x-layouts.modules.show.features :module="$module" />
</x-tabs.tab>
@else
<td class="col-7 text-right">{{ trans('general.na') }}</td>
<x-tabs.tab id="description">
<x-layouts.modules.show.description :module="$module" />
</x-tabs.tab>
@endif
</tr>
</tbody>
</table>
@stack('reviews_tab_start')
@if ($module->app_reviews->data)
<x-tabs.tab id="reviews">
<x-layouts.modules.show.reviews :module="$module" />
</x-tabs.tab>
@endif
@stack('installation_tab_start')
@if ($module->installation)
<x-tabs.tab id="installation">
<x-layouts.modules.show.installation :module="$module" />
</x-tabs.tab>
@endif
@stack('documentation_tab_start')
@if ($module->documentation)
<x-tabs.tab id="documentation">
<x-layouts.modules.show.documentation :module="$module" />
</x-tabs.tab>
@endif
@stack('screenshots_tab_start')
@if ($module->screenshots)
<x-tabs.tab id="screenshots">
<x-layouts.modules.show.screenshots :module="$module" />
</x-tabs.tab>
@endif
@stack('changelog_tab_start')
@if ($module->changelog)
<x-tabs.tab id="changelog">
<x-layouts.modules.show.releases :module="$module" />
</x-tabs.tab>
@endif
@stack('changelog_tab_end')
</div>
</x-slot>
</x-tabs>
</div>
</div>
</div>
@if ($module->purchase_faq)
<akaunting-modal :show="faq" modal-dialog-class="modal-md">
<template #modal-content>
{!! $module->purchase_faq !!}
</template>
</akaunting-modal>
@endif
@if ($module->install)
<akaunting-modal
:show="installation.show"
title="{{ trans('modules.installation.header') }}"
@cancel="installation.show = false"
>
<template #modal-body>
<div class="py-1 px-5 bg-body h-5/6 overflow-y-auto">
<el-progress :text-inside="true" :stroke-width="24" :percentage="installation.total" :status="installation.status"></el-progress>
<div id="progress-text" class="mt-3" v-html="installation.html"></div>
</div>
</template>
@if ($module->install)
<akaunting-modal :show="installation.show"
title="{{ trans('modules.installation.header') }}"
@cancel="installation.show = false">
<template #modal-body>
<div class="modal-body">
<el-progress :text-inside="true" :stroke-width="24" :percentage="installation.total" :status="installation.status"></el-progress>
<template #card-footer>
<span></span>
</template>
</akaunting-modal>
@endif
</x-slot>
<div id="progress-text" class="mt-3" v-html="installation.html"></div>
</div>
</template>
<template #card-footer>
<span></span>
</template>
</akaunting-modal>
@endif
@endsection
@push('scripts_start')
<script type="text/javascript">
var app_slug = "{{ $module->slug }}";
</script>
@endpush
@push('scripts_start')
<script type="text/javascript">
var app_slug = "{{ $module->slug }}";
$(document).on("click", "#app-pricing .nav-link", function() {
$('#button-monthly').removeClass('d-none');
$('#button-yearly').addClass('d-none');
if ($(this).attr('href') == '#yearly') {
$('#button-yearly').removeClass('d-none');
$('#button-monthly').addClass('d-none');
}
});
</script>
<script src="{{ asset('public/js/modules/item.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>

View File

@ -1,44 +1,23 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans_choice('general.modules', 2) }}
</x-slot>
@section('title', trans_choice('general.modules', 2))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('new_button')
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
@section('content')
@include('partials.modules.bar')
<x-slot name="content">
<x-modules.purchased />
<h2>{{ trans('modules.my.purchased') }}</h2>
<x-modules.installed />
</x-slot>
<div class="row">
@if ($purchased)
@foreach ($purchased as $module)
@include('partials.modules.item')
@endforeach
@else
<div class="col-md-12">
@include('partials.modules.no_apps')
</div>
@endif
</div>
<h2>{{ trans('modules.my.installed') }}</h2>
<div class="row">
@if ($modules)
@foreach ($modules as $module)
@include('partials.modules.item')
@endforeach
@else
<div class="col-md-12">
@include('partials.modules.no_apps')
</div>
@endif
</div>
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/modules/apps.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>

View File

@ -1,46 +1,21 @@
@extends('layouts.modules')
<x-layouts.modules>
<x-slot name="title">
{{ trans_choice('general.modules', 2) }}
</x-slot>
@section('title', trans_choice('general.modules', 2))
<x-slot name="buttons">
<x-link href="{{ route('apps.api-key.create') }}">
{{ trans('modules.api_key') }}
</x-link>
@section('new_button')
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
<x-link href="{{ route('apps.my.index') }}">
{{ trans('modules.my_apps') }}
</x-link>
</x-slot>
@section('content')
@include('partials.modules.bar')
<x-slot name="content">
<x-modules.items title="{{ $title }}" :model="$modules" see-more />
</x-slot>
<h2>{{ $title }}</h2>
<div class="row">
@if ($modules && !empty($modules->data))
@foreach ($modules->data as $module)
@if ($module->status_type == 'pre_sale')
@include('partials.modules.pre_sale')
@else
@include('partials.modules.item')
@endif
@endforeach
<div class="col-md-6 text-left">
@if ($modules->current_page > 1)
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page - 1 }}" class="btn btn-white btn-sm">{!! trans('pagination.previous') !!}</a>
@endif
</div>
<div class="col-md-6 text-right">
@if ($modules->current_page < $modules->last_page)
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page + 1 }}" class="btn btn-white btn-sm">{!! trans('pagination.next') !!}</a>
@endif
</div>
@else
<div class="col-md-12">
@include('partials.modules.no_apps')
</div>
@endif
</div>
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/modules/apps.js?v=' . version('short')) }}"></script>
@endpush
<x-script folder="modules" file="apps" />
</x-layouts.modules>