@mstdmstd My message is regarding this:
'flash' => [
'message' => fn () => $request->session()->get('message')
],
this part in particular: $request->session()->get('message') you are getting something from the session under the key message while from your controller you use this: ->with( 'flash', 'You have no access to currency listing') so in the session it should be under the flash key not message.
So that's why I am saying are you using/looking at the correct place from where you are passing the data.
In your inertial middleware add this:
'flash_type' => [
'message' => 'Testing if it will show'
],
just to make sure that you'll get the message in the console. If you do, then it means that from your controller this is not passed probably because you are not hitting that endpoint, OR something else happens in between the requests, and since it is a flash session (lasting for only one request) the message is gone.
Hope this helps.