feat(contact): integrate Noty for success notifications
This commit is contained in:
parent
7fa0b86043
commit
c076736f0c
@ -7,6 +7,7 @@
|
||||
"php": ">=8.2",
|
||||
"ext-ctype": "*",
|
||||
"ext-iconv": "*",
|
||||
"php-flasher/flasher-noty-symfony": "^2.1",
|
||||
"symfony/asset": "7.2.*",
|
||||
"symfony/asset-mapper": "7.2.*",
|
||||
"symfony/console": "7.2.*",
|
||||
|
278
composer.lock
generated
278
composer.lock
generated
@ -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": "87a9abd6d5fb70cb5bb8ca8a4fbec881",
|
||||
"content-hash": "47338c7b85396e4094e9eae265cab620",
|
||||
"packages": [
|
||||
{
|
||||
"name": "composer/semver",
|
||||
@ -87,6 +87,282 @@
|
||||
],
|
||||
"time": "2024-09-19T14:15:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-flasher/flasher",
|
||||
"version": "v2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-flasher/flasher.git",
|
||||
"reference": "01feeba12d6140746a800b124631b4b3eb1b7d11"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-flasher/flasher/zipball/01feeba12d6140746a800b124631b4b3eb1b7d11",
|
||||
"reference": "01feeba12d6140746a800b124631b4b3eb1b7d11",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"phpstan": {
|
||||
"includes": [
|
||||
"extension.neon"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"functions.php",
|
||||
"helpers.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Flasher\\Prime\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Younes ENNAJI",
|
||||
"email": "younes.ennaji.pro@gmail.com",
|
||||
"homepage": "https://www.linkedin.com/in/younes--ennaji/",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "The foundational PHP library for PHPFlasher, enabling the creation of framework-agnostic flash notifications. Ideal for building custom integrations or for use in PHP projects.",
|
||||
"homepage": "https://php-flasher.io",
|
||||
"keywords": [
|
||||
"custom-integrations",
|
||||
"flash-notifications",
|
||||
"flasher-core",
|
||||
"framework-agnostic",
|
||||
"open-source",
|
||||
"php"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-flasher/php-flasher/issues",
|
||||
"source": "https://github.com/php-flasher/php-flasher"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.paypal.com/paypalme/yoeunes",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/yoeunes",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-01-18T10:26:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-flasher/flasher-noty",
|
||||
"version": "v2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-flasher/flasher-noty.git",
|
||||
"reference": "9307c0283305002fa23d033ff23b5559b00ce9a9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-flasher/flasher-noty/zipball/9307c0283305002fa23d033ff23b5559b00ce9a9",
|
||||
"reference": "9307c0283305002fa23d033ff23b5559b00ce9a9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"php-flasher/flasher": "^2.1.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"functions.php",
|
||||
"helpers.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Flasher\\Noty\\Prime\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Younes ENNAJI",
|
||||
"email": "younes.ennaji.pro@gmail.com",
|
||||
"homepage": "https://www.linkedin.com/in/younes--ennaji/",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "PHPFlasher - A powerful & easy-to-use package for adding flash messages to Laravel or Symfony projects. Provides feedback to users, improves engagement & enhances user experience. Intuitive design for beginners & experienced developers. A reliable, flexible solution.",
|
||||
"homepage": "https://php-flasher.io",
|
||||
"keywords": [
|
||||
"customizable-alerts-php",
|
||||
"flash-messages",
|
||||
"interactive-web-notifications",
|
||||
"laravel-notification",
|
||||
"php-messaging-library",
|
||||
"php-notification-system",
|
||||
"php-user-interface",
|
||||
"symfony-notification",
|
||||
"user-engagement-php",
|
||||
"user-feedback-tools",
|
||||
"web-application-notifications"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-flasher/php-flasher/issues",
|
||||
"source": "https://github.com/php-flasher/php-flasher"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.paypal.com/paypalme/yoeunes",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/yoeunes",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-01-18T10:26:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-flasher/flasher-noty-symfony",
|
||||
"version": "v2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-flasher/flasher-noty-symfony.git",
|
||||
"reference": "be78c9db4d641539409c28c595a04a2a2f45c53b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-flasher/flasher-noty-symfony/zipball/be78c9db4d641539409c28c595a04a2a2f45c53b",
|
||||
"reference": "be78c9db4d641539409c28c595a04a2a2f45c53b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"php-flasher/flasher-noty": "^2.1.2",
|
||||
"php-flasher/flasher-symfony": "^2.1.2"
|
||||
},
|
||||
"type": "symfony-bundle",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Flasher\\Noty\\Symfony\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Younes ENNAJI",
|
||||
"email": "younes.ennaji.pro@gmail.com",
|
||||
"homepage": "https://www.linkedin.com/in/younes--ennaji/",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Bring Noty.js flash notifications to Symfony projects using PHPFlasher. Leverage Noty.js within Symfony to elevate user notifications.",
|
||||
"homepage": "https://php-flasher.io",
|
||||
"keywords": [
|
||||
"flash-notifications",
|
||||
"noty.js",
|
||||
"open-source",
|
||||
"phpflasher",
|
||||
"symfony",
|
||||
"user-feedback"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-flasher/php-flasher/issues",
|
||||
"source": "https://github.com/php-flasher/php-flasher"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.paypal.com/paypalme/yoeunes",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/yoeunes",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-01-18T10:26:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-flasher/flasher-symfony",
|
||||
"version": "v2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-flasher/flasher-symfony.git",
|
||||
"reference": "ff3180f315a8ee5a9802cf401036dd1e33738e64"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-flasher/flasher-symfony/zipball/ff3180f315a8ee5a9802cf401036dd1e33738e64",
|
||||
"reference": "ff3180f315a8ee5a9802cf401036dd1e33738e64",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"php-flasher/flasher": "^2.1.2",
|
||||
"symfony/config": "^7.0",
|
||||
"symfony/console": "^7.0",
|
||||
"symfony/dependency-injection": "^7.0",
|
||||
"symfony/http-kernel": "^7.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/translation": "To translate flash messages, title and presets",
|
||||
"symfony/ux-twig-component": "To utilize and interact with flash messages components in Twig templates"
|
||||
},
|
||||
"type": "symfony-bundle",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Flasher\\Symfony\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Younes ENNAJI",
|
||||
"email": "younes.ennaji.pro@gmail.com",
|
||||
"homepage": "https://www.linkedin.com/in/younes--ennaji/",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Integrate flash notifications into Symfony projects effortlessly with PHPFlasher. Improve user experience and application feedback loops easily.",
|
||||
"homepage": "https://php-flasher.io",
|
||||
"keywords": [
|
||||
"flash-notifications",
|
||||
"open-source",
|
||||
"php",
|
||||
"phpflasher",
|
||||
"symfony",
|
||||
"user-feedback"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-flasher/php-flasher/issues",
|
||||
"source": "https://github.com/php-flasher/php-flasher"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.paypal.com/paypalme/yoeunes",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/yoeunes",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-01-18T10:26:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
"version": "3.0.0",
|
||||
|
@ -7,4 +7,6 @@ return [
|
||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||
Symfonycasts\TailwindBundle\SymfonycastsTailwindBundle::class => ['all' => true],
|
||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||
Flasher\Symfony\FlasherSymfonyBundle::class => ['all' => true],
|
||||
Flasher\Noty\Symfony\FlasherNotySymfonyBundle::class => ['all' => true],
|
||||
];
|
||||
|
1
public/vendor/flasher/flasher-noty.min.js
vendored
Normal file
1
public/vendor/flasher/flasher-noty.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@flasher/flasher"),require("noty")):"function"==typeof define&&define.amd?define(["@flasher/flasher","noty"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Noty=t(e.flasher,e.Noty)}(this,(function(e,t){"use strict";class s{success(e,t,s){this.flash("success",e,t,s)}error(e,t,s){this.flash("error",e,t,s)}info(e,t,s){this.flash("info",e,t,s)}warning(e,t,s){this.flash("warning",e,t,s)}flash(e,t,s,o){if("object"==typeof e?(e=(o=e).type,t=o.message,s=o.title):"object"==typeof t?(t=(o=t).message,s=o.title):"object"==typeof s&&(s=(o=s).title),void 0===t)throw new Error("message option is required");const n={type:e,message:t,title:s||e,options:o||{},metadata:{plugin:""}};this.renderOptions(o||{}),this.renderEnvelopes([n])}}const o=new class extends s{renderEnvelopes(e){e.forEach((e=>{var s;const o=Object.assign({text:e.message,type:e.type},e.options),n=new t(o);n.show(),null===(s=n.layoutDom)||void 0===s||(s.dataset.turboTemporary="")}))}renderOptions(e){t.overrideDefaults(Object.assign({timeout:e.timeout||5e3},e))}};return e.addPlugin("noty",o),o}));
|
2
public/vendor/flasher/flasher.min.css
vendored
Normal file
2
public/vendor/flasher/flasher.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/vendor/flasher/flasher.min.js
vendored
Normal file
1
public/vendor/flasher/flasher.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
8
public/vendor/flasher/manifest.json
vendored
Normal file
8
public/vendor/flasher/manifest.json
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"/vendor/flasher/flasher.min.css": "/vendor/flasher/flasher.min.css?id=7a96e40c68626198d5128ad2fb5d77e0",
|
||||
"/vendor/flasher/flasher.min.js": "/vendor/flasher/flasher.min.js?id=9a255a6680873c0d5fc3d394a2ba3195",
|
||||
"/vendor/flasher/mint.css": "/vendor/flasher/mint.css?id=348f135fff639305dde0005c647c1d20",
|
||||
"/vendor/flasher/noty.css": "/vendor/flasher/noty.css?id=bf51111a785e04cc8c86a7786e855484",
|
||||
"/vendor/flasher/noty.min.js": "/vendor/flasher/noty.min.js?id=840a31ddb720ff391cfc386c009d3422",
|
||||
"/vendor/flasher/flasher-noty.min.js": "/vendor/flasher/flasher-noty.min.js?id=d7d160fe2043e65250dfcaa5590d2e28"
|
||||
}
|
37
public/vendor/flasher/mint.css
vendored
Normal file
37
public/vendor/flasher/mint.css
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
.noty_theme__mint.noty_bar {
|
||||
margin: 4px 0;
|
||||
overflow: hidden;
|
||||
border-radius: 2px;
|
||||
position: relative; }
|
||||
.noty_theme__mint.noty_bar .noty_body {
|
||||
padding: 10px;
|
||||
font-size: 14px; }
|
||||
.noty_theme__mint.noty_bar .noty_buttons {
|
||||
padding: 10px; }
|
||||
|
||||
.noty_theme__mint.noty_type__alert,
|
||||
.noty_theme__mint.noty_type__notification {
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #D1D1D1;
|
||||
color: #2F2F2F; }
|
||||
|
||||
.noty_theme__mint.noty_type__warning {
|
||||
background-color: #FFAE42;
|
||||
border-bottom: 1px solid #E89F3C;
|
||||
color: #fff; }
|
||||
|
||||
.noty_theme__mint.noty_type__error {
|
||||
background-color: #DE636F;
|
||||
border-bottom: 1px solid #CA5A65;
|
||||
color: #fff; }
|
||||
|
||||
.noty_theme__mint.noty_type__info,
|
||||
.noty_theme__mint.noty_type__information {
|
||||
background-color: #7F7EFF;
|
||||
border-bottom: 1px solid #7473E8;
|
||||
color: #fff; }
|
||||
|
||||
.noty_theme__mint.noty_type__success {
|
||||
background-color: #AFC765;
|
||||
border-bottom: 1px solid #A0B55C;
|
||||
color: #fff; }
|
216
public/vendor/flasher/noty.css
vendored
Normal file
216
public/vendor/flasher/noty.css
vendored
Normal file
@ -0,0 +1,216 @@
|
||||
.noty_layout_mixin, #noty_layout__top, #noty_layout__topLeft, #noty_layout__topCenter, #noty_layout__topRight, #noty_layout__bottom, #noty_layout__bottomLeft, #noty_layout__bottomCenter, #noty_layout__bottomRight, #noty_layout__center, #noty_layout__centerLeft, #noty_layout__centerRight {
|
||||
position: fixed;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
z-index: 9999999;
|
||||
-webkit-transform: translateZ(0) scale(1, 1);
|
||||
transform: translateZ(0) scale(1, 1);
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
-webkit-font-smoothing: subpixel-antialiased;
|
||||
filter: blur(0);
|
||||
-webkit-filter: blur(0);
|
||||
max-width: 90%; }
|
||||
|
||||
#noty_layout__top {
|
||||
top: 0;
|
||||
left: 5%;
|
||||
width: 90%; }
|
||||
|
||||
#noty_layout__topLeft {
|
||||
top: 20px;
|
||||
left: 20px;
|
||||
width: 325px; }
|
||||
|
||||
#noty_layout__topCenter {
|
||||
top: 5%;
|
||||
left: 50%;
|
||||
width: 325px;
|
||||
-webkit-transform: translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
|
||||
transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); }
|
||||
|
||||
#noty_layout__topRight {
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
width: 325px; }
|
||||
|
||||
#noty_layout__bottom {
|
||||
bottom: 0;
|
||||
left: 5%;
|
||||
width: 90%; }
|
||||
|
||||
#noty_layout__bottomLeft {
|
||||
bottom: 20px;
|
||||
left: 20px;
|
||||
width: 325px; }
|
||||
|
||||
#noty_layout__bottomCenter {
|
||||
bottom: 5%;
|
||||
left: 50%;
|
||||
width: 325px;
|
||||
-webkit-transform: translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
|
||||
transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); }
|
||||
|
||||
#noty_layout__bottomRight {
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
width: 325px; }
|
||||
|
||||
#noty_layout__center {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 325px;
|
||||
-webkit-transform: translate(-webkit-calc(-50% - .5px), -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
|
||||
transform: translate(calc(-50% - .5px), calc(-50% - .5px)) translateZ(0) scale(1, 1); }
|
||||
|
||||
#noty_layout__centerLeft {
|
||||
top: 50%;
|
||||
left: 20px;
|
||||
width: 325px;
|
||||
-webkit-transform: translate(0, -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
|
||||
transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); }
|
||||
|
||||
#noty_layout__centerRight {
|
||||
top: 50%;
|
||||
right: 20px;
|
||||
width: 325px;
|
||||
-webkit-transform: translate(0, -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
|
||||
transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); }
|
||||
|
||||
.noty_progressbar {
|
||||
display: none; }
|
||||
|
||||
.noty_has_timeout.noty_has_progressbar .noty_progressbar {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 3px;
|
||||
width: 100%;
|
||||
background-color: #646464;
|
||||
opacity: 0.2;
|
||||
filter: alpha(opacity=10); }
|
||||
|
||||
.noty_bar {
|
||||
-webkit-backface-visibility: hidden;
|
||||
-webkit-transform: translate(0, 0) translateZ(0) scale(1, 1);
|
||||
-ms-transform: translate(0, 0) scale(1, 1);
|
||||
transform: translate(0, 0) scale(1, 1);
|
||||
-webkit-font-smoothing: subpixel-antialiased;
|
||||
overflow: hidden; }
|
||||
|
||||
.noty_effects_open {
|
||||
opacity: 0;
|
||||
-webkit-transform: translate(50%);
|
||||
-ms-transform: translate(50%);
|
||||
transform: translate(50%);
|
||||
-webkit-animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
-webkit-animation-fill-mode: forwards;
|
||||
animation-fill-mode: forwards; }
|
||||
|
||||
.noty_effects_close {
|
||||
-webkit-animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
-webkit-animation-fill-mode: forwards;
|
||||
animation-fill-mode: forwards; }
|
||||
|
||||
.noty_fix_effects_height {
|
||||
-webkit-animation: noty_anim_height 75ms ease-out;
|
||||
animation: noty_anim_height 75ms ease-out; }
|
||||
|
||||
.noty_close_with_click {
|
||||
cursor: pointer; }
|
||||
|
||||
.noty_close_button {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 2px;
|
||||
font-weight: bold;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
line-height: 20px;
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
-webkit-transition: all .2s ease-out;
|
||||
transition: all .2s ease-out; }
|
||||
|
||||
.noty_close_button:hover {
|
||||
background-color: rgba(0, 0, 0, 0.1); }
|
||||
|
||||
.noty_modal {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000;
|
||||
z-index: 10000;
|
||||
opacity: .3;
|
||||
left: 0;
|
||||
top: 0; }
|
||||
|
||||
.noty_modal.noty_modal_open {
|
||||
opacity: 0;
|
||||
-webkit-animation: noty_modal_in .3s ease-out;
|
||||
animation: noty_modal_in .3s ease-out; }
|
||||
|
||||
.noty_modal.noty_modal_close {
|
||||
-webkit-animation: noty_modal_out .3s ease-out;
|
||||
animation: noty_modal_out .3s ease-out;
|
||||
-webkit-animation-fill-mode: forwards;
|
||||
animation-fill-mode: forwards; }
|
||||
|
||||
@-webkit-keyframes noty_modal_in {
|
||||
100% {
|
||||
opacity: .3; } }
|
||||
|
||||
@keyframes noty_modal_in {
|
||||
100% {
|
||||
opacity: .3; } }
|
||||
|
||||
@-webkit-keyframes noty_modal_out {
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@keyframes noty_modal_out {
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@keyframes noty_modal_out {
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@-webkit-keyframes noty_anim_in {
|
||||
100% {
|
||||
-webkit-transform: translate(0);
|
||||
transform: translate(0);
|
||||
opacity: 1; } }
|
||||
|
||||
@keyframes noty_anim_in {
|
||||
100% {
|
||||
-webkit-transform: translate(0);
|
||||
transform: translate(0);
|
||||
opacity: 1; } }
|
||||
|
||||
@-webkit-keyframes noty_anim_out {
|
||||
100% {
|
||||
-webkit-transform: translate(50%);
|
||||
transform: translate(50%);
|
||||
opacity: 0; } }
|
||||
|
||||
@keyframes noty_anim_out {
|
||||
100% {
|
||||
-webkit-transform: translate(50%);
|
||||
transform: translate(50%);
|
||||
opacity: 0; } }
|
||||
|
||||
@-webkit-keyframes noty_anim_height {
|
||||
100% {
|
||||
height: 0; } }
|
||||
|
||||
@keyframes noty_anim_height {
|
||||
100% {
|
||||
height: 0; } }
|
||||
|
||||
/*# sourceMappingURL=noty.css.map*/
|
17
public/vendor/flasher/noty.min.js
vendored
Normal file
17
public/vendor/flasher/noty.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -8,11 +8,12 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Attribute\Route;
|
||||
use Flasher\Noty\Prime\NotyInterface;
|
||||
|
||||
final class ContactController extends AbstractController
|
||||
{
|
||||
#[Route(path: '/contact', name: 'app_contact', methods: ['GET', 'POST'])]
|
||||
public function index(Request $request): Response
|
||||
public function index(Request $request, NotyInterface $noty): Response
|
||||
{
|
||||
$data = new ContactData();
|
||||
$form = $this->createForm(ContactForm::class, $data)->handleRequest($request);
|
||||
@ -20,7 +21,7 @@ final class ContactController extends AbstractController
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
// Handle the submitted data
|
||||
|
||||
$this->addFlash('success', 'Deine Nachricht wurde erfolgreich versendet!');
|
||||
noty()->success('Deine Nachricht wurde erfolgreich versendet!');
|
||||
|
||||
return $this->redirectToRoute('app_contact');
|
||||
}
|
||||
|
@ -1,4 +1,10 @@
|
||||
{
|
||||
"php-flasher/flasher-noty-symfony": {
|
||||
"version": "v2.1.2"
|
||||
},
|
||||
"php-flasher/flasher-symfony": {
|
||||
"version": "v2.1.2"
|
||||
},
|
||||
"symfony/asset-mapper": {
|
||||
"version": "7.2",
|
||||
"recipe": {
|
||||
|
Loading…
x
Reference in New Issue
Block a user