Compare commits

...

4 Commits

Author SHA1 Message Date
26220f1025
- content improvement 2022-07-05 13:05:08 +02:00
e39827df20
- cleaning 2022-07-05 13:04:58 +02:00
b64f2ce269
- updated style 2022-07-05 13:04:51 +02:00
600a1a369f
- release note added 2022-07-05 13:04:37 +02:00
6 changed files with 115 additions and 1 deletions

View File

@ -67,3 +67,9 @@ SLACK_ENABLED=true
SLACK_CLIENT_TOKEN=
SLACK_SIGNING_SECRET=
SLACK_DEFAULT_CHANNEL="#general"
HEROKU_RELEASE_VERSION=v01
HEROKU_SLUG_DESCRIPTION="Dev 643f546"
HEROKU_RELEASE_CREATED_AT=2022-07-04T18:05:46Z
HEROKU_SLUG_COMMIT=643f546142b8a2db342f0ae46f01e61dce03e97c
GITHUB_REPO_URL=https://github.com/blumilksoftware/toby/

View File

@ -25,6 +25,7 @@ class HandleInertiaRequests extends Middleware
"flash" => $this->getFlashData($request),
"years" => $this->getYearsData($request),
"vacationRequestsCount" => $this->getVacationRequestsCount($request),
"deployInformation" => $this->getDeployInformation(),
]);
}
@ -71,4 +72,15 @@ class HandleInertiaRequests extends Middleware
->count()
: null;
}
protected function getDeployInformation(): Closure
{
return fn() => [
"release_version" => config("heroku.release_version"),
"slug_description" => config("heroku.slug_description"),
"release_created_at" => config("heroku.release_created_at"),
"slug_commit" => config("heroku.slug_commit"),
"github_url" => preg_replace("/\/$/i", "", config("heroku.github_url", "")),
];
}
}

11
config/heroku.php Normal file
View File

@ -0,0 +1,11 @@
<?php
declare(strict_types=1);
return [
"release_version" => env("HEROKU_RELEASE_VERSION"),
"slug_description" => env("HEROKU_SLUG_DESCRIPTION"),
"release_created_at" => env("HEROKU_RELEASE_CREATED_AT"),
"slug_commit" => env("HEROKU_SLUG_COMMIT"),
"github_url" => env("GITHUB_REPO_URL"),
];

View File

@ -0,0 +1,67 @@
<template>
<div
:class="{ 'flex-col': isVertical(), 'flex-row': isHorizontal() }"
class="min-w-full p-4 text-xs text-gray-500 flex gap-x-1"
>
<p class="flex flex-row gap-x-1">
<strong>Wersja:</strong>
<span
:title="`Commit: ${deployInformation.slug_commit ?? 'unset'}`"
>
{{ deployInformation.slug_description ?? 'unset' }} ({{ deployInformation.release_version ?? 'unset' }})
</span>
</p>
<p
v-if="deployInformation.release_created_at"
class="flex flex-row gap-x-1"
:class="{ 'border-l-2 border-gray-300 pl-1': isHorizontal() }"
>
<strong>Ostatnio zbudowano:</strong>
<span>{{ getDate() }}</span>
</p>
<p
v-if="deployInformation.github_url"
:class="{ 'border-l-2 border-gray-300 pl-1': isHorizontal(), 'flex flex-row gap-x-1': isVertical() }"
>
<strong v-if="isVertical()">Repozytorium:</strong>
<a
v-if="deployInformation.github_url"
class="text-gray-800 underline hover:no-underline hover:text-blumilk-600"
:href="deployInformation.github_url"
target="_blank"
rel="noopener nofollow noreferrer"
>GitHub</a>
</p>
</div>
</template>
<script setup>
import { DateTime } from 'luxon'
let props = defineProps({
deployInformation: Object,
layout: {
type: String,
default: 'horizontal',
},
})
function isVertical() {
return props.layout === 'vertical'
}
function isHorizontal() {
return props.layout === 'horizontal'
}
function getDate() {
return DateTime.fromISO(props.deployInformation.release_created_at)
.toLocaleString({
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
})
}
</script>

View File

@ -9,6 +9,9 @@
<div class="lg:px-4">
<slot />
</div>
<DeployInfo
:deploy-information="deployInformation"
/>
</main>
</div>
</template>
@ -17,12 +20,14 @@
import MainMenu from '@/Shared/MainMenu'
import { useToast } from 'vue-toastification'
import { watch } from 'vue'
import DeployInfo from '@/Shared/DeployInfo'
const props = defineProps({
flash: Object,
auth: Object,
years: Object,
vacationRequestsCount: Number,
deployInformation: Object,
})
const toast = useToast()

View File

@ -1,5 +1,18 @@
<template>
<div class="flex flex-col justify-center py-12 min-h-screen bg-blumilk-25 sm:px-6 lg:px-8">
<div class="relative flex flex-col justify-center py-12 min-h-screen bg-blumilk-25 sm:px-6 lg:px-8">
<slot />
<DeployInfo
:deploy-information="deployInformation"
layout="vertical"
class="absolute right-0 bottom-0"
/>
</div>
</template>
<script setup>
import DeployInfo from '@/Shared/DeployInfo'
defineProps({
deployInformation: Object,
})
</script>