true display a "Coming soon" badge overlaid in
* the top-right corner — layered on top of the --inactive visual treatment.
*
* @see front-page.php — includes this template part
* @see style.css — .ps-module-* classes
*
* What: 3-column grid of research tool cards with SVG icons.
* Who calls it: get_template_part( 'template-parts/module', 'cards' ).
* Dependencies: None — all output is self-contained.
*
* @package peptide-starter
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Module card definitions with shortcode checks for graceful degradation.
// 'coming_soon' => true adds a "Coming soon" badge without removing existing
// --inactive styling — the badge layers on top of the dim/no-hover treatment.
$modules = array(
array(
'title' => __( 'Peptides', 'peptide-starter' ),
'description' => __( 'Read the verdicts. 20 monographs across 5 evidence states, growing weekly.', 'peptide-starter' ),
'url' => '/peptides',
'icon' => '',
'available' => shortcode_exists( 'peptide_directory' ) || post_type_exists( 'peptide' ),
'coming_soon' => false,
),
array(
'title' => __( 'Calculator', 'peptide-starter' ),
'description' => __( 'Reconstitute a peptide accurately. Enter the vial, the bacteriostatic water, the target dose; get the units.', 'peptide-starter' ),
'url' => '/calculator',
'icon' => '',
'available' => shortcode_exists( 'prc_calculator' ),
'coming_soon' => false,
),
array(
'title' => __( 'Protocol Builder', 'peptide-starter' ),
'description' => __( 'Build a protocol you can hand to anyone. Doses, schedule, notes, reviewable history.', 'peptide-starter' ),
'url' => '/protocol-builder',
'icon' => '',
'available' => shortcode_exists( 'peptide_tools_protocol_builder' ),
'coming_soon' => true,
),
array(
'title' => __( 'Tracker', 'peptide-starter' ),
'description' => __( 'Log doses and timing. For people running their own protocols, and people supervising someone else\'s.', 'peptide-starter' ),
'url' => '/tracker',
'icon' => '',
'available' => shortcode_exists( 'peptide_tracker' ),
'coming_soon' => true,
),
array(
'title' => __( 'Science Feed', 'peptide-starter' ),
'description' => __( 'What\'s new in peptide research. Filtered for what matters, weekly.', 'peptide-starter' ),
'url' => '/news',
'icon' => '',
'available' => shortcode_exists( 'peptide_news' ),
'coming_soon' => false,
),
array(
'title' => __( 'Subject Log', 'peptide-starter' ),
'description' => __( 'Track outcomes over time. Subjective markers, lab results, protocol changes — your own data, kept private.', 'peptide-starter' ),
'url' => '/subject-log',
'icon' => '',
'available' => shortcode_exists( 'peptide_tracker_subject_log' ),
'coming_soon' => true,
),
);
?>