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
5 changed files with 89 additions and 59 deletions

View File

@@ -6,7 +6,6 @@ namespace Toby\Infrastructure\Http\Middleware;
use Closure; use Closure;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Inertia\Middleware; use Inertia\Middleware;
use Toby\Domain\VacationRequestStatesRetriever; use Toby\Domain\VacationRequestStatesRetriever;
use Toby\Eloquent\Helpers\YearPeriodRetriever; use Toby\Eloquent\Helpers\YearPeriodRetriever;
@@ -74,14 +73,12 @@ class HandleInertiaRequests extends Middleware
: null; : null;
} }
protected function getDeployInformation(): array protected function getDeployInformation(): Closure
{ {
$releaseDate = config("heroku.release_created_at"); return fn() => [
return [
"release_version" => config("heroku.release_version"), "release_version" => config("heroku.release_version"),
"slug_description" => config("heroku.slug_description"), "slug_description" => config("heroku.slug_description"),
"release_created_at" => $releaseDate ? Carbon::parse($releaseDate)->format('Y-m-d H:i:s') : null, "release_created_at" => config("heroku.release_created_at"),
"slug_commit" => config("heroku.slug_commit"), "slug_commit" => config("heroku.slug_commit"),
"github_url" => preg_replace("/\/$/i", "", config("heroku.github_url", "")), "github_url" => preg_replace("/\/$/i", "", config("heroku.github_url", "")),
]; ];

View File

@@ -7,5 +7,5 @@ return [
"slug_description" => env("HEROKU_SLUG_DESCRIPTION"), "slug_description" => env("HEROKU_SLUG_DESCRIPTION"),
"release_created_at" => env("HEROKU_RELEASE_CREATED_AT"), "release_created_at" => env("HEROKU_RELEASE_CREATED_AT"),
"slug_commit" => env("HEROKU_SLUG_COMMIT"), "slug_commit" => env("HEROKU_SLUG_COMMIT"),
"github_url" => env("GITHUB_REPO_URL") "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,30 +9,9 @@
<div class="lg:px-4"> <div class="lg:px-4">
<slot /> <slot />
</div> </div>
<div class="p-4 text-xs text-gray-500 flex align-baseline gap-x-1"> <DeployInfo
<p> :deploy-information="deployInformation"
<strong>Wydanie:</strong> <a />
v-if="deployInformation.github_url"
:href="`${deployInformation.github_url}/commit/${deployInformation.slug_commit}`"
target="_blank"
rel="noopener nofollow noreferrer"
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }} ({{ deployInformation.release_version }})
</a><span
v-else
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }}
</span>
</p>
<p
v-if="deployInformation.release_created_at"
class="border-l-2 border-gray-300 pl-1"
>
<strong>Data wydania:</strong> {{ deployInformation.release_created_at }}
</p>
</div>
</main> </main>
</div> </div>
</template> </template>
@@ -41,6 +20,7 @@
import MainMenu from '@/Shared/MainMenu' import MainMenu from '@/Shared/MainMenu'
import { useToast } from 'vue-toastification' import { useToast } from 'vue-toastification'
import { watch } from 'vue' import { watch } from 'vue'
import DeployInfo from '@/Shared/DeployInfo'
const props = defineProps({ const props = defineProps({
flash: Object, flash: Object,

View File

@@ -1,31 +1,17 @@
<template> <template>
<div class="relative 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 /> <slot />
<div class="absolute left-0 bottom-0 min-w-full p-4 text-xs text-gray-500 flex flex-col gap-x-1"> <DeployInfo
<p> :deploy-information="deployInformation"
<strong>Wydanie:</strong> <a layout="vertical"
v-if="deployInformation.github_url" class="absolute right-0 bottom-0"
:href="`${deployInformation.github_url}/commit/${deployInformation.slug_commit}`" />
target="_blank"
rel="noopener nofollow noreferrer"
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }} ({{ deployInformation.release_version }})
</a>
<span
v-else
:title="`Commit: ${deployInformation.slug_commit}`"
>
{{ deployInformation.slug_description }}
</span>
</p>
<p v-if="deployInformation.release_created_at">
<strong>Data wydania:</strong> {{ deployInformation.release_created_at }}
</p>
</div>
</div> </div>
</template> </template>
<script setup> <script setup>
import DeployInfo from '@/Shared/DeployInfo'
defineProps({ defineProps({
deployInformation: Object, deployInformation: Object,
}) })