@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
use Twig\Environment;
|
||||
use Twig\Error\LoaderError;
|
||||
use Twig\Error\RuntimeError;
|
||||
use Twig\Extension\CoreExtension;
|
||||
use Twig\Extension\SandboxExtension;
|
||||
use Twig\Markup;
|
||||
use Twig\Sandbox\SecurityError;
|
||||
use Twig\Sandbox\SecurityNotAllowedTagError;
|
||||
use Twig\Sandbox\SecurityNotAllowedFilterError;
|
||||
use Twig\Sandbox\SecurityNotAllowedFunctionError;
|
||||
use Twig\Source;
|
||||
use Twig\Template;
|
||||
use Twig\TemplateWrapper;
|
||||
|
||||
/* head.html.twig */
|
||||
class __TwigTemplate_eb23fe14e9c99cb057475369e77b2ea7 extends Template
|
||||
{
|
||||
private Source $source;
|
||||
/**
|
||||
* @var array<string, Template>
|
||||
*/
|
||||
private array $macros = [];
|
||||
|
||||
public function __construct(Environment $env)
|
||||
{
|
||||
parent::__construct($env);
|
||||
|
||||
$this->source = $this->getSourceContext();
|
||||
|
||||
$this->parent = false;
|
||||
|
||||
$this->blocks = [
|
||||
];
|
||||
}
|
||||
|
||||
protected function doDisplay(array $context, array $blocks = []): iterable
|
||||
{
|
||||
$macros = $this->macros;
|
||||
// line 1
|
||||
yield "<!DOCTYPE html>
|
||||
<html lang=\"fr\">
|
||||
<head>
|
||||
<meta charset=\"UTF-8\">
|
||||
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
|
||||
<title>";
|
||||
// line 6
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["title"] ?? null), "html", null, true);
|
||||
yield "</title>
|
||||
<link rel=\"stylesheet\" href=\"";
|
||||
// line 7
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["style"] ?? null), "html", null, true);
|
||||
yield "\">
|
||||
<link id=\"favicon\" rel=\"icon\" href=\"../../public/images/iconeSombre.ico\" />
|
||||
<script src=\"../public/script/theme-toggle.js\"></script>
|
||||
</head>
|
||||
";
|
||||
yield from [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function getTemplateName(): string
|
||||
{
|
||||
return "head.html.twig";
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function isTraitable(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function getDebugInfo(): array
|
||||
{
|
||||
return array ( 53 => 7, 49 => 6, 42 => 1,);
|
||||
}
|
||||
|
||||
public function getSourceContext(): Source
|
||||
{
|
||||
return new Source("", "head.html.twig", "/home/www/lebeaulato/public_html/WF-Website/vue/templates/head.html.twig");
|
||||
}
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
use Twig\Environment;
|
||||
use Twig\Error\LoaderError;
|
||||
use Twig\Error\RuntimeError;
|
||||
use Twig\Extension\CoreExtension;
|
||||
use Twig\Extension\SandboxExtension;
|
||||
use Twig\Markup;
|
||||
use Twig\Sandbox\SecurityError;
|
||||
use Twig\Sandbox\SecurityNotAllowedTagError;
|
||||
use Twig\Sandbox\SecurityNotAllowedFilterError;
|
||||
use Twig\Sandbox\SecurityNotAllowedFunctionError;
|
||||
use Twig\Source;
|
||||
use Twig\Template;
|
||||
use Twig\TemplateWrapper;
|
||||
|
||||
/* bandeau.html.twig */
|
||||
class __TwigTemplate_012dc2aef67e620d386f46e331598640 extends Template
|
||||
{
|
||||
private Source $source;
|
||||
/**
|
||||
* @var array<string, Template>
|
||||
*/
|
||||
private array $macros = [];
|
||||
|
||||
public function __construct(Environment $env)
|
||||
{
|
||||
parent::__construct($env);
|
||||
|
||||
$this->source = $this->getSourceContext();
|
||||
|
||||
$this->parent = false;
|
||||
|
||||
$this->blocks = [
|
||||
];
|
||||
}
|
||||
|
||||
protected function doDisplay(array $context, array $blocks = []): iterable
|
||||
{
|
||||
$macros = $this->macros;
|
||||
// line 1
|
||||
yield "<div class=\"header\">
|
||||
<div class=\"nav\">
|
||||
<a href=\"favorite.html\"><img src=\"../images/coeur.svg\" alt=\"coeur\" width=\"67px\" height=\"67px\" onmousedown=\"return false\"></a>
|
||||
<img id=\"theme-icon\" src=\"../images/light.svg\" alt=\"toggle theme\" width=\"72px\" height=\"37px\" onmousedown=\"return false\" onclick=\"toggleTheme()\">
|
||||
<a href=\"quiz.html\"><img src=\"../images/quizz.svg\" alt=\"quizz\" width=\"51px\" height=\"82px\" onmousedown=\"return false\"></a>
|
||||
</div>
|
||||
<div class=\"logo\">
|
||||
<a href=\"accueil.html\"><img src=\"../images/WIKIFANTASY.png\" alt=\"Logo\" width=\"227px\" height=\"106px\" onmousedown=\"return false\"></a>
|
||||
</div>
|
||||
<div class=\"user\">
|
||||
<a href=\"profil.html\"><img src=\"../images/user_dark.png\" alt=\"user\" width=\"70px\" height=\"70px\" onmousedown=\"return false\"></a>
|
||||
</div>
|
||||
</div>";
|
||||
yield from [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function getTemplateName(): string
|
||||
{
|
||||
return "bandeau.html.twig";
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function getDebugInfo(): array
|
||||
{
|
||||
return array ( 42 => 1,);
|
||||
}
|
||||
|
||||
public function getSourceContext(): Source
|
||||
{
|
||||
return new Source("", "bandeau.html.twig", "/home/www/lebeaulato/public_html/WF-Website/vue/templates/bandeau.html.twig");
|
||||
}
|
||||
}
|
@ -0,0 +1,150 @@
|
||||
<?php
|
||||
|
||||
use Twig\Environment;
|
||||
use Twig\Error\LoaderError;
|
||||
use Twig\Error\RuntimeError;
|
||||
use Twig\Extension\CoreExtension;
|
||||
use Twig\Extension\SandboxExtension;
|
||||
use Twig\Markup;
|
||||
use Twig\Sandbox\SecurityError;
|
||||
use Twig\Sandbox\SecurityNotAllowedTagError;
|
||||
use Twig\Sandbox\SecurityNotAllowedFilterError;
|
||||
use Twig\Sandbox\SecurityNotAllowedFunctionError;
|
||||
use Twig\Source;
|
||||
use Twig\Template;
|
||||
use Twig\TemplateWrapper;
|
||||
|
||||
/* quote.html */
|
||||
class __TwigTemplate_e80b479dc855245ef0d42a4f64b1f83e extends Template
|
||||
{
|
||||
private Source $source;
|
||||
/**
|
||||
* @var array<string, Template>
|
||||
*/
|
||||
private array $macros = [];
|
||||
|
||||
public function __construct(Environment $env)
|
||||
{
|
||||
parent::__construct($env);
|
||||
|
||||
$this->source = $this->getSourceContext();
|
||||
|
||||
$this->parent = false;
|
||||
|
||||
$this->blocks = [
|
||||
];
|
||||
}
|
||||
|
||||
protected function doDisplay(array $context, array $blocks = []): iterable
|
||||
{
|
||||
$macros = $this->macros;
|
||||
// line 1
|
||||
yield "<html>
|
||||
<body>
|
||||
<div class=\"Quote_container\">
|
||||
<img class=\"image_carac\" src=\"";
|
||||
// line 4
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["srcImg"] ?? null), "html", null, true);
|
||||
yield "\" alt=\"";
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["nameCarac"] ?? null), "html", null, true);
|
||||
yield "\">
|
||||
<h1 class=\"quote_content\">
|
||||
<strong>
|
||||
";
|
||||
// line 7
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["quoteContent"] ?? null), "html", null, true);
|
||||
yield "
|
||||
</strong>
|
||||
</h1>
|
||||
<ul>
|
||||
<li>
|
||||
";
|
||||
// line 12
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["sourceName"] ?? null), "html", null, true);
|
||||
yield "
|
||||
</li>
|
||||
<li>
|
||||
";
|
||||
// line 15
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["nameCarac"] ?? null), "html", null, true);
|
||||
yield "
|
||||
</li>
|
||||
<li>
|
||||
";
|
||||
// line 18
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["dateSortie"] ?? null), "html", null, true);
|
||||
yield "
|
||||
</li>
|
||||
</ul>
|
||||
<div class=\"like\">
|
||||
<p>
|
||||
";
|
||||
// line 23
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(($context["nbLike"] ?? null), "html", null, true);
|
||||
yield "
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class=\"Comment_Container\">
|
||||
";
|
||||
// line 28
|
||||
if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), ($context["comment"] ?? null)) > 0)) {
|
||||
yield " <div>
|
||||
";
|
||||
// line 29
|
||||
$context['_parent'] = $context;
|
||||
$context['_seq'] = CoreExtension::ensureTraversable(($context["comment"] ?? null));
|
||||
foreach ($context['_seq'] as $context["_key"] => $context["com"]) {
|
||||
// line 30
|
||||
yield " <p class=\"userCom\">";
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["com"], "user", [], "any", false, false, false, 30), "html", null, true);
|
||||
yield "</p>
|
||||
<p class=\"com\">";
|
||||
// line 31
|
||||
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["com"], "content", [], "any", false, false, false, 31), "html", null, true);
|
||||
yield "</p>
|
||||
";
|
||||
}
|
||||
$_parent = $context['_parent'];
|
||||
unset($context['_seq'], $context['_key'], $context['com'], $context['_parent']);
|
||||
$context = array_intersect_key($context, $_parent) + $_parent;
|
||||
// line 32
|
||||
yield " </div>
|
||||
";
|
||||
}
|
||||
// line 34
|
||||
yield " </div>
|
||||
</body>
|
||||
</html>";
|
||||
yield from [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function getTemplateName(): string
|
||||
{
|
||||
return "quote.html";
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function isTraitable(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function getDebugInfo(): array
|
||||
{
|
||||
return array ( 116 => 34, 112 => 32, 104 => 31, 99 => 30, 95 => 29, 91 => 28, 83 => 23, 75 => 18, 69 => 15, 63 => 12, 55 => 7, 47 => 4, 42 => 1,);
|
||||
}
|
||||
|
||||
public function getSourceContext(): Source
|
||||
{
|
||||
return new Source("", "quote.html", "/home/www/kekentin/public_html/WF/WF-Website/vue/templates/quote.html");
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
"require": {
|
||||
"twig/twig": "^3.0",
|
||||
"ext-pdo": "*",
|
||||
"altorouter/altorouter": "^2.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Controleur\\": "src/Controleur/",
|
||||
"Model\\": "src/Model/",
|
||||
"Entity\\": "src/Entity/"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,462 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "68804b2111cb6b8bf6edf66cb2b4669c",
|
||||
"packages": [
|
||||
{
|
||||
"name": "altorouter/altorouter",
|
||||
"version": "2.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dannyvankooten/AltoRouter.git",
|
||||
"reference": "f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/dannyvankooten/AltoRouter/zipball/f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2",
|
||||
"reference": "f6fede4f94ced7c22ba63a9b8af0bf2dc38e3cb2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeclimate/php-test-reporter": "dev-master",
|
||||
"phpunit/phpunit": "5.7.*",
|
||||
"squizlabs/php_codesniffer": "3.4.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"AltoRouter.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Danny van Kooten",
|
||||
"email": "dannyvankooten@gmail.com",
|
||||
"homepage": "http://dannyvankooten.com/"
|
||||
},
|
||||
{
|
||||
"name": "Koen Punt",
|
||||
"homepage": "https://github.com/koenpunt"
|
||||
},
|
||||
{
|
||||
"name": "niahoo",
|
||||
"homepage": "https://github.com/niahoo"
|
||||
}
|
||||
],
|
||||
"description": "A lightning fast router for PHP",
|
||||
"homepage": "https://github.com/dannyvankooten/AltoRouter",
|
||||
"keywords": [
|
||||
"lightweight",
|
||||
"router",
|
||||
"routing"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/dannyvankooten/AltoRouter/issues",
|
||||
"source": "https://github.com/dannyvankooten/AltoRouter/tree/2.0.2"
|
||||
},
|
||||
"time": "2020-03-09T08:34:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
"version": "v3.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
|
||||
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "3.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"function.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "A generic function and convention to trigger deprecation notices",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:32:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
|
||||
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"provide": {
|
||||
"ext-ctype": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-ctype": "For best performance"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Ctype\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Gert de Pagter",
|
||||
"email": "BackEndTea@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill for ctype functions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"ctype",
|
||||
"polyfill",
|
||||
"portable"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"provide": {
|
||||
"ext-mbstring": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "For best performance"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Mbstring\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill for the Mbstring extension",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"mbstring",
|
||||
"polyfill",
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php81",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
||||
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Php81\\": ""
|
||||
},
|
||||
"classmap": [
|
||||
"Resources/stubs"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"polyfill",
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v3.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
|
||||
"reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.0.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3",
|
||||
"symfony/polyfill-ctype": "^1.8",
|
||||
"symfony/polyfill-mbstring": "^1.3",
|
||||
"symfony/polyfill-php81": "^1.29"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/container": "^1.0|^2.0",
|
||||
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/Resources/core.php",
|
||||
"src/Resources/debug.php",
|
||||
"src/Resources/escaper.php",
|
||||
"src/Resources/string_loader.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Twig\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com",
|
||||
"homepage": "http://fabien.potencier.org",
|
||||
"role": "Lead Developer"
|
||||
},
|
||||
{
|
||||
"name": "Twig Team",
|
||||
"role": "Contributors"
|
||||
},
|
||||
{
|
||||
"name": "Armin Ronacher",
|
||||
"email": "armin.ronacher@active-4.com",
|
||||
"role": "Project Founder"
|
||||
}
|
||||
],
|
||||
"description": "Twig, the flexible, fast, and secure template language for PHP",
|
||||
"homepage": "https://twig.symfony.com",
|
||||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/twigphp/Twig/issues",
|
||||
"source": "https://github.com/twigphp/Twig/tree/v3.14.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-09T17:55:12+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": {},
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"ext-pdo": "*"
|
||||
},
|
||||
"platform-dev": {},
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
//gen
|
||||
$rep = __DIR__ . '/../';
|
||||
|
||||
// liste des modules à inclure
|
||||
|
||||
//$dConfig['includes']= array('controleur/Validation.php');
|
||||
|
||||
//BD
|
||||
|
||||
$base = 'dbkemondejar';
|
||||
$login = '';
|
||||
$mdp = '';
|
||||
|
||||
//Vues
|
||||
$vues['erreur'] = 'vue/erreur.php';
|
||||
$vues['accueil'] = 'vue/accueil.php';
|
||||
$vues['quote'] = 'vue/quote.php';
|
||||
$vues['login'] = 'vue/login.html';
|
||||
|
||||
//Style css
|
||||
$style['accueil'] = 'public/styles/styleAccueil.css';
|
||||
|
||||
//Script js
|
||||
|
||||
|
||||
//Images
|
||||
$image['default'] = 'public/images/default.jpg';
|
||||
|
||||
?>
|
@ -0,0 +1,62 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: CI-pipeline
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
|
||||
steps:
|
||||
|
||||
|
||||
- name: code-inspection
|
||||
image: hub.codefirst.iut.uca.fr/marc.chevaldonne/codefirst-dronesonarplugin-dotnet8
|
||||
secrets: [ SECRET_SONAR_LOGIN ]
|
||||
settings:
|
||||
sonar_host: https://codefirst.iut.uca.fr/sonar/
|
||||
sonar_token:
|
||||
from_secret: SECRET_SONAR_LOGIN
|
||||
commands:
|
||||
- dotnet sonarscanner begin /k:WF-Website /d:sonar.host.url=$${PLUGIN_SONAR_HOST} /d:sonar.coverageReportPaths="coveragereport/SonarQube.xml" /d:sonar.coverage.exclusions="" /d:sonar.login=$${PLUGIN_SONAR_TOKEN}
|
||||
|
||||
- reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport"
|
||||
- dotnet sonarscanner end /d:sonar.login=$${PLUGIN_SONAR_TOKEN}
|
||||
|
||||
# database container deployment
|
||||
- name: deploy-container-mysql-WIKI_FANTASY
|
||||
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
|
||||
environment:
|
||||
IMAGENAME: mysql:latest
|
||||
CONTAINERNAME: mysql
|
||||
COMMAND: create
|
||||
OVERWRITE: false
|
||||
PRIVATE: true
|
||||
|
||||
CODEFIRST_CLIENTDRONE_ENV_MYSQL_ROOT_PASSWORD:
|
||||
from_secret: db_root_password
|
||||
CODEFIRST_CLIENTDRONE_ENV_MYSQL_DATABASE:
|
||||
from_secret: db_database
|
||||
CODEFIRST_CLIENTDRONE_ENV_MYSQL_USER:
|
||||
from_secret: db_user
|
||||
CODEFIRST_CLIENTDRONE_ENV_MYSQL_PASSWORD:
|
||||
from_secret: db_password
|
||||
ADMINS: kentinbrongniart , kevinmondejar , lenibeaulaton , louisguichard-montguers , maximerocher , tommynguyen , matthieurestituito
|
||||
|
||||
|
||||
- name: generate-and-deploy-docs
|
||||
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-docdeployer
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name:
|
||||
path:
|
||||
commands:
|
||||
- /entrypoint.sh
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
depends_on: []
|
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 826 B |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 28 KiB |
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
$_SESSION['role']='visiteur';
|
||||
$_SESSION['login']=NULL;
|
||||
$_SESSION['theme']='dark';
|
||||
|
||||
|
||||
//chargement config
|
||||
require_once __DIR__ . '/config/config.php';
|
||||
|
||||
require __DIR__ . '/vendor/autoload.php';
|
||||
|
||||
|
||||
//twig
|
||||
$loader = new \Twig\Loader\FilesystemLoader('vue/templates');
|
||||
$twig = new \Twig\Environment($loader, [
|
||||
'cache' => 'cache',
|
||||
]);
|
||||
|
||||
|
||||
$cont = new Controleur\FrontControler();
|
||||
|
||||
session_unset();
|
||||
session_destroy();
|
||||
$_SESSION = array();
|
||||
|
||||
?>
|
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 826 B |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 28 KiB |
@ -0,0 +1,39 @@
|
||||
// auth-check.js
|
||||
|
||||
// Vérifier si l'utilisateur est connecté
|
||||
function isUserLoggedIn() {
|
||||
// Vérifiez si 'isLoggedIn' est défini dans le localStorage ou par un cookie
|
||||
return localStorage.getItem('isLoggedIn') === 'true';
|
||||
}
|
||||
|
||||
// Redirection des liens en fonction de l'état de connexion
|
||||
function setupLinks() {
|
||||
const favoriteLink = document.querySelector('a[href="favorite.html"]');
|
||||
const quizLink = document.querySelector('a[href="quiz.html"]');
|
||||
const userIcon = document.querySelector('.user img');
|
||||
|
||||
if (!isUserLoggedIn()) {
|
||||
// Si l'utilisateur n'est pas connecté, rediriger vers la page de connexion
|
||||
if (favoriteLink) favoriteLink.href = "login.html";
|
||||
if (quizLink) quizLink.href = "login.html";
|
||||
if (userIcon) {
|
||||
userIcon.style.cursor = "pointer"; // Changer le curseur pour indiquer la cliquabilité
|
||||
userIcon.addEventListener('click', () => {
|
||||
window.location.href = "login.html";
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// Si l'utilisateur est connecté, définir les liens vers les pages dédiées
|
||||
if (favoriteLink) favoriteLink.href = "favorite.html";
|
||||
if (quizLink) quizLink.href = "quiz.html";
|
||||
if (userIcon) {
|
||||
userIcon.style.cursor = "pointer"; // Changer le curseur pour indiquer la cliquabilité
|
||||
userIcon.addEventListener('click', () => {
|
||||
window.location.href = "user-profile.html";
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Initialiser les liens lors du chargement de la page
|
||||
document.addEventListener('DOMContentLoaded', setupLinks);
|
@ -0,0 +1,169 @@
|
||||
|
||||
function editFieldUsername(id) {
|
||||
var pElement = document.getElementById(id);// Récupérer l'élément <p> via son identifiant
|
||||
var currentValue = pElement.textContent.trim();// Obtenir le texte actuel du <p>
|
||||
|
||||
// Créer un champ de saisie <input> avec la valeur actuelle
|
||||
var input = document.createElement('input');
|
||||
input.type = 'text';
|
||||
input.value = currentValue
|
||||
input.class = 'changeValue';
|
||||
|
||||
input.setAttribute('onblur', 'saveFieldUsername("' + id + '", this.value)'); // Sauvegarde lors de la perte de focus
|
||||
|
||||
// Remplacer le <p> par le champ <input>
|
||||
pElement.innerHTML = '';
|
||||
pElement.appendChild(input);
|
||||
|
||||
input.focus(); // Mettre le focus sur le champ de saisie
|
||||
}
|
||||
|
||||
//Sauvegarder les changements sur la vue pour le username
|
||||
function saveFieldUsername(id, newValue) {
|
||||
if (id === 'username') {
|
||||
if (newValue.trim() === "") {
|
||||
alert('Le nom d\'utilisateur ne peut pas être vide.');
|
||||
document.getElementById(id).querySelector('input').focus();
|
||||
return; // Ne pas sauvegarder si le nom d'utilisateur est vide
|
||||
}
|
||||
}
|
||||
|
||||
var pElement = document.getElementById(id);// Récupérer l'élément <p> via son identifiant
|
||||
|
||||
// Mettre à jour la valeur avec la nouvelle saisie
|
||||
pElement.innerHTML = '<strong>' + newValue + ' <img class="imgModify" src="../images/modify.svg" onclick="editFieldUsername(\'' + id + '\')"/></strong>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function editFieldEmail(id) {
|
||||
var pElement = document.getElementById(id);// Récupérer l'élément <p> via son identifiant
|
||||
var currentValue = pElement.textContent.trim();// Obtenir le texte actuel du <p>
|
||||
|
||||
// Créer un champ de saisie <input> avec la valeur actuelle
|
||||
var input = document.createElement('input');
|
||||
input.type = 'email';
|
||||
input.value = currentValue
|
||||
input.class = 'changeValue';
|
||||
|
||||
input.setAttribute('onblur', 'saveFieldEmail("' + id + '", this.value)'); // Sauvegarde lors de la perte de focus
|
||||
|
||||
// Remplacer le <p> par le champ <input>
|
||||
pElement.innerHTML = '';
|
||||
pElement.appendChild(input);
|
||||
|
||||
input.focus(); // Mettre le focus sur le champ de saisie
|
||||
}
|
||||
|
||||
//Sauvegarder les changements sur la vue pour l'email
|
||||
function saveFieldEmail(id, newValue) {
|
||||
if (id === 'email') {
|
||||
if (!validateEmail(newValue)) {
|
||||
alert('Adresse email invalide. Veuillez entrer un email valide.');
|
||||
document.getElementById(id).querySelector('input').focus();
|
||||
return; // Ne pas sauvegarder si l'email n'est pas valide
|
||||
}
|
||||
}
|
||||
if (id === 'username') {
|
||||
if (newValue.trim() === "") {
|
||||
alert('Le nom d\'utilisateur ne peut pas être vide.');
|
||||
document.getElementById(id).querySelector('input').focus();
|
||||
return; // Ne pas sauvegarder si le nom d'utilisateur est vide
|
||||
}
|
||||
}
|
||||
|
||||
var pElement = document.getElementById(id); // Récupérer l'élément <p> via son identifiant
|
||||
|
||||
// Mettre à jour la valeur avec la nouvelle saisie
|
||||
pElement.innerHTML = '<strong>' + newValue + ' <img class="imgModify" src="../images/modify.svg" onclick="editFieldEmail(\'' + id + '\')"/></strong>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//Email valide
|
||||
function validateEmail(email) {
|
||||
var re = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;// Regex pour vérifier le format de l'email
|
||||
return re.test(String(email).toLowerCase());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function editFieldPassWd(id) {
|
||||
var pElement = document.getElementById(id);// Récupérer l'élément <p> via son identifiant
|
||||
|
||||
pElement.innerHTML = '';// Effacer le contenu actuel de <p> pour insérer les inputs
|
||||
|
||||
// Créer le champ de saisie pour le nouveau mot de passe
|
||||
var inputNewPass = document.createElement('input');
|
||||
inputNewPass.type = 'password';
|
||||
inputNewPass.placeholder = 'Nouveau mot de passe'; // Un placeholder pour indiquer la fonction du champ
|
||||
inputNewPass.classList.add('changeValue'); // Ajouter une classe CSS pour styliser l'input
|
||||
inputNewPass.setAttribute('id', 'newPassword'); // Ajouter un ID pour la gestion
|
||||
inputNewPass.classList.add('inputPasswd'); // Ajouter une classe au input
|
||||
|
||||
|
||||
// Créer le champ de saisie pour la confirmation du mot de passe
|
||||
var inputConfirmPass = document.createElement('input');
|
||||
inputConfirmPass.type = 'password';
|
||||
inputConfirmPass.placeholder = 'Confirmer le mot de passe'; // Un placeholder pour indiquer la fonction du champ
|
||||
inputConfirmPass.classList.add('changeValue'); // Ajouter une classe CSS pour styliser l'input
|
||||
inputConfirmPass.setAttribute('id', 'confirmPassword'); // Ajouter un ID pour la gestion
|
||||
inputConfirmPass.classList.add('inputPasswd'); // Ajouter une classe au input
|
||||
|
||||
// Ajouter un bouton de sauvegarde
|
||||
var saveButton = document.createElement('button');
|
||||
saveButton.textContent = 'Sauvegarder le mot de passe';
|
||||
saveButton.classList.add('saveButtonPasswd'); // Ajouter une classe au bouton
|
||||
|
||||
saveButton.onclick = function() {
|
||||
savePasswordFields(id, inputNewPass.value, inputConfirmPass.value);
|
||||
|
||||
};
|
||||
|
||||
// Ajouter les deux champs de saisie et le bouton dans l'élément <p>
|
||||
pElement.appendChild(inputNewPass);
|
||||
pElement.appendChild(document.createElement('br')); // Saut de ligne pour espacer les champs
|
||||
pElement.appendChild(inputConfirmPass);
|
||||
pElement.appendChild(document.createElement('br')); // Saut de ligne pour espacer
|
||||
pElement.appendChild(saveButton);
|
||||
|
||||
inputNewPass.focus();// Mettre le focus sur le premier champ de saisie
|
||||
}
|
||||
|
||||
|
||||
|
||||
function savePasswordFields(id, newPassword, confirmPassword) {
|
||||
// Vérification si les champs sont vides
|
||||
if (newPassword.trim() === "" || confirmPassword.trim() === ""){
|
||||
alert("Les champs de mot de passe ne doivent pas être vides.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Vérification de la correspondance des deux mots de passe
|
||||
if (newPassword === confirmPassword) {
|
||||
|
||||
var pElement = document.getElementById(id);// Récupérer l'élément <p> via son identifiant
|
||||
|
||||
if(newPassword.length >= 16){
|
||||
var maskedPassword = '*'.repeat(16); // Masquer le nouveau mot de passe pour l'affichage
|
||||
}
|
||||
else{
|
||||
var maskedPassword = "*".repeat(newPassword.length); // Masquer le nouveau mot de passe pour l'affichage
|
||||
}
|
||||
|
||||
// Remplacer les champs input par le texte masqué
|
||||
pElement.innerHTML = '<strong>' + maskedPassword + '</strong> <img class="imgModify" src="../images/modify.svg" onclick="editFieldPassWd(\'' + id + '\')"/></strong>';
|
||||
alert('Mot de passe mis à jour avec succès');
|
||||
|
||||
// Possibilité d'ajouter ici une fonction pour envoyer les nouveaux mots de passe au serveur
|
||||
|
||||
} else {
|
||||
alert('Les mots de passe ne correspondent pas.');
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
// Quand le document est prêt
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const themeIcon = document.getElementById('theme-icon');
|
||||
const favicon = document.getElementById('favicon'); // Sélectionne la favicon
|
||||
|
||||
// Vérifie si les éléments existent bien avant d'y accéder
|
||||
if (themeIcon && favicon) {
|
||||
const currentTheme = localStorage.getItem('theme') || 'dark'; // Par défaut, sombre
|
||||
|
||||
// Applique le bon thème au chargement de la page
|
||||
if (currentTheme === 'light') {
|
||||
document.body.classList.remove('dark-mode');
|
||||
document.body.classList.add('light-mode');
|
||||
themeIcon.src = '../images/light.svg'; // Affiche l'icône pour basculer vers le mode sombre
|
||||
favicon.href = '../images/iconeClaire.ico'; // Favicon pour le mode clair
|
||||
} else {
|
||||
document.body.classList.add('dark-mode');
|
||||
themeIcon.src = '../images/dark.svg'; // Affiche l'icône pour basculer vers le mode clair
|
||||
favicon.href = '../images/iconeSombre.ico'; // Favicon pour le mode sombre
|
||||
}
|
||||
} else {
|
||||
console.error("Élément(s) manquant(s) : icône du thème ou favicon.");
|
||||
}
|
||||
});
|
||||
|
||||
// Fonction pour basculer entre les thèmes
|
||||
function toggleTheme() {
|
||||
const body = document.body;
|
||||
const themeIcon = document.getElementById('theme-icon');
|
||||
const favicon = document.getElementById('favicon'); // Sélectionne la favicon
|
||||
|
||||
if (themeIcon && favicon) {
|
||||
if (body.classList.contains('dark-mode')) {
|
||||
// Si on est en mode sombre, on passe en mode clair
|
||||
body.classList.remove('dark-mode');
|
||||
body.classList.add('light-mode');
|
||||
themeIcon.src = '../images/light.svg'; // Change vers le logo sombre
|
||||
favicon.href = '../images/iconeClaire.ico'; // Favicon pour le mode clair
|
||||
localStorage.setItem('theme', 'light'); // Enregistre le thème clair dans localStorage
|
||||
} else {
|
||||
// Sinon, on repasse en mode sombre
|
||||
body.classList.remove('light-mode');
|
||||
body.classList.add('dark-mode');
|
||||
themeIcon.src = '../images/dark.svg'; // Change vers le logo clair
|
||||
favicon.href = '../images/iconeSombre.ico'; // Favicon pour le mode sombre
|
||||
localStorage.setItem('theme', 'dark'); // Enregistre le thème sombre dans localStorage
|
||||
}
|
||||
} else {
|
||||
console.error("Impossible de trouver l'icône ou le favicon.");
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const quoteElements = document.querySelectorAll('.citation-container .quote');
|
||||
|
||||
quoteElements.forEach(quote => {
|
||||
let maxLength = 135; // Nombre max de caractères avant la coupure
|
||||
if (quote.textContent.length > maxLength) {
|
||||
let displayedText = quote.textContent.slice(0, maxLength) + '...\"';
|
||||
quote.textContent = displayedText;
|
||||
}
|
||||
});
|
||||
});
|
@ -0,0 +1,145 @@
|
||||
/* header.css */
|
||||
|
||||
/* Styles généraux */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #120b1d;
|
||||
font-family: "Lemon", serif;
|
||||
margin-top: 200px;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.header {
|
||||
display: flex;
|
||||
position: fixed;
|
||||
background-color: #000000;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
vertical-align: center;
|
||||
gap: 30px;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.user {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
vertical-align: center;
|
||||
gap: 30px;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
/* Mode sombre */
|
||||
body.dark-mode {
|
||||
background-color: #120B1D;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
body.dark-mode .header {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
body.dark-mode .header img {
|
||||
filter: invert(0%);
|
||||
}
|
||||
|
||||
body.dark-mode .nav img:hover {
|
||||
filter: invert(59%) sepia(96%) saturate(6733%) hue-rotate(275deg) brightness(112%) contrast(122%);
|
||||
}
|
||||
|
||||
/* Mode clair */
|
||||
body.light-mode {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
body.light-mode .header {
|
||||
background-color: #F7F7EB;
|
||||
}
|
||||
|
||||
body.light-mode .header img {
|
||||
filter: invert(100%);
|
||||
}
|
||||
|
||||
body.light-mode .nav img:hover {
|
||||
filter: invert(22%) sepia(6%) saturate(2269%) hue-rotate(193deg) brightness(98%) contrast(106%);
|
||||
}
|
||||
|
||||
/* Media queries for responsiveness */
|
||||
|
||||
/* For tablets and small devices */
|
||||
@media (max-width: 768px) {
|
||||
.header {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.nav, .logo, .user {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
/* For mobile phones */
|
||||
@media (max-width: 480px) {
|
||||
body {
|
||||
margin-top: 100px;
|
||||
}
|
||||
|
||||
.nav img, .logo img {
|
||||
width: 50px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
form {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
form input {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Banner images should be responsive */
|
||||
.header img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Media queries for different screen sizes */
|
||||
@media (max-width: 768px) {
|
||||
.header {
|
||||
flex-direction: column;
|
||||
}
|
||||
.header img {
|
||||
width: 80px;
|
||||
height: auto;
|
||||
}
|
||||
}
|
@ -0,0 +1,135 @@
|
||||
@import url('style.css'); /* Import de style.css */
|
||||
|
||||
/* Conteneur général pour les citations */
|
||||
.citations-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 20px;
|
||||
padding: 20px 0;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
margin: 0 0;
|
||||
}
|
||||
|
||||
/* Conteneur pour les suggestions en deux colonnes */
|
||||
.suggestions-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
/* Citations */
|
||||
.citation-container {
|
||||
background: linear-gradient(to right, #4a148c, #7b1fa2);
|
||||
border-radius: 12px;
|
||||
color: white;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
width: 49%; /* Chaque citation occupe 45% de la largeur pour laisser 5% d'espace */
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
height: 150px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 20px;
|
||||
word-wrap: break-word; /* Permet de couper les mots trop longs */
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
/* Fixe la taille pour s'assurer que toutes les citations restent cohérentes */
|
||||
.citation-container .text-content {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
/* Citation du jour - toujours en pleine largeur */
|
||||
.citation-du-jour {
|
||||
width: 90%; /* Prend toute la largeur */
|
||||
background: linear-gradient(to right, #ff5722, #ff9800); /* Dégradé spécial pour la citation du jour */
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
margin-bottom: 20px;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.suggestion {
|
||||
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.citation-image {
|
||||
width: 150px;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.text-content {
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center; /* Centre verticalement le texte */
|
||||
word-wrap: break-word; /* Permet de couper les mots trop longs */
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.quote {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.movie, .character, .year {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
/* Mode sombre */
|
||||
body.dark-mode .suggestion {
|
||||
background: linear-gradient(to right, #4a148c, #7b1fa2);
|
||||
color:white;
|
||||
}
|
||||
|
||||
/* Mode clair */
|
||||
body.light-mode .suggestion {
|
||||
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
|
||||
color:black; /* Changer le texte en noir pour le mode clair */
|
||||
}
|
||||
|
||||
body.light-mode .quote,
|
||||
body.light-mode .movie,
|
||||
body.light-mode .character,
|
||||
body.light-mode .year {
|
||||
color: black; /* Forcer le texte en noir pour le mode clair */
|
||||
}
|
||||
|
||||
/* Responsive design */
|
||||
@media (max-width: 768px) {
|
||||
.suggestions-container {
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.citation-container {
|
||||
width: 100%; /* Chaque citation prend toute la largeur sur mobile */
|
||||
max-width: 100%;
|
||||
height: 100px; /* Supprimer la hauteur fixe sur mobile */
|
||||
}
|
||||
|
||||
.citation-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.quote {
|
||||
font-size: 1em;
|
||||
}
|
||||
}
|
@ -0,0 +1,130 @@
|
||||
@import url(./style.css);
|
||||
|
||||
/* ====== DARK MODE ====== */
|
||||
body.dark-mode h1{
|
||||
color : white;
|
||||
font-family: "Lemon", serif;
|
||||
text-align: center;
|
||||
font-size: 32px;
|
||||
margin-top: 10%;
|
||||
}
|
||||
|
||||
body.dark-mode p{
|
||||
margin-top: 6%;
|
||||
margin-bottom: 2%;
|
||||
color : white;
|
||||
font-size: 20px;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
body.dark-mode .login{
|
||||
background-color: black;
|
||||
width: 30%;
|
||||
margin-left: 35%;
|
||||
margin-top: 3%;
|
||||
border-radius: 25px;
|
||||
border: 2px solid transparent;
|
||||
padding: 2%;
|
||||
}
|
||||
|
||||
body.dark-mode .createAccount{
|
||||
margin-top: 5%;
|
||||
margin-bottom: 5%;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
padding-top: 1%;
|
||||
color: white;
|
||||
border: 1px solid transparent;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
body.dark-mode .buttonSudmite{
|
||||
background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 2%;
|
||||
border-radius: 25px;
|
||||
width: 75%;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|
||||
body.dark-mode .connexion{
|
||||
width:90%;
|
||||
height: 40px;
|
||||
padding-left: 3%;
|
||||
margin-left: 1%;
|
||||
margin-top: -1%;
|
||||
border-radius: 25px;
|
||||
border: none;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
/* ====== LIGHT MODE ====== */
|
||||
body.light-mode h1{
|
||||
color : black;
|
||||
font-family: "Lemon", serif;
|
||||
text-align: center;
|
||||
font-size: 32px;
|
||||
margin-top: 10%;
|
||||
}
|
||||
|
||||
body.light-mode p{
|
||||
margin-top: 6%;
|
||||
margin-bottom: 2%;
|
||||
color : black;
|
||||
font-size: 20px;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
body.light-mode .login{
|
||||
background-color: white;
|
||||
width: 30%;
|
||||
margin-left: 35%;
|
||||
margin-top: 3%;
|
||||
border-radius: 25px;
|
||||
border: 2px solid black;
|
||||
padding: 2%;
|
||||
}
|
||||
|
||||
body.light-mode .createAccount{
|
||||
margin-top: 5%;
|
||||
margin-bottom: 5%;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
padding-top: 1%;
|
||||
color: black;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
body.light-mode .buttonSudmite{
|
||||
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: black;
|
||||
padding: 2%;
|
||||
border-radius: 25px;
|
||||
width: 75%;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
body.light-mode .connexion{
|
||||
width:90%;
|
||||
height: 40px;
|
||||
padding-left: 3%;
|
||||
margin-left: 1%;
|
||||
margin-top: -1%;
|
||||
border-radius: 25px;
|
||||
border: 1px solid black;
|
||||
background-color: #fff1f1;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
|
||||
/* ====== DEFAULT ====== */
|
||||
.buttonSudmiteDiv{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,226 @@
|
||||
@import url(./style.css);
|
||||
|
||||
/* ====== DARK MODE ====== */
|
||||
body.dark-mode h1{
|
||||
color : white;
|
||||
font-family: "Lemon", serif;
|
||||
text-align: center;
|
||||
font-size: 35px;
|
||||
margin-top: 10%;
|
||||
}
|
||||
|
||||
body.dark-mode p{
|
||||
margin-top: 6%;
|
||||
margin-bottom: 2%;
|
||||
color : white;
|
||||
font-size: 20px;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
|
||||
body.dark-mode .buttonSudmite{
|
||||
background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 5%;
|
||||
border-radius: 25px;
|
||||
width: 75%;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
body.dark-mode .createQuote{
|
||||
margin-top: 5%;
|
||||
margin-bottom: 5%;
|
||||
font-size: 15px;
|
||||
text-align: center;
|
||||
padding-top: 1%;
|
||||
color: white;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
body.dark-mode .login{
|
||||
background-color: black;
|
||||
width: 30%;
|
||||
margin-left: 35%;
|
||||
margin-top: 9%;
|
||||
border-radius: 25px;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1%;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
|
||||
body.dark-mode .imgModify{
|
||||
width: 3%;
|
||||
margin-left: 5%;
|
||||
margin-top: 5%;
|
||||
filter: invert(100%) brightness(1000%) contrast(1000%);
|
||||
}
|
||||
|
||||
|
||||
body.dark-mode .infoProfil > input {
|
||||
width:90%;
|
||||
height: 40px;
|
||||
padding-left: 3%;
|
||||
margin-left: 1%;
|
||||
margin-top: -1%;
|
||||
border-radius: 25px;
|
||||
border: none;
|
||||
font-size: 15px;
|
||||
font-family: "Lemon", serif;
|
||||
|
||||
}
|
||||
|
||||
|
||||
body.dark-mode .inputPasswd{
|
||||
font-family: "Lemon", serif;
|
||||
margin-top: 40%;
|
||||
color: black;
|
||||
}
|
||||
|
||||
body.dark-mode .saveButtonPasswd {
|
||||
background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 1%;
|
||||
border-radius: 25px;
|
||||
width: 55%;
|
||||
font-size: 15px;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ====== LIGHT MODE ====== */
|
||||
body.light-mode h1{
|
||||
color : black;
|
||||
font-family: "Lemon", serif;
|
||||
text-align: center;
|
||||
font-size: 35px;
|
||||
margin-top: 10%;
|
||||
}
|
||||
body.light-mode p{
|
||||
margin-top: 6%;
|
||||
margin-bottom: 2%;
|
||||
color : black;
|
||||
font-size: 20px;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
|
||||
body.light-mode .buttonSudmite{
|
||||
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: black;
|
||||
padding: 5%;
|
||||
border-radius: 25px;
|
||||
width: 75%;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
body.light-mode .createQuote{
|
||||
margin-top: 5%;
|
||||
margin-bottom: 5%;
|
||||
font-size: 15px;
|
||||
text-align: center;
|
||||
padding-top: 1%;
|
||||
color: black;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
body.light-mode .login{
|
||||
background-color: white;
|
||||
width: 30%;
|
||||
margin-left: 35%;
|
||||
margin-top: 9%;
|
||||
border-radius: 25px;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1%;
|
||||
border: 2px solid black;
|
||||
}
|
||||
|
||||
body.light-mode .imgModify{
|
||||
width: 3%;
|
||||
margin-left: 5%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
|
||||
body.light-mode .infoProfil > input {
|
||||
width:90%;
|
||||
height: 40px;
|
||||
padding-left: 3%;
|
||||
margin-left: 1%;
|
||||
margin-top: -1%;
|
||||
border-radius: 25px;
|
||||
border: 1px solid black;
|
||||
background-color: #fff1f1;
|
||||
font-size: 15px;
|
||||
font-family: "Lemon", serif;
|
||||
color : black;
|
||||
}
|
||||
|
||||
|
||||
body.light-mode .inputPasswd{
|
||||
font-family: "Lemon", serif;
|
||||
margin-top: 40%;
|
||||
color: black;
|
||||
}
|
||||
|
||||
body.light-mode .saveButtonPasswd {
|
||||
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: black;
|
||||
padding: 1%;
|
||||
border-radius: 25px;
|
||||
width: 55%;
|
||||
font-size: 15px;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
|
||||
/* ====== OTHER ====== */
|
||||
.buttonSudmiteDiv{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.changeValue{
|
||||
color: red;
|
||||
}
|
||||
|
||||
|
||||
.imageProfil{
|
||||
width: 25%;
|
||||
border-radius: 25px;
|
||||
display:block;
|
||||
margin-left: 38%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
.infoProfil{
|
||||
margin-left: 10%;
|
||||
text-align: center;
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
|
||||
.languageDiv{
|
||||
margin-left: 25%;
|
||||
}
|
||||
.languageTitle{
|
||||
text-align: left;
|
||||
font-size: 100%;
|
||||
}
|
||||
.languageImage{
|
||||
width: 300px;
|
||||
height: 40px;
|
||||
margin-left: 25%;
|
||||
display:block;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,154 @@
|
||||
@import url(./style.css);
|
||||
|
||||
@import url('https://fonts.googleapis.com/css2?family=Lemon&display=swap');
|
||||
|
||||
body, html {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ====== DARK MODE ====== */
|
||||
body.dark-mode h1, body.dark-mode h2, body.dark-mode p {
|
||||
color: white;
|
||||
font-family: "Lemon", serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
body.dark-mode .quiz {
|
||||
background-color: black;
|
||||
height: 60%;
|
||||
width: 80%;
|
||||
margin: 3% auto;
|
||||
padding: 2%;
|
||||
border-radius: 25px;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
|
||||
body.dark-mode .answers {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
|
||||
row-gap: 80px;
|
||||
}
|
||||
|
||||
body.dark-mode .answer {
|
||||
background-color: #1b0048;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 25px;
|
||||
width: 35%;
|
||||
padding: 35px;
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
body.dark-mode .answer:hover {
|
||||
background-color: #6100ff;
|
||||
}
|
||||
|
||||
body.dark-mode .submit-button {
|
||||
text-align: center;
|
||||
margin-top: 80px;
|
||||
|
||||
}
|
||||
|
||||
body.dark-mode .buttonSudmite {
|
||||
background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 10px 20px;
|
||||
border-radius: 25px;
|
||||
font-size: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ====== LIGHT MODE ====== */
|
||||
body.light-mode h1, body.light-mode h2, body.light-mode p {
|
||||
color: black;
|
||||
font-family: "Lemon", serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
body.light-mode .quiz {
|
||||
background-color: white;
|
||||
width: 50%;
|
||||
height: 90%;
|
||||
margin: 3% auto;
|
||||
padding: 2%;
|
||||
border-radius: 25px;
|
||||
border: 2px solid black;
|
||||
}
|
||||
|
||||
body.light-mode .answers {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
gap: 1000px;
|
||||
height: 90%;
|
||||
}
|
||||
|
||||
body.light-mode .answer {
|
||||
background-color: #fff1f1;
|
||||
color: black;
|
||||
border: 1px solid black;
|
||||
border-radius: 25px;
|
||||
width: 45%;
|
||||
padding: 10px;
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
body.light-mode .answer:hover {
|
||||
background-color: #c7f6c4;
|
||||
}
|
||||
|
||||
body.light-mode .submit-button {
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
body.light-mode .buttonSudmite {
|
||||
background: linear-gradient(180deg, rgba(187,211,249,1) 0%, rgba(199,246,196,1) 100%);
|
||||
font-family: "Lemon", serif;
|
||||
border: none;
|
||||
color: black;
|
||||
padding: 10px 20px;
|
||||
border-radius: 25px;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ====== OTHER ====== */
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
background-color: transparent;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav img {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.logo img {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.user img {
|
||||
margin-left: 10px;
|
||||
}
|
@ -0,0 +1,110 @@
|
||||
@import url(./style.css);
|
||||
|
||||
/* ====== DARK MODE ====== */
|
||||
body.dark-mode .card {
|
||||
position: relative;
|
||||
background-color: black;
|
||||
border-radius: 15px;
|
||||
width: 60%;
|
||||
display: flex;
|
||||
margin-left: 5%;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
|
||||
|
||||
body.dark-mode .card-content {
|
||||
color: white;
|
||||
margin-left: 20px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
|
||||
body.dark-mode .likes {
|
||||
margin-left: 85%;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
body.dark-mode .like-icon {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
font-size: 35px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
body.dark-mode .share-icon {
|
||||
position: absolute;
|
||||
top: 70px;
|
||||
right: 10px;
|
||||
font-size: 35px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ====== LIGHT MODE ====== */
|
||||
|
||||
body.light-mode .card {
|
||||
position: relative;
|
||||
background-color: white;
|
||||
border-radius: 15px;
|
||||
width: 60%;
|
||||
display: flex;
|
||||
margin-left: 5%;
|
||||
border: 2px solid black;
|
||||
}
|
||||
|
||||
body.light-mode .card-content {
|
||||
color: black;
|
||||
margin-left: 20px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
|
||||
body.light-mode .likes {
|
||||
margin-left: 85%;
|
||||
font-size: 20px;
|
||||
color: black;
|
||||
}
|
||||
|
||||
body.light-mode .like-icon {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
font-size: 35px;
|
||||
color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
body.light-mode .share-icon {
|
||||
position: absolute;
|
||||
top: 70px;
|
||||
right: 10px;
|
||||
font-size: 35px;
|
||||
color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ====== DEFAULT ====== */
|
||||
.infoQuote {
|
||||
list-style: none;
|
||||
font-size: 25px;
|
||||
line-height: 40px;
|
||||
margin-top: 35%;
|
||||
margin-left: -45%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.card-image {
|
||||
border-radius: 10px;
|
||||
width: 310px;
|
||||
height: 270px;
|
||||
}
|
||||
|
||||
.quote {
|
||||
margin-top: 10px;
|
||||
font-size: 35px;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
margin-bottom: 15px;
|
||||
}
|
@ -0,0 +1,120 @@
|
||||
@import url(./style.css);
|
||||
|
||||
h1{
|
||||
margin-top: 10%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.signin{
|
||||
border-radius: 25px;
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 1fr;
|
||||
grid-template-rows: repeat(5, 1fr);
|
||||
width : 30%;
|
||||
margin-left: 35%;
|
||||
margin-top: 3%;
|
||||
padding : 2%;
|
||||
}
|
||||
|
||||
p{
|
||||
font-size: 20px;
|
||||
margin-top: 7%;
|
||||
margin-bottom: 2%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.DivId{
|
||||
grid-area: 1 / 1 / 2 / 2;
|
||||
}
|
||||
|
||||
.DivEmail{
|
||||
grid-area: 2 / 1 / 3 / 2;
|
||||
}
|
||||
|
||||
.mdp{
|
||||
grid-area: 3 / 1 / 4 / 3;
|
||||
}
|
||||
|
||||
.confmdp{
|
||||
grid-area: 4 / 1 / 5 / 3;
|
||||
}
|
||||
|
||||
.imgprof{
|
||||
grid-area: 1 / 2 / 3 / 3;
|
||||
}
|
||||
|
||||
.confirmer{
|
||||
grid-area: 5 / 1 / 6 / 3;
|
||||
align-self: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.champ{
|
||||
width: 90%;
|
||||
height : 35%;
|
||||
border-radius: 25px;
|
||||
margin-left: 1%;
|
||||
padding-left: 3%;
|
||||
margin-top: -1%;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.btn{
|
||||
margin-top: 10%;
|
||||
width:75%;
|
||||
font-size: 20px;
|
||||
padding: 2%;
|
||||
border-radius: 25px;
|
||||
border: none;
|
||||
font-family: "Lemon", serif;
|
||||
}
|
||||
|
||||
/*Dark mode*/
|
||||
|
||||
body.dark-mode .signin{
|
||||
background-color: #000000;
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
|
||||
body.dark-mode .h1{
|
||||
color : white;
|
||||
}
|
||||
|
||||
body.dark-mode .p{
|
||||
color : white;
|
||||
}
|
||||
|
||||
body.dark-mode .btn{
|
||||
background: linear-gradient(90deg, #6100ff 0%, #1b0048 100%);
|
||||
color : white;
|
||||
}
|
||||
|
||||
body.dark-mode .champ{
|
||||
background-color: #ffffff;
|
||||
border: 2px solid #ffffff;
|
||||
}
|
||||
|
||||
/*Light*/
|
||||
|
||||
body.light-mode .signin{
|
||||
background-color: #ffffff;
|
||||
border: 2px solid #000000;
|
||||
}
|
||||
|
||||
body.light-mode .h1{
|
||||
color : #000000;
|
||||
}
|
||||
|
||||
body.light-mode .p{
|
||||
color : #000000;
|
||||
}
|
||||
|
||||
body.light-mode .btn{
|
||||
background: linear-gradient(90deg, #caffde 0%, #b7c8ff 100%);
|
||||
color : #000000;
|
||||
}
|
||||
|
||||
body.light-mode .champ{
|
||||
background-color: #fff1f1;
|
||||
border: 1px solid #000000;
|
||||
}
|