mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-07 03:29:19 +02:00
Refactor admin panel and add migration documentation
- Add comprehensive migration guides (DEPLOYMENT_MIGRATION.md, DIRECTORY_STRUCTURE.md, MIGRATION_CHECKLIST.md) - Refactor admin panel: split add.php, create reusable header/footer - Update styles: admin.css, common.css, main.css - Improve public pages: index.php, memoire.php - Reorganize database documentation into database/docs/ - Update .gitignore and justfile This prepares for migration to public/ directory structure
This commit is contained in:
180
assets/admin.css
180
assets/admin.css
@@ -0,0 +1,180 @@
|
||||
main {
|
||||
margin: 1.2rem 0;
|
||||
}
|
||||
|
||||
.filters {
|
||||
background: #f5f5f5;
|
||||
padding: 1rem;
|
||||
margin-bottom: 2rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.filters form {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.filters fieldset {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.thesis-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.thesis-table th,
|
||||
.thesis-table td {
|
||||
padding: 0.75rem;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.thesis-table th {
|
||||
background: #f0f0f0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.thesis-table tr:hover {
|
||||
background: #f9f9f9;
|
||||
}
|
||||
|
||||
.thesis-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.thesis-subtitle {
|
||||
font-style: italic;
|
||||
color: #666;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
display: inline-block;
|
||||
padding: 0.25rem 0.5rem;
|
||||
border-radius: 3px;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
.status-pending {
|
||||
background: #ffd700;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.status-published {
|
||||
background: #90ee90;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 0.35rem 0.75rem;
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
font-size: 0.9em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn-view {
|
||||
background: #4a90e2;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-edit {
|
||||
background: #f39c12;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-publish {
|
||||
background: #27ae60;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-unpublish {
|
||||
background: #95a5a6;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.publish-form {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.stats {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.stat-card {
|
||||
background: #f5f5f5;
|
||||
padding: 1rem;
|
||||
border-radius: 4px;
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
.stat-number {
|
||||
font-size: 2em;
|
||||
font-weight: bold;
|
||||
color: #4a90e2;
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
color: #666;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.bulk-actions {
|
||||
background: #f5f5f5;
|
||||
padding: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.bulk-actions-buttons {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.btn-bulk-publish {
|
||||
background: #27ae60;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.btn-bulk-unpublish {
|
||||
background: #95a5a6;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.select-checkbox {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.select-all-checkbox {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -1,103 +1,98 @@
|
||||
@font-face {
|
||||
font-family: police1;
|
||||
src: url("./Combinedd.otf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: police1;
|
||||
src: url("./fonts/Combinedd.otf");
|
||||
}
|
||||
|
||||
/* Dark theme */
|
||||
/* UTILE POUR FORCER UN MODE LIGHT */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root,
|
||||
::backdrop {
|
||||
--bg: #fff;
|
||||
--accent-bg: #f5f7ff;
|
||||
--text: #212121;
|
||||
--text-light: #585858;
|
||||
--border: #898EA4;
|
||||
--accent: #0d47a1;
|
||||
--code: #d81b60;
|
||||
--preformatted: #444;
|
||||
--marked: #ffdd33;
|
||||
--disabled: #efefef;
|
||||
/* @media (prefers-color-scheme: dark) { */
|
||||
/* :root, */
|
||||
/* ::backdrop { */
|
||||
/* --bg: #fff; */
|
||||
/* --accent-bg: #f5f7ff; */
|
||||
/* --text: #212121; */
|
||||
/* --text-light: #585858; */
|
||||
/* --border: #898ea4; */
|
||||
/* --accent: #0d47a1; */
|
||||
/* --code: #d81b60; */
|
||||
/* --preformatted: #444; */
|
||||
/* --marked: #ffdd33; */
|
||||
/* --disabled: #efefef; */
|
||||
/* } */
|
||||
/* } */
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* FORMULAIRE */
|
||||
form label {
|
||||
font-family: police1;
|
||||
font-size: 1rem;
|
||||
}
|
||||
form input,
|
||||
select,
|
||||
textarea {
|
||||
border-color: #c104fc;
|
||||
overflow: visible;
|
||||
outline: none;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
form input:focus,
|
||||
select:focus {
|
||||
border: 3px solid rgba(77, 168, 112, 1);
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
input {
|
||||
/* font-family: police1; */
|
||||
/* font-weight: bold; */
|
||||
background-color: none;
|
||||
color: rgb(193, 4, 252);
|
||||
border: 1px solid rgb(193, 4, 252);
|
||||
}
|
||||
|
||||
a {
|
||||
color: rgb(193, 4, 252);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
a, a:visited {
|
||||
color: rgb(193, 4, 252);
|
||||
}
|
||||
|
||||
input:active {
|
||||
border-color: rgba(77, 168, 112, 1);
|
||||
}
|
||||
|
||||
button,
|
||||
[role="button"],
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"],
|
||||
label[type="button"] {
|
||||
background-color: white;
|
||||
margin-top: 2rem;
|
||||
font-size: 16px;
|
||||
border-radius: 10px;
|
||||
padding: 2ch;
|
||||
margin: 1rem;
|
||||
a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
body{
|
||||
background-color: white;
|
||||
}
|
||||
button {}
|
||||
|
||||
|
||||
/* ENTÊTE */
|
||||
header {
|
||||
font-family: 'police1';
|
||||
background: linear-gradient(280deg, rgba(77, 168, 112, 1) 0%, rgba(193, 4, 252, 1) 85%);
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
body > header h1 {
|
||||
color: white;
|
||||
margin: 3rem auto auto auto;
|
||||
}
|
||||
|
||||
/* FORMULAIRE */
|
||||
|
||||
form label {
|
||||
font-family: police1;
|
||||
font-size: 1rem;
|
||||
}
|
||||
form input,
|
||||
select, textarea {
|
||||
|
||||
border-color: #c104fc;
|
||||
overflow: visible;
|
||||
outline: none;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
form input:focus,
|
||||
select:focus {
|
||||
border: 3px solid rgba(77, 168, 112, 1);
|
||||
}
|
||||
|
||||
label{
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
input {
|
||||
/* font-family: police1; */
|
||||
/* font-weight: bold; */
|
||||
background-color: none;
|
||||
color: rgb(193, 4, 252);
|
||||
border: 1px solid rgb(193, 4, 252);
|
||||
}
|
||||
|
||||
a{
|
||||
color: rgb(193, 4, 252);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
a, a:visited {
|
||||
color: rgb(193, 4, 252);
|
||||
}
|
||||
|
||||
input:active {
|
||||
border-color: rgba(77, 168, 112, 1);
|
||||
|
||||
}
|
||||
|
||||
button, [role="button"], input[type="submit"], input[type="reset"], input[type="button"], label[type="button"] {
|
||||
background-color: rgb(193, 4, 252);
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* For Google Chrome, Safari, and newer versions of Opera */
|
||||
/* For Google Chrome, Safari, and newer versions of Opera */
|
||||
::placeholder {
|
||||
/* color: rgb(213, 73, 255); */
|
||||
font-size: 0.8rem;
|
||||
@@ -106,4 +101,5 @@ input {
|
||||
/* For Mozilla Firefox */
|
||||
::-moz-placeholder {
|
||||
/* color: rgb(213, 73, 255); */
|
||||
font-size: 0.8rem;}
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
101
assets/main.css
101
assets/main.css
@@ -0,0 +1,101 @@
|
||||
body {
|
||||
margin: 0;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
header {
|
||||
height: 20vh;
|
||||
}
|
||||
main {
|
||||
height: 60vh;
|
||||
}
|
||||
footer {
|
||||
height: 20vh;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
header, main, footer {
|
||||
padding: 1rem;
|
||||
margin: 0;
|
||||
border-radius: 40px;
|
||||
}
|
||||
|
||||
header {
|
||||
font-family: "police1";
|
||||
background: #9557b5ff;
|
||||
color: white;
|
||||
font-size: 2rem;
|
||||
display: flex;
|
||||
gap: 6%;
|
||||
padding: 1rem 4rem;
|
||||
.title {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
header section p:not(:first-child) {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
header .title, header section, header nav {
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
font-size: 18px;
|
||||
text-decoration: none;
|
||||
line-height: 2.5rem;
|
||||
}
|
||||
main {
|
||||
height: 60vh;
|
||||
|
||||
display: grid;
|
||||
grid-template-rows: repeat(2, minmax(0, 1fr));
|
||||
grid-auto-flow: column;
|
||||
|
||||
/* critical: force column width so new columns form */
|
||||
grid-auto-columns: 260px;
|
||||
|
||||
gap: 1rem;
|
||||
padding: 1rem;
|
||||
box-sizing: border-box;
|
||||
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.card {
|
||||
background: #eee;
|
||||
border-radius: 10px;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
main {
|
||||
background: #3c856bff;
|
||||
}
|
||||
|
||||
footer {
|
||||
background: #222222ff;
|
||||
}
|
||||
|
||||
/* .card { */
|
||||
/* width: 20%; */
|
||||
/* border: 1px solid white; */
|
||||
/* color: white; */
|
||||
/* margin: 1ch; */
|
||||
/* padding: 2ch; */
|
||||
/* } */
|
||||
main {
|
||||
scroll-snap-type: x mandatory;
|
||||
}
|
||||
|
||||
.card {
|
||||
scroll-snap-align: start;
|
||||
}
|
||||
.item {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user