mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-24 22:11:01 -06:00
Merge pull request #530 from openclassify/dia
#1143 [Post ad] Selecting cats design and imp.
This commit is contained in:
commit
33a22f3bd2
@ -1,4 +1,22 @@
|
|||||||
|
#ad-cat-section .step-icon {
|
||||||
|
height: 1rem;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.category-tab {
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cat-item:not(.focus-select) div, .cat-item:not(.focus-select) select {
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.focus-select .cat-option {
|
||||||
|
box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
|
||||||
|
}
|
||||||
|
|
||||||
.cat-select {
|
.cat-select {
|
||||||
|
height: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: none;
|
border: none;
|
||||||
overflow-y: auto
|
overflow-y: auto
|
||||||
@ -8,12 +26,16 @@
|
|||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cat-item {
|
||||||
|
flex: none;
|
||||||
|
width: 13rem;
|
||||||
|
}
|
||||||
|
|
||||||
.cat-select option {
|
.cat-select option {
|
||||||
border-top: 1px solid #f2f2f2;
|
cursor: pointer;
|
||||||
padding: 15px 0 20px;
|
border-radius: 2px;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 10px;
|
font-size: 13px;
|
||||||
font-size: 16px;
|
|
||||||
color: #505050;
|
color: #505050;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,14 +43,32 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cat-item-3 {
|
.cat-item:last-child {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.next-stap img {
|
||||||
|
width: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-stap p {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-1 {
|
.btn-1 {
|
||||||
background-color: #00a651;
|
background-color: #00a651;
|
||||||
padding: 5px 50px 7px;
|
padding: 5px 30px 7px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border: 1px solid #dadada;
|
border: 1px solid #dadada;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cat-select::-webkit-scrollbar {
|
||||||
|
width: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cat-select::-webkit-scrollbar-thumb {
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(0,0,0,0.5);
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||||
|
<path style="fill:#92ECF6;" d="M497,0H376.5c-8.284,0-15,6.716-15,15v105.5H256c-8.284,0-15,6.716-15,15V241H135.5
|
||||||
|
c-8.284,0-15,6.716-15,15v105.5H15c-8.284,0-15,6.716-15,15V497c0,8.284,6.716,15,15,15h482c8.284,0,15-6.716,15-15V15
|
||||||
|
C512,6.716,505.284,0,497,0z"/>
|
||||||
|
<path style="fill:#2FD6F0;" d="M497,0H376.5c-8.284,0-15,6.716-15,15v105.5H256c-8.284,0-15,6.716-15,15V241v271h256
|
||||||
|
c8.284,0,15-6.716,15-15V15C512,6.716,505.284,0,497,0z"/>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 927 B |
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" width="512px" height="512px" class=""><g><ellipse style="fill:#26A67C" cx="256" cy="256" rx="256" ry="255.832" data-original="#32BEA6" class="" data-old_color="#32BEA6"/><polygon style="fill:#FFFFFF" points="235.472,392.08 114.432,297.784 148.848,253.616 223.176,311.52 345.848,134.504 391.88,166.392 " data-original="#FFFFFF" class="active-path" data-old_color="#FFFFFF"/></g> </svg>
|
||||||
|
After Width: | Height: | Size: 621 B |
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||||
|
<ellipse style="fill:#E04F5F;" cx="256" cy="256" rx="256" ry="255.832"/>
|
||||||
|
<g transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 77.26 32)">
|
||||||
|
<rect x="3.98" y="-427.615" style="fill:#FFFFFF;" width="55.992" height="285.672"/>
|
||||||
|
<rect x="-110.828" y="-312.815" style="fill:#FFFFFF;" width="285.672" height="55.992"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 812 B |
@ -22,26 +22,40 @@ $(document).ready(function () {
|
|||||||
success: function (response) {
|
success: function (response) {
|
||||||
hideLoader();
|
hideLoader();
|
||||||
if(response['title'] != undefined){
|
if(response['title'] != undefined){
|
||||||
var btn = '<button type="submit" class="btn-1">'+response['nextBtn']+'</button>'
|
response['success'] ? $('.cross-icon').hide() : $('.check-icon').hide();
|
||||||
if(response['link'] != "") {
|
|
||||||
btn = "<a class='btn btn-primary' href='/profile' role='button'>"+response['nextBtn']+"</a>";
|
let btn = '<button type="submit" class="btn-1">'+response['continueBtn']+'</button>';
|
||||||
|
if (response['link']) {
|
||||||
|
btn = "<a class='link-unstyled btn-1 text-white' href='"+response['link']+"' role='button'>"+response['continueBtn']+"</a>";
|
||||||
}
|
}
|
||||||
$('.cat-item-3').html(
|
let content;
|
||||||
'<div class="section next-stap post-option p-2">' +
|
if (response['msg']) {
|
||||||
'<h5>'+response['title']+'</h5>' +
|
content = `
|
||||||
'<p class="p-2">'+response['msg']+'</p>' +
|
<p class="mb-1 mt-2">${response['title']}</p>
|
||||||
'<div class="btn-section btn-next">' +
|
<small class="text-muted">${response['msg']}</small>
|
||||||
btn +
|
<div class="mt-3 btn-section btn-next">${btn}</div>
|
||||||
'<a href="/">'+response['cancelBtn']+'</a></div></div>'
|
`
|
||||||
);
|
} else {
|
||||||
$('.cat-item-3').show();
|
content = `
|
||||||
|
<p class="mb-3 mt-2">${response['title']}</p>
|
||||||
|
<div class="btn-section btn-next">${btn}</div>
|
||||||
|
`
|
||||||
|
}
|
||||||
|
$('.cat-item-3 .next-content').html(content);
|
||||||
|
$('.cat-item-3').parent().css('display', 'flex');
|
||||||
stop();
|
stop();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
response.forEach(function(options){
|
response.forEach(function(options){
|
||||||
$(catId).append("<option value="+options.id+">"+options.name+"</option>").closest('.cat-item-2').show();
|
$(catId).append("<option class='text-truncate pl-1 my-1' value="+options.id+">"+options.name+"</option>");
|
||||||
});
|
});
|
||||||
|
$('.focus-select').removeClass('focus-select');
|
||||||
|
$(catId).animate({height: '14rem'}, 200);
|
||||||
|
$(catId).closest('.cat-item-2').show().addClass('focus-select')
|
||||||
}
|
}
|
||||||
|
// Auto scroll right
|
||||||
|
let categoryTab = $('.category-tab');
|
||||||
|
let pos = categoryTab.scrollLeft() + categoryTab.width();
|
||||||
|
categoryTab.animate( {scrollLeft: pos}, 1000);
|
||||||
},
|
},
|
||||||
beforeSend: function () {
|
beforeSend: function () {
|
||||||
showLoader()
|
showLoader()
|
||||||
@ -54,8 +68,10 @@ $(document).ready(function () {
|
|||||||
var endNo = 9;
|
var endNo = 9;
|
||||||
|
|
||||||
while (startNo <= endNo) {
|
while (startNo <= endNo) {
|
||||||
$('#cat'+ startNo).html("").closest('.cat-item-2').hide();
|
$('#cat'+ startNo).animate({height: 0}, 200, 'linear', function () {
|
||||||
$('.cat-item-3').hide();
|
$(this).html("").closest('.cat-item-2').hide();
|
||||||
|
});
|
||||||
|
$('.cat-item-3').parent().hide();
|
||||||
startNo++;
|
startNo++;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -63,13 +79,14 @@ $(document).ready(function () {
|
|||||||
for (var i = 1; i <= 10; i++) {
|
for (var i = 1; i <= 10; i++) {
|
||||||
(function(){
|
(function(){
|
||||||
var ii = i;
|
var ii = i;
|
||||||
$('#cat'+i).on('change', function (i,e) {
|
$('#cat' + i).on('change', function (i, e) {
|
||||||
divId = $(this).find('option:selected').val();
|
let selectedOption = $(this).find('option:selected');
|
||||||
|
let divId = selectedOption.val();
|
||||||
if (divId == 0) {
|
if (divId == 0) {
|
||||||
filter.hideCats(ii+1);
|
filter.hideCats(ii + 1);
|
||||||
}
|
}
|
||||||
filter.hideCats(ii+1);
|
filter.hideCats(ii + 1);
|
||||||
filter.getCats("#cat"+(ii+1), divId);
|
filter.getCats("#cat" + (ii + 1), divId);
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,30 +1,48 @@
|
|||||||
phoneMask("input[name='gsm_phone'],input[name='office_phone'],input[name='land_phone']")
|
phoneMask("input[name='gsm_phone'],input[name='office_phone'],input[name='land_phone']")
|
||||||
$('.formEditInfo').on('submit', function (e) {
|
$('.formEditInfo').on('submit', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
const oldBtnHtml = $(this).find('.btn-success').html();
|
||||||
|
$(this).find('.btn-success').attr('disabled', true).html(`
|
||||||
|
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
|
||||||
|
`);
|
||||||
|
|
||||||
var form = $(this);
|
var form = $(this);
|
||||||
|
|
||||||
crud(form.serialize() + "&action=update", '/ajax/update-user-info', 'POST', function (callback) {
|
$.ajax({
|
||||||
if (callback.status == "success") {
|
type: 'POST',
|
||||||
var profile = callback.data;
|
data: form.serialize() + "&action=update",
|
||||||
$('.infoName').html(profile.first_name + " " + profile.last_name);
|
url: '/ajax/update-user-info',
|
||||||
$('.infoGsmPhone').html(profile.gsm_phone);
|
success: function (response) {
|
||||||
$('.infoOfficePhone').html(profile.office_phone);
|
if (response.status == "success") {
|
||||||
$('.infoLandPhone').html(profile.land_phone);
|
var profile = response.data;
|
||||||
$('#editMyInfo').modal('hide');
|
$('.infoName').html(profile.first_name + " " + profile.last_name);
|
||||||
|
$('.infoGsmPhone').html(profile.gsm_phone);
|
||||||
|
$('.infoOfficePhone').html(profile.office_phone);
|
||||||
|
$('.infoLandPhone').html(profile.land_phone);
|
||||||
|
$('#editMyInfo').modal('hide');
|
||||||
|
|
||||||
|
$('.formEditInfo .btn-success').attr('disabled', false).html(oldBtnHtml);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
$('.editInformationUser').on('click', function () {
|
$('.editInformationUser').on('click', function () {
|
||||||
$('#editMyInfo').modal('show');
|
$('#editMyInfo').modal('show');
|
||||||
crud({}, '/ajax/update-user-info', 'POST', function (callback) {
|
|
||||||
if (callback.status == "success") {
|
$.ajax({
|
||||||
var profile = callback.data;
|
type: 'POST',
|
||||||
$('input[name="first_name"]').val(profile.first_name)
|
url: '/ajax/update-user-info',
|
||||||
$('input[name="last_name"]').val(profile.last_name)
|
success: function (response) {
|
||||||
intlTelInput(document.querySelector("input[name='gsm_phone']")).setNumber(profile.gsm_phone)
|
if (response.status == "success") {
|
||||||
intlTelInput(document.querySelector("input[name='office_phone']")).setNumber(profile.office_phone)
|
var profile = response.data;
|
||||||
intlTelInput(document.querySelector("input[name='land_phone']")).setNumber(profile.land_phone)
|
$('input[name="first_name"]').val(profile.first_name)
|
||||||
|
$('input[name="last_name"]').val(profile.last_name)
|
||||||
|
intlTelInput(document.querySelector("input[name='gsm_phone']")).setNumber(profile.gsm_phone)
|
||||||
|
intlTelInput(document.querySelector("input[name='office_phone']")).setNumber(profile.office_phone)
|
||||||
|
intlTelInput(document.querySelector("input[name='land_phone']")).setNumber(profile.land_phone)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
})
|
||||||
@ -285,4 +285,7 @@ return [
|
|||||||
'update_my_contact_info' => 'update my contact info',
|
'update_my_contact_info' => 'update my contact info',
|
||||||
'contact_info' => 'Contact information',
|
'contact_info' => 'Contact information',
|
||||||
'ad_info' => 'Ad Information',
|
'ad_info' => 'Ad Information',
|
||||||
|
|
||||||
|
// Select cat
|
||||||
|
'select_category_step_by_step' => 'Select Category Step by Step',
|
||||||
];
|
];
|
||||||
|
|||||||
@ -10,16 +10,13 @@ return [
|
|||||||
'updated_category_msg' => 'Category successfully edited.',
|
'updated_category_msg' => 'Category successfully edited.',
|
||||||
'max_ad_limit' => [
|
'max_ad_limit' => [
|
||||||
'title' => "Your Free Ad Limit is Out.",
|
'title' => "Your Free Ad Limit is Out.",
|
||||||
'msg' => "You have reached your free ad limit.",
|
'continueBtn' => "Show Ads",
|
||||||
'nextBtn' => "Show Ads",
|
'link' => "/profile",
|
||||||
'cancelBtn' => "or Cancel",
|
|
||||||
],
|
],
|
||||||
'create_ad_with_post_cat' => [
|
'create_ad_with_post_cat' => [
|
||||||
'title' => "Post an Ad in just 30 seconds",
|
'title' => "Category selection has been completed.",
|
||||||
'msg' => "Please DO NOT post multiple ads for the same items or service. All duplicate, spam and wrongly categorized ads will be deleted.",
|
'success' => true,
|
||||||
'nextBtn' => "Next",
|
'continueBtn' => "Continue",
|
||||||
'cancelBtn' => "or Cancel",
|
|
||||||
'link' => "",
|
|
||||||
],
|
],
|
||||||
'update_category_info' => 'Please update category.',
|
'update_category_info' => 'Please update category.',
|
||||||
'filter_by_search_msg' => 'Filter By Search.',
|
'filter_by_search_msg' => 'Filter By Search.',
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{% extends layout('new-create') %}
|
{% extends layout('new-create') %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<section id="main" class="clearfix home-default">
|
<section class="clearfix home-default">
|
||||||
<div class="container">
|
<div>
|
||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
{% for cat in cats_d %}
|
{% for cat in cats_d %}
|
||||||
@ -39,56 +39,7 @@
|
|||||||
<input type="hidden" name="update_id" value="{{ id }}">
|
<input type="hidden" name="update_id" value="{{ id }}">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
|
||||||
|
{% include 'visiosoft.module.advs::new-ad/partials/contact-info' %}
|
||||||
<h5 class="pb-1 border-bottom">{{ trans('visiosoft.module.advs::field.contact_info') }}</h5>
|
|
||||||
<div class="col-12 bg-light row m-0">
|
|
||||||
<div class="col-12 col-md-6 border my-4 bg-white py-3 row m-0 px-0 editContact rounded">
|
|
||||||
<div class="col-12 row m-0 border-bottom py-2">
|
|
||||||
<div class="col-12 col-md-4 pl-0">
|
|
||||||
<label class="mb-0 font-weight-bold">
|
|
||||||
{{ trans('visiosoft.module.profile::field.first_name.name') }}
|
|
||||||
{{ trans('visiosoft.module.profile::field.last_name.name') }}:
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 col-md-8 infoName">
|
|
||||||
{{ getProfileDetail(auth_user().id).first_name }}
|
|
||||||
{{ getProfileDetail(auth_user().id).last_name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 row m-0 border-bottom py-1">
|
|
||||||
<div class="col-12 col-md-4 pl-0">
|
|
||||||
<label class="mb-0 font-weight-bold">{{ trans('visiosoft.module.profile::field.gsm_phone.name') }}</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 col-md-8 infoGsmPhone">
|
|
||||||
{{ getProfileDetail(auth_user().id).gsm_phone }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 row m-0 border-bottom py-1">
|
|
||||||
<div class="col-12 col-md-4 pl-0">
|
|
||||||
<label class="mb-0 font-weight-bold">{{ trans('visiosoft.module.profile::field.office_phone.name') }}</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 col-md-8 infoOfficePhone">
|
|
||||||
{{ getProfileDetail(auth_user().id).office_phone }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 row m-0 py-1">
|
|
||||||
<div class="col-12 col-md-4 pl-0">
|
|
||||||
<label class="mb-0 font-weight-bold">{{ trans('visiosoft.module.profile::field.land_phone.name') }}</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 col-md-8 infoLandPhone">
|
|
||||||
{{ getProfileDetail(auth_user().id).land_phone }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<p class="px-3 py-2">
|
|
||||||
<a href="#" class="editInformationUser">
|
|
||||||
<i class="fas fa-pen"></i>
|
|
||||||
{{ trans('visiosoft.module.advs::field.update_my_contact_info') }}
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h5 class="mt-5 pb-1 border-bottom">{{ trans('visiosoft.module.advs::field.ad_info') }}</h5>
|
<h5 class="mt-5 pb-1 border-bottom">{{ trans('visiosoft.module.advs::field.ad_info') }}</h5>
|
||||||
<div class="section postdetails">
|
<div class="section postdetails">
|
||||||
|
|||||||
@ -3,5 +3,4 @@
|
|||||||
<li class="breadcrumb-item"><a href="{{ url("/") }}">{{ trans('visiosoft.module.advs::field.home') }}</a></li>
|
<li class="breadcrumb-item"><a href="{{ url("/") }}">{{ trans('visiosoft.module.advs::field.home') }}</a></li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">{{ trans('visiosoft.module.advs::field.ad_post') }}</li>
|
<li class="breadcrumb-item active" aria-current="page">{{ trans('visiosoft.module.advs::field.ad_post') }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
<h2 class="title">{{ trans('visiosoft.module.advs::field.post_free_ad') }}</h2>
|
|
||||||
</nav>
|
</nav>
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
<h5 class="pb-1 border-bottom">{{ trans('visiosoft.module.advs::field.contact_info') }}</h5>
|
||||||
|
<div class="col-12 bg-light row m-0">
|
||||||
|
<div class="col-12 col-md-6 border my-4 bg-white py-3 row m-0 px-0 editContact rounded">
|
||||||
|
<div class="col-12 row m-0 border-bottom py-2">
|
||||||
|
<div class="col-12 col-md-4 pl-0">
|
||||||
|
<label class="mb-0 font-weight-bold">
|
||||||
|
{{ trans('visiosoft.module.profile::field.first_name.name') }}
|
||||||
|
{{ trans('visiosoft.module.profile::field.last_name.name') }}:
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-8 infoName">
|
||||||
|
{{ getProfileDetail(auth_user().id).first_name }}
|
||||||
|
{{ getProfileDetail(auth_user().id).last_name }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 row m-0 border-bottom py-1">
|
||||||
|
<div class="col-12 col-md-4 pl-0">
|
||||||
|
<label class="mb-0 font-weight-bold">{{ trans('visiosoft.module.profile::field.gsm_phone.name') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-8 infoGsmPhone">
|
||||||
|
{{ getProfileDetail(auth_user().id).gsm_phone }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 row m-0 border-bottom py-1">
|
||||||
|
<div class="col-12 col-md-4 pl-0">
|
||||||
|
<label class="mb-0 font-weight-bold">{{ trans('visiosoft.module.profile::field.office_phone.name') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-8 infoOfficePhone">
|
||||||
|
{{ getProfileDetail(auth_user().id).office_phone }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 row m-0 py-1">
|
||||||
|
<div class="col-12 col-md-4 pl-0">
|
||||||
|
<label class="mb-0 font-weight-bold">{{ trans('visiosoft.module.profile::field.land_phone.name') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-8 infoLandPhone">
|
||||||
|
{{ getProfileDetail(auth_user().id).land_phone }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="px-3 py-2">
|
||||||
|
<a href="#" class="editInformationUser">
|
||||||
|
<i class="fas fa-pen"></i>
|
||||||
|
{{ trans('visiosoft.module.advs::field.update_my_contact_info') }}
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -58,5 +58,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ asset_add("scripts.js", "visiosoft.module.advs::js/editContactInformation.js") }}
|
{{ asset_add("scripts.js", "visiosoft.module.advs::js/editContactInformation.js") }}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,121 +1,96 @@
|
|||||||
{% extends layout('post-cat') %}
|
{% extends layout('post-cat') %}
|
||||||
|
|
||||||
|
{% block styles %}
|
||||||
|
{{ asset_style("visiosoft.module.advs::css/post-category.css") }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<section id="main" class="clearfix ad-post-page">
|
<section class="clearfix ad-post-page">
|
||||||
<div class="container">
|
{% include "visiosoft.module.advs::new-ad/partials/breadcrumb" %}
|
||||||
{% include "visiosoft.module.advs::new-ad/partials/breadcrumb" %}
|
<div id="ad-cat-section" class="border rounded shadow-sm bg-light py-4 px-3">
|
||||||
<div id="ad-cat-section">
|
<h5 class="mb-3">
|
||||||
<form action="{{ url_route('visiosoft.module.advs::post_cat') }}" method="post">
|
<img src="{{ img('visiosoft.module.advs::images/ascend.svg').url }}" class="step-icon mr-1">
|
||||||
<div class="row category-tab">
|
{{ trans('visiosoft.module.advs::field.select_category_step_by_step') }}
|
||||||
|
</h5>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2">
|
<form action="{{ url_route('visiosoft.module.advs::post_cat') }}" method="post">
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="d-flex category-tab pb-3">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_category') }}</h5>
|
<div class="pr-2 cat-item mb-2 focus-select">
|
||||||
<select class="cat-select" name="cat1" id="cat1" multiple>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
{% for cat in main_cats %}
|
<select class="cat-select mt-2 pr-1" name="cat1" id="cat1" style="height: 14rem" multiple>
|
||||||
<option value="{{ cat.id }}">
|
{% for cat in main_cats %}
|
||||||
{{ cat.name }}
|
<option class="text-truncate pl-1 my-1" value="{{ cat.id }}">
|
||||||
</option>
|
{{ cat.name }}
|
||||||
{% endfor %}
|
</option>
|
||||||
</select>
|
{% endfor %}
|
||||||
</div>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<select class="cat-select mt-2 pr-1" name="cat2" id="cat2" multiple></select>
|
||||||
<select class="cat-select" name="cat2" id="cat2" multiple>
|
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat3" id="cat3" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat3" id="cat3" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat4" id="cat4" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat4" id="cat4" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat5" id="cat5" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat5" id="cat5" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat6" id="cat6" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat6" id="cat6" multiple>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat7" id="cat7" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat7" id="cat7" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat8" id="cat8" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat8" id="cat8" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat9" id="cat9" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat9" id="cat9" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6 cat-item mb-2 cat-item-2">
|
</div>
|
||||||
<div class="section cat-option select-category post-option card p-2">
|
<div class="pr-2 cat-item mb-2 cat-item-2">
|
||||||
<h5>{{ trans('visiosoft.module.advs::field.select_a_sub_category') }}</h5>
|
<div class="section cat-option select-category post-option card px-1">
|
||||||
<select class="cat-select" name="cat10" id="cat10" multiple>
|
<select class="cat-select mt-2 pr-1" name="cat10" id="cat10" multiple></select>
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-4 col-md-12 cat-item mb-2">
|
<div class="cat-item mb-2 shadow-sm border rounded align-items-center">
|
||||||
<div class="card cat-item-3 p-2">
|
<div class="cat-item-3">
|
||||||
|
<div class="section next-stap post-option px-4 text-center">
|
||||||
|
<img src="{{ img('visiosoft.module.advs::images/check.svg').url }}" class="check-icon">
|
||||||
|
<img src="{{ img('visiosoft.module.advs::images/cross.svg').url }}" class="cross-icon">
|
||||||
|
<div class="next-content"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col-sm-8 col-sm-offset-2 text-center">
|
<div class="row">
|
||||||
{{ blocks('center-add-ad-banner-area') }}
|
<div class="col-sm-8 col-sm-offset-2 text-center">
|
||||||
</div>
|
{{ blocks('center-add-ad-banner-area') }}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<style>
|
|
||||||
#main {
|
|
||||||
background-image: {{ img('visiosoft.module.advs::images/main.png').url }} !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
{{ asset_add("scripts.js", "visiosoft.module.advs::js/cats.js") }}
|
{{ asset_add("scripts.js", "visiosoft.module.advs::js/cats.js") }}
|
||||||
{{ asset_add("styles.css", "visiosoft.module.advs::css/post-category.css") }}
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{% extends "theme::layouts/default" %}
|
{% extends "theme::layouts/default" %}
|
||||||
|
|
||||||
|
{% block styles %}
|
||||||
|
{{ asset_style('visiosoft.theme.base::css/login.css') }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% set phoneLogin = not setting_value('visiosoft.module.advs::register_email_field') or app.request.get('type') == 'phone' %}
|
{% set phoneLogin = not setting_value('visiosoft.module.advs::register_email_field') or app.request.get('type') == 'phone' %}
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
@ -97,5 +101,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ asset_add('scripts.js','visiosoft.theme.base::js/login.js') }}
|
{{ asset_add('scripts.js','visiosoft.theme.base::js/login.js') }}
|
||||||
{{ asset_add('styles.css','visiosoft.theme.base::css/login.css') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@ -1,5 +1,9 @@
|
|||||||
{% extends "theme::layouts/default" %}
|
{% extends "theme::layouts/default" %}
|
||||||
|
|
||||||
|
{% block styles %}
|
||||||
|
{{ asset_style('visiosoft.theme.base::css/register.css') }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="py-4">
|
<div class="py-4">
|
||||||
<div class="row justify-content-center bg-light rounded border px-3">
|
<div class="row justify-content-center bg-light rounded border px-3">
|
||||||
@ -24,12 +28,8 @@
|
|||||||
<i class="fas fa-user-plus"></i>
|
<i class="fas fa-user-plus"></i>
|
||||||
{{ trans('visiosoft.theme.base::button.register') }}
|
{{ trans('visiosoft.theme.base::button.register') }}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="social-login py-2 row col-12 m-0">
|
|
||||||
{{ addBlock('login/oauth')|raw }}
|
|
||||||
</div>
|
|
||||||
{{ form_close() }}
|
{{ form_close() }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -72,9 +72,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ asset_add("styles.css", "visiosoft.theme.base::css/register.css") }}
|
|
||||||
{{ asset_add("scripts.js", "visiosoft.theme.base::js/register.js") }}
|
{{ asset_add("scripts.js", "visiosoft.theme.base::js/register.js") }}
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
{% include "theme::partials/metadata" %}
|
{% include "theme::partials/metadata" %}
|
||||||
|
{% block styles %}{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@ -58,6 +58,21 @@ class CategoryModel extends CatsCategoryEntryModel implements CategoryInterface
|
|||||||
return count($this->getParentCats($id)) + 1;
|
return count($this->getParentCats($id)) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getParentsCount($id)
|
||||||
|
{
|
||||||
|
$parentCats = array();
|
||||||
|
$currentId = $id;
|
||||||
|
do {
|
||||||
|
$cat = $this->getCat($currentId);
|
||||||
|
$catParent = $cat->parent_category_id;
|
||||||
|
if ($catParent) {
|
||||||
|
$currentId = $catParent;
|
||||||
|
$parentCats[] = $catParent;
|
||||||
|
}
|
||||||
|
} while ($catParent);
|
||||||
|
return count($parentCats);
|
||||||
|
}
|
||||||
|
|
||||||
public function getSubCategories($id, $get = null)
|
public function getSubCategories($id, $get = null)
|
||||||
{
|
{
|
||||||
$sub_categories = $this->where('parent_category_id', $id)->get();
|
$sub_categories = $this->where('parent_category_id', $id)->get();
|
||||||
|
|||||||
@ -50,7 +50,15 @@ class CategoryRepository extends EntryRepository implements CategoryRepositoryIn
|
|||||||
|
|
||||||
public function getSubCatById($id)
|
public function getSubCatById($id)
|
||||||
{
|
{
|
||||||
return $this->model->where('parent_category_id', $id)->where('deleted_at', null)->orderBy('sort_order')->get();
|
$orderBy = $this->model->getParentsCount($id) >= 1 ? 'name' : 'sort_order';
|
||||||
|
return $this->model->newQuery()
|
||||||
|
->join('cats_category_translations', 'cats_category.id', '=', 'cats_category_translations.entry_id')
|
||||||
|
->where('cats_category_translations.locale', config('app.locale'))
|
||||||
|
->where('parent_category_id', $id)
|
||||||
|
->where('deleted_at', null)
|
||||||
|
->select('cats_category.*')
|
||||||
|
->orderBy($orderBy)
|
||||||
|
->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSingleCat($id)
|
public function getSingleCat($id)
|
||||||
|
|||||||
@ -14,4 +14,5 @@ let mix = require('laravel-mix');
|
|||||||
mix
|
mix
|
||||||
.js('resources/assets/js/app.js', 'public/js')
|
.js('resources/assets/js/app.js', 'public/js')
|
||||||
.js('addons/default/visiosoft/*/resources/js/vue/app.js', 'public/js')
|
.js('addons/default/visiosoft/*/resources/js/vue/app.js', 'public/js')
|
||||||
|
.js('core/visiosoft/*/resources/js/vue/app.js', 'public/js')
|
||||||
.sass('resources/assets/sass/app.scss', 'public/css');
|
.sass('resources/assets/sass/app.scss', 'public/css');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user