Livewire2.0 view is not rendering

What seems to be the problem: I migrated my livewire from 1.0 to 2.0 with laravel 8 and some view are not rendering. previously on livewire:1 it was working
yield is not working ie app blade in layout is yielding panel blade and panel blade is yielding page i need

***here is my layouts/app.blade.php

<body>
@-auth

    `<form action="{{ route('logout') }}" id="form-logout" method="post" style="display: none;">`

       ` @-csrf`

    `</form>`

@-endauth

@-yield('body')

`@-section('scripts')`

<script src="{{ mix('js/app.js') }}"></script>

`<script>`

      `  if (window.self !== window.top) {`

          `  window.top.location.href = '{{ url('/') }}';`

     `   }`

</script>

`@-show`

</body>

***here is layouts/panel.blade.php

@-extends('layouts.app')

@-section('styles')

@-parent

`<link rel="stylesheet" href="{{ mix('css/flatpickr.css') }}">`

@-livewireStyles

<header>xxx</header>

@-yield('content')

<footer></footer>

@-endsection

@-section('body')

some content

@-endsection

@-section('scripts')

`@-parent`

`@livewireScripts`

@-endsection

Hi,
go to
Livewire upgrade guide https://laravel-livewire.com/docs/2.x/upgrading start reading from Removed: Route::livewire() you will find the answer there

this is something from the upgrade guide:

By default in 1.x, Livewire renders your page-level components using a traditional Blade layout located in resources/layouts/app.blade.php . In 2.0, Livewire uses the same layout file as a default, however, it now expects you are using the new Blade component $slot syntax in the layout.