Compare commits

..

5 Commits

Author SHA1 Message Date
4810966b1c feat: add version in /health 2025-12-29 08:43:55 +01:00
8c62bff80b clean: remove div 2025-12-29 08:43:05 +01:00
17857a6b56 feat: add brand-version to display version bottom right 2025-12-29 08:42:59 +01:00
4053b89cf4 feat: title top left, version bottom right 2025-12-29 08:42:48 +01:00
331dba9211 feat: setup version 2025-12-29 08:42:27 +01:00
5 changed files with 37 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ use Urupam::DB;
use Urupam::URL; use Urupam::URL;
use Urupam::Validation; use Urupam::Validation;
use Urupam::API; use Urupam::API;
use Urupam::Version;
sub startup { sub startup {
my $self = shift; my $self = shift;
@@ -29,6 +30,12 @@ sub startup {
$c->stash->{validator} ||= Urupam::Validation->new; $c->stash->{validator} ||= Urupam::Validation->new;
} }
); );
$self->helper(
version => sub {
my $c = shift;
$c->stash->{version} ||= Urupam::Version->new->get_version;
}
);
my $r = $self->routes; my $r = $self->routes;
@@ -39,7 +46,12 @@ sub startup {
$c->db->ping->then( $c->db->ping->then(
sub { sub {
return if $c->stash->{rendered}; return if $c->stash->{rendered};
$c->render( json => { status => 'ok' } ); $c->render(
json => {
status => 'ok',
version => $c->version
}
);
} }
)->catch( )->catch(
sub { sub {

12
lib/Urupam/Version.pm Normal file
View File

@@ -0,0 +1,12 @@
package Urupam::Version;
use Mojo::Base -base;
has version => sub { '0.1.0' };
sub get_version {
my $self = shift;
return $self->version;
}
1;

View File

@@ -41,6 +41,16 @@ h1 {
color: #777; color: #777;
} }
.brand-version {
position: fixed;
right: 1rem;
bottom: 1rem;
font-size: 0.85rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #777;
}
.page-center h1 { .page-center h1 {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }

View File

@@ -8,7 +8,6 @@
<button type="submit" id="submit-btn">Shorten URL</button> <button type="submit" id="submit-btn">Shorten URL</button>
</form> </form>
<div id="result" class="result"></div> <div id="result" class="result"></div>
<div class="brand-mark">urupam</div>
<script> <script>
const form = document.getElementById('shorten-form'); const form = document.getElementById('shorten-form');
const urlInput = document.getElementById('url'); const urlInput = document.getElementById('url');

View File

@@ -9,5 +9,7 @@
</head> </head>
<body> <body>
<%= content %> <%= content %>
<div class="brand-mark">urupam</div>
<div class="brand-version">v<%= $c->version %></div>
</body> </body>
</html> </html>