This commit is contained in:
Javier Casares 2026-08-14 16:46:11 +00:00
commit 38fbcf80a5
4 changed files with 97 additions and 10 deletions

View file

@ -112,6 +112,8 @@ $compat_warnings = 0;
$raw_cost = $entry['price_annual'] ?? 0;
$raw_ver = $entry['current_version'] ?? '';
$raw_url = $entry['page_url'] ?? '';
$raw_home = $entry['homepage'] ?? '';
$raw_desc = $entry['description'] ?? '';
$raw_rwp = $entry['requires_wp'] ?? '';
$raw_rphp = $entry['requires_php'] ?? '';
@ -121,9 +123,15 @@ $compat_warnings = 0;
$cost = is_numeric( $raw_cost ) ? (float) ( $raw_cost + 0.0 ) : 0.0;
$remote_v = is_string( $raw_ver ) ? $raw_ver : '';
$page_url = is_string( $raw_url ) ? $raw_url : '';
$homepage = is_string( $raw_home ) ? $raw_home : '';
$desc = is_string( $raw_desc ) ? trim( $raw_desc ) : '';
$req_wp = is_string( $raw_rwp ) ? $raw_rwp : '';
$req_php = is_string( $raw_rphp ) ? $raw_rphp : '';
$website_url = '' !== $page_url ? $page_url : $homepage;
$expandable = ( '' !== $desc || '' !== $website_url );
$toggle_id = 'robotstxt-manager-toggle-' . esc_attr( $slug );
// Compatibility checks.
$wp_ok = '' === $req_wp || version_compare( $local_wp_version, $req_wp, '>=' );
$php_ok = '' === $req_php || version_compare( $local_php_version, $req_php, '>=' );
@ -148,7 +156,11 @@ $compat_warnings = 0;
$row_class = ( ! $wp_ok || ! $php_ok ) ? ' robotstxt-manager-row--incompatible' : '';
?>
<tr class="<?php echo esc_attr( ltrim( $row_class ) ); ?>">
<td>
<td class="robotstxt-manager-name-cell">
<?php if ( $expandable ) : ?>
<input type="checkbox" class="robotstxt-manager-toggle" id="<?php echo esc_attr( $toggle_id ); ?>" aria-label="<?php esc_attr_e( 'Show more information', 'robotstxt-manager' ); ?>" />
<label class="robotstxt-manager-toggle-label" for="<?php echo esc_attr( $toggle_id ); ?>"><span class="robotstxt-manager-toggle-arrow"></span></label>
<?php endif; ?>
<strong><?php echo esc_html( $name ); ?></strong>
<?php if ( '' !== $remote_v ) : ?>
<br /><span class="description"><?php echo esc_html( sprintf( 'v%s', $remote_v ) ); ?></span>
@ -228,6 +240,18 @@ $compat_warnings = 0;
<?php endif; ?>
</td>
</tr>
<?php if ( $expandable ) : ?>
<tr class="robotstxt-manager-detail-row">
<td colspan="7">
<?php if ( '' !== $desc ) : ?>
<p class="robotstxt-manager-detail-description"><?php echo esc_html( $desc ); ?></p>
<?php endif; ?>
<?php if ( '' !== $website_url ) : ?>
<a href="<?php echo esc_url( $website_url ); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Visit website', 'robotstxt-manager' ); ?> <span class="screen-reader-text"><?php echo esc_html( sprintf( /* translators: %s: plugin name. */ __( '(about %s)', 'robotstxt-manager' ), $name ) ); ?></span></a>
<?php endif; ?>
</td>
</tr>
<?php endif; ?>
<?php endforeach; ?>
</tbody>
</table>
@ -265,4 +289,13 @@ $compat_warnings = 0;
.robotstxt-manager-compat--fail { color: #d63638; font-weight: 600; }
.robotstxt-manager-compat-warning { cursor: help; }
.robotstxt-manager-row--incompatible { background-color: #fef7f0 !important; }
/* Expandable detail rows (CSS-only toggle). */
.robotstxt-manager-toggle { display: none; }
.robotstxt-manager-toggle-label { cursor: pointer; display: inline-block; width: 1.4em; }
.robotstxt-manager-toggle-arrow::before { content: "\25B8"; /* ▸ */ }
.robotstxt-manager-detail-row { display: none; }
.robotstxt-manager-detail-row td { border-top: none !important; }
tr:has(.robotstxt-manager-toggle:checked) + tr.robotstxt-manager-detail-row { display: table-row; }
tr:has(.robotstxt-manager-toggle:checked) .robotstxt-manager-toggle-arrow::before { content: "\25BE"; /* ▾ */ }
</style>