diff --git a/src/app-config.php b/src/app-config.php index 76994d9..bf43f2c 100644 --- a/src/app-config.php +++ b/src/app-config.php @@ -3,6 +3,22 @@ /** The current Feed Reader Central version */ const FRC_VERSION = '1.0.0-alpha7'; +/** + * Drop .0 or .0.0 from the end of the version to format it for display + * + * @return string The version of the application for user display + */ +function display_version(): string { + [$major, $minor, $rev] = explode('.', FRC_VERSION); + $minor = $minor == '0' ? '' : ".$minor"; + $rev = match (true) { + $rev == '0' => '', + str_starts_with($rev, '0-') => substr($rev, 1), + default => ".$rev" + }; + return "v$major$minor$rev"; +} + spl_autoload_register(function ($class) { $file = implode(DIRECTORY_SEPARATOR, [__DIR__, 'lib', "$class.php"]); if (file_exists($file)) { diff --git a/src/cli-start.php b/src/cli-start.php index b6dda7e..cbe48e7 100644 --- a/src/cli-start.php +++ b/src/cli-start.php @@ -22,7 +22,7 @@ function printfn(string $format, mixed ...$values): void { * @param string $title The title to display on the command line */ function cli_title(string $title): void { - $appTitle = 'Feed Reader Central ~ v' . FRC_VERSION; + $appTitle = 'Feed Reader Central ~ ' . display_version(); $dashes = ' +' . str_repeat('-', strlen($title) + 2) . '+' . str_repeat('-', strlen($appTitle) + 2) . '+'; printfn($dashes); printfn(' | %s | %s |', $title, $appTitle); diff --git a/src/start.php b/src/start.php index b0a27d1..e10a37d 100644 --- a/src/start.php +++ b/src/start.php @@ -50,13 +50,9 @@ function nav_link(string $link, bool $isFirst = false) { * Render the title bar for the page */ function title_bar(): void { - $version = match (true) { - str_ends_with(FRC_VERSION, '.0.0') => substr(FRC_VERSION, 0, strlen(FRC_VERSION) - 4), - str_ends_with(FRC_VERSION, '.0') => substr(FRC_VERSION, 0, strlen(FRC_VERSION) - 2), - default => FRC_VERSION - }; ?> + $version = display_version();; ?>
-
Feed Reader Centralv
+
Feed Reader Central