Display nicename in dashboard

This commit is contained in:
2026-02-05 07:40:00 +01:00
parent 11108bdfcc
commit e9ae850002
6 changed files with 52 additions and 19 deletions

View File

@@ -8,6 +8,8 @@ const props = defineProps({
user: Object, user: Object,
currentPath: String, currentPath: String,
}) })
console.log(props.user.nicename)
</script> </script>
<template> <template>

View File

@@ -4,6 +4,7 @@ namespace App\Providers;
use App\Models\Tenant; use App\Models\Tenant;
use App\Models\User; use App\Models\User;
use App\Resources\UserResource;
use Inertia\Inertia; use Inertia\Inertia;
use Inertia\Response; use Inertia\Response;
@@ -23,7 +24,7 @@ final class InertiaProvider
public function render() : Response { public function render() : Response {
$this->props['navbar'] = $this->generateNavbar(); $this->props['navbar'] = $this->generateNavbar();
$this->props['tenant'] = app('tenant'); $this->props['tenant'] = app('tenant');
$this->props['user'] = $this->user; $this->props['user'] = new UserResource($this->user)->toArray(request());
$this->props['currentPath'] = request()->path(); $this->props['currentPath'] = request()->path();
$this->props['availableLocalGroups'] = Tenant::where(['is_active_local_group' => true])->get(); $this->props['availableLocalGroups'] = Tenant::where(['is_active_local_group' => true])->get();

View File

@@ -0,0 +1,34 @@
<?php
namespace App\Resources;
use App\Models\User;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends JsonResource {
private User $user;
public function __construct(User $user) {
$this->user = $user;
}
public function toArray($request) {
$data = array_merge(
$this->user->toArray(),
[
'nicename' => $this->user->getNicename(),
'fullname' => $this->user->getFullName()
]);
unset($data['password']);
unset($data['remember_token']);
unset($data['email_verified_at']);
unset($data['created_at']);
unset($data['updated_at']);
unset($data['activation_token']);
unset($data['activation_token_expires_at']);
return $data;
}
}

View File

@@ -1,14 +0,0 @@
<script setup>
defineProps({
appName: String,
})
</script>
<template>
<main style="padding: 2rem">
<h1>{{ appName }}</h1>
<p>Laravel + Inertia + Vue läuft 🚀</p>
</main>
</template>

View File

@@ -124,3 +124,12 @@ th {
th:after { th:after {
content: ":"; content: ":";
} }
#show_username {
position: relative;
top: -30px;
width: calc(100% - 20px);
display: block;
font-weight: bold;
text-align: right;
}

View File

@@ -10,9 +10,6 @@ const props = defineProps({
tenant: String, tenant: String,
currentPath: String, currentPath: String,
}) })
console.log(props.currentPath)
</script> </script>
<template> <template>
@@ -68,7 +65,11 @@ console.log(props.currentPath)
<div class="main"> <div class="main">
<div class="header"> <div class="header">
<div class="left-side"><h1>{{ props.title }}</h1></div> <div class="left-side">
<h1>{{ props.title }}</h1>
<label id="show_username" v-if="props.user !== null">Willkommen, {{ props.user.nicename }}</label>
Test
</div>
<div class="user-info" v-if="props.user !== null"> <div class="user-info" v-if="props.user !== null">
<a href="/messages" class="header-link-anonymous" title="Meine Nachrichten"> <a href="/messages" class="header-link-anonymous" title="Meine Nachrichten">
<Icon name="envelope" /> <Icon name="envelope" />