From 0440198802965decfc4e3d405ab249ea67374a0b Mon Sep 17 00:00:00 2001 From: Camille Simiand <camille.simiand@tetras-libre.fr> Date: Wed, 9 Mar 2022 17:02:12 +0100 Subject: [PATCH] WIP - add switch buttons en/fr --- composer.json | 5 +- composer.lock | 75 ++++++++++++++++++++++++++-- src/Controller/CapsuleController.php | 2 +- src/Entity/User.php | 2 +- symfony.lock | 3 ++ templates/layout.html.twig | 10 ++++ 6 files changed, 90 insertions(+), 7 deletions(-) diff --git a/composer.json b/composer.json index a2d655a..9e04f2e 100644 --- a/composer.json +++ b/composer.json @@ -7,6 +7,7 @@ "php": ">=8.1", "ext-ctype": "*", "ext-curl": "*", + "ext-gd": "*", "ext-iconv": "*", "ext-json": "*", "ext-simplexml": "*", @@ -54,8 +55,8 @@ "symfonycasts/reset-password-bundle": "^1.11", "symfonycasts/verify-email-bundle": "^1.6", "twig/extra-bundle": "^2.12|^3.0", - "twig/twig": "^2.12|^3.0", - "ext-gd": "*" + "twig/intl-extra": "^3.3", + "twig/twig": "^2.12|^3.0" }, "require-dev": { "ext-dom": "*", diff --git a/composer.lock b/composer.lock index fbf4837..9f30203 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "fd7c9a34c6ba09c3a42ece90733af736", + "content-hash": "077d009e42a0c08b3582c05e161c5bf8", "packages": [ { "name": "composer/package-versions-deprecated", @@ -8148,6 +8148,75 @@ ], "time": "2022-01-04T13:58:53+00:00" }, + { + "name": "twig/intl-extra", + "version": "v3.3.5", + "source": { + "type": "git", + "url": "https://github.com/twigphp/intl-extra.git", + "reference": "8dca6f4c5a00cdd3c43b6bd080f50d32aca33a84" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/8dca6f4c5a00cdd3c43b6bd080f50d32aca33a84", + "reference": "8dca6f4c5a00cdd3c43b6bd080f50d32aca33a84", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "symfony/intl": "^4.4|^5.0|^6.0", + "twig/twig": "^2.7|^3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Twig\\Extra\\Intl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "A Twig extension for Intl", + "homepage": "https://twig.symfony.com", + "keywords": [ + "intl", + "twig" + ], + "support": { + "source": "https://github.com/twigphp/intl-extra/tree/v3.3.5" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2022-01-02T10:02:25+00:00" + }, { "name": "twig/twig", "version": "v3.3.8", @@ -11156,11 +11225,11 @@ "php": ">=8.1", "ext-ctype": "*", "ext-curl": "*", + "ext-gd": "*", "ext-iconv": "*", "ext-json": "*", "ext-simplexml": "*", - "ext-zip": "^1.15", - "ext-gd": "*" + "ext-zip": "^1.15" }, "platform-dev": { "ext-dom": "*" diff --git a/src/Controller/CapsuleController.php b/src/Controller/CapsuleController.php index 4f37f03..f230ff1 100755 --- a/src/Controller/CapsuleController.php +++ b/src/Controller/CapsuleController.php @@ -120,7 +120,7 @@ class CapsuleController extends AbstractController ); } - #[Route('capsule/edit/{path}', name:'edit_capsule')] + #[Route('/capsule/edit/{path}', name:'edit_capsule')] public function edit(string $path): Response { $current_user = $this->getUser(); diff --git a/src/Entity/User.php b/src/Entity/User.php index 4e8ccf0..90f214c 100755 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -74,7 +74,7 @@ class User implements UserInterface, LegacyPasswordAuthenticatedUserInterface /** * @var Collection<Group> */ - #[ORM\OneToMany(targetEntity:'App\Entity\Group', mappedBy:'author')] + #[ORM\OneToMany(mappedBy: 'author', targetEntity: 'App\Entity\Group')] private Collection $groups; /** diff --git a/symfony.lock b/symfony.lock index 7c35d40..5c90576 100644 --- a/symfony.lock +++ b/symfony.lock @@ -695,6 +695,9 @@ "twig/extra-bundle": { "version": "v3.3.3" }, + "twig/intl-extra": { + "version": "v3.3.5" + }, "twig/twig": { "version": "v3.3.3" }, diff --git a/templates/layout.html.twig b/templates/layout.html.twig index 55b4ca6..6c8a89b 100644 --- a/templates/layout.html.twig +++ b/templates/layout.html.twig @@ -26,6 +26,16 @@ {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %} <div class="d-flex flex-column position-absolute end-0 align-content-end text-end fw-light gray-600"> + <div class="nav-item dropdown"> + <a class="nav-link p-0 dropdown-toggle text-capitalize" href="#" id="dropdown-language" role="button" + data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + {{ app.request.locale|locale_name(app.request.locale) }} + </a> + <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-language"> + <li><a class="dropdown-item" href="{{ path('home', {_locale: 'en'}) }}">English</a></li> + <li><a class="dropdown-item" href="{{ path('home', {_locale: 'fr'}) }}">Français</a></li> + </ul> + </div> <div class="fw-bold text-capitalize">{{ app.user.firstName }} {{ app.user.lastName }}</div> <a href="{{ path('show_profile') }}" class="text-decoration-none fs-5">My profile</a> <a href="{{ path('edit_user_groups') }}" class="text-decoration-none fs-5"> -- GitLab