diff --git a/templates/_metadata.json b/templates/_metadata.json
index 1b02217..30df93d 100644
--- a/templates/_metadata.json
+++ b/templates/_metadata.json
@@ -3,7 +3,7 @@
"addon_id": "XF",
"version_id": 2031070,
"version_string": "2.3.10",
- "hash": "e098e67a0283c3eb15bc2168a05bc545"
+ "hash": "122ec8228c6c2b8046c4d75aa413e316"
},
"public/account_alerts_popup.html": {
"addon_id": "XF",
@@ -27,7 +27,7 @@
"addon_id": "XF",
"version_id": 2031070,
"version_string": "2.3.10",
- "hash": "e68bad3c3c389551475965641615dadf"
+ "hash": "e5bc61bbe761757ea341047fe034fc40"
},
"public/member_tooltip.html": {
"addon_id": "XF",
@@ -57,6 +57,6 @@
"addon_id": "RomhackPlaza/Master",
"version_id": 1000000,
"version_string": "1.0.0",
- "hash": "43295bbcf4a68c9bf7f8036e942963d0"
+ "hash": "883175f080ec2926eca33fb50f0def1e"
}
}
\ No newline at end of file
diff --git a/templates/public/PAGE_CONTAINER.html b/templates/public/PAGE_CONTAINER.html
index 577b00b..c5c9617 100644
--- a/templates/public/PAGE_CONTAINER.html
+++ b/templates/public/PAGE_CONTAINER.html
@@ -199,10 +199,12 @@
-
-
-
-
+
diff --git a/templates/public/extra.less b/templates/public/extra.less
index ceef0c1..ea5932a 100644
--- a/templates/public/extra.less
+++ b/templates/public/extra.less
@@ -37,6 +37,8 @@ ul {
list-style-type: square;
}
+[x-cloak] {display: none !important;}
+
/* File: resources/css/base/variables.css */
:root {
@@ -267,6 +269,13 @@ ul {
border-bottom: 1px solid var(--border);
padding-bottom: 10px;
}
+.\$block-success {
+ background-color: var(--success);
+ border: 1px solid var(--success);
+ color: var(--text);
+ padding: 20px;
+ margin-bottom: 20px;
+}
.\$block-error {
background-color: var(--error);
border: 1px solid var(--error);
@@ -381,6 +390,12 @@ ul {
animation: spin 1s infinite linear;
}
+.\$search-button {
+ background: none;
+ border: none;
+ cursor: pointer;
+}
+
/* File: resources/css/components/database.css */
.\$filter-bar {
@@ -1359,6 +1374,75 @@ ul {
color: var(--text2);
white-space: nowrap;
}
+.\$upload-item-actions {
+ display: flex;
+ flex-direction: row;
+ gap: 15px;
+}
+.file-state-icon { width: 18px; height: 18px; }
+.file-state-icon--public { color: var(--success); }
+.file-state-icon--private { color: var(--text2); }
+.file-state-icon--archived { color: var(--error); }
+
+.upload-item-state { display: flex; align-items: center; gap: 8px; }
+
+.author-search { position: relative; }
+
+.\$author-search-input {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ background-color: var(--bg);
+ border: 1px solid var(--border);
+ padding: 8px 12px;
+}
+
+.\$author-search-input .\$form-input {
+ border: none;
+ padding: 0;
+ background: none;
+ flex: 1;
+}
+
+.\$author-search-selected {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+ color: var(--success);
+ font-size: 0.85rem;
+ white-space: nowrap;
+}
+
+.\$author-search-dropdown {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ right: 0;
+ background-color: var(--bg2);
+ border: 1px solid var(--border);
+ border-top: none;
+ z-index: 100;
+ max-height: 200px;
+ overflow-y: auto;
+}
+
+.\$author-search-item {
+ display: flex;
+ align-items: center;
+ gap: 9px;
+ width: 100%;
+ padding: 9px 12px;
+ background: none;
+ border: none;
+ color: var(--text);
+ font-size: 0.88rem;
+ cursor: pointer;
+ text-align: left;
+ font-family: var(--typography);
+ transition: background-color 0.1s;
+}
+
+.author-search-item:hover { background-color: var(--bg3); }
/* File: resources/css/components/grid.css */
@@ -1721,6 +1805,196 @@ ul {
}
+/* File: resources/css/components/queue.css */
+.\$queue-empty {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 15px;
+ padding: 80px 20px;
+ color: var(--text2);
+ font-size: 0.95rem;
+}
+
+.\$queue-item {
+ background-color: var(--bg2);
+ border: 1px solid var(--border);
+ border-left-width: 4px;
+ margin-bottom: 20px;
+ padding: 20px;
+}
+
+.\$queue-item--pending {
+ border-left-color: var(--rhpz-orange);
+}
+.\$queue-item--rejected {
+ position: relative;
+ overflow: hidden;
+ border-left-color: var(--error);
+
+ &::after {
+ content: '';
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ height: 2px;
+ background-color: var(--error);
+ width: var(--reject-progress, 100%);
+ opacity: 0.5;
+ transition: width 0.3s;
+ }
+}
+
+.\$queue-item-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+ gap: 15px;
+ margin-bottom: 20px;
+}
+
+.\$queue-item-title {
+ font-size: 1.15rem;
+ font-weight: 600;
+ color: var(--text);
+ margin-bottom: 6px;
+}
+
+.\$queue-item-meta {
+ font-size: 0.85rem;
+ color: var(--text2);
+ display: flex;
+ align-items: center;
+ gap: 6px;
+ flex-wrap: wrap;
+}
+
+.\$queue-item-actions-header {
+ display: flex;
+ gap: 8px;
+ flex-shrink: 0;
+}
+
+.\$timeline-container {
+ padding: 15px 20px;
+ background-color: var(--bg);
+ border: 1px solid var(--border);
+ margin-bottom: 20px;
+}
+
+.\$timeline {
+ display: flex;
+ justify-content: space-between;
+ position: relative;
+
+ &::before {
+ content: '';
+ position: absolute;
+ top: 15px;
+ left: 30px;
+ right: 30px;
+ height: 2px;
+ background-color: var(--border);
+ z-index: 0;
+ }
+
+}
+
+.\$timeline-step {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ position: relative;
+ z-index: 1;
+ width: 100px;
+}
+
+.\$timeline-dot {
+ width: 32px;
+ height: 32px;
+ border-radius: 50%;
+ background-color: var(--bg);
+ border: 2px solid var(--border);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: var(--text2);
+ margin-bottom: 10px;
+ transition: all 0.2s;
+}
+
+.\$timeline-step--active .\$timeline-dot {
+ border-color: var(--rhpz-orange);
+ background-color: var(--rhpz-orange);
+ color: #111;
+}
+
+.\$timeline-step--validated .\$timeline-dot {
+ border-color: var(--success);
+ background-color: var(--success);
+ color: #111;
+}
+
+.\$timeline-step--rejected .\$timeline-dot {
+ border-color: var(--error);
+ background-color: var(--error);
+ color: #fff;
+}
+
+.\$timeline-label {
+ font-size: 0.78rem;
+ text-align: center;
+ color: var(--text2);
+ font-weight: 500;
+}
+
+.timeline-step--active .timeline-label { color: var(--rhpz-orange); font-weight: 600; }
+.timeline-step--validated .timeline-label { color: var(--success); }
+.timeline-step--rejected .timeline-label { color: var(--error); }
+
+.\$queue-reject-reason {
+ display: flex;
+ gap: 10px;
+ align-items: flex-start;
+ padding: 12px 15px;
+ background-color: rgba(229, 115, 115, 0.08);
+ border-left: 2px solid var(--error);
+ color: var(--text);
+ font-size: 0.88rem;
+ margin-bottom: 15px;
+ line-height: 1.5;
+}
+
+.\$queue-mod-zone {
+ border-top: 1px solid var(--border);
+ padding-top: 15px;
+ margin-top: 5px;
+ display: flex;
+ flex-direction: column;
+ gap: 15px;
+}
+
+.\$queue-mod-separator {
+ border-top: 1px solid var(--border);
+}
+
+.\$queue-mod-actions {
+ display: flex;
+ gap: 8px;
+ justify-content: flex-end;
+ margin-top: 10px;
+}
+
+.\$queue-reject-form {
+ margin-top: 12px;
+ padding: 15px;
+ background-color: var(--bg3);
+ border: 1px solid var(--border);
+}
+
+
+
/* File: resources/css/components/settings.css */
.\$settings-dropdown {
position: absolute;
@@ -1946,7 +2220,7 @@ ul {
/* File: resources/css/layout/entry.css */
-#entry-container {
+#entry-container, #comments-section, #reviews-section {
background-color: var(--bg2);
border: 1px solid var(--border);
display: flex;
@@ -2054,6 +2328,7 @@ ul {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: 15px;
+ margin-bottom: 30px;
}
.\$entry-gallery-item {
@@ -2064,10 +2339,81 @@ ul {
align-items: center;
justify-content: center;
cursor: pointer;
+ overflow: hidden;
transition: border-color 0.2s;
&:hover {
border-color: var(--rhpz-orange);
+
+ img {
+ transform: scale(1.05);
+ }
+ }
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ transition: transform 0.3s ease;
+ }
+ }
+}
+
+.\$gallery-modal {
+ position: fixed;
+ z-index: 3000;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.85);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .\$gallery-modal-content {
+ max-width: 90%;
+ max-height: 90%;
+ position: relative;
+
+ img {
+ max-width: 100%;
+ max-height: 90vh;
+ object-fit: contain;
+ border: 2px solid var(--border);
+ background-color: var(--bg);
+ box-shadow: 0 10px 25px rgba(0,0,0,0.5);
+ }
+ }
+
+ .\$gallery-modal-close {
+ position: absolute;
+ top: 20px;
+ right: 30px;
+ color: #fff;
+ font-size: 40px;
+ font-weight: bold;
+ cursor: pointer;
+ user-select: none;
+
+ &:hover {
+ color: var(--rhpz-orange);
+ }
+ }
+
+ .\$gallery-modal-video {
+ width: 90%;
+ max-width: 960px;
+ aspect-ratio: 16/9;
+ box-shadow: 0 10px 30px rgba(0,0,0,0.6);
+ border: 1px solid var(--border);
+ background-color: #000;
+
+ iframe {
+ width: 100%;
+ height: 100%;
+ border: none;
+ display: block;
}
}
}
@@ -2077,6 +2423,186 @@ ul {
color: var( --text2 );
}
+.\$comment-block {
+ display: flex;
+ gap: 16px;
+ padding: 20px 0;
+ border-bottom: 1px solid var(--border);
+
+ &:last-child {
+ border-bottom: none;
+ }
+
+ .\$comment-avatar {
+ flex-shrink: 0;
+ width: 48px;
+ height: 48px;
+ border-radius: 50%;
+ overflow: hidden;
+ background-color: var(--bg4);
+ border: 1px solid var(--border);
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ display: block;
+ }
+ }
+
+ .\$comment-content {
+ flex: 1;
+ min-width: 0;
+
+ .\$comment-meta {
+ font-size: 0.88rem;
+ color: var(--text2);
+ margin-bottom: 6px;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ gap: 8px;
+
+ .\$comment-author {
+ font-weight: 600;
+ color: var(--text);
+ text-decoration: none;
+ transition: color 0.2s;
+
+ &:hover {
+ color: var(--rhpz-orange);
+ }
+ }
+
+ .\$comment-date {
+ color: var(--text2);
+ }
+
+ .\$comment-separator {
+ color: var(--border);
+ user-select: none;
+ }
+ }
+
+ .\$comment-body {
+ font-size: 0.95rem;
+ color: var(--text);
+ line-height: 1.5;
+ word-wrap: break-word;
+
+ p {
+ margin-bottom: 10px;
+ &:last-child { margin-bottom: 0; }
+ }
+
+ a {
+ color: var(--rhpz-orange);
+ &:hover {
+ color: var(--rhpz-orange-hover);
+ text-decoration: underline;
+ }
+ }
+
+ blockquote, .\$bbCodeBlock-blockquote {
+ background-color: var(--bg);
+ border-left: 3px solid var(--info);
+ padding: 12px 16px;
+ margin: 12px 0;
+ font-style: italic;
+ color: var(--text2);
+ }
+
+ code {
+ font-family: monospace;
+ background-color: var(--bg3);
+ border: 1px solid var(--border);
+ padding: 2px 5px;
+ font-size: 0.9rem;
+ }
+ }
+ }
+}
+
+.\$comments-empty {
+ text-align: center;
+ padding: 40px 20px;
+ color: var(--text2);
+ font-style: italic;
+ background-color: var(--bg);
+ border: 1px dashed var(--border);
+}
+
+.\$entry-video-section {
+ margin-bottom: 30px;
+}
+
+.\$video-thumbnail-wrapper {
+ position: relative;
+ width: 100%;
+ max-width: 500px;
+ aspect-ratio: 16/9;
+ background-color: #000;
+ border: 1px solid var(--border);
+ cursor: pointer;
+ overflow: hidden;
+ border-radius: 4px;
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ opacity: 0.8;
+ transition: transform 0.3s ease, opacity 0.3s ease;
+ }
+
+ .\$play-trigger {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 65px;
+ height: 65px;
+ background-color: rgba(0, 0, 0, 0.7);
+ border: 2px solid #fff;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 1.5rem;
+ transition: background-color 0.2s, transform 0.2s ease-out;
+
+ i { margin-left: 4px; }
+ }
+
+ &:hover {
+ img {
+ transform: scale(1.03);
+ opacity: 1;
+ }
+ .\$play-trigger {
+ background-color: var(--rhpz-orange);
+ border-color: var(--rhpz-orange);
+ transform: translate(-50%, -50%) scale(1.1);
+ box-shadow: 0 0 15px rgba(255, 115, 0, 0.5);
+ }
+ }
+}
+
+.\$entry-submission-byline {
+ font-size: 0.85rem;
+ color: var(--text2);
+ margin-bottom: 20px;
+ display: flex;
+ align-items: center;
+ gap: 15px;
+
+ i {
+ vertical-align: middle;
+ margin-right: 4px;
+ }
+}
+
/* File: resources/css/layout/menu.css */
#menu {
diff --git a/templates/public/topbar_actions.html b/templates/public/topbar_actions.html
index b5e8058..f7282a3 100644
--- a/templates/public/topbar_actions.html
+++ b/templates/public/topbar_actions.html
@@ -16,7 +16,7 @@
-
+