Implements weeks 1–4 of the CMO brand identity sprint. Key changes: - CSS token system (assets/css/brand.css): full palette, verdict tokens, component styles - Poppins/Inter/IBM Plex Mono Google Fonts loading with preload - Full favicon/PWA/OG asset pack (peptide-repo-brand v1.0.0) - 5-state verdict badge + card + evidence row components - verdict_state + signal_row post meta on pr_peptide CPT - Homepage hero: teal bg, new H1/subhead, lime search bar - Archive verdict filter chips (CSS + pre_get_posts query hook) - Affiliate disclosure component (3 contexts) - page-how-we-review.php + page-about.php templates - Footer Our Method links - a11y: skip-to-content, reduced-motion, aria on verdict badges QA: PASS (0 blockers) — qa-reviews/peptide-starter-theme/2026-04-26-a2bff59.md Staging verified: https://staging.peptiderepo.com
40 lines
1.4 KiB
PHP
40 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Verdict Badge Component
|
|
*
|
|
* Displays a verdict state badge with glyph, label, and colors.
|
|
* Accepts $args['verdict_state'] and $args['show_label'].
|
|
*
|
|
* @package peptide-starter
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
$verdict_state = isset( $args['verdict_state'] ) ? sanitize_text_field( $args['verdict_state'] ) : '';
|
|
$show_label = isset( $args['show_label'] ) ? (bool) $args['show_label'] : true;
|
|
|
|
// State configuration.
|
|
$states = array(
|
|
'established' => array( 'glyph' => '✓', 'label' => 'Established' ),
|
|
'promising' => array( 'glyph' => '◐', 'label' => 'Promising' ),
|
|
'investigational' => array( 'glyph' => '?', 'label' => 'Investigational' ),
|
|
'insufficient' => array( 'glyph' => '⊘', 'label' => 'Insufficient Evidence' ),
|
|
'cautionary' => array( 'glyph' => '⚠', 'label' => 'Cautionary' ),
|
|
);
|
|
|
|
// Early exit if invalid state.
|
|
if ( ! isset( $states[ $verdict_state ] ) ) {
|
|
return;
|
|
}
|
|
|
|
$state_info = $states[ $verdict_state ];
|
|
?>
|
|
<span class="pr-verdict pr-verdict--<?php echo esc_attr( $verdict_state ); ?>" role="img" aria-label="<?php echo esc_attr( 'Verdict: ' . $state_info['label'] ); ?>">
|
|
<span class="pr-verdict__glyph" aria-hidden="true"><?php echo $state_info['glyph']; ?></span>
|
|
<?php if ( $show_label ) : ?>
|
|
<span class="pr-verdict__label"><?php echo esc_html( $state_info['label'] ); ?></span>
|
|
<?php endif; ?>
|
|
</span>
|