mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
Merge branch 'master' into image-view-fix
This commit is contained in:
commit
7306281aac
@ -1,3 +1,13 @@
|
||||
$(".clickable-row").click(function () {
|
||||
window.location = $(this).data("href");
|
||||
});
|
||||
});
|
||||
|
||||
$('.hover-area').mouseover((e) => {
|
||||
var el = $(e);
|
||||
|
||||
var img = $(`.${$(el[0].target).data('id')}`);
|
||||
|
||||
img.siblings('img').hide();
|
||||
|
||||
img.show();
|
||||
});
|
||||
|
||||
@ -36,4 +36,6 @@ return [
|
||||
'currency_converter_not_available' => 'The currency converter is not available.',
|
||||
'option_saved' => 'Option Saved',
|
||||
'do_you_want_to_save_the_option' => 'Do you want to save the option?',
|
||||
'you_can_not_delete_a_system_status' => 'You can not delete a system status!',
|
||||
'product_added_to_cart' => 'Product added to cart!',
|
||||
];
|
||||
|
||||
@ -11,10 +11,20 @@
|
||||
|
||||
{% for adv in advs %}
|
||||
<div class="col-xl-4 col-6 p-sm-3 p-0">
|
||||
<div class="d-flex flex-column product-hb gallery-card border border-top-0 pb-3 px-md-1 px-0 pt-1 shadow-sm rounded">
|
||||
<div class="product-image-hb p-sm-3 p-1 mt-lg-2 mt-4">
|
||||
<a href="{{ adv.detail_url }}">
|
||||
<img class="product-image-in" src="{{ adv.cover_photo }}" alt="{{ adv.name }}">
|
||||
<div class="d-flex flex-column product-hb gallery-card pb-3 px-1 pt-1 border shadow-sm rounded">
|
||||
<div class="product-image-hb p-sm-3 p-1">
|
||||
<a href="{{ adv.detail_url }}" class="imgs" id="{{ adv.id }}">
|
||||
{% set slicedPhotos = adv.getViewPhotoUrl|slice(0,3) %}
|
||||
|
||||
{% for key,photo in slicedPhotos %}
|
||||
<img src="{{ photo }}" class="product-image-in ads-img img-{{ adv.id ~ '-' ~ key }}" alt="">
|
||||
|
||||
{% endfor %}
|
||||
<div class="hover-area">
|
||||
{% for key, photo in slicedPhotos %}
|
||||
<div class="hover-{{ key }}" data-parent="{{ adv.id }}" data-id="img-{{ adv.id ~ '-' ~ key }}"></div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</a>
|
||||
{{ addBlock('list/extra-actions', {'ad': adv, 'vars': _context}, ['favs'])|raw }}
|
||||
</div>
|
||||
@ -39,6 +49,8 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list-table.js") }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block styles %}
|
||||
@ -47,6 +59,7 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block customjs %}
|
||||
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list-table.js") }}
|
||||
{% include "theme::scroll-modal" %}
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
||||
@ -1163,6 +1163,7 @@ class AdvsController extends PublicController
|
||||
if ($adv and $adv->getStatus() == "approved") {
|
||||
$cart = $thisModel->addCart($adv, $quantity, $name);
|
||||
$response['status'] = "success";
|
||||
$response['msg'] = trans('visiosoft.module.advs::message.product_added_to_cart');
|
||||
$count = $cart->getItems()->count;
|
||||
$response['count'] = $count;
|
||||
$response['item'] = [
|
||||
|
||||
@ -1,8 +1,16 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Status;
|
||||
|
||||
use Anomaly\Streams\Platform\Entry\Contract\EntryInterface;
|
||||
use Anomaly\Streams\Platform\Entry\EntryObserver;
|
||||
|
||||
class StatusObserver extends EntryObserver
|
||||
{
|
||||
public function deleting(EntryInterface $entry)
|
||||
{
|
||||
if ($entry->is_system) {
|
||||
abort(403, trans('visiosoft.module.advs::message.you_can_not_delete_a_system_status'));
|
||||
}
|
||||
|
||||
parent::deleting($entry);
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,6 +80,7 @@
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
.product-price-hb~p{
|
||||
font-size:.7em;
|
||||
}
|
||||
@ -92,4 +93,38 @@
|
||||
}
|
||||
.gallery-card:hover>.product-info-hb>.review>p{
|
||||
display: none;
|
||||
|
||||
.imgs{
|
||||
position: relative;
|
||||
}
|
||||
.ads-img{
|
||||
position:inherit;
|
||||
}
|
||||
.imgs .ads-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: none;
|
||||
}
|
||||
.imgs .ads-img:first-child {
|
||||
display: flex;
|
||||
}
|
||||
.hover-area{
|
||||
position: absolute;
|
||||
display: flex;
|
||||
height: 100%;
|
||||
width: 200px;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
.hover-0 {
|
||||
width: 33%;
|
||||
height: 100%;
|
||||
}
|
||||
.hover-1 {
|
||||
width: 33%;
|
||||
height: 100%;
|
||||
}
|
||||
.hover-2 {
|
||||
width: 33%;
|
||||
height: 100%;
|
||||
}
|
||||
@ -21,6 +21,7 @@
|
||||
transform: translateX(-100%);
|
||||
-webkit-transition: 300ms ease;
|
||||
transition: 300ms ease;
|
||||
background-color: #FCFCFC;
|
||||
@media only screen and (min-width: 768px) {
|
||||
height: initial;
|
||||
position: initial;
|
||||
@ -29,7 +30,7 @@
|
||||
transform: initial;
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
padding: 1.5rem 2.25rem;
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
&.reveal {
|
||||
@ -90,4 +91,4 @@
|
||||
cursor: pointer;
|
||||
background: #000;
|
||||
opacity: .2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,20 @@
|
||||
.profile-section {
|
||||
h3 {
|
||||
font-size: 1.25rem;
|
||||
color: #707070;
|
||||
@media only screen and (min-width: 768px) {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
& + p {
|
||||
color: #707070;
|
||||
font-size: 13px;
|
||||
@media only screen and (min-width: 768px) {
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tabs {
|
||||
border-bottom: 1px solid #dee2e6;
|
||||
padding-bottom: 10px;
|
||||
@ -63,7 +79,6 @@
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
object-fit: cover;
|
||||
border-radius: 50%;
|
||||
@media (max-width: 992px) {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@ -116,22 +131,9 @@
|
||||
|
||||
form {
|
||||
.new-profile-image {
|
||||
position: relative;
|
||||
bottom: 25px;
|
||||
right: 30px;
|
||||
top: -10px;
|
||||
left: -10px;
|
||||
cursor: pointer;
|
||||
|
||||
@media (max-width: 992px) {
|
||||
bottom: 120px;
|
||||
left: 100px;
|
||||
top: auto;
|
||||
}
|
||||
|
||||
@media (max-width: 576px) {
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
top: 10px;
|
||||
}
|
||||
}
|
||||
.file-field {
|
||||
visibility: hidden;
|
||||
@ -176,4 +178,4 @@
|
||||
height: initial;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -504,4 +504,6 @@ return [
|
||||
'undefined_member' => 'Undefined Member',
|
||||
'new_membership_report' => 'New Membership Report',
|
||||
'member_login_reports' => 'Member Login Reports',
|
||||
|
||||
'profile_instruction' => 'You can edit your profile information from this page.',
|
||||
];
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<img src="{{ img('visiosoft.module.profile::images/nav-menu.svg').url }}" alt="nav icon" id="navbarSideButton"
|
||||
class="ml-2">
|
||||
</div>
|
||||
<div class="col-10 col-sm-6 col-md-3 profile-navigation border rounded navbar-side bg-white" id="navbarSide">
|
||||
<div class="col-10 col-sm-6 col-md-3 profile-navigation border rounded navbar-side" id="navbarSide">
|
||||
<span class="px-3 mb-2 link-unstyled">
|
||||
{{ img('visiosoft.module.profile::images/interface.svg').data|raw }}
|
||||
<p>
|
||||
|
||||
@ -12,19 +12,25 @@
|
||||
{% set profile_photo = user.file ? user.file.make.url : img('visiosoft.module.profile::images/profile-default.png').url %}
|
||||
|
||||
<div class="row px-3">
|
||||
|
||||
<!-- User Profile Form Section-->
|
||||
<div class="col-md-12 bg-light profile-section pb-4 px-5">
|
||||
<div class="col-md-12 bg-white profile-section pb-4 px-1 px-sm-5 border">
|
||||
<div class="tab-content py-3 px-3 px-sm-0" id="nav-tabContent">
|
||||
<div class="tab-pane fade show active" id="nav-profile" role="tabpanel"
|
||||
aria-labelledby="nav-profile-tab">
|
||||
<div class="col-12 mb-4 mb-md-5 mt-md-3 px-3 px-md-0">
|
||||
<h3>{{ trans('visiosoft.module.profile::field.profile.name') }}</h3>
|
||||
<p>{{ trans('visiosoft.module.profile::field.profile_instruction') }}</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{% set userForm = form('userProfile').entry(user.id).get() %}
|
||||
{{ userForm.open()|raw }}
|
||||
<div class="mt-4 d-flex profile--desc flex-column flex-lg-row">
|
||||
<div class="profile-image d-flex d-sm-block m-auto m-sm-0 mr-sm-3">
|
||||
<div class="profile-image d-flex d-sm-block m-auto m-sm-0 mr-sm-3 position-relative">
|
||||
<img src="{{ profile_photo }}">
|
||||
<i class="new-profile-image">{{ img('visiosoft.module.profile::images/camera.svg').data|raw }}</i>
|
||||
<div class="new-profile-image position-absolute">
|
||||
{{ img('visiosoft.module.profile::images/camera.svg').data|raw }}
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.profile::upload_avatar') %}
|
||||
<div class="form-group">
|
||||
{{ userForm.fields.file|raw }}
|
||||
@ -91,4 +97,4 @@
|
||||
|
||||
{{ asset_script("visiosoft.module.profile::assets/js/education.js") }}
|
||||
{{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/profile.js") }}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user