Création et modification des raccourcis, + modifs mineurs
This commit is contained in:
parent
9eda9ba64b
commit
df41001821
11 changed files with 336 additions and 24 deletions
|
|
@ -189,7 +189,8 @@ function getUserPerms($bdd, $username)
|
||||||
return $row ? $row['permissions'] : null;
|
return $row ? $row['permissions'] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function verifyPoids($bdd, $username, $minPoids) {
|
function verifyPoids($bdd, $username, $minPoids)
|
||||||
|
{
|
||||||
$sql = "SELECT p.poids
|
$sql = "SELECT p.poids
|
||||||
FROM utilisateurs u
|
FROM utilisateurs u
|
||||||
INNER JOIN permissions p ON u.permissions = p.nom
|
INNER JOIN permissions p ON u.permissions = p.nom
|
||||||
|
|
@ -214,7 +215,8 @@ function verifyPoids($bdd, $username, $minPoids) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateEventTitle($bdd, $eventid, $titre){
|
function updateEventTitle($bdd, $eventid, $titre)
|
||||||
|
{
|
||||||
$stmt = mysqli_prepare(
|
$stmt = mysqli_prepare(
|
||||||
$bdd,
|
$bdd,
|
||||||
"UPDATE evenements SET titre = ? WHERE id = ?"
|
"UPDATE evenements SET titre = ? WHERE id = ?"
|
||||||
|
|
@ -230,7 +232,8 @@ function updateEventTitle($bdd, $eventid, $titre){
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateEventImage($bdd, $eventId, $image){
|
function updateEventImage($bdd, $eventId, $image)
|
||||||
|
{
|
||||||
$stmt = mysqli_prepare(
|
$stmt = mysqli_prepare(
|
||||||
$bdd,
|
$bdd,
|
||||||
"UPDATE evenements SET couverture = ? WHERE id = ?"
|
"UPDATE evenements SET couverture = ? WHERE id = ?"
|
||||||
|
|
@ -257,7 +260,8 @@ function getSpecificActus($bdd, $id)
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateActuImage($bdd, $actuId, $image){
|
function updateActuImage($bdd, $actuId, $image)
|
||||||
|
{
|
||||||
$stmt = mysqli_prepare(
|
$stmt = mysqli_prepare(
|
||||||
$bdd,
|
$bdd,
|
||||||
"UPDATE actus SET image = ? WHERE id = ?"
|
"UPDATE actus SET image = ? WHERE id = ?"
|
||||||
|
|
@ -273,7 +277,8 @@ function updateActuImage($bdd, $actuId, $image){
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateActuTitle($bdd, $actuId, $titre){
|
function updateActuTitle($bdd, $actuId, $titre)
|
||||||
|
{
|
||||||
$stmt = mysqli_prepare(
|
$stmt = mysqli_prepare(
|
||||||
$bdd,
|
$bdd,
|
||||||
"UPDATE actus SET titre = ? WHERE id = ?"
|
"UPDATE actus SET titre = ? WHERE id = ?"
|
||||||
|
|
@ -289,7 +294,8 @@ function updateActuTitle($bdd, $actuId, $titre){
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateActuContent($bdd, $actuId, $content){
|
function updateActuContent($bdd, $actuId, $content)
|
||||||
|
{
|
||||||
$stmt = mysqli_prepare(
|
$stmt = mysqli_prepare(
|
||||||
$bdd,
|
$bdd,
|
||||||
"UPDATE actus SET actu = ? WHERE id = ?"
|
"UPDATE actus SET actu = ? WHERE id = ?"
|
||||||
|
|
@ -305,7 +311,8 @@ function updateActuContent($bdd, $actuId, $content){
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createEvent($bdd, $titre, $date, $site){
|
function createEvent($bdd, $titre, $date, $site)
|
||||||
|
{
|
||||||
|
|
||||||
$sql = "INSERT INTO evenements (date, titre, couverture, site_id) VALUES (?, ?, '', ?)";
|
$sql = "INSERT INTO evenements (date, titre, couverture, site_id) VALUES (?, ?, '', ?)";
|
||||||
$req = $bdd->prepare($sql);
|
$req = $bdd->prepare($sql);
|
||||||
|
|
@ -314,7 +321,8 @@ function createEvent($bdd, $titre, $date, $site){
|
||||||
return $bdd->insert_id;
|
return $bdd->insert_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteEvent($bdd, $eventId){
|
function deleteEvent($bdd, $eventId)
|
||||||
|
{
|
||||||
$sql = "DELETE FROM evenements WHERE id = ?";
|
$sql = "DELETE FROM evenements WHERE id = ?";
|
||||||
$req = $bdd->prepare($sql);
|
$req = $bdd->prepare($sql);
|
||||||
$req->bind_param("i", $eventId);
|
$req->bind_param("i", $eventId);
|
||||||
|
|
@ -322,7 +330,8 @@ function deleteEvent($bdd, $eventId){
|
||||||
return $req->affected_rows > 0;
|
return $req->affected_rows > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteActu($bdd, $eventId){
|
function deleteActu($bdd, $eventId)
|
||||||
|
{
|
||||||
$sql = "DELETE FROM actus WHERE id = ?";
|
$sql = "DELETE FROM actus WHERE id = ?";
|
||||||
$req = $bdd->prepare($sql);
|
$req = $bdd->prepare($sql);
|
||||||
$req->bind_param("i", $eventId);
|
$req->bind_param("i", $eventId);
|
||||||
|
|
@ -330,7 +339,8 @@ function deleteActu($bdd, $eventId){
|
||||||
return $req->affected_rows > 0;
|
return $req->affected_rows > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createActu($bdd, $titre, $actu, $date, $idSite){
|
function createActu($bdd, $titre, $actu, $date, $idSite)
|
||||||
|
{
|
||||||
|
|
||||||
$stmt = mysqli_prepare(
|
$stmt = mysqli_prepare(
|
||||||
$bdd,
|
$bdd,
|
||||||
|
|
@ -342,3 +352,41 @@ function createActu($bdd, $titre, $actu, $date, $idSite){
|
||||||
mysqli_stmt_close($stmt);
|
mysqli_stmt_close($stmt);
|
||||||
return $actuId;
|
return $actuId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createShortcut($bdd, $nom, $image, $shortcut)
|
||||||
|
{
|
||||||
|
|
||||||
|
$stmt = mysqli_prepare(
|
||||||
|
$bdd,
|
||||||
|
"INSERT INTO raccourcis (nom, image, url) VALUES (?, ?, ?)"
|
||||||
|
);
|
||||||
|
mysqli_stmt_bind_param($stmt, "sss", $nom, $image, $shortcut);
|
||||||
|
mysqli_stmt_execute($stmt);
|
||||||
|
$actuId = mysqli_insert_id($bdd);
|
||||||
|
mysqli_stmt_close($stmt);
|
||||||
|
return $actuId;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateRaccourcis($bdd, $idRaccourcis, $nom, $image, $url)
|
||||||
|
{
|
||||||
|
$stmt = mysqli_prepare(
|
||||||
|
$bdd,
|
||||||
|
"UPDATE raccourcis SET nom = ?, image = ?, url = ? WHERE id = ?"
|
||||||
|
);
|
||||||
|
mysqli_stmt_bind_param($stmt, "sssi", $nom, $image, $url, $idRaccourcis);
|
||||||
|
mysqli_stmt_execute($stmt);
|
||||||
|
$success = mysqli_stmt_affected_rows($stmt) >= 0;
|
||||||
|
mysqli_stmt_close($stmt);
|
||||||
|
return $success;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSpecificRaccourcis($bdd, $id)
|
||||||
|
{
|
||||||
|
$results = mysqli_query($bdd, "SELECT * FROM `raccourcis` WHERE `id`=" . $id);
|
||||||
|
$return = [];
|
||||||
|
|
||||||
|
while ($row = mysqli_fetch_assoc($results)) {
|
||||||
|
$return[] = $row;
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
|
||||||
156
admin/admin.php
Normal file
156
admin/admin.php
Normal file
|
|
@ -0,0 +1,156 @@
|
||||||
|
<?php
|
||||||
|
include("../Assets/functions.php");
|
||||||
|
$config = json_decode(file_get_contents("../Assets/config.json"), true);
|
||||||
|
$bdd = connectBDD("localhost", $config["BDD_USER"], $config["BDD_PASSWD"], $config["BDD_NAME"]);
|
||||||
|
|
||||||
|
/* Gestion de la connexion */
|
||||||
|
session_start();
|
||||||
|
if (!isset($_SESSION['connected']) || $_SESSION['connected'] == false) {
|
||||||
|
header('location: ../login.php?redirect_to=./admin/');
|
||||||
|
}
|
||||||
|
|
||||||
|
$events = getEvenements($bdd, $_SESSION['site']);
|
||||||
|
|
||||||
|
/* Récupération des infos */
|
||||||
|
$permissions = $_SESSION['permission'];
|
||||||
|
$site = $_SESSION['site'];
|
||||||
|
|
||||||
|
/* Gestion de l'accès à la page */
|
||||||
|
$minPoids = 99;
|
||||||
|
if (!verifyPoids($bdd, $_SESSION['username'], $minPoids)) {
|
||||||
|
die("Vous n'avez pas l'autorisation");
|
||||||
|
header('location: ./index.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
$uploadDir = "../Photos/INTRANET/";
|
||||||
|
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
|
||||||
|
if (!empty($_POST['nom']) && !empty($_POST['url']) && !empty($_POST['image'])) {
|
||||||
|
|
||||||
|
createShortcut(
|
||||||
|
$bdd,
|
||||||
|
$_POST['nom'],
|
||||||
|
$_POST['image'],
|
||||||
|
$_POST['url']
|
||||||
|
);
|
||||||
|
|
||||||
|
header("Location: " . $_SERVER['PHP_SELF']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Gestion Intranet</title>
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="../styles-scripts/index.admin.css">
|
||||||
|
</head>
|
||||||
|
<script>
|
||||||
|
function addShortcut() {
|
||||||
|
|
||||||
|
const container = document.getElementById("shortcutsContainer");
|
||||||
|
|
||||||
|
const block = document.createElement("div");
|
||||||
|
|
||||||
|
block.className = "";
|
||||||
|
|
||||||
|
block.innerHTML = `
|
||||||
|
<form method="post">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label>Nom</label>
|
||||||
|
<input type="text" name="nom" class="form-control" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label>URL</label>
|
||||||
|
<input type="text" name="url" class="form-control" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
<label>Image</label>
|
||||||
|
<input type="text" name="image" class="form-control" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button type="submit" class="btn btn-primary mt-2">
|
||||||
|
Créer le raccourci
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
`;
|
||||||
|
|
||||||
|
container.appendChild(block);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1>Gestion de l'intranet</h1>
|
||||||
|
<!-- navbar -->
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">Évènements</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="modifyActuality.php" class="nav-link">Actualités</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<!-- Partie création de raccourcis -->
|
||||||
|
<div class="">
|
||||||
|
|
||||||
|
<h3>Création de raccourcis</h3>
|
||||||
|
|
||||||
|
<div class="mb-4">
|
||||||
|
<?php $shortcuts = getRaccourcis($bdd); ?>
|
||||||
|
<?php foreach ($shortcuts as $shortcut): ?>
|
||||||
|
<div class="card p-3 mb-2 d-flex flex-row align-items-center shortcut"
|
||||||
|
data-id="<?= $shortcut['id'] ?>">
|
||||||
|
<img class="editable-image"
|
||||||
|
src="<?= (str_starts_with($shortcut['image'], 'http') || str_starts_with($shortcut['image'], 'data')) ? htmlspecialchars($shortcut['image']) : "." . htmlspecialchars($shortcut['image']) ?>"
|
||||||
|
style="width:40px;height:40px;margin-right:10px;cursor:pointer;">
|
||||||
|
<div>
|
||||||
|
<strong class="editable"
|
||||||
|
data-field="nom">
|
||||||
|
<?= htmlspecialchars($shortcut['nom']) ?>
|
||||||
|
</strong><br>
|
||||||
|
<small class="editable"
|
||||||
|
data-field="url">
|
||||||
|
<?= htmlspecialchars($shortcut['url']) ?>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-success mb-3" onclick="addShortcut()">
|
||||||
|
Ajouter un raccourci
|
||||||
|
</button>
|
||||||
|
<div id="shortcutsContainer"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../styles-scripts/editableCards.js"></script>
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
@ -101,7 +101,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
<a href="#" class="nav-link">Actualités</a>
|
<a href="#" class="nav-link">Actualités</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link disabled">Administration</a>
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ $uploadDir = "../Photos/INTRANET/";
|
||||||
<a href="modifyActuality.php" class="nav-link">Actualités</a>
|
<a href="modifyActuality.php" class="nav-link">Actualités</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link disabled">Administration</a>
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ $uploadDir = "../Photos/INTRANET/actus/";
|
||||||
<a href="#" class="nav-link">Actualités</a>
|
<a href="#" class="nav-link">Actualités</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link disabled">Administration</a>
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ if (!empty($_POST['new'])) {
|
||||||
<a href="#" class="nav-link">Actualités</a>
|
<a href="#" class="nav-link">Actualités</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link disabled">Administration</a>
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ while ($row = mysqli_fetch_assoc($result)) {
|
||||||
<a href="#" class="nav-link">Actualités</a>
|
<a href="#" class="nav-link">Actualités</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link disabled">Administration</a>
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
<a href="#" class="nav-link">Actualités</a>
|
<a href="#" class="nav-link">Actualités</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link disabled">Administration</a>
|
<a href="admin.php" class="nav-link">Administration</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
35
admin/updateShortcut.php
Normal file
35
admin/updateShortcut.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
include("../Assets/functions.php");
|
||||||
|
|
||||||
|
$config = json_decode(file_get_contents("../Assets/config.json"), true);
|
||||||
|
$bdd = connectBDD("localhost", $config["BDD_USER"], $config["BDD_PASSWD"], $config["BDD_NAME"]);
|
||||||
|
|
||||||
|
$data = json_decode(file_get_contents("php://input"), true);
|
||||||
|
|
||||||
|
$id = intval($data['id']);
|
||||||
|
$field = $data['field'];
|
||||||
|
$value = $data['value'];
|
||||||
|
|
||||||
|
/* récupérer le raccourci actuel */
|
||||||
|
$raccourci = getSpecificRaccourcis($bdd, $id);
|
||||||
|
|
||||||
|
$nom = $raccourci[0]['nom'];
|
||||||
|
$image = $raccourci[0]['image'];
|
||||||
|
$url = $raccourci[0]['url'];
|
||||||
|
|
||||||
|
/* modifier le champ concerné */
|
||||||
|
if ($field === "nom") {
|
||||||
|
$nom = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($field === "url") {
|
||||||
|
$url = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($field === "image") {
|
||||||
|
$image = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* appeler ta fonction */
|
||||||
|
updateRaccourcis($bdd, $id, $nom, $image, $url);
|
||||||
73
styles-scripts/editableCards.js
Normal file
73
styles-scripts/editableCards.js
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
document.querySelectorAll(".editable").forEach(el => {
|
||||||
|
|
||||||
|
el.addEventListener("click", function () {
|
||||||
|
|
||||||
|
const oldValue = this.innerText;
|
||||||
|
const field = this.dataset.field;
|
||||||
|
const card = this.closest(".shortcut");
|
||||||
|
const id = card.dataset.id;
|
||||||
|
|
||||||
|
const input = document.createElement("input");
|
||||||
|
input.value = oldValue;
|
||||||
|
input.className = "form-control";
|
||||||
|
|
||||||
|
this.replaceWith(input);
|
||||||
|
input.focus();
|
||||||
|
|
||||||
|
input.addEventListener("blur", function () {
|
||||||
|
|
||||||
|
const newValue = this.value;
|
||||||
|
|
||||||
|
fetch("updateShortcut.php", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
id: id,
|
||||||
|
field: field,
|
||||||
|
value: newValue
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
const span = document.createElement("span");
|
||||||
|
span.className = "editable";
|
||||||
|
span.dataset.field = field;
|
||||||
|
span.innerText = newValue;
|
||||||
|
|
||||||
|
input.replaceWith(span);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
document.querySelectorAll(".editable-image").forEach(img => {
|
||||||
|
|
||||||
|
img.addEventListener("click", function () {
|
||||||
|
|
||||||
|
const url = prompt("Nouvelle image (URL ou chemin local):", this.src);
|
||||||
|
|
||||||
|
if (!url) return;
|
||||||
|
|
||||||
|
const card = this.closest(".shortcut");
|
||||||
|
const id = card.dataset.id;
|
||||||
|
|
||||||
|
fetch("updateShortcut.php", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
id: id,
|
||||||
|
field: "image",
|
||||||
|
value: url
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
this.src = url;
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
@ -9,6 +9,6 @@
|
||||||
background: #f0f0f0;
|
background: #f0f0f0;
|
||||||
border: 2px solid #ccc;
|
border: 2px solid #ccc;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
text-align: center;
|
/* text-align: center; */
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
Loading…
Reference in a new issue