Plugin Directory

Changeset 3457281


Ignore:
Timestamp:
02/09/2026 04:50:54 PM (8 weeks ago)
Author:
jajasolutions
Message:

Fix mobile slider dots jumping, back-to-grid button position, category spacing, show_image_count default, add formal German translations

Location:
luxe-gallery/trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • luxe-gallery/trunk/public/css/luxe-gallery-public.css

    r3457266 r3457281  
    114114.luxe-slider-pagination {
    115115    position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
    116     display: flex; gap: 6px; z-index: 5;
     116    display: flex; z-index: 5; align-items: center;
     117    min-height: 12px;
    117118}
    118119
     
    121122    border: 1px solid rgba(0, 0, 0, 0.4);
    122123    background: rgba(255, 255, 255, 0.5); cursor: pointer; padding: 0;
    123     transition: background 0.2s, transform 0.2s, opacity 0.2s;
     124    margin: 0 3px;
     125    transition: width 0.25s ease, height 0.25s ease, opacity 0.25s ease,
     126                background 0.2s, transform 0.2s, margin 0.25s ease, border-width 0.25s ease;
     127    flex-shrink: 0; overflow: hidden; box-sizing: border-box;
    124128}
    125129.luxe-slider-dot.active { background: #fff; transform: scale(1.25); border-color: rgba(0, 0, 0, 0.6); }
    126 .luxe-slider-dot.luxe-dot-hidden { display: none; }
     130.luxe-slider-dot.luxe-dot-hidden {
     131    width: 0; height: 0; opacity: 0; border-width: 0;
     132    margin: 0; padding: 0; pointer-events: none;
     133}
    127134
    128135.luxe-gallery-mobile-slider .show-all-photos-mobile {
     
    146153
    147154.back-to-grid-view {
    148     position: absolute; top: calc(50% - 40px); left: 0;
     155    position: absolute; top: 50%; left: 4px; transform: translateY(-50%);
    149156    background: #f0f0f1; border: 1px solid #ddd; border-radius: 50%;
    150157    width: 40px; height: 40px; cursor: pointer;
    151     display: flex; align-items: center; justify-content: center; padding: 0; z-index: 1001;
     158    display: flex; align-items: center; justify-content: center; padding: 0; z-index: 101;
    152159}
    153160.back-to-grid-view svg { color: #333; }
     
    157164/* Category Navigation */
    158165.luxe-gallery-category-nav {
     166    position: relative;
    159167    background: #fff; border-bottom: 1px solid #ddd;
    160     margin-bottom: 32px; z-index: 100; padding-top: 16px;
     168    margin-bottom: 16px; z-index: 100; padding-top: 16px;
    161169}
    162170
     
    181189
    182190/* Category Sections */
    183 .luxe-gallery-category-section { padding-top: 48px; margin-top: -24px; }
    184 .luxe-gallery-category-section:first-of-type { padding-top: 24px; }
     191.luxe-gallery-category-section { padding-top: 32px; }
     192.luxe-gallery-category-section:first-of-type { padding-top: 8px; }
    185193.luxe-gallery-category-section h2, .luxe-gallery-category-section h3,
    186194.luxe-gallery-category-section h4, .luxe-gallery-category-section h5,
  • luxe-gallery/trunk/public/js/luxe-gallery-public.js

    r3457266 r3457281  
    1919        this.loop = options.loop !== false;
    2020
     21        this._isNavigating = false;
    2122        this.buildPagination();
    2223        this.bindEvents();
     
    3637    bindEvents() {
    3738        const observer = new IntersectionObserver((entries) => {
     39            if (this._isNavigating) return;
    3840            for (const entry of entries) {
    3941                if (entry.isIntersecting && entry.intersectionRatio > 0.5) {
    40                     this.currentIndex = this.slides.indexOf(entry.target);
    41                     this.updatePagination();
     42                    const idx = this.slides.indexOf(entry.target);
     43                    if (idx !== -1 && idx !== this.currentIndex) {
     44                        this.currentIndex = idx;
     45                        this.updatePagination();
     46                    }
    4247                }
    4348            }
     
    5560        if (index < 0) index = this.loop ? this.slides.length - 1 : 0;
    5661        if (index >= this.slides.length) index = this.loop ? 0 : this.slides.length - 1;
    57         this.slides[index]?.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });
     62        this._isNavigating = true;
     63        clearTimeout(this._navTimer);
    5864        this.currentIndex = index;
    5965        this.updatePagination();
     66        this.slides[index]?.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });
     67        this._navTimer = setTimeout(() => { this._isNavigating = false; }, 400);
    6068    }
    6169
  • luxe-gallery/trunk/public/partials/gallery-display.php

    r3456001 r3457281  
    3131
    3232// Shortcode overrides.
    33 $luxe_show_image_count = isset( $settings['show_image_count'] ) ? $settings['show_image_count'] : Luxe_Gallery_Settings::get_option( 'show_image_count', true );
     33$luxe_show_image_count = isset( $settings['show_image_count'] ) ? $settings['show_image_count'] : Luxe_Gallery_Settings::get_option( 'show_image_count', false );
    3434$luxe_show_title       = isset( $settings['show_title'] ) ? $settings['show_title'] : false;
    3535$luxe_title_tag        = isset( $settings['title_tag'] ) ? $settings['title_tag'] : 'h2';
Note: See TracChangeset for help on using the changeset viewer.