| | |
| | | * Outputs the search bar (likely don't need anymore) |
| | | * @return string |
| | | */ |
| | | function jvbSearch(string $placeholder = 'Search...'):string |
| | | function jvbSearch(string $placeholder = 'Search...', string $id = 'search'):string |
| | | { |
| | | return '<div class="search-container row start nowrap"> |
| | | <input type="search" id="search" placeholder="'.$placeholder.'"> |
| | | <button |
| | | title="Clear Search" |
| | | type="button" |
| | | class="clear-search" |
| | | aria-label="Clear search" |
| | | onclick="this.previousElementSibling.value = \'\'; this.previousElementSibling.focus();" |
| | | >'.jvbIcon('x', ['title'=> 'Clear Search']).'</button> |
| | | <button type="button" title="Search" class="toggle search" aria-label="Toggles search input visually" onclick="this.parentNode.classList.toggle(\'open\');this.previousElementSibling.previousElementSibling.focus();">'.jvbIcon('magnifying-glass').'</button> |
| | | </div>'; |
| | | $id = sanitize_title($id); |
| | | return sprintf( |
| | | '<div class="search-container row start nowrap"> |
| | | <input type="search" id="%s" placeholder="%s"> |
| | | <button |
| | | title="Clear Search" |
| | | type="button" |
| | | class="clear-search" |
| | | aria-label="Clear search" |
| | | onclick="this.previousElementSibling.value = \'\'; this.previousElementSibling.focus();" |
| | | >%s</button> |
| | | <button type="button" title="Search" class="toggle search" aria-label="Toggles search input visually" onclick="this.parentNode.classList.toggle(\'open\');this.previousElementSibling.previousElementSibling.focus();">%s</button> |
| | | </div>', |
| | | $id, |
| | | $placeholder, |
| | | jvbIcon('x', ['title'=> 'Clear Search']), |
| | | jvbIcon('magnifying-glass') |
| | | ); |
| | | } |
| | | |
| | | |
| | |
| | | return $image->formatImage($imgID, $start, $end, $addLink, $postSlug); |
| | | } |
| | | |
| | | function jvbImageCaption(int $imgID, string $start = 'tiny', string $end = 'large', bool $addLink = true, ?string $postSlug = null):string |
| | | { |
| | | $caption = wp_get_attachment_caption($imgID); |
| | | $caption = ($caption && $caption !== '') ? '<figcaption>'.apply_filters('the_content', $caption).'</figcaption>' : ''; |
| | | return '<figure>'.jvbFormatImage($imgID, $start, $end, $addLink, $postSlug).$caption.'</figure>'; |
| | | } |
| | | |
| | | /** |
| | | * Outputs the notification container in the footer |
| | | * @return void |
| | |
| | | <div class="bar"> |
| | | <div class="fill"></div> |
| | | </div> |
| | | <div class="details row btw"> |
| | | <?=$inside?> |
| | | <div class="row btw"> |
| | | <i class="icon"></i> |
| | | <div class="details"> |
| | | <?=$inside?> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <?php |