Logo Branding

This commit is contained in:
2026-06-30 23:55:57 +10:00
parent 25d413283a
commit b12a6e4fd9
12 changed files with 302 additions and 14 deletions
+8 -1
View File
@@ -46,7 +46,6 @@ SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
@@ -75,4 +74,12 @@ AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
BROADCAST_CONNECTION=reverb
REVERB_APP_ID=#openssl rand -hex 16)
REVERB_APP_KEY=#openssl rand -hex 20)
REVERB_APP_SECRET=#openssl rand -hex 20)
REVERB_HOST=#website.com
REVERB_PORT=8080
REVERB_SCHEME=http
VITE_APP_NAME="${APP_NAME}"
@@ -39,9 +39,6 @@ class FlightFeedUpdate extends Command
]
]);
if($type === 'flight_departing'){
$flight->user->calculateAchievements();
}
}
}
}
@@ -28,7 +28,6 @@ class UpdateDepartedFlights extends Command
})
->get();
$this->info("Found {$userFlights->count()} flights.");
foreach ($userFlights as $flight) {
$flight->update(['departure_processed_at' => $now]);
@@ -51,8 +51,6 @@ class AchievementService
$this->user = $user;
$this->achievementCache = Achievement::all()->keyBy('internal_name');
// In calculateAchievements (or wherever createAchievementNotification is called from)
\Log::info('calculateAchievements running for user ' . $user->id);
// Load once with every relationship any checker could need
$this->flights = $user->flights()->with([
'airline.alliance',
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 34 KiB

@@ -0,0 +1,38 @@
<script setup lang="ts">
import { computed } from 'vue'
type LogoVariant = 'color' | 'mono'
const props = withDefaults(defineProps<{
variant?: LogoVariant
height?: string
width?: string
}>(), {
variant: 'color',
height: '90%',
width: 'auto',
})
const sources: Record<LogoVariant, string> = {
color: '/img/logos/header_logo_color.svg',
mono: '/img/logos/header_logo_mono.svg',
}
const src = computed(() => sources[props.variant])
</script>
<template>
<img
:src="src"
alt="FlightsGoneBy"
class="logo"
:style="{ height: props.height }"
/>
</template>
<style scoped>
.logo {
width: auto;
display: block;
}
</style>
@@ -4,6 +4,7 @@ import { usePage } from '@inertiajs/vue3'
import type { SharedProps } from '@/Types/types'
import { ref, onMounted, onUnmounted } from 'vue'
import NotificationMenu from "@/Components/FlightsGoneBy/NotificationMenu.vue";
import Logo from "@/Components/FlightsGoneBy/Logo.vue";
const page = usePage<SharedProps>()
const menuOpen = ref(false)
@@ -25,7 +26,9 @@ onUnmounted(() => document.removeEventListener('click', handleClickOutside))
<template>
<header class="glass">
<Link href="/" class="brand">FlightsGoneBy</Link>
<Link href="/" class="brand">
<Logo variant="color" />
</Link>
<NotificationMenu v-if="page.props.auth?.user" :unread-count="page.props.unread_notification_count" />
@@ -99,14 +102,12 @@ header {
}
.brand {
display: flex;
align-items: center;
height: 100%;
margin-right: auto;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: 0.08em;
color: var(--accent);
text-decoration: none;
}
.nav-greeting {
font-size: 0.85rem;
font-weight: 500;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="app-name" content="{{ config('app.name') }}">
<title inertia>{{ config('app.name', 'Laravel') }}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('img/favicons/favicon.png') }}">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />