Plugin Directory

Changeset 3471816


Ignore:
Timestamp:
02/28/2026 10:53:33 PM (4 weeks ago)
Author:
technodrome
Message:

Minor interface - dashboard improvements.

Location:
technodrome-ai-content-assistant/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • technodrome-ai-content-assistant/trunk/CHANGELOG.md

    r3471585 r3471816  
    55The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
    66and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     7
     8## [4.1.3] - 2026-02-28
     9
     10### Added
     11- **Blue Gradient Footer**: Footer now uses `linear-gradient(135deg, #1e3a8a → #3b82f6)` in light mode and `#0f172a → #1e3a8a` in dark mode
     12- **Contact Us Button**: Circular `?` button in header license area — links to technodrome.nasrpskom.com in a new tab
     13- Profile buttons updated to glass effect (semi-transparent white) on gradient footer background
     14
     15---
    716
    817## [4.1.2] - 2026-02-28
  • technodrome-ai-content-assistant/trunk/dashboard/dashboard.css

    r3471565 r3471816  
    7373    background: var(--taics-bg-primary);
    7474    padding: 0 !important;
    75     margin: 0 !important;
     75    margin: 20px auto !important;
     76    max-width: 1600px;
    7677    min-height: 50vh;
    7778    position: static !important;
    7879    border: none !important;
    79     box-shadow: none !important;
     80    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
     81    border-radius: 12px !important;
     82    overflow: hidden !important;
    8083}
    8184
     
    9699.taics-main-content {
    97100    background: var(--taics-bg-secondary);
    98     margin: 0 20px 20px !important; /* CONSISTENT 20px MARGINS */
    99     border-radius: var(--taics-border-radius);
    100     box-shadow: var(--taics-shadow-light);
     101    margin: 0 !important;
     102    border-radius: 0 !important;
     103    box-shadow: none !important;
    101104    overflow: hidden;
    102105    position: static !important;
     
    121124    border: none;
    122125    border-bottom: 3px solid transparent;
     126    border-right: 1px solid rgba(0, 0, 0, 0.1);
    123127    padding: 16px 24px;
    124128    font-size: 15px;
     
    136140    text-transform: uppercase;
    137141    letter-spacing: 0.5px;
     142}
     143
     144.taics-tab-button:last-child {
     145    border-right: none;
    138146}
    139147   
     
    492500.taics-footer {
    493501    background: var(--taics-bg-secondary);
    494     margin: 0 20px 20px;
    495     border-radius: 0 0 var(--taics-border-radius) var(--taics-border-radius);
    496     box-shadow: var(--taics-shadow-light);
     502    margin: 0 !important;
     503    border-radius: 0 !important;
     504    box-shadow: none !important;
    497505    border-top: 1px solid var(--taics-border);
    498506}
     
    860868@media (max-width: 768px) {
    861869    .taics-main-content {
    862         margin: 0 15px 15px !important;
     870        margin: 0 !important;
    863871    }
    864872   
     
    879887   
    880888    .taics-main-content {
    881         margin: 0 10px 10px !important;
    882         border-radius: 8px;
     889        margin: 0 !important;
     890        border-radius: 0 !important;
    883891    }
    884892   
  • technodrome-ai-content-assistant/trunk/dashboard/modules/footer/footer.css

    r3466589 r3471816  
    5656/* ===== COMPACT FOOTER MAIN STYLES ===== */
    5757.taics-footer-compact {
    58     background: var(--taics-bg-secondary);
    59     margin: 0 20px 20px;
    60     border-radius: 0 0 var(--taics-border-radius) var(--taics-border-radius);
    61     box-shadow: var(--taics-shadow-light);
    62     border-top: 1px solid var(--taics-border);
     58    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important;
     59    margin: 0 !important;
     60    border-radius: 0 !important;
     61    box-shadow: none !important;
     62    border-top: none !important;
    6363    position: relative;
    6464}
     
    144144}
    145145
    146 /* Light Mode Profile Buttons */
     146/* Profile Buttons - glass effect on gradient footer */
    147147.taics-profile-btn-wide {
    148     background: white;
    149     border-color: var(--taics-border);
    150 }
    151    
     148    background: rgba(255, 255, 255, 0.2) !important;
     149    border-color: rgba(255, 255, 255, 0.4) !important;
     150}
     151
    152152.taics-profile-btn-wide:hover {
    153     background: var(--taics-bg-tertiary);
     153    background: rgba(255, 255, 255, 0.35) !important;
     154    border-color: rgba(255, 255, 255, 0.6) !important;
    154155    transform: translateY(-1px);
    155     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    156 }
    157    
     156    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
     157}
     158
    158159.taics-profile-btn-wide.active {
    159     background: var(--taics-bg-tertiary);
    160     border-color: var(--taics-primary);
    161     box-shadow: 0 0 0 1px var(--taics-primary);
     160    background: rgba(255, 255, 255, 0.95) !important;
     161    border-color: white !important;
     162    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
     163}
     164
     165.taics-profile-btn-wide.active .taics-profile-text {
     166    color: #1e3a8a !important;
    162167}
    163168
    164169/* Dark Mode Profile Buttons */
    165170body.taics-dark-mode .taics-profile-btn-wide {
    166     background: var(--taics-bg-tertiary);
    167     border-color: var(--taics-border);
     171    background: rgba(255, 255, 255, 0.15) !important;
     172    border-color: rgba(255, 255, 255, 0.3) !important;
    168173}
    169174
    170175body.taics-dark-mode .taics-profile-text {
    171     color: var(--taics-text-primary);
     176    color: #ffffff !important;
    172177}
    173178
    174179body.taics-dark-mode .taics-profile-btn-wide:hover {
    175     background: var(--taics-bg-secondary);
     180    background: rgba(255, 255, 255, 0.25) !important;
    176181}
    177182
     
    354359    text-align: right;
    355360    font-weight: 600;
    356     color: var(--taics-text-primary);
     361    color: #ffffff;
    357362    font-size: 10px;
     363    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    358364}
    359365
     
    970976}
    971977
     978/* Dark Mode Footer Gradient */
     979body.taics-dark-mode .taics-footer-compact {
     980    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%) !important;
     981    border-top: none !important;
     982}
     983
    972984/* Dark Mode Support */
    973985body.taics-dark-mode .taics-footer-bottom-compact {
  • technodrome-ai-content-assistant/trunk/dashboard/modules/header/header.css

    r3369057 r3471816  
    271271}
    272272
     273.taics-contact-btn {
     274    width: 38px !important;
     275    height: 38px !important;
     276    border-radius: 50% !important;
     277    font-size: 22px !important;
     278    font-weight: 900 !important;
     279    padding: 0 !important;
     280    line-height: 1 !important;
     281}
     282
     283.taics-contact-btn:hover {
     284    color: #7fffd4 !important;
     285}
     286
    273287/* RESPONSIVE */
    274288@media (max-width: 1200px) {
  • technodrome-ai-content-assistant/trunk/dashboard/modules/header/header.php

    r3401081 r3471816  
    113113                       readonly />
    114114                       
    115                 <button type="button" 
     115                <button type="button"
    116116                        class="taics-header-license-btn"
    117117                        id="taics-validate-license-btn"
    118118                        title="<?php echo esc_attr__('Validate License', 'technodrome-ai-content-assistant'); ?>">
    119119                    🔑
     120                </button>
     121                <button type="button"
     122                        class="taics-header-license-btn taics-contact-btn"
     123                        title="<?php echo esc_attr__('Contact Us', 'technodrome-ai-content-assistant'); ?>"
     124                        onclick="window.open('https://technodrome.nasrpskom.com/','_blank')">
     125                    ?
    120126                </button>
    121127            </div>
  • technodrome-ai-content-assistant/trunk/features/layout-templates-tab/photo-positions.js

    r3446048 r3471816  
    2929            this.bindEvents();
    3030
    31             this.loadPhotosFromUserMeta(); // LOAD na startu - only if no profile photos yet
     31            // If profile photos were already loaded via setValue() before init(),
     32            // just re-render them now that $container is available. Don't call loadPhotosFromUserMeta()
     33            // which would overwrite profile data with user_meta.
     34            if (this.profilePhotosLoaded && Object.keys(this.selectedPhotos).length > 0) {
     35                this.renderExistingPhotos();
     36            } else {
     37                this.loadPhotosFromUserMeta();
     38            }
     39
    3240            // Listen for template changes to update the "required" status, but not to lock/unlock slots
    3341            $(document).on('taics_template_changed.photo-positions-status', this.updateStatus.bind(this));
     
    335343        },
    336344
     345        renderExistingPhotos: function() {
     346            for (const position in this.selectedPhotos) {
     347                const photo = this.selectedPhotos[position];
     348                this.updateImagePreview(parseInt(position), photo.url, photo.alt || '');
     349                if (this.photoLinks[position]) {
     350                    const $card = this.$container.find(`.taics-position-card[data-position="${position}"]`);
     351                    $card.find('.taics-photo-link-input').val(this.photoLinks[position]);
     352                }
     353            }
     354            this.updateStatus();
     355        },
     356
    337357        cleanup: function() {
    338358            if (this.$container) {
  • technodrome-ai-content-assistant/trunk/readme.txt

    r3471585 r3471816  
    55Tested up to: 6.9
    66Requires PHP: 8.0
    7 Stable tag: 4.1.2
     7Stable tag: 4.1.3
    88License: GPL v2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    4040
    4141== Changelog ==
     42
     43= 4.1.3 (2026-02-28) =
     44*   **NEW**: Blue gradient footer (navy → blue) — light and dark mode
     45*   **NEW**: Contact Us button (? circle) in header license area — links to technodrome.nasrpskom.com
     46*   **IMPROVED**: Dashboard max-width increased for wider screens
    4247
    4348= 4.1.2 (2026-02-28) =
  • technodrome-ai-content-assistant/trunk/technodrome-ai-content-assistant.php

    r3471585 r3471816  
    44 * Plugin URI: https://technodrome.org/ai-content-assistant
    55 * Description: Advanced AI content generation plugin with multiple AI providers, profile system, layout templates, and content rules for WordPress.
    6  * Version: 4.1.2
     6 * Version: 4.1.3
    77 * Author: Technodrome Team
    88 * Author URI: https://technodrome.org
     
    3030
    3131// Plugin constants
    32 define('TAICS_VERSION', '4.1.2');
     32define('TAICS_VERSION', '4.1.3');
    3333define('TAICS_PLUGIN_FILE', __FILE__);
    3434define('TAICS_PLUGIN_DIR', plugin_dir_path(__FILE__));
Note: See TracChangeset for help on using the changeset viewer.