Plugin Directory

Changeset 3789032


Ignore:
Timestamp:
11/07/2026 06:13:02 AM (10 hours ago)
Author:
manikshi
Message:

Hey Trisha 2.3.2: page and post suggestion box padding and layout.

Location:
hey-trisha
Files:
8 edited
1 copied

Legend:

Unmodified
Added
Removed
  • hey-trisha/tags/2.3.2/assets/css/smart-assistant.css

    r3784773 r3789032  
    398398}
    399399
    400 /* HeyTrisha Suggestion meta box (above Yoast / SEO plugins) */
     400/* HeyTrisha Suggestion meta box (above Yoast / SEO plugins).
     401   Block editor zeroes .inside padding, so the widget supplies the inset. */
    401402#heytrisha_content_seo .inside,
    402403.heytrisha-seo-root {
    … …  
    405406}
    406407
     408#heytrisha_content_seo,
     409.heytrisha-seo-root,
    407410.heytrisha-seo-widget {
    408     padding: 8px 4px 10px;
     411    max-width: 100%;
    409412    box-sizing: border-box;
     413}
     414
     415.heytrisha-seo-widget {
     416    padding: 16px 20px 20px;
     417    color: #1d2327;
     418    font-size: 13px;
     419    line-height: 1.5;
    410420}
    411421
    … …  
    417427.heytrisha-seo-collapsed-row {
    418428    display: flex;
     429    flex-wrap: wrap;
    419430    align-items: center;
    420     justify-content: space-between;
    421     gap: 16px;
     431    gap: 12px 20px;
    422432    width: 100%;
    423433}
    424434
    425435.heytrisha-seo-collapsed-row .heytrisha-seo-intro {
    426     flex: 1 1 auto;
     436    flex: 1 1 280px;
    427437    min-width: 0;
    428438    margin: 0;
    … …  
    433443    color: #50575e;
    434444    font-size: 13px;
    435     line-height: 1.45;
     445    line-height: 1.5;
    436446}
    437447
    … …  
    444454    display: flex;
    445455    align-items: center;
    446     justify-content: flex-end;
     456    margin-left: auto;
    447457}
    448458
    449459.heytrisha-seo-bar-actions .button {
    450460    white-space: nowrap;
     461    min-width: 96px;
     462    text-align: center;
     463    margin: 0;
    451464}
    452465
    … …  
    458471}
    459472
     473.heytrisha-seo-loading {
     474    display: flex;
     475    align-items: center;
     476    gap: 10px;
     477    margin: 0;
     478    color: #50575e;
     479}
     480
     481.heytrisha-seo-loading .heytrisha-sa-spinner {
     482    margin: 0;
     483    width: 16px;
     484    height: 16px;
     485    border-width: 2px;
     486    flex: 0 0 auto;
     487}
     488
    460489.heytrisha-seo-status .heytrisha-sa-error {
    461490    margin: 0;
    … …  
    468497}
    469498
    470 .heytrisha-seo-status .heytrisha-sa-spinner {
    471     margin: 8px auto;
    472 }
    473 
    474499.heytrisha-seo-widget.is-expanded .heytrisha-seo-intro {
    475     margin: 0 0 12px;
     500    margin: 0 0 14px;
     501    max-width: 78ch;
    476502}
    477503
    478504.heytrisha-seo-widget.is-expanded .heytrisha-seo-status {
    479     margin: 0 0 12px;
     505    margin: 0 0 14px;
     506}
     507
     508.heytrisha-seo-widget .heytrisha-sa-store-summary,
     509.heytrisha-seo-widget .heytrisha-sa-store-missing {
     510    margin: 0 0 14px;
    480511}
    481512
    482513.heytrisha-seo-summary {
    483     margin: 0 0 12px;
     514    margin: 0 0 16px;
    484515    color: #1d2327;
    485516}
    486517
     518.heytrisha-seo-fields {
     519    display: grid;
     520    grid-template-columns: repeat(2, minmax(0, 1fr));
     521    gap: 16px 20px;
     522    margin: 0 0 16px;
     523}
     524
    487525.heytrisha-seo-field {
    488     margin: 0 0 14px;
    489     padding-bottom: 12px;
    490     border-bottom: 1px solid #f0f0f1;
     526    min-width: 0;
     527    margin: 0;
     528    padding: 0;
     529    border: 0;
     530}
     531
     532.heytrisha-seo-field.is-wide {
     533    grid-column: 1 / -1;
    491534}
    492535
    … …  
    494537    display: flex;
    495538    justify-content: space-between;
    496     gap: 8px;
     539    gap: 12px;
    497540    align-items: baseline;
    498541    margin-bottom: 6px;
    … …  
    505548
    506549.heytrisha-seo-input {
     550    display: block;
    507551    width: 100%;
    508552    max-width: 100%;
     553    margin: 0;
     554    padding: 8px 10px;
    509555    box-sizing: border-box;
    510556}
    511557
     558textarea.heytrisha-seo-input {
     559    min-height: 72px;
     560    resize: vertical;
     561    line-height: 1.5;
     562}
     563
     564.heytrisha-seo-widget .heytrisha-sa-section {
     565    margin: 0 0 16px;
     566    padding: 14px 16px;
     567    border: 1px solid #dcdcde;
     568    border-radius: 4px;
     569    background: #f6f7f7;
     570}
     571
     572.heytrisha-seo-widget .heytrisha-sa-section-title {
     573    margin: 0 0 8px;
     574}
     575
     576.heytrisha-seo-widget .heytrisha-sa-sources {
     577    margin: 0;
     578    padding-left: 18px;
     579}
     580
    512581.heytrisha-seo-actions {
    513582    display: flex;
    514583    flex-wrap: wrap;
     584    justify-content: flex-end;
    515585    gap: 8px;
    516     margin-top: 8px;
    517 }
    518 
    519 .heytrisha-seo-actions .button-primary {
    520     min-width: 88px;
     586    margin: 4px 0 0;
     587    padding-top: 16px;
     588    border-top: 1px solid #dcdcde;
     589}
     590
     591.heytrisha-seo-actions .button {
     592    margin: 0;
     593    min-width: 108px;
     594    text-align: center;
    521595}
    522596
    523597@media screen and (max-width: 782px) {
     598    .heytrisha-seo-widget {
     599        padding: 14px 14px 16px;
     600    }
     601
    524602    .heytrisha-seo-collapsed-row {
    525         flex-direction: column;
    526603        align-items: stretch;
    527604    }
    528605
    529606    .heytrisha-seo-bar-actions {
    530         justify-content: flex-start;
     607        margin-left: 0;
     608        width: 100%;
    531609    }
    532610
    533     .heytrisha-seo-bar-actions .button {
     611    .heytrisha-seo-bar-actions .button,
     612    .heytrisha-seo-actions .button {
    534613        width: 100%;
    535         text-align: center;
    536614    }
    537 }
     615
     616    .heytrisha-seo-fields {
     617        grid-template-columns: minmax(0, 1fr);
     618    }
     619
     620    .heytrisha-seo-field.is-wide {
     621        grid-column: auto;
     622    }
     623
     624    .heytrisha-seo-actions {
     625        justify-content: stretch;
     626    }
     627}
  • hey-trisha/tags/2.3.2/assets/js/content-seo-editor.js

    r3784773 r3789032  
    264264        var value = props.value == null ? '' : String(props.value);
    265265        var isArea = !!props.multiline;
    266         return el('div', { className: 'heytrisha-seo-field' },
     266        return el('div', { className: 'heytrisha-seo-field' + (isArea ? ' is-wide' : '') },
    267267            el('div', { className: 'heytrisha-seo-field-head' },
    268268                el('label', { className: 'heytrisha-seo-field-label', htmlFor: props.id }, props.label),
    … …  
    450450        }
    451451        if (loading) {
    452             statusChildren.push(el('div', { key: 'spin', className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' }));
     452            statusChildren.push(el('div', { key: 'loading', className: 'heytrisha-seo-loading' },
     453                el('div', { className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' }),
     454                el('span', null, i18n.analyzing || 'Preparing accurate suggestions…')
     455            ));
    453456        }
    454457        if (error) {
    … …  
    469472                            disabled: !post.title || loading,
    470473                            onClick: suggest
    471                         }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.analyze || 'Suggest'))
     474                        }, i18n.analyze || 'Suggest')
    472475                    )
    473476                ),
    … …  
    494497            }
    495498
    496             children.push(el(FieldInput, {
     499            var fields = [];
     500            fields.push(el(FieldInput, {
    497501                key: 'seo_title',
    498502                id: 'heytrisha-seo-title',
    … …  
    502506                onChange: function (value) { updateDraft('seo_title', value); }
    503507            }));
    504             children.push(el(FieldInput, {
     508            fields.push(el(FieldInput, {
    505509                key: 'meta_description',
    506510                id: 'heytrisha-seo-description',
    … …  
    512516                onChange: function (value) { updateDraft('meta_description', value); }
    513517            }));
    514             children.push(el(FieldInput, {
     518            fields.push(el(FieldInput, {
    515519                key: 'focus_keyword',
    516520                id: 'heytrisha-seo-focus',
    … …  
    519523                onChange: function (value) { updateDraft('focus_keyword', value); }
    520524            }));
    521             children.push(el(FieldInput, {
     525            fields.push(el(FieldInput, {
    522526                key: 'secondary_keywords',
    523527                id: 'heytrisha-seo-secondary',
    … …  
    526530                onChange: function (value) { updateDraft('secondary_keywords', value); }
    527531            }));
    528             children.push(el(FieldInput, {
     532            fields.push(el(FieldInput, {
    529533                key: 'targeting_locations',
    530534                id: 'heytrisha-seo-locations',
    … …  
    535539                onChange: function (value) { updateDraft('targeting_locations', value); }
    536540            }));
    537             children.push(el(FieldInput, {
     541            fields.push(el(FieldInput, {
    538542                key: 'slug',
    539543                id: 'heytrisha-seo-slug',
    … …  
    542546                onChange: function (value) { updateDraft('slug', value); }
    543547            }));
    544             children.push(el(FieldInput, {
     548            fields.push(el(FieldInput, {
    545549                key: 'excerpt',
    546550                id: 'heytrisha-seo-excerpt',
    … …  
    551555                onChange: function (value) { updateDraft('excerpt', value); }
    552556            }));
    553             children.push(el(FieldInput, {
     557            fields.push(el(FieldInput, {
    554558                key: 'og_title',
    555559                id: 'heytrisha-seo-og-title',
    … …  
    559563                onChange: function (value) { updateDraft('og_title', value); }
    560564            }));
    561             children.push(el(FieldInput, {
     565            fields.push(el(FieldInput, {
    562566                key: 'og_description',
    563567                id: 'heytrisha-seo-og-description',
    … …  
    568572                onChange: function (value) { updateDraft('og_description', value); }
    569573            }));
    570             children.push(el(FieldInput, {
     574            fields.push(el(FieldInput, {
    571575                key: 'schema_type',
    572576                id: 'heytrisha-seo-schema',
    … …  
    576580            }));
    577581            if ((post.type || '') !== 'page') {
    578                 children.push(el(FieldInput, {
     582                fields.push(el(FieldInput, {
    579583                    key: 'tags',
    580584                    id: 'heytrisha-seo-tags',
    … …  
    583587                    onChange: function (value) { updateDraft('tags', value); }
    584588                }));
    585                 children.push(el(FieldInput, {
     589                fields.push(el(FieldInput, {
    586590                    key: 'categories',
    587591                    id: 'heytrisha-seo-categories',
    … …  
    591595                }));
    592596            }
     597
     598            children.push(el('div', { key: 'fields', className: 'heytrisha-seo-fields' }, fields));
    593599
    594600            if (suggestions) {
    … …  
    633639                    disabled: loading || applying,
    634640                    onClick: suggest
    635                 }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.regenerate || 'Re-generate')),
     641                }, i18n.regenerate || 'Re-generate'),
    636642                el('button', {
    637643                    type: 'button',
  • hey-trisha/tags/2.3.2/heytrisha-woo.php

    r3784775 r3789032  
    44 * Plugin URI: https://heytrisha.com
    55 * Description: AI chatbot for any WordPress site. It reads the site, writes a description, and answers from that knowledge. WooCommerce and other data tables stay optional.
    6  * Version: 2.3.1
     6 * Version: 2.3.2
    77 * Author: Manikandan Chandran
    88 * Author URI: https://manikandanchandran.com/
    … …  
    123123// Define plugin constants (with defined() checks for safety during upgrades)
    124124if (!defined('HEYTRISHA_VERSION')) {
    125     define('HEYTRISHA_VERSION', '2.3.1');
     125    define('HEYTRISHA_VERSION', '2.3.2');
    126126}
    127127if (!defined('HEYTRISHA_PLUGIN_DIR')) {
  • hey-trisha/tags/2.3.2/readme.txt

    r3784775 r3789032  
    55Tested up to: 7.1
    66Requires PHP: 7.4.3
    7 Stable tag: 2.3.1
     7Stable tag: 2.3.2
    88License: MIT
    99License URI: https://opensource.org/licenses/MIT
    … …  
    160160== Changelog ==
    161161
     162= 2.3.2 - 2026-11-07 =
     163* IMPROVED: Page and post suggestion box padding, field layout, and the collapsed Suggest bar
     164
    162165= 2.3.1 - 2026-11-05 =
    163166* NEW: HeyTrisha Suggestion meta box above Yoast on page and post editors
    … …  
    286289== Upgrade Notice ==
    287290
     291= 2.3.2 =
     292Fixes spacing and layout in the page and post HeyTrisha Suggestion box.
     293
    288294= 2.3.1 =
    289295Adds the HeyTrisha Suggestion meta box above Yoast with Suggest, Re-generate, and Apply for SEO fields including targeting locations.
  • hey-trisha/trunk/assets/css/smart-assistant.css

    r3784773 r3789032  
    398398}
    399399
    400 /* HeyTrisha Suggestion meta box (above Yoast / SEO plugins) */
     400/* HeyTrisha Suggestion meta box (above Yoast / SEO plugins).
     401   Block editor zeroes .inside padding, so the widget supplies the inset. */
    401402#heytrisha_content_seo .inside,
    402403.heytrisha-seo-root {
    … …  
    405406}
    406407
     408#heytrisha_content_seo,
     409.heytrisha-seo-root,
    407410.heytrisha-seo-widget {
    408     padding: 8px 4px 10px;
     411    max-width: 100%;
    409412    box-sizing: border-box;
     413}
     414
     415.heytrisha-seo-widget {
     416    padding: 16px 20px 20px;
     417    color: #1d2327;
     418    font-size: 13px;
     419    line-height: 1.5;
    410420}
    411421
    … …  
    417427.heytrisha-seo-collapsed-row {
    418428    display: flex;
     429    flex-wrap: wrap;
    419430    align-items: center;
    420     justify-content: space-between;
    421     gap: 16px;
     431    gap: 12px 20px;
    422432    width: 100%;
    423433}
    424434
    425435.heytrisha-seo-collapsed-row .heytrisha-seo-intro {
    426     flex: 1 1 auto;
     436    flex: 1 1 280px;
    427437    min-width: 0;
    428438    margin: 0;
    … …  
    433443    color: #50575e;
    434444    font-size: 13px;
    435     line-height: 1.45;
     445    line-height: 1.5;
    436446}
    437447
    … …  
    444454    display: flex;
    445455    align-items: center;
    446     justify-content: flex-end;
     456    margin-left: auto;
    447457}
    448458
    449459.heytrisha-seo-bar-actions .button {
    450460    white-space: nowrap;
     461    min-width: 96px;
     462    text-align: center;
     463    margin: 0;
    451464}
    452465
    … …  
    458471}
    459472
     473.heytrisha-seo-loading {
     474    display: flex;
     475    align-items: center;
     476    gap: 10px;
     477    margin: 0;
     478    color: #50575e;
     479}
     480
     481.heytrisha-seo-loading .heytrisha-sa-spinner {
     482    margin: 0;
     483    width: 16px;
     484    height: 16px;
     485    border-width: 2px;
     486    flex: 0 0 auto;
     487}
     488
    460489.heytrisha-seo-status .heytrisha-sa-error {
    461490    margin: 0;
    … …  
    468497}
    469498
    470 .heytrisha-seo-status .heytrisha-sa-spinner {
    471     margin: 8px auto;
    472 }
    473 
    474499.heytrisha-seo-widget.is-expanded .heytrisha-seo-intro {
    475     margin: 0 0 12px;
     500    margin: 0 0 14px;
     501    max-width: 78ch;
    476502}
    477503
    478504.heytrisha-seo-widget.is-expanded .heytrisha-seo-status {
    479     margin: 0 0 12px;
     505    margin: 0 0 14px;
     506}
     507
     508.heytrisha-seo-widget .heytrisha-sa-store-summary,
     509.heytrisha-seo-widget .heytrisha-sa-store-missing {
     510    margin: 0 0 14px;
    480511}
    481512
    482513.heytrisha-seo-summary {
    483     margin: 0 0 12px;
     514    margin: 0 0 16px;
    484515    color: #1d2327;
    485516}
    486517
     518.heytrisha-seo-fields {
     519    display: grid;
     520    grid-template-columns: repeat(2, minmax(0, 1fr));
     521    gap: 16px 20px;
     522    margin: 0 0 16px;
     523}
     524
    487525.heytrisha-seo-field {
    488     margin: 0 0 14px;
    489     padding-bottom: 12px;
    490     border-bottom: 1px solid #f0f0f1;
     526    min-width: 0;
     527    margin: 0;
     528    padding: 0;
     529    border: 0;
     530}
     531
     532.heytrisha-seo-field.is-wide {
     533    grid-column: 1 / -1;
    491534}
    492535
    … …  
    494537    display: flex;
    495538    justify-content: space-between;
    496     gap: 8px;
     539    gap: 12px;
    497540    align-items: baseline;
    498541    margin-bottom: 6px;
    … …  
    505548
    506549.heytrisha-seo-input {
     550    display: block;
    507551    width: 100%;
    508552    max-width: 100%;
     553    margin: 0;
     554    padding: 8px 10px;
    509555    box-sizing: border-box;
    510556}
    511557
     558textarea.heytrisha-seo-input {
     559    min-height: 72px;
     560    resize: vertical;
     561    line-height: 1.5;
     562}
     563
     564.heytrisha-seo-widget .heytrisha-sa-section {
     565    margin: 0 0 16px;
     566    padding: 14px 16px;
     567    border: 1px solid #dcdcde;
     568    border-radius: 4px;
     569    background: #f6f7f7;
     570}
     571
     572.heytrisha-seo-widget .heytrisha-sa-section-title {
     573    margin: 0 0 8px;
     574}
     575
     576.heytrisha-seo-widget .heytrisha-sa-sources {
     577    margin: 0;
     578    padding-left: 18px;
     579}
     580
    512581.heytrisha-seo-actions {
    513582    display: flex;
    514583    flex-wrap: wrap;
     584    justify-content: flex-end;
    515585    gap: 8px;
    516     margin-top: 8px;
    517 }
    518 
    519 .heytrisha-seo-actions .button-primary {
    520     min-width: 88px;
     586    margin: 4px 0 0;
     587    padding-top: 16px;
     588    border-top: 1px solid #dcdcde;
     589}
     590
     591.heytrisha-seo-actions .button {
     592    margin: 0;
     593    min-width: 108px;
     594    text-align: center;
    521595}
    522596
    523597@media screen and (max-width: 782px) {
     598    .heytrisha-seo-widget {
     599        padding: 14px 14px 16px;
     600    }
     601
    524602    .heytrisha-seo-collapsed-row {
    525         flex-direction: column;
    526603        align-items: stretch;
    527604    }
    528605
    529606    .heytrisha-seo-bar-actions {
    530         justify-content: flex-start;
     607        margin-left: 0;
     608        width: 100%;
    531609    }
    532610
    533     .heytrisha-seo-bar-actions .button {
     611    .heytrisha-seo-bar-actions .button,
     612    .heytrisha-seo-actions .button {
    534613        width: 100%;
    535         text-align: center;
    536614    }
    537 }
     615
     616    .heytrisha-seo-fields {
     617        grid-template-columns: minmax(0, 1fr);
     618    }
     619
     620    .heytrisha-seo-field.is-wide {
     621        grid-column: auto;
     622    }
     623
     624    .heytrisha-seo-actions {
     625        justify-content: stretch;
     626    }
     627}
  • hey-trisha/trunk/assets/js/content-seo-editor.js

    r3784773 r3789032  
    264264        var value = props.value == null ? '' : String(props.value);
    265265        var isArea = !!props.multiline;
    266         return el('div', { className: 'heytrisha-seo-field' },
     266        return el('div', { className: 'heytrisha-seo-field' + (isArea ? ' is-wide' : '') },
    267267            el('div', { className: 'heytrisha-seo-field-head' },
    268268                el('label', { className: 'heytrisha-seo-field-label', htmlFor: props.id }, props.label),
    … …  
    450450        }
    451451        if (loading) {
    452             statusChildren.push(el('div', { key: 'spin', className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' }));
     452            statusChildren.push(el('div', { key: 'loading', className: 'heytrisha-seo-loading' },
     453                el('div', { className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' }),
     454                el('span', null, i18n.analyzing || 'Preparing accurate suggestions…')
     455            ));
    453456        }
    454457        if (error) {
    … …  
    469472                            disabled: !post.title || loading,
    470473                            onClick: suggest
    471                         }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.analyze || 'Suggest'))
     474                        }, i18n.analyze || 'Suggest')
    472475                    )
    473476                ),
    … …  
    494497            }
    495498
    496             children.push(el(FieldInput, {
     499            var fields = [];
     500            fields.push(el(FieldInput, {
    497501                key: 'seo_title',
    498502                id: 'heytrisha-seo-title',
    … …  
    502506                onChange: function (value) { updateDraft('seo_title', value); }
    503507            }));
    504             children.push(el(FieldInput, {
     508            fields.push(el(FieldInput, {
    505509                key: 'meta_description',
    506510                id: 'heytrisha-seo-description',
    … …  
    512516                onChange: function (value) { updateDraft('meta_description', value); }
    513517            }));
    514             children.push(el(FieldInput, {
     518            fields.push(el(FieldInput, {
    515519                key: 'focus_keyword',
    516520                id: 'heytrisha-seo-focus',
    … …  
    519523                onChange: function (value) { updateDraft('focus_keyword', value); }
    520524            }));
    521             children.push(el(FieldInput, {
     525            fields.push(el(FieldInput, {
    522526                key: 'secondary_keywords',
    523527                id: 'heytrisha-seo-secondary',
    … …  
    526530                onChange: function (value) { updateDraft('secondary_keywords', value); }
    527531            }));
    528             children.push(el(FieldInput, {
     532            fields.push(el(FieldInput, {
    529533                key: 'targeting_locations',
    530534                id: 'heytrisha-seo-locations',
    … …  
    535539                onChange: function (value) { updateDraft('targeting_locations', value); }
    536540            }));
    537             children.push(el(FieldInput, {
     541            fields.push(el(FieldInput, {
    538542                key: 'slug',
    539543                id: 'heytrisha-seo-slug',
    … …  
    542546                onChange: function (value) { updateDraft('slug', value); }
    543547            }));
    544             children.push(el(FieldInput, {
     548            fields.push(el(FieldInput, {
    545549                key: 'excerpt',
    546550                id: 'heytrisha-seo-excerpt',
    … …  
    551555                onChange: function (value) { updateDraft('excerpt', value); }
    552556            }));
    553             children.push(el(FieldInput, {
     557            fields.push(el(FieldInput, {
    554558                key: 'og_title',
    555559                id: 'heytrisha-seo-og-title',
    … …  
    559563                onChange: function (value) { updateDraft('og_title', value); }
    560564            }));
    561             children.push(el(FieldInput, {
     565            fields.push(el(FieldInput, {
    562566                key: 'og_description',
    563567                id: 'heytrisha-seo-og-description',
    … …  
    568572                onChange: function (value) { updateDraft('og_description', value); }
    569573            }));
    570             children.push(el(FieldInput, {
     574            fields.push(el(FieldInput, {
    571575                key: 'schema_type',
    572576                id: 'heytrisha-seo-schema',
    … …  
    576580            }));
    577581            if ((post.type || '') !== 'page') {
    578                 children.push(el(FieldInput, {
     582                fields.push(el(FieldInput, {
    579583                    key: 'tags',
    580584                    id: 'heytrisha-seo-tags',
    … …  
    583587                    onChange: function (value) { updateDraft('tags', value); }
    584588                }));
    585                 children.push(el(FieldInput, {
     589                fields.push(el(FieldInput, {
    586590                    key: 'categories',
    587591                    id: 'heytrisha-seo-categories',
    … …  
    591595                }));
    592596            }
     597
     598            children.push(el('div', { key: 'fields', className: 'heytrisha-seo-fields' }, fields));
    593599
    594600            if (suggestions) {
    … …  
    633639                    disabled: loading || applying,
    634640                    onClick: suggest
    635                 }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.regenerate || 'Re-generate')),
     641                }, i18n.regenerate || 'Re-generate'),
    636642                el('button', {
    637643                    type: 'button',
  • hey-trisha/trunk/heytrisha-woo.php

    r3784775 r3789032  
    44 * Plugin URI: https://heytrisha.com
    55 * Description: AI chatbot for any WordPress site. It reads the site, writes a description, and answers from that knowledge. WooCommerce and other data tables stay optional.
    6  * Version: 2.3.1
     6 * Version: 2.3.2
    77 * Author: Manikandan Chandran
    88 * Author URI: https://manikandanchandran.com/
    … …  
    123123// Define plugin constants (with defined() checks for safety during upgrades)
    124124if (!defined('HEYTRISHA_VERSION')) {
    125     define('HEYTRISHA_VERSION', '2.3.1');
     125    define('HEYTRISHA_VERSION', '2.3.2');
    126126}
    127127if (!defined('HEYTRISHA_PLUGIN_DIR')) {
  • hey-trisha/trunk/readme.txt

    r3784775 r3789032  
    55Tested up to: 7.1
    66Requires PHP: 7.4.3
    7 Stable tag: 2.3.1
     7Stable tag: 2.3.2
    88License: MIT
    99License URI: https://opensource.org/licenses/MIT
    … …  
    160160== Changelog ==
    161161
     162= 2.3.2 - 2026-11-07 =
     163* IMPROVED: Page and post suggestion box padding, field layout, and the collapsed Suggest bar
     164
    162165= 2.3.1 - 2026-11-05 =
    163166* NEW: HeyTrisha Suggestion meta box above Yoast on page and post editors
    … …  
    286289== Upgrade Notice ==
    287290
     291= 2.3.2 =
     292Fixes spacing and layout in the page and post HeyTrisha Suggestion box.
     293
    288294= 2.3.1 =
    289295Adds the HeyTrisha Suggestion meta box above Yoast with Suggest, Re-generate, and Apply for SEO fields including targeting locations.
Note: See TracChangeset for help on using the changeset viewer.