Skip to content

Commit bf005bb

Browse files
Tsvetan StoychevTsvetan Stoychev
authored andcommitted
Add Basicrum branding assets
1 parent 31851b5 commit bf005bb

10 files changed

Lines changed: 78 additions & 1 deletion

File tree

plugins/basicrum/assets/css/admin/settings.css

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
.basicrum-settings-header {
2+
align-items: center;
3+
display: flex;
4+
gap: 12px;
5+
margin: 20px 0;
6+
}
7+
8+
.basicrum-settings-header h1 {
9+
margin: 0;
10+
padding: 0;
11+
}
12+
13+
.basicrum-settings-logo {
14+
display: block;
15+
flex: 0 0 auto;
16+
height: 48px;
17+
width: 48px;
18+
}
19+
120
.basicrum-field-control {
221
display: inline-flex;
322
align-items: center;
4.22 KB
Loading

plugins/basicrum/src/Admin/Settings/Page.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,16 @@ public function render_settings_page() {
415415
}
416416
?>
417417
<div class="wrap">
418-
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
418+
<div class="basicrum-settings-header">
419+
<img
420+
class="basicrum-settings-logo"
421+
src="<?php echo esc_url( Helpers::get_asset_url( 'images/basicrum-logo.png' ) ); ?>"
422+
alt=""
423+
width="48"
424+
height="48"
425+
/>
426+
<h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
427+
</div>
419428
<form action="options.php" method="post">
420429
<?php
421430
settings_fields( self::GROUP );

plugins/basicrum/tests/unit/SettingsPageTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,41 @@ public function test_hidden_error_icon_has_explicit_display_rule() {
2626
$this->assertStringContainsString( '.basicrum-field-error-icon[hidden]', $css );
2727
$this->assertMatchesRegularExpression( '/\.basicrum-field-error-icon\[hidden\]\s*\{[^}]*display:\s*none;/s', $css );
2828
$this->assertMatchesRegularExpression( '/\.basicrum-field-error-message\s*\{[^}]*color:\s*#d63638;[^}]*font-weight:\s*600;/s', $css );
29+
$this->assertStringContainsString( '.basicrum-settings-header', $css );
30+
$this->assertStringContainsString( '.basicrum-settings-logo', $css );
2931
$this->assertStringContainsString( '.basicrum-radio-option', $css );
3032
$this->assertStringContainsString( '.basicrum-consent-info', $css );
3133
}
3234

35+
/**
36+
* Test the settings page renders the packaged Basicrum logo.
37+
*/
38+
public function test_settings_page_renders_brand_logo() {
39+
Functions\when( 'plugins_url' )->alias(
40+
function( $path ) {
41+
return 'https://example.com/wp-content/plugins/basicrum/' . $path;
42+
}
43+
);
44+
Functions\expect( 'current_user_can' )->once()->with( 'manage_options' )->andReturn( true );
45+
Functions\when( 'get_admin_page_title' )->justReturn( 'Basicrum Settings' );
46+
Functions\when( 'settings_fields' )->justReturn();
47+
Functions\when( 'do_settings_sections' )->justReturn();
48+
Functions\when( 'submit_button' )->justReturn();
49+
50+
$page = new Page();
51+
52+
ob_start();
53+
$page->render_settings_page();
54+
$html = ob_get_clean();
55+
56+
$this->assertStringContainsString( 'class="basicrum-settings-header"', $html );
57+
$this->assertStringContainsString( 'class="basicrum-settings-logo"', $html );
58+
$this->assertStringContainsString( 'src="https://example.com/wp-content/plugins/basicrum/assets/images/basicrum-logo.png"', $html );
59+
$this->assertStringContainsString( 'alt=""', $html );
60+
$this->assertStringContainsString( 'width="48"', $html );
61+
$this->assertStringContainsString( 'height="48"', $html );
62+
}
63+
3364
/**
3465
* Set up WordPress function stubs.
3566
*/

tools/verify-release.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ require_entry 'basicrum/vendor/composer/installed.php'
4545
require_entry 'basicrum/assets/js/boomr/boomerang-1.815.60.cutting-edge.min.js'
4646
require_entry 'basicrum/assets/js/loaders/boomerang-loader-v15.min.js'
4747
require_entry 'basicrum/assets/js/loaders/consent-boomerang-loader-v1-15.min.js'
48+
require_entry 'basicrum/assets/images/basicrum-logo.png'
4849
require_entry 'basicrum/languages/basicrum.pot'
4950

5051
if printf '%s\n' "$ARCHIVE_ENTRIES" | grep -Fqx 'basicrum/assets/js/loaders/consent-api.js'; then

wordpress-org-assets/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# WordPress.org Plugin Directory assets
2+
3+
These files are prepared for the Basicrum listing in the WordPress.org Plugin
4+
Directory. When publishing through the WordPress.org SVN repository, copy them
5+
to its top-level `assets/` directory, alongside `trunk/`.
6+
7+
- `icon-128x128.png` and `icon-256x256.png` are the directory icons.
8+
- `banner-772x250.png` and `banner-1544x500.png` are the directory banners.
9+
10+
The canonical source artwork is
11+
`plugins/basicrum/assets/images/basicrum-logo.png`, which the settings page
12+
uses at runtime.
13+
14+
This directory remains outside `plugins/basicrum/`, so the release build does
15+
not include these WordPress.org-only files in the installable Basicrum ZIP. See
16+
[Plugin Assets](https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/)
17+
for the directory requirements.
14 KB
Loading
5.78 KB
Loading
2.63 KB
Loading
3.82 KB
Loading

0 commit comments

Comments
 (0)