// Laravel code
class HandleInertiaRequests extends Middleware
{
public function share(Request $request)
{
return array_merge(parent::share($request), [
'flash' => [
'message' => fn () => $request->session()->get('message')
],
]);
}
}
// vue3 code
<template>
<main>
<header></header>
<content>
<div v-if="$page.props.flash.message" class="alert">
{{ $page.props.flash.message }}
</div>
<slot />
</content>
<footer></footer>
</main>
</template>
{{ $page.props.flash.message }} will work in template, If you want to
get message in strip so you has to follow the below code.
import {usePage} from '@inertiajs/vue3'
const message = usePage().props.flash.message;
You can get anything from usePage() or $page in template if you have
shared it in middleware HandleInertiaRequests.
Add dd() in HandleInertiaRequests and sure that message is available
here or not.