Components
20
Twig Components
118
Render Count
563
ms
Render Time
86.5
MiB
Memory Usage
Components
Render calls
| menu:main | App\Twig\Components\Menu\MainMenu | 74.5 MiB | 37.23 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Menu\MainMenu {#6192 -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#208 …} -em: Doctrine\ORM\EntityManager {#550 …} -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#205 …} -kernel: App\Kernel {#14 …} -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.41 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoDark" ] |
|||
| Attributes | [ "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoDark" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6239 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoWhite" ] |
|||
| Attributes | [ "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoWhite" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6250 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| utils:theme-switcher |
[Anonymous]
|
68.5 MiB | 1.06 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "max-w-fit" ] |
|||
| Attributes | [ "class" => "max-w-fit" ] |
|||
| Component | Symfony\UX\TwigComponent\AnonymousComponent {#6301 -props: [ "class" => "max-w-fit" ] } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150" "data-front--header-target" => "logoDark" ] |
|||
| Attributes | [ "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150" "data-front--header-target" => "logoDark" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6316 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150" "data-front--header-target" => "logoWhite" ] |
|||
| Attributes | [ "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150" "data-front--header-target" => "logoWhite" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6366 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "search" "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Attributes | [ "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6394 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "search" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "flexed-biceps" "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Attributes | [ "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6410 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "flexed-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "barbell" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6434 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "barbell" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "category" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6458 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "category" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fire" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6482 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fire" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "discipline " "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6506 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "discipline " +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "stats-chart" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6530 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "stats-chart" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "latest" "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Attributes | [ "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6554 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "latest" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "random" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6578 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "random" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 70.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-down" "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180" ] |
|||
| Attributes | [ "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6929 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "chevron-down" +title: null +symbolDefsName: null } |
|||
| utils:theme-switcher |
[Anonymous]
|
70.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "max-w-fit" ] |
|||
| Attributes | [ "class" => "max-w-fit" ] |
|||
| Component | Symfony\UX\TwigComponent\AnonymousComponent {#6916 -props: [ "class" => "max-w-fit" ] } |
|||
| menu:connexion-menu | App\Twig\Components\Menu\ConnexionMenu | 74.5 MiB | 8.63 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Menu\ConnexionMenu {#7007 -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#7008 …} -formFactory: Symfony\Component\Form\FormFactory {#7006 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "close" "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer" ] |
|||
| Attributes | [ "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7159 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "close" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "hidden dark:block h-[80px] w-[300px]" ] |
|||
| Attributes | [ "class" => "hidden dark:block h-[80px] w-[300px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7194 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "block dark:hidden h-[80px] w-[300px]" ] |
|||
| Attributes | [ "class" => "block dark:hidden h-[80px] w-[300px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7224 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "google" "class" => "h-[24px] w-[20px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "h-[24px] w-[20px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7256 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "google" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "apple" "class" => "h-[24px] w-[20px] fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "h-[24px] w-[20px] fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7275 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "apple" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "h-[80px] w-[300px]" ] |
|||
| Attributes | [ "class" => "h-[80px] w-[300px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7385 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-down" "class" => "fill-white w-[20px] h-[20px]" ] |
|||
| Attributes | [ "class" => "fill-white w-[20px] h-[20px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7419 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "chevron-down" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "flexed-biceps" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7435 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "flexed-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fire" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7459 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fire" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "category" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7483 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "category" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "barbell" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7507 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "barbell" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "discipline" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7531 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "discipline" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "stats-chart" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7555 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "stats-chart" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "latest" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7579 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "latest" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "random" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7603 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "random" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "favorites" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7627 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "favorites" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "more" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7651 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "more" +title: null +symbolDefsName: null } |
|||
| app:lang-selector | App\Twig\Components\App\LangSelector | 74.5 MiB | 0.46 ms | |
|---|---|---|---|---|
| Input props | [ "defaultOpenLeft" => true ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LangSelector {#7696 +routeName: null +params: null +withQuery: true +defaultOpenLeft: true -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "close" "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white" ] |
|||
| Attributes | [ "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7686 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "close" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "h-16 w-full" ] |
|||
| Attributes | [ "class" => "h-16 w-full" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7327 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| menu:breadcrumb | App\Twig\Components\Menu\Breadcrumb | 74.5 MiB | 0.58 ms | |
|---|---|---|---|---|
| Input props | [ "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4558 -items: [ [ "label" => "menu.home" "url" => "/en/" ] [ "label" => "menu.exercises" "url" => "/en/exercises" ] [ "label" => "Upper Back Stretch" "url" => "/en/exercises/group/351-upper-back-stretch" ] [ "label" => "Upper Back Stretch" "url" => null ] ] } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Menu\Breadcrumb {#7779 +items: [ [ "label" => "menu.home" "url" => "/en/" ] [ "label" => "menu.exercises" "url" => "/en/exercises" ] [ "label" => "Upper Back Stretch" "url" => "/en/exercises/group/351-upper-back-stretch" ] [ "label" => "Upper Back Stretch" "url" => null ] ] +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4558 -items: [ [ "label" => "menu.home" "url" => "/en/" ] [ "label" => "menu.exercises" "url" => "/en/exercises" ] [ "label" => "Upper Back Stretch" "url" => "/en/exercises/group/351-upper-back-stretch" ] [ "label" => "Upper Back Stretch" "url" => null ] ] } } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-right" "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Attributes | [ "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7809 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "chevron-right" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-right" "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Attributes | [ "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7831 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "chevron-right" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-right" "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Attributes | [ "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7854 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "chevron-right" +title: null +symbolDefsName: null } |
|||
| ad:banner | App\Twig\Components\Ad\AdBanner | 74.5 MiB | 0.38 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "my-4" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdBanner {#7897 +includeScript: true +labelClass: null +containerClass: "my-4" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2934 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| media:video | App\Twig\Components\Media\Video | 74.5 MiB | 0.32 ms | |
|---|---|---|---|---|
| Input props | [ "media" => App\Entity\Media\MediaVideo {#4512 #uploadedFile: null #file: Vich\UploaderBundle\Entity\File {#4514 …} #credits: Doctrine\ORM\PersistentCollection {#4516 …} -source: null -zone: null -urlExternal: null #id: 2938 -notes: null #translations: Doctrine\ORM\PersistentCollection {#4488 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -tiersId: null -tiersName: null #createdAt: DateTimeImmutable @1767023810 {#4550 : 2025-12-29 16:56:50.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767023810 {#4502 : 2025-12-29 16:56:50.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} -duration: null -format: null -startTime: 17 -endTime: 41 -youtubeId: "uDm3lzfzYzc" } "title" => "Upper Back Stretch" "showCredits" => false ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Media\Video {#7984 +media: App\Entity\Media\MediaVideo {#4512 #uploadedFile: null #file: Vich\UploaderBundle\Entity\File {#4514 …} #credits: Doctrine\ORM\PersistentCollection {#4516 …} -source: null -zone: null -urlExternal: null #id: 2938 -notes: null #translations: Doctrine\ORM\PersistentCollection {#4488 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -tiersId: null -tiersName: null #createdAt: DateTimeImmutable @1767023810 {#4550 : 2025-12-29 16:56:50.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767023810 {#4502 : 2025-12-29 16:56:50.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} -duration: null -format: null -startTime: 17 -endTime: 41 -youtubeId: "uDm3lzfzYzc" } +title: "Upper Back Stretch" +posterSm: null +posterLg: null +hasPipButton: true +loop: false +mute: false +showCredits: false +creditsTitle: "label.media_video.credits" -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …} -appManager: App\BusinessLogic\App\Manager\AppManager {#152 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "favorites" "class" => "h-4 w-4 stroke-yellow text-transparent" "data-front--favorite-target" => "icon" ] |
|||
| Attributes | [ "class" => "h-4 w-4 stroke-yellow text-transparent" "data-front--favorite-target" => "icon" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8000 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "favorites" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "program" "class" => "w-5 h-5 text-white inline-flex" ] |
|||
| Attributes | [ "class" => "w-5 h-5 text-white inline-flex" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8033 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "program" +title: null +symbolDefsName: null } |
|||
| app:page-sharer | App\Twig\Components\App\PageSharer | 74.5 MiB | 1.27 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "mt-2 md:m-0" ] |
|||
| Attributes | [ "class" => "mt-2 md:m-0" ] |
|||
| Component | App\Twig\Components\App\PageSharer {#8057 +shareUrl: "http://test.fitmetrics.ch/en/exercise/68e3bb68cbf4f-upper-back-stretch" +title: "Upper Back Stretch - Exercise - FitMetrics" +description: "Upper Back Stretch is a simple mobility drill designed to reduce stiffness in the upper spine and the shoulder blade region, especially after long hours of sitting, screen time, or repetitive upper-body training. By reaching forward and gently rounding the upper back, you encourage the shoulder blades to glide apart and create space across the back of the ribcage. This makes it a practical reset for posture, helping you feel less tight through the mid-back and more comfortable when standing tall or moving your arms overhead. This stretch is commonly used in warm-ups, cooldowns, and recovery routines because it is easy to perform anywhere and requires no equipment. Consistent practice can support smoother upper-body mechanics for everyday tasks such as reaching, lifting, and carrying, while also helping you unwind tension that builds up from stress and static positions. It can be especially useful for people who feel a "pinched" or compressed sensation between the shoulder blades, or who notice upper-back fatigue during desk work. Because the movement is controlled and low intensity, the Upper Back Stretch is appropriate for most fitness levels. You can adjust it by performing it seated or standing, changing how far you reach, or shortening the hold time. When performed with relaxed breathing and steady posture, it delivers a quick, reliable sense of relief and improved comfort in the upper back area." +quote: null +hashtags: [ "fitmetrics" ] +alignMobileLeft: false -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "check" "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Attributes | [ "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8087 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "check" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "reddit" "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8115 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "reddit" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "twitter" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8140 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "twitter" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "threads" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8163 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "threads" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "facebook" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8186 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "facebook" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "linkedin" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8209 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "linkedin" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "whatsapp" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8232 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "whatsapp" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "email" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8255 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "email" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 76.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "program" "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Attributes | [ "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8286 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "program" +title: null +symbolDefsName: null } |
|||
| ui:editor-render | App\Twig\Components\Ui\Editor\EditorRender | 76.5 MiB | 0.82 ms | |
|---|---|---|---|---|
| Input props | [ "data" => [ "time" => 1767024051088 "blocks" => [ [ "id" => "NIsDMYtwSu" "type" => "header" "data" => [ "text" => "Instructions" "level" => 2 ] ] [ "id" => "otjuh_MwoF" "type" => "list" "data" => [ "style" => "ordered" "meta" => [ "counterType" => "numeric" ] "items" => [ [ "content" => "Stand tall or sit upright with your feet flat and your spine long." "meta" => [] "items" => [] ] [ "content" => "Interlace your fingers in front of your chest and turn your palms away from you." "meta" => [] "items" => [] ] [ "content" => "Reach your hands forward at shoulder height as you gently round your upper back." "meta" => [] "items" => [] ] [ "content" => "Let your shoulder blades spread apart and feel the stretch between them." "meta" => [] "items" => [] ] [ "content" => "Keep your chin slightly tucked and your ribs down to avoid arching your lower back." "meta" => [] "items" => [] ] [ "content" => "Hold the position for the prescribed time, then relax and repeat as needed." "meta" => [] "items" => [] ] ] ] ] [ "id" => "ZFtMbM5JuF" "type" => "header" "data" => [ "text" => "Technical tips" "level" => 2 ] ] [ "id" => "sZnxaGLuko" "type" => "list" "data" => [ "style" => "unordered" "meta" => [] "items" => [ [ "content" => "Reach forward rather than down to keep the stretch focused on the upper back." "meta" => [] "items" => [] ] [ "content" => "Avoid shrugging; keep shoulders away from your ears while the shoulder blades widen." "meta" => [] "items" => [] ] [ "content" => "Maintain a gentle brace through the midsection so the stretch does not shift into the lower back." "meta" => [] "items" => [] ] [ "content" => "Move into the end range slowly and stop before any sharp pain or tingling." "meta" => [] "items" => [] ] [ "content" => "If you feel it mostly in the shoulders, push your hands slightly farther forward and round the upper back more." "meta" => [] "items" => [] ] ] ] ] [ "id" => "-EgOHTYavx" "type" => "header" "data" => [ "text" => "Breathing tips" "level" => 2 ] ] [ "id" => "udJ3PcRT54" "type" => "list" "data" => [ "style" => "unordered" "meta" => [] "items" => [ [ "content" => "Inhale to lengthen your spine before you start the stretch." "meta" => [] "items" => [] ] [ "content" => "Exhale as you reach forward and gently round the upper back." "meta" => [] "items" => [] ] [ "content" => "Take slow nasal breaths while holding, aiming to soften the upper back on each exhale." "meta" => [] "items" => [] ] [ "content" => "Inhale to maintain posture, then exhale to deepen the stretch slightly without forcing." "meta" => [] "items" => [] ] ] ] ] ] "version" => "2.31.0-rc.7" ] ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Editor\EditorRender {#8335 +title: null +data: [ "time" => 1767024051088 "blocks" => [ [ "id" => "NIsDMYtwSu" "type" => "header" "data" => [ "text" => "Instructions" "level" => 2 ] ] [ "id" => "otjuh_MwoF" "type" => "list" "data" => [ "style" => "ordered" "meta" => [ "counterType" => "numeric" ] "items" => [ [ "content" => "Stand tall or sit upright with your feet flat and your spine long." "meta" => [] "items" => [] ] [ "content" => "Interlace your fingers in front of your chest and turn your palms away from you." "meta" => [] "items" => [] ] [ "content" => "Reach your hands forward at shoulder height as you gently round your upper back." "meta" => [] "items" => [] ] [ "content" => "Let your shoulder blades spread apart and feel the stretch between them." "meta" => [] "items" => [] ] [ "content" => "Keep your chin slightly tucked and your ribs down to avoid arching your lower back." "meta" => [] "items" => [] ] [ "content" => "Hold the position for the prescribed time, then relax and repeat as needed." "meta" => [] "items" => [] ] ] ] ] [ "id" => "ZFtMbM5JuF" "type" => "header" "data" => [ "text" => "Technical tips" "level" => 2 ] ] [ "id" => "sZnxaGLuko" "type" => "list" "data" => [ "style" => "unordered" "meta" => [] "items" => [ [ "content" => "Reach forward rather than down to keep the stretch focused on the upper back." "meta" => [] "items" => [] ] [ "content" => "Avoid shrugging; keep shoulders away from your ears while the shoulder blades widen." "meta" => [] "items" => [] ] [ "content" => "Maintain a gentle brace through the midsection so the stretch does not shift into the lower back." "meta" => [] "items" => [] ] [ "content" => "Move into the end range slowly and stop before any sharp pain or tingling." "meta" => [] "items" => [] ] [ "content" => "If you feel it mostly in the shoulders, push your hands slightly farther forward and round the upper back more." "meta" => [] "items" => [] ] ] ] ] [ "id" => "-EgOHTYavx" "type" => "header" "data" => [ "text" => "Breathing tips" "level" => 2 ] ] [ "id" => "udJ3PcRT54" "type" => "list" "data" => [ "style" => "unordered" "meta" => [] "items" => [ [ "content" => "Inhale to lengthen your spine before you start the stretch." "meta" => [] "items" => [] ] [ "content" => "Exhale as you reach forward and gently round the upper back." "meta" => [] "items" => [] ] [ "content" => "Take slow nasal breaths while holding, aiming to soften the upper back on each exhale." "meta" => [] "items" => [] ] [ "content" => "Inhale to maintain posture, then exhale to deepen the stretch slightly without forcing." "meta" => [] "items" => [] ] ] ] ] ] "version" => "2.31.0-rc.7" ] +spacing: 4 +adsInterval: 5 +withAds: true +withMarketingBanner: false +marketingBannerPosition: 8 -host: "http://test.fitmetrics.ch" #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} } |
|||
| ui:editor-render | App\Twig\Components\Ui\Editor\EditorRender | 76.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "data" => [ "time" => 1767024051088 "blocks" => [ [ "id" => "s1JyX01UPL" "type" => "list" "data" => [ "style" => "unordered" "meta" => [] "items" => [ [ "content" => "Acute shoulder injury or recent shoulder surgery" "meta" => [] "items" => [] ] [ "content" => "Severe cervical spine pain, acute neck injury, or nerve symptoms radiating into the arm" "meta" => [] "items" => [] ] [ "content" => "Acute thoracic spine injury or recent upper-back surgery" "meta" => [] "items" => [] ] [ "content" => "Severe osteoporosis or vertebral fracture risk where spinal flexion is restricted" "meta" => [] "items" => [] ] [ "content" => "Unexplained numbness, tingling, or weakness in the arms or hands" "meta" => [] "items" => [] ] ] ] ] ] "version" => "2.31.0-rc.7" ] ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Editor\EditorRender {#8396 +title: null +data: [ "time" => 1767024051088 "blocks" => [ [ "id" => "s1JyX01UPL" "type" => "list" "data" => [ "style" => "unordered" "meta" => [] "items" => [ [ "content" => "Acute shoulder injury or recent shoulder surgery" "meta" => [] "items" => [] ] [ "content" => "Severe cervical spine pain, acute neck injury, or nerve symptoms radiating into the arm" "meta" => [] "items" => [] ] [ "content" => "Acute thoracic spine injury or recent upper-back surgery" "meta" => [] "items" => [] ] [ "content" => "Severe osteoporosis or vertebral fracture risk where spinal flexion is restricted" "meta" => [] "items" => [] ] [ "content" => "Unexplained numbness, tingling, or weakness in the arms or hands" "meta" => [] "items" => [] ] ] ] ] ] "version" => "2.31.0-rc.7" ] +spacing: 4 +adsInterval: 5 +withAds: true +withMarketingBanner: false +marketingBannerPosition: 8 -host: "http://test.fitmetrics.ch" #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} } |
|||
| ad:square:fluid | App\Twig\Components\Ad\AdSquareFluid | 76.5 MiB | 0.24 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "mt-6" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdSquareFluid {#8383 +includeScript: true +labelClass: null +containerClass: "mt-6" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2934 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.71 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5089 -news: Doctrine\ORM\PersistentCollection {#5072 …} -exercises: Doctrine\ORM\PersistentCollection {#5074 …} #id: 6227 #createdAt: DateTimeImmutable @1767024020 {#5084 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5059 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5118 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8440 +faq: App\Entity\Faq {#5089 -news: Doctrine\ORM\PersistentCollection {#5072 …} -exercises: Doctrine\ORM\PersistentCollection {#5074 …} #id: 6227 #createdAt: DateTimeImmutable @1767024020 {#5084 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5059 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5118 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.26 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "What are the benefits of doing the Upper Back Stretch?" "answer" => "The Upper Back Stretch helps reduce upper-back stiffness, improves comfort between the shoulder blades, and supports better posture after sitting or training. It can also make reaching and overhead movements feel smoother by restoring mobility in the upper spine and shoulder blade area." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8468 +question: "What are the benefits of doing the Upper Back Stretch?" +answer: "The Upper Back Stretch helps reduce upper-back stiffness, improves comfort between the shoulder blades, and supports better posture after sitting or training. It can also make reaching and overhead movements feel smoother by restoring mobility in the upper spine and shoulder blade area." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.18 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5120 -news: Doctrine\ORM\PersistentCollection {#5127 …} -exercises: Doctrine\ORM\PersistentCollection {#5124 …} #id: 6228 #createdAt: DateTimeImmutable @1767024020 {#5115 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5122 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5134 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8499 +faq: App\Entity\Faq {#5120 -news: Doctrine\ORM\PersistentCollection {#5127 …} -exercises: Doctrine\ORM\PersistentCollection {#5124 …} #id: 6228 #createdAt: DateTimeImmutable @1767024020 {#5115 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5122 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5134 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "What is the most common mistake when doing the Upper Back Stretch?" "answer" => "The most common mistake is shrugging the shoulders up toward the ears or arching the lower back. Keep the ribs down, gently round the upper back, and reach forward at shoulder height so the stretch stays focused on the upper back instead of the neck or low back." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8544 +question: "What is the most common mistake when doing the Upper Back Stretch?" +answer: "The most common mistake is shrugging the shoulders up toward the ears or arching the lower back. Keep the ribs down, gently round the upper back, and reach forward at shoulder height so the stretch stays focused on the upper back instead of the neck or low back." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.16 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5133 -news: Doctrine\ORM\PersistentCollection {#5305 …} -exercises: Doctrine\ORM\PersistentCollection {#5190 …} #id: 6229 #createdAt: DateTimeImmutable @1767024020 {#5131 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5130 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5106 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8547 +faq: App\Entity\Faq {#5133 -news: Doctrine\ORM\PersistentCollection {#5305 …} -exercises: Doctrine\ORM\PersistentCollection {#5190 …} #id: 6229 #createdAt: DateTimeImmutable @1767024020 {#5131 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5130 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5106 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "Is the Upper Back Stretch safe for my shoulders and neck?" "answer" => "For most people it is safe when done gently and without pain. If you have a recent shoulder or neck injury, nerve symptoms (numbness or tingling), or sharp pain, avoid the stretch and consult a qualified clinician. Use a smaller range of motion and keep the chin slightly tucked to reduce neck strain." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8591 +question: "Is the Upper Back Stretch safe for my shoulders and neck?" +answer: "For most people it is safe when done gently and without pain. If you have a recent shoulder or neck injury, nerve symptoms (numbness or tingling), or sharp pain, avoid the stretch and consult a qualified clinician. Use a smaller range of motion and keep the chin slightly tucked to reduce neck strain." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.15 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5102 -news: Doctrine\ORM\PersistentCollection {#5101 …} -exercises: Doctrine\ORM\PersistentCollection {#5099 …} #id: 6230 #createdAt: DateTimeImmutable @1767024020 {#5104 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5103 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5097 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8594 +faq: App\Entity\Faq {#5102 -news: Doctrine\ORM\PersistentCollection {#5101 …} -exercises: Doctrine\ORM\PersistentCollection {#5099 …} #id: 6230 #createdAt: DateTimeImmutable @1767024020 {#5104 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5103 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5097 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "How long should I hold the Upper Back Stretch?" "answer" => "A good starting point is 20 to 40 seconds per hold for 1 to 3 rounds. If you are using it as a quick posture reset during the day, even a 15 to 20 second hold can be effective." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8638 +question: "How long should I hold the Upper Back Stretch?" +answer: "A good starting point is 20 to 40 seconds per hold for 1 to 3 rounds. If you are using it as a quick posture reset during the day, even a 15 to 20 second hold can be effective." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.14 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5049 -news: Doctrine\ORM\PersistentCollection {#5048 …} -exercises: Doctrine\ORM\PersistentCollection {#5046 …} #id: 6231 #createdAt: DateTimeImmutable @1767024020 {#5051 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5050 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5044 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8641 +faq: App\Entity\Faq {#5049 -news: Doctrine\ORM\PersistentCollection {#5048 …} -exercises: Doctrine\ORM\PersistentCollection {#5046 …} #id: 6231 #createdAt: DateTimeImmutable @1767024020 {#5051 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5050 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5044 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "How often should I do the Upper Back Stretch?" "answer" => "You can do it daily, especially if you sit for long periods. Many people benefit from 2 to 4 short sessions per day as a posture break, or 1 to 2 rounds after training as part of a cooldown." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8685 +question: "How often should I do the Upper Back Stretch?" +answer: "You can do it daily, especially if you sit for long periods. Many people benefit from 2 to 4 short sessions per day as a posture break, or 1 to 2 rounds after training as part of a cooldown." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.14 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5040 -news: Doctrine\ORM\PersistentCollection {#5039 …} -exercises: Doctrine\ORM\PersistentCollection {#5037 …} #id: 6232 #createdAt: DateTimeImmutable @1767024020 {#5042 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5041 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5035 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8688 +faq: App\Entity\Faq {#5040 -news: Doctrine\ORM\PersistentCollection {#5039 …} -exercises: Doctrine\ORM\PersistentCollection {#5037 …} #id: 6232 #createdAt: DateTimeImmutable @1767024020 {#5042 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1767024020 {#5041 : 2025-12-29 17:00:20.0 Europe/Zurich (+01:00) } #createdBy: App\Entity\User {#2755 …} #updatedBy: App\Entity\User {#2755 …} #translations: Doctrine\ORM\PersistentCollection {#5035 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "What is a good alternative if I cannot clasp my hands comfortably?" "answer" => "If interlacing your fingers bothers your wrists or shoulders, place your palms together and push forward, or hold opposite elbows in a gentle hug. You can also do Child's Pose on a yoga mat to achieve a similar upper-back stretch with less wrist demand." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8732 +question: "What is a good alternative if I cannot clasp my hands comfortably?" +answer: "If interlacing your fingers bothers your wrists or shoulders, place your palms together and push forward, or hold opposite elbows in a gentle hug. You can also do Child's Pose on a yoga mat to achieve a similar upper-back stretch with less wrist demand." } |
|||
| anatomy:avatar | App\Twig\Components\Anatomy\Avatar | 84.5 MiB | 511.10 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "relative" "primaryMuscles" => [ 12 13 ] "secondaryMuscles" => [ 18 25 26 30 ] "displayFront" => false ] |
|||
| Attributes | [ "class" => "relative" ] |
|||
| Component | App\Twig\Components\Anatomy\Avatar {#8660 #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8743 …} +primaryMuscles: [ 12 13 ] +secondaryMuscles: [ 18 25 26 30 ] +type: "url" +urlReferenceType: 2 +displayFront: false +selectedMuscles: [] +displayTagMuscles: false +hoverMuscleDefaultText: "-" #entityManager: Doctrine\ORM\EntityManager {#550 …} #localeSwitcher: Symfony\Component\Translation\LocaleSwitcher {#1600 …} #avatarData: App\BusinessLogic\Anatomy\AvatarData {#8741 …} -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8742 …} } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.68 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Back" "url" => "/en/exercises/muscle/12-back" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10020 +name: "Back" +url: "/en/exercises/muscle/12-back" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Traps" "url" => "/en/exercises/muscle/13-traps" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10072 +name: "Traps" +url: "/en/exercises/muscle/13-traps" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Rear deltoid (Posterior)" "url" => "/en/exercises/muscle/18-rear-deltoid-posterior" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10096 +name: "Rear deltoid (Posterior)" +url: "/en/exercises/muscle/18-rear-deltoid-posterior" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Lats" "url" => "/en/exercises/muscle/25-lats" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10120 +name: "Lats" +url: "/en/exercises/muscle/25-lats" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Rhomboid" "url" => "/en/exercises/muscle/26-rhomboid" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10144 +name: "Rhomboid" +url: "/en/exercises/muscle/26-rhomboid" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Serratus anterior" "url" => "/en/exercises/muscle/30-serratus-anterior" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10168 +name: "Serratus anterior" +url: "/en/exercises/muscle/30-serratus-anterior" +color: "primary" +small: false +selected: false } |
|||
| ad:square:fluid | App\Twig\Components\Ad\AdSquareFluid | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdSquareFluid {#10008 +includeScript: true +labelClass: null +containerClass: "max-h-[300px] max-w-[300px]" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2934 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| training:difficulty-badge | App\Twig\Components\Training\DifficultyBadge | 84.5 MiB | 0.65 ms | |
|---|---|---|---|---|
| Input props | [ "difficulty" => "beginner" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Training\DifficultyBadge {#10201 +difficulty: "beginner" +small: false +link: true } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.12 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Yoga mat" "url" => "/en/exercises/equipment/17-yoga-mat" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10246 +name: "Yoga mat" +url: "/en/exercises/equipment/17-yoga-mat" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Without equipment" "url" => "/en/exercises/equipment/29-without-equipment" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10273 +name: "Without equipment" +url: "/en/exercises/equipment/29-without-equipment" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Callisthenics" "url" => "/en/exercises/sport/3-callisthenics" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10297 +name: "Callisthenics" +url: "/en/exercises/sport/3-callisthenics" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Fitness" "url" => "/en/exercises/sport/5-fitness" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10321 +name: "Fitness" +url: "/en/exercises/sport/5-fitness" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Yoga" "url" => "/en/exercises/sport/8-yoga" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10345 +name: "Yoga" +url: "/en/exercises/sport/8-yoga" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Pilates" "url" => "/en/exercises/sport/9-pilates" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10369 +name: "Pilates" +url: "/en/exercises/sport/9-pilates" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Mobility" "url" => "/en/exercises/category/59-mobility" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10393 +name: "Mobility" +url: "/en/exercises/category/59-mobility" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Warm-up" "url" => "/en/exercises/category/62-warm-up" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10417 +name: "Warm-up" +url: "/en/exercises/category/62-warm-up" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Recovery and relaxation" "url" => "/en/exercises/category/75-recovery-and-relaxation" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10441 +name: "Recovery and relaxation" +url: "/en/exercises/category/75-recovery-and-relaxation" +color: "gray" +small: true +selected: false } |
|||
| ad:square:fluid | App\Twig\Components\Ad\AdSquareFluid | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "hidden lg:flex items-center justify-center my-6" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdSquareFluid {#10182 +includeScript: true +labelClass: null +containerClass: "hidden lg:flex items-center justify-center my-6" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2934 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| app:loading_spinner | App\Twig\Components\App\LoadingSpinner | 84.5 MiB | 0.62 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LoadingSpinner {#8322 +color: "fill-primary" +size: 8 +centered: true +inline: false } |
|||
| app:loading_spinner | App\Twig\Components\App\LoadingSpinner | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LoadingSpinner {#10498 +color: "fill-primary" +size: 8 +centered: true +inline: false } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "program" "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Attributes | [ "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10535 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "program" +title: null +symbolDefsName: null } |
|||
| ui:widget-embed | App\Twig\Components\Ui\WidgetEmbed | 84.5 MiB | 1.75 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "hidden md:block" "route" => "http://test.fitmetrics.ch/en/widgets/exercise/preview-68e3bb68cbf4f?video=1" "parameters" => [ [ "name" => "orientation" "description" => "Change the layout: horizontal (side by side) or vertical (stacked)" "example" => "?orientation=vertical" "values" => [ "horizontal" "vertical" ] ] [ "name" => "video" "description" => "Show the exercise video (if available): yes" "example" => "?video=1" "values" => [ "0" "1" "true" "false" ] ] ] "defaultWidth" => 350 "defaultHeight" => 700 ] |
|||
| Attributes | [ "class" => "hidden md:block" ] |
|||
| Component | App\Twig\Components\Ui\WidgetEmbed {#10571 +route: "http://test.fitmetrics.ch/en/widgets/exercise/preview-68e3bb68cbf4f?video=1" +parameters: [ [ "name" => "orientation" "description" => "Change the layout: horizontal (side by side) or vertical (stacked)" "example" => "?orientation=vertical" "values" => [ "horizontal" "vertical" ] ] [ "name" => "video" "description" => "Show the exercise video (if available): yes" "example" => "?video=1" "values" => [ "0" "1" "true" "false" ] ] ] +defaultWidth: 350 +defaultHeight: 700 } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "check" "class" => "me-1" "style" => "width: 20px; height: 20px;" ] |
|||
| Attributes | [ "class" => "me-1" "style" => "width: 20px; height: 20px;" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10609 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "check" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "close" "class" => "w-[26px] h-[26px] cursor-pointer text-black dark:text-white" ] |
|||
| Attributes | [ "class" => "w-[26px] h-[26px] cursor-pointer text-black dark:text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10642 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "close" +title: null +symbolDefsName: null } |
|||
| app:page-sharer | App\Twig\Components\App\PageSharer | 84.5 MiB | 2.29 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "content-container" "title" => "Upper Back Stretch" "description" => "Upper Back Stretch is a simple mobility drill designed to reduce stiffness in the upper spine and the shoulder blade region, especially after long hours of sitting, screen time, or repetitive upper-body training. By reaching forward and gently rounding the upper back, you encourage the shoulder blades to glide apart and create space across the back of the ribcage. This makes it a practical reset for posture, helping you feel less tight through the mid-back and more comfortable when standing tall or moving your arms overhead. This stretch is commonly used in warm-ups, cooldowns, and recovery routines because it is easy to perform anywhere and requires no equipment. Consistent practice can support smoother upper-body mechanics for everyday tasks such as reaching, lifting, and carrying, while also helping you unwind tension that builds up from stress and static positions. It can be especially useful for people who feel a "pinched" or compressed sensation between the shoulder blades, or who notice upper-back fatigue during desk work. Because the movement is controlled and low intensity, the Upper Back Stretch is appropriate for most fitness levels. You can adjust it by performing it seated or standing, changing how far you reach, or shortening the hold time. When performed with relaxed breathing and steady posture, it delivers a quick, reliable sense of relief and improved comfort in the upper back area." ] |
|||
| Attributes | [ "class" => "content-container" ] |
|||
| Component | App\Twig\Components\App\PageSharer {#10682 +shareUrl: "http://test.fitmetrics.ch/en/exercise/68e3bb68cbf4f-upper-back-stretch" +title: "Upper Back Stretch" +description: "Upper Back Stretch is a simple mobility drill designed to reduce stiffness in the upper spine and the shoulder blade region, especially after long hours of sitting, screen time, or repetitive upper-body training. By reaching forward and gently rounding the upper back, you encourage the shoulder blades to glide apart and create space across the back of the ribcage. This makes it a practical reset for posture, helping you feel less tight through the mid-back and more comfortable when standing tall or moving your arms overhead. This stretch is commonly used in warm-ups, cooldowns, and recovery routines because it is easy to perform anywhere and requires no equipment. Consistent practice can support smoother upper-body mechanics for everyday tasks such as reaching, lifting, and carrying, while also helping you unwind tension that builds up from stress and static positions. It can be especially useful for people who feel a "pinched" or compressed sensation between the shoulder blades, or who notice upper-back fatigue during desk work. Because the movement is controlled and low intensity, the Upper Back Stretch is appropriate for most fitness levels. You can adjust it by performing it seated or standing, changing how far you reach, or shortening the hold time. When performed with relaxed breathing and steady posture, it delivers a quick, reliable sense of relief and improved comfort in the upper back area." +quote: null +hashtags: [ "fitmetrics" ] +alignMobileLeft: false -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "check" "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Attributes | [ "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10690 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "check" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "reddit" "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10712 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "reddit" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "twitter" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10736 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "twitter" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "threads" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10759 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "threads" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "facebook" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10782 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "facebook" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "linkedin" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10805 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "linkedin" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "whatsapp" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10828 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "whatsapp" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "email" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10851 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "email" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| ad:wide-skyscraper | App\Twig\Components\Ad\AdWideSkyscraper | 86.5 MiB | 0.67 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdWideSkyscraper {#719 +includeScript: true +labelClass: null +containerClass: "" +adClass: null +showBgColor: false #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2934 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} +right: true +left: true } |
|||
| ad:horizontal:fluid | App\Twig\Components\Ad\AdHorizontalFluid | 86.5 MiB | 0.45 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "content-container my-4" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdHorizontalFluid {#10898 +includeScript: true +labelClass: null +containerClass: "content-container my-4" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2934 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| app:lang-selector | App\Twig\Components\App\LangSelector | 86.5 MiB | 0.06 ms | |
|---|---|---|---|---|
| Input props | [ "defaultOpenLeft" => false ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LangSelector {#10953 +routeName: null +params: null +withQuery: true +defaultOpenLeft: false -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …} } |
|||
| utils:theme-switcher |
[Anonymous]
|
86.5 MiB | 0.18 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "max-w-fit" ] |
|||
| Attributes | [ "class" => "max-w-fit" ] |
|||
| Component | Symfony\UX\TwigComponent\AnonymousComponent {#10945 -props: [ "class" => "max-w-fit" ] } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.06 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden" ] |
|||
| Attributes | [ "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10987 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block" ] |
|||
| Attributes | [ "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11019 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "heart" "class" => "heart h-5 w-5 text-[#eb2a2a]" ] |
|||
| Attributes | [ "class" => "heart h-5 w-5 text-[#eb2a2a]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11042 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "heart" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "whatsapp" "class" => "w-[28px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11065 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "whatsapp" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "instagram" "class" => "w-[28px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11088 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "instagram" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "threads" "class" => "w-[28px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11111 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "threads" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "tiktok" "class" => "w-[29px] h-[29px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[29px] h-[29px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11134 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "tiktok" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "facebook" "class" => "w-[19px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[19px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11157 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "facebook" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 86.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "youtube" "class" => "w-[28px] h-[24px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[24px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#11180 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6242 …} +name: "youtube" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||