Plugin Directory

Changeset 3224154


Ignore:
Timestamp:
01/17/2025 11:41:12 AM (15 months ago)
Author:
arsyntax
Message:

add themify icons library

Location:
ar-menu-icons/trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • ar-menu-icons/trunk/admin/assets/css/armicn.css

    r3193257 r3224154  
    351351.armicn-settings-tabs .tab-contents-wrapper .tab-content .armicn-features-list-wrapper .armicn-features-list li span.dashicons.dashicons-no {
    352352  color: red;
     353}
     354
     355#ar-menu-icons-deactivation-popup {
     356  position: fixed;
     357  top: 50%;
     358  left: 50%;
     359  transform: translate(-50%, -50%);
     360  width: 450px;
     361  background: #fff;
     362  border: 1px solid #ccc;
     363  border-radius: 8px;
     364  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     365  z-index: 100000;
     366  padding: 20px;
     367  font-family: Arial, sans-serif;
     368  color: #000;
     369}
     370#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content h3 {
     371  margin: 0 0 10px;
     372  font-size: 18px;
     373}
     374#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content p {
     375  margin: 0 0 15px;
     376}
     377#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content textarea {
     378  width: 100%;
     379  height: 60px;
     380  margin-top: 10px;
     381  border: 1px solid #ccc;
     382  border-radius: 4px;
     383  padding: 5px;
     384}
     385#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content .buttons {
     386  margin-top: 20px;
     387  text-align: right;
     388}
     389#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content .buttons button {
     390  background: #3b3af4;
     391  color: #fff;
     392  border: none;
     393  border-radius: 4px;
     394  padding: 8px 12px;
     395  cursor: pointer;
     396}
     397#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content .buttons button:hover {
     398  background: #3333cc;
     399}
     400#ar-menu-icons-deactivation-popup .ar-menu-icons-deactivation-popup-content .buttons button:not(:last-child) {
     401  margin-right: 10px;
     402}
     403
     404#deactivation-overlay {
     405  position: fixed;
     406  top: 0;
     407  left: 0;
     408  width: 100%;
     409  height: 100%;
     410  background: rgba(0, 0, 0, 0.5);
     411  z-index: 99999;
    353412}/*# sourceMappingURL=armicn.css.map */
  • ar-menu-icons/trunk/admin/assets/css/armicn.css.map

    r3193257 r3224154  
    1 {"version":3,"sources":["armicn.scss","armicn.css"],"names":[],"mappings":"AAAA;EACC,6BAAA;EACA,uCAAA;ACCD;;ADCA;EACC,kCAAA;ACED;;ADAA;EACC,iCAAA;ACGD;;ADDA;;EAEC,kCAAA;ACID;;ADFA;;EAEC,gBAAA;ACKD;;ADFC;EACC,oCAAA;ACKF;;ADFA;EACC,aAAA;EACA,QAAA;ACKD;ADJC;EACC,eAAA;ACMF;ADJC;EACC,aAAA;ACMF;ADHE;EACC,eAAA;ACKH;;ADAC;EACC,0CAAA;EACA,aAAA;ACGF;ADDG;EACC,+BAAA;EACA,mBAAA;ACGJ;ADEE;EACC,2BAAA;ACAH;;ADMA;EACC,eAAA;EACA,SAAA;EACA,QAAA;EACA,gCAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;ACHD;ADIC;EACC,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,gCAAA;EACA,uCAAA;ACFF;ADIC;EACC,kBAAA;EACA,WAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,WAAA;EACA,eAAA;EACA,UAAA;ACFF;ADIC;EACC,cAAA;EACA,YAAA;EACA,UAAA;EACA,YAAA;EACA,kBAAA;EACA,8BAAA;EACA,gBAAA;ACFF;ADGE;EACC,kBAAA;EACA,SAAA;EACA,QAAA;EACA,gCAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;EACA,aAAA;ACDH;ADEG;EACC,aAAA;ACAJ;ADGE;EACC,8BAAA;EACA,aAAA;EACA,iBAAA;ACDH;ADEG;EACC,eAAA;ACAJ;ADEG;;EAEC,YAAA;EACA,yBAAA;EACA,WAAA;EACA,wBAAA;KAAA,qBAAA;UAAA,gBAAA;ACAJ;ADEG;EACC,mBAAA;ACAJ;ADEG;EACC,UAAA;ACAJ;ADCI;EACC,mBAAA;EACA,aAAA;EACA,eAAA;EACA,SAAA;EACA,aAAA;EACA,cAAA;EACA,gBAAA;EACA,aAAA;ACCL;ADCI;EACC,YAAA;EACA,qBAAA;EACA,yBAAA;EACA,WAAA;ACCL;ADEK;EACC,YAAA;EACA,WAAA;EACA,YAAA;EACA,6CAAA;EACA,wCAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,sBAAA;EACA,eAAA;EACA,yBAAA;EACA,cAAA;EACA,mBAAA;EACA,oYAAA;EAQA,gEAAA;ACPN;ADSO;EACC,aAAA;ACPR;ADUM;EACC,eAAA;EACA,kBAAA;EACA,cAAA;EACA,WAAA;ACRP;ADUM;EAEC,gBAAA;EACA,WAAA;ACTP;ADYK;EACC,kBAAA;EACA,UAAA;EACA,QAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,YAAA;EACA,UAAA;EACA,eAAA;EACA,UAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;ACVN;ADcG;EACC,UAAA;EACA,2BAAA;EACA,6CAAA;ACZJ;ADcK;EACC,aAAA;EACA,mBAAA;EACA,gCAAA;EACA,eAAA;EACA,gBAAA;EACA,qBAAA;OAAA,gBAAA;ACZN;ADaM;EACC,gBAAA;EACA,eAAA;EACA,gBAAA;ACXP;ADaM;EACC,aAAA;EACA,SAAA;EACA,eAAA;ACXP;ADYO;;EAEC,YAAA;EACA,YAAA;ACVR;ADWQ;EACC,cAAA;ACRT;ADOQ;;EACC,cAAA;ACRT;ADWO;EACC,aAAA;EACA,eAAA;EACA,QAAA;ACTR;ADWS;EACC,YAAA;ACTV;ADaS;EACC,YAAA;ACXV;ADeO;EACC,aAAA;EACA,sBAAA;EACA,8BAAA;EACA,YAAA;ACbR;ADqBE;EACC,4BAAA;ACnBH;ADqBE;EACC,4BAAA;EACA,aAAA;EACA,8BAAA;EACA,0BAAA;ACnBH;ADoBG;EACC,eAAA;EACA,mCAAA;EACA,qBAAA;EACA,YAAA;EACA,cAAA;EACA,kBAAA;AClBJ;ADmBI;EACC,gBAAA;EACA,WAAA;ACjBL;ADqBI;EACC,SAAA;EACA,eAAA;EACA,gBAAA;ACnBL;;AD6BA;EACC,cAAA;AC1BD;AD2BC;EACC,aAAA;ACzBF;AD2BC;EACC,gBAAA;EACA,SAAA;EACA,cAAA;EACA,aAAA;EACA,yBAAA;ACzBF;AD0BE;EACC,WAAA;EACA,iBAAA;EACA,gBAAA;EACA,eAAA;EACG,4BAAA;ACxBN;ADyBG;EACC,qBAAA;EACA,WAAA;EACA,kBAAA;EACA,cAAA;ACvBJ;ADwBI;EACC,gBAAA;EACA,aAAA;ACtBL;AD2BI;EACC,sBAAA;EACA,WAAA;ACzBL;AD8BC;EACC,gBAAA;EACA,eAAA;AC5BF;AD6BE;EAIC,eAAA;AC9BH;AD2BG;EACC,cAAA;ACzBJ;AD4BG;EACC,gBAAA;AC1BJ;AD4BG;EACC,mBAAA;EACA,aAAA;EACA,mBAAA;AC1BJ;AD2BI;EACC,gBAAA;EACA,YAAA;EACA,qBAAA;ACzBL;AD2BI;EACC,kBAAA;ACzBL;AD4BG;EACC,aAAA;EACA,SAAA;EACA,mBAAA;AC1BJ;AD2BI;EACC,mBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;ACzBL;AD0BK;EACC,eAAA;ACxBN;ADyBM;EACC,iBAAA;ACvBP;ADyBQ;EACC,UAAA;ACvBT","file":"armicn.css"}
     1{"version":3,"sources":["armicn.scss","armicn.css"],"names":[],"mappings":"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","file":"armicn.css"}
  • ar-menu-icons/trunk/admin/assets/css/armicn.scss

    r3193257 r3224154  
    384384
    385385
    386 
    387 
     386// deactivation
     387$popup-width: 450px;
     388$primary-color: #3b3af4;
     389$hover-color: #3333cc;
     390$border-color: #ccc;
     391$background-color: #fff;
     392$text-color: #000;
     393
     394#ar-menu-icons-deactivation-popup {
     395  position: fixed;
     396  top: 50%;
     397  left: 50%;
     398  transform: translate(-50%, -50%);
     399  width: $popup-width;
     400  background: $background-color;
     401  border: 1px solid $border-color;
     402  border-radius: 8px;
     403  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     404  z-index: 100000;
     405  padding: 20px;
     406  font-family: Arial, sans-serif;
     407  color: $text-color;
     408
     409  .ar-menu-icons-deactivation-popup-content {
     410    h3 {
     411      margin: 0 0 10px;
     412      font-size: 18px;
     413    }
     414
     415    p {
     416      margin: 0 0 15px;
     417    }
     418
     419    textarea {
     420      width: 100%;
     421      height: 60px;
     422      margin-top: 10px;
     423      border: 1px solid $border-color;
     424      border-radius: 4px;
     425      padding: 5px;
     426    }
     427
     428    .buttons {
     429      margin-top: 20px;
     430      text-align: right;
     431
     432      button {
     433        background: $primary-color;
     434        color: $background-color;
     435        border: none;
     436        border-radius: 4px;
     437        padding: 8px 12px;
     438        cursor: pointer;
     439
     440        &:hover {
     441          background: $hover-color;
     442        }
     443
     444        &:not(:last-child) {
     445          margin-right: 10px;
     446        }
     447      }
     448    }
     449  }
     450}
     451
     452#deactivation-overlay {
     453  position: fixed;
     454  top: 0;
     455  left: 0;
     456  width: 100%;
     457  height: 100%;
     458  background: rgba(0, 0, 0, 0.5);
     459  z-index: 99999;
     460}
     461
     462
  • ar-menu-icons/trunk/admin/assets/js/armicn.js

    r3205191 r3224154  
    33        init: function() {
    44            ArmicnAdmin.pluginOptions();
     5            ArmicnAdmin.pluginDeactivation();
    56            $(document)
    67                .on('click.ArmicnAdmin', '.armicn_set_icon_toggle_in_nav_item', this.showModal)
     
    133134            let iconVariation = null;
    134135
    135             let FreeIconSources = ['dashicon', 'fontawesome'];
     136            let FreeIconSources = ['dashicon', 'fontawesome', 'themify'];
    136137            if(FreeIconSources.includes(icon_source)){
    137138                if(icon_source == 'fontawesome'){
     
    173174                    const iconsArray = Object.keys(icons.icons);
    174175                    // console.log(iconsArray);
     176                   
     177                    ArmicnAdmin.createIconButtons(iconsArray, iconPrefix)
     178                   
     179                })
     180                .catch(error => console.error('Error:', error));
     181               
     182            }else if(icon_source == 'themify'){
     183
     184               
     185                iconPrefix = 'ti-';
     186               
     187                let apiUrl = armicn_ajax.plugin_dir_url + 'admin/assets/lib/themify/icons.json';
     188
     189                ArmicnAdmin.getData(apiUrl)
     190                .then(icons => {
     191                    //icons = array;
     192                    const iconsArray = Object.values(icons.icons);
     193                    console.log(icons);
    175194                   
    176195                    ArmicnAdmin.createIconButtons(iconsArray, iconPrefix)
     
    322341
    323342            return data;
     343        },
     344        pluginDeactivation: function(){
     345           
     346             
     347           
     348       
     349            $('a#deactivate-ar-menu-icons').on('click', function (e) {
     350                e.preventDefault();
     351       
     352                const feedbackForm = `
     353                    <div id="ar-menu-icons-deactivation-popup">
     354                        <div class="ar-menu-icons-deactivation-popup-content">
     355                            <h3>Quick Feedback</h3>
     356                           <p>If you have a moment, please share why you are deactivating ${armicn_ajax.plugin_name}:</p>
     357                            <form id="deactivation-feedback-form">
     358                                <label><input type="radio" name="reason" value="No longer need the plugin"> I no longer need the plugin</label><br>
     359                                <label><input type="radio" name="reason" value="Found a better plugin"> I found a better plugin</label><br>
     360                                <label><input type="radio" name="reason" value="Couldn't get the plugin to work"> I couldn't get the plugin to work</label><br>
     361                                <label><input type="radio" name="reason" value="Temporary deactivation"> It's a temporary deactivation</label><br>
     362                                <label><input type="radio" name="reason" value="Other"> Other</label>
     363                                <textarea id="feedback-text" placeholder="Please provide additional details (optional)"></textarea>
     364                                <div class="buttons">
     365                                    <button type="button" id="submit-feedback">Submit & Deactivate</button>
     366                                    <button type="button" id="skip-feedback">Skip & Deactivate</button>
     367                                </div>
     368                            </form>
     369                        </div>
     370                    </div>
     371                    <div id="deactivation-overlay"></div>
     372                `;
     373       
     374                $('body').append(feedbackForm);
     375       
     376                $('#submit-feedback').on('click', function () {
     377                   
     378                    const reason = $('input[name="reason"]:checked').val();
     379                    const feedback = $('#feedback-text').val();
     380       
     381                    if (!reason) {
     382                        alert('Please select a reason.');
     383                        return;
     384                    }
     385       
     386                    const feedbackData = {
     387                        feedback: feedback,
     388                        reason: reason,
     389                        plugin_name: armicn_ajax.plugin_name,
     390                        plugin_version: armicn_ajax.plugin_version,
     391                        user_email: armicn_ajax.user_email,
     392                        site_url: armicn_ajax.site_url
     393                    };
     394                   
     395                   
     396                   
     397                    fetch('https://arsyntax.com/wp-json/arsyntax/v1/submit-feedback', {
     398                        method: 'POST',
     399                        headers: {
     400                            'Content-Type': 'application/json',
     401                            'Accept': 'application/json',
     402                        },
     403                        body: JSON.stringify(feedbackData),
     404                    })
     405                    .then(response => response.json())
     406                    .then(data => {
     407                        window.location.href = e.target.href;
     408                    })
     409                    .catch(error => {
     410                        console.error('Error:', error);
     411                    });
     412
     413
     414                });
     415       
     416                $('#skip-feedback').on('click', function () {
     417                    window.location.href = e.target.href;
     418                });
     419       
     420                $('#deactivation-overlay').on('click', function () {
     421                    $('#ar-menu-icons-deactivation-popup, #deactivation-overlay').remove();
     422                });
     423            });
     424               
     425               
     426           
     427           
    324428        }
    325429    };
  • ar-menu-icons/trunk/admin/inc/ajax-handler.php

    r3192731 r3224154  
    99
    1010        private function register_ajax_handlers() {
     11
    1112            $ajax_actions = [
    1213                'armicn_get_icon_settings' => 'armicn_get_icon_settings',
    1314                'armicn_get_icon_styles_tab_contents' => 'armicn_get_icon_styles_tab_contents',
    1415                'armicn_update_icon_options' => 'armicn_update_icon_options',
    15                 'armicn_delete_icon' => 'armicn_delete_icon'
     16                'armicn_delete_icon' => 'armicn_delete_icon',
    1617            ];
    1718
     
    1920                add_action( "wp_ajax_$action", [ $this, $callback ] );
    2021                add_action( "wp_ajax_nopriv_$action", [ $this, $callback ] );
     22            }
     23           
     24        }
     25
     26        // Ensure the wp_mail functionality is initialized
     27        public function ensure_wp_mail_functionality() {
     28            // If wp_mail isn't working, we may force WordPress to load necessary components
     29            if (!function_exists('wp_mail')) {
     30                // Force WordPress to load the necessary files
     31                require_once(ABSPATH . 'wp-includes/pluggable.php');
    2132            }
    2233        }
     
    7788        }
    7889
     90
    7991    }
    8092
    8193    new ARMICN_AJAX_HANDLER();
    8294}
     95
     96
     97
     98
     99   
     100
     101
     102
     103   
  • ar-menu-icons/trunk/admin/inc/metaboxes.php

    r3192731 r3224154  
    2222            if(!empty($armicn_icon_source) && !empty($armicn_icon)){
    2323
    24                 if($armicn_icon_source == 'dashicon' || $armicn_icon_source == 'fontawesome'){
     24                if($armicn_icon_source == 'dashicon' || $armicn_icon_source == 'fontawesome' || $armicn_icon_source == 'themify'){
    2525                    $icon_html = '<span class="'.$armicn_icon.'"></span>';
    2626                }
     
    3131                    <div class="armicn_saved_icon_wrapper <?php echo !empty($armicn_icon) ? esc_attr( 'has-icon') : '' ?>" style="clear: both;">
    3232                        <?php
    33                             if($armicn_icon_source == 'dashicon' || $armicn_icon_source == 'fontawesome' || $armicn_icon_source == ''){ ?>
     33                            if($armicn_icon_source == 'dashicon' || $armicn_icon_source == 'fontawesome' || $armicn_icon_source == 'themify' || $armicn_icon_source == ''){ ?>
    3434                                 <div class="armicn_saved_icon"><?php echo wp_kses_post( $icon_html )?></div>
    3535                            <?php }
     
    3737                       
    3838                        <div class="armicn_saved_icon_actions">
    39                             <button type="button" class="armicn_set_icon_toggle_in_nav_item" data-icon_source ="<?php echo esc_attr( $armicn_icon_source )?>" data-menu_item_id="<?php echo esc_attr($item_id); ?>"><?php echo !empty($armicn_icon) && ($armicn_icon_source == 'dashicon' || $armicn_icon_source == 'fontawesome') ? 'Change' : 'Add Icon'; ?></button>
     39                            <button type="button" class="armicn_set_icon_toggle_in_nav_item" data-icon_source ="<?php echo esc_attr( $armicn_icon_source )?>" data-menu_item_id="<?php echo esc_attr($item_id); ?>"><?php echo !empty($armicn_icon) && ($armicn_icon_source == 'dashicon' || $armicn_icon_source == 'fontawesome' || $armicn_icon_source == 'themify') ? 'Change' : 'Add Icon'; ?></button>
    4040                           
    4141                            <button type="button" class="armicn_remove_icon_toggle_in_nav_item" data-icon_source ="<?php echo esc_attr( $armicn_icon_source )?>" data-menu_item_id="<?php echo esc_attr($item_id); ?>"><?php echo esc_html_e('Remove', 'ar-menu-icons'); ?></button>
  • ar-menu-icons/trunk/admin/inc/scripts.php

    r3192731 r3224154  
    1010
    1111    wp_enqueue_style( 'armicn-fontawesome', ARMICN_DIR_URL . 'admin/assets/lib/font-awesome/css/all.min.css', array(), ARMICN_VERSION );
     12    wp_enqueue_style( 'armicn-themify-icons', ARMICN_DIR_URL . 'admin/assets/lib/themify/themify-icons.css', array(), ARMICN_VERSION );
    1213   
    1314    wp_enqueue_style( 'armicn-admin-style', ARMICN_DIR_URL . 'admin/assets/css/armicn.css', array(), ARMICN_VERSION );
     
    1516    wp_enqueue_script( 'armicn-admin', ARMICN_DIR_URL . 'admin/assets/js/armicn.js', array('jquery'), ARMICN_VERSION, TRUE );
    1617   
     18    $user_email = '';
     19    if(function_exists('wp_get_current_user')){
     20        $current_user = wp_get_current_user();
     21        if ($current_user->exists()) {
     22            $user_email = $current_user->user_email;
     23        }
     24    }
     25   
     26
    1727
    1828    wp_localize_script(
     
    2333                    'nonce'            => wp_create_nonce('armicn_nonce'),
    2434                    'plugin_dir_url'    => ARMICN_DIR_URL,
    25                 ]
     35                    'plugin_name'    => __('AR Menu Icons', 'ar-menu-icons'),
     36                    'plugin_version'    => ARMICN_VERSION,
     37                    'user_email'    => $user_email,
     38                    'site_url'    => site_url(),
     39                ],
    2640        );
    2741
  • ar-menu-icons/trunk/admin/templates/icon-modal-content.php

    r3192731 r3224154  
    77                    <option value="dashicon">Dashicons</option>
    88                    <option value="fontawesome">Fontawesome</option>
     9                    <option value="themify">Themify</option>
    910                    <option value="elegant">Elegant</option>
    1011                    <option value="fontello">Fontello</option>
  • ar-menu-icons/trunk/ar-menu-icons.php

    r3205483 r3224154  
    55 * Author:      ARsyntax
    66 * Author URI:  https://arsyntax.com
    7  * Version:     1.0.4
     7 * Version:     1.0.5
    88 * Requires at least: 6.0
    99 * License:     GPL2
     
    1616    if(!class_exists('ARMICN_PRO')) {
    1717
    18         define( 'ARMICN_VERSION', '1.0.4' );
     18        define( 'ARMICN_VERSION', '1.0.5' );
    1919        define( 'ARMICN_PL_ROOT', __FILE__ );
    2020        define( 'ARMICN_PLUGIN_BASE', plugin_basename( ARMICN_PL_ROOT ) );
     
    2222        define( 'ARMICN_DIR_URL', plugin_dir_url( ARMICN_PL_ROOT ) );
    2323
     24        require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
    2425
    2526        include 'admin/inc/settings.php';
  • ar-menu-icons/trunk/public/inc/nav-walker.php

    r3192731 r3224154  
    6464            $icon_class = ($armicn_icon_position == 'right') ? 'icon-right' : 'icon-left';
    6565
    66             if ($menu_item_icon_source == 'dashicon' || $menu_item_icon_source == 'fontawesome') {
     66            if ($menu_item_icon_source == 'dashicon' || $menu_item_icon_source == 'fontawesome' || $menu_item_icon_source == 'themify') {
    6767                $menu_item_icon = sprintf(
    6868                    '<span class="armicn menu-icon %s %s" style="%s"></span>',
  • ar-menu-icons/trunk/public/inc/scripts.php

    r3192731 r3224154  
    77    wp_enqueue_style('dashicons');
    88    wp_enqueue_style( 'armicn-fontawesome', ARMICN_DIR_URL . 'admin/assets/lib/font-awesome/css/all.min.css', array(), ARMICN_VERSION );
     9    wp_enqueue_style( 'armicn-themify-icons', ARMICN_DIR_URL . 'admin/assets/lib/themify/themify-icons.css', array(), ARMICN_VERSION );
    910    wp_enqueue_style( 'armicn-style', ARMICN_DIR_URL . 'public/assets/css/armicn.css', array(), ARMICN_VERSION );
    10     //wp_enqueue_script( 'armicn-public', ARMICN_DIR_URL . 'public/assets/js/armicn-menu-public.js', array('jquery'), ARMICN_VERSION, TRUE );
    11    
    1211}
    1312
  • ar-menu-icons/trunk/readme.txt

    r3205483 r3224154  
    44Requires at least: 6.0
    55Tested up to: 6.7
    6 Stable tag: 1.0.4
     6Stable tag: 1.0.5
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    7070== Changelog ==
    7171
     72= 1.0.5 - 17 Jan 2025 =
     73-  Added Themify Icons Library
     74
    7275= 1.0.4 - 09 Dec 2024 =
    7376- Fixed icon saving issues
Note: See TracChangeset for help on using the changeset viewer.