mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-11-09 11:10:08 +01:00
Fix lint warnings: arrow functions in admin-acces.js, duplicate gap in admin.css, biome formatting
This commit is contained in:
1 parent
402799a412
commit
033ea90684
6 files changed
+1452
-1445
No files matched your search
+1
-1
@@ -1 +1 @@
|
||||
{"php":"8.5.7","version":"3.95.2:v3.95.2#a28d88a5e172b27e78d0816992b15a9df3da20f1","indent":" ","lineEnding":"\n","rules":{"binary_operator_spaces":{"default":"at_least_single_space"},"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"braces_position":{"allow_single_line_anonymous_functions":false,"allow_single_line_empty_anonymous_classes":true},"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"modifier_keywords":true,"new_with_parentheses":{"anonymous_class":true},"no_blank_lines_after_class_opening":true,"no_extra_blank_lines":{"tokens":["use"]},"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"sort_algorithm":"alpha"},"return_type_declaration":true,"short_scalar_cast":true,"single_import_per_statement":{"group_to_single_imports":false},"single_space_around_construct":{"constructs_followed_by_a_single_space":["abstract","as","case","catch","class","const_import","do","else","elseif","final","finally","for","foreach","function","function_import","if","insteadof","interface","namespace","new","private","protected","public","static","switch","trait","try","use","use_lambda","while"],"constructs_preceded_by_a_single_space":["as","else","elseif","use_lambda"]},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"unary_operator_spaces":{"only_dec_inc":true},"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"function_declaration":{"closure_fn_spacing":"one"},"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"method_argument_space":{"after_heredoc":true},"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["property"]},"single_line_after_imports":true,"spaces_inside_parentheses":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true,"clean_namespace":true,"no_unset_cast":true,"assign_null_coalescing_to_coalesce_equal":true,"normalize_index_brace":true,"heredoc_indentation":true,"no_whitespace_before_comma_in_array":{"after_heredoc":true},"trailing_comma_in_multiline":true,"list_syntax":true,"ternary_to_null_coalescing":true,"array_syntax":{"syntax":"short"},"no_unused_imports":true,"single_quote":true},"ruleCustomisationPolicyVersion":"null-policy","hashes":{"tests\/phpunit\/ErrorHandlerTest.php":"2005e176a105511fc19e853fb4799456","tests\/phpunit\/ShareLinkExtendedTest.php":"778d8cb9052714f36466d17ed8bf40e9","tests\/phpunit\/TfeControllerOgTest.php":"53eefeea18c8d25aec47d59a9c7565a3","tests\/TestDatabase.php":"7b8301cbfadb1a3c02ccfcef8edc1115","tests\/bootstrap.php":"f7b19885b338519f4439e9153ee008aa","app\/src\/DatabaseMigrations.php":"1d9b6a4acddc4fba345c3307577a3111","app\/src\/icon.php":"f46d6a51fb44870a6a8a0cd094ddbfa0","app\/src\/StudentEmail.php":"344309b5b3703b34e97cdeca38de7644","app\/src\/DuplicateThesisException.php":"52abe5f40ef48cfbfd44c119d91309e9","app\/src\/PeerTubeService.php":"e3d8346ff21d0291643466825371a6a0","app\/src\/AppLogger.php":"fe8435f658a74e88d4ffa6bbc83895d6","app\/src\/SmtpRelay.php":"58b659727976e5bafc99830b0ca6cb33","app\/src\/Audit.php":"aec9fbbe8d8eefa8fc657884e8df9b42","app\/src\/Crypto.php":"e72e65eeaf5b6fa8e41ba4501643440b","app\/src\/ErrorHandler.php":"e9407d408af265ae3d043f63a00d3724","app\/src\/AdminAuth.php":"824f497dfc2fcd360b6d82100fa98707","app\/src\/FragmentRenderer.php":"52083e1f2ff98f01e074a93bf6765366","app\/src\/Dispatcher.php":"e233ceb92678bffe6bb343174c7c58b5","app\/src\/EmailObfuscator.php":"ff946c10add222870223b9626990e75c","app\/src\/RateLimit.php":"2e1df734570cb3eb584682bed33a2636","app\/src\/MarkdownHelper.php":"6431d3fcc73e8719b3abb4d81808a90a","app\/src\/Logger.php":"97e8d68cbddef1c99e447952a59fb8b0","app\/src\/FilepondHandler.php":"ed599d08289d450b9188eb6888fdd7ee","app\/src\/ShareLink.php":"90a99787b3bb776f4355a01b9db4bf3b","tests\/phpunit\/RateLimitExtendedTest.php":"a5e76ed126b2d760436bffb6f1fad0a0","tests\/phpunit\/ThesisEditValidationTest.php":"06761c5109cc12fb0f17046b4bcd0814","tests\/phpunit\/DatabaseExtendedTest.php":"f1717a8b1a98bb899d3e1bb275569320","tests\/phpunit\/ThesisCreateValidationTest.php":"533fa660b77c6b2d616481d1b66c8967","tests\/phpunit\/SearchControllerTest.php":"4b3de46664ede0d065f93d6d7fdee145","tests\/phpunit\/SystemControllerHelpersTest.php":"d3fc100e6576fbf98517be3a55cad4d6","tests\/phpunit\/StudentEmailTest.php":"0fa0d2b1abd68b645e3287b234efb043"Line truncated
|
||||
{"php":"8.5.7","version":"3.95.1","indent":" ","lineEnding":"\n","rules":{"binary_operator_spaces":{"default":"at_least_single_space"},"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"braces_position":{"allow_single_line_anonymous_functions":false,"allow_single_line_empty_anonymous_classes":true},"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"modifier_keywords":true,"new_with_parentheses":{"anonymous_class":true},"no_blank_lines_after_class_opening":true,"no_extra_blank_lines":{"tokens":["use"]},"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"sort_algorithm":"alpha"},"return_type_declaration":true,"short_scalar_cast":true,"single_import_per_statement":{"group_to_single_imports":false},"single_space_around_construct":{"constructs_followed_by_a_single_space":["abstract","as","case","catch","class","const_import","do","else","elseif","final","finally","for","foreach","function","function_import","if","insteadof","interface","namespace","new","private","protected","public","static","switch","trait","try","use","use_lambda","while"],"constructs_preceded_by_a_single_space":["as","else","elseif","use_lambda"]},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"unary_operator_spaces":{"only_dec_inc":true},"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"function_declaration":{"closure_fn_spacing":"one"},"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"method_argument_space":{"after_heredoc":true},"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["property"]},"single_line_after_imports":true,"spaces_inside_parentheses":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true,"clean_namespace":true,"no_unset_cast":true,"assign_null_coalescing_to_coalesce_equal":true,"normalize_index_brace":true,"heredoc_indentation":true,"no_whitespace_before_comma_in_array":{"after_heredoc":true},"trailing_comma_in_multiline":true,"list_syntax":true,"ternary_to_null_coalescing":true,"array_syntax":{"syntax":"short"},"no_unused_imports":true,"single_quote":true},"ruleCustomisationPolicyVersion":"null-policy","hashes":{"app\/src\/Controllers\/CharteController.php":"d976ebd52306d2bc3f6a9797848a299f","app\/src\/PeerTubeService.php":"e3d8346ff21d0291643466825371a6a0","app\/src\/Dispatcher.php":"e233ceb92678bffe6bb343174c7c58b5","app\/src\/App.php":"b15f5c07a0be5b9bae32a9f140561409","app\/src\/FragmentRenderer.php":"52083e1f2ff98f01e074a93bf6765366","app\/src\/AppLogger.php":"fe8435f658a74e88d4ffa6bbc83895d6","app\/src\/DuplicateThesisException.php":"52abe5f40ef48cfbfd44c119d91309e9","app\/src\/RateLimit.php":"2e1df734570cb3eb584682bed33a2636","app\/src\/ErrorHandler.php":"e9407d408af265ae3d043f63a00d3724","app\/src\/Form\/FormBootstrap.php":"105969d20430e85b0776c57df92e3ae7","app\/src\/AdminLogger.php":"5d5078ebaba66c1492cbcb36ac57ea9d","app\/src\/SystemCache.php":"4ead28637fa3a9281bdad42cdb9e00c2","app\/src\/SmtpRelay.php":"58b659727976e5bafc99830b0ca6cb33","app\/src\/AdminAuth.php":"824f497dfc2fcd360b6d82100fa98707","app\/src\/icon.php":"f46d6a51fb44870a6a8a0cd094ddbfa0","app\/src\/ShareLink.php":"90a99787b3bb776f4355a01b9db4bf3b","app\/src\/Audit.php":"aec9fbbe8d8eefa8fc657884e8df9b42","app\/src\/StudentEmail.php":"d55456bb2fb170dbd05fbca8e7ae0f9e","app\/src\/Crypto.php":"e72e65eeaf5b6fa8e41ba4501643440b","tests\/phpunit\/ThesisCreateValidationTest.php":"533fa660b77c6b2d616481d1b66c8967","tests\/phpunit\/ErrorHandlerTest.php":"2005e176a105511fc19e853fb4799456","tests\/phpunit\/SearchControllerTest.php":"4b3de46664ede0d065f93d6d7fdee145","tests\/phpunit\/RateLimitExtendedTest.php":"a5e76ed126b2d760436bffb6f1fad0a0","tests\/phpunit\/TfeControllerOgTest.php":"53eefeea18c8d25aec47d59a9c7565a3","tests\/phpunit\/PureLogicTest.php":"2aeaf72d083345356c3308760b355463","tests\/phpunit\/ThesisEditValidationTest.php":"06761c5109cc12fb0f17046b4bcd0814","tests\/phpunit\/ShareLinkExtendedTest.php":"778d8cb9052714f36466d17ed8bf40e9","tests\/phpunit\/EmailObfuscatorTest.php":"ba6fb4078a7e5459749b1402e5558cfb","tests\/phpunit\/DatabaseExtendedTest.php":"f1717a8b1a98bb899d3e1bb275569320","tests\/phpunit\/SystemControllerHelpersTest.php":"d3fc100e6576fbf98517be3a55cad4d6","tests\/phpunit\/CryptoTest.php":"4b4882a940fca3a2a169ef7941f1f413","tests\/phpunit\/AutLine truncated
|
||||
+1237
-1231
File diff suppressed because it is too large.
Load diff
@@ -7,83 +7,83 @@
|
||||
/* Full-height flex layout: header → main → (optional footer) */
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ── Discreet scrollbars ─────────────────────────────────────────── */
|
||||
/* WebKit browsers */
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: var(--text-tertiary);
|
||||
border-radius: 3px;
|
||||
background: var(--text-tertiary);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: var(--text-secondary);
|
||||
background: var(--text-secondary);
|
||||
}
|
||||
|
||||
/* Firefox */
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--text-tertiary) transparent;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--text-tertiary) transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--font-body);
|
||||
font-weight: 300;
|
||||
color: var(--text-primary);
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(0, 0, 0, 0) 92%,
|
||||
rgba(149, 87, 181, 1) 100%
|
||||
);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-family: var(--font-body);
|
||||
font-weight: 300;
|
||||
color: var(--text-primary);
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(0, 0, 0, 0) 92%,
|
||||
rgba(149, 87, 181, 1) 100%
|
||||
);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
main {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow-wrap: anywhere;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
main * {
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
/* Global heading scale — used by admin + public pages */
|
||||
h1 {
|
||||
font-size: var(--step-4);
|
||||
font-size: var(--step-4);
|
||||
}
|
||||
h2 {
|
||||
font-size: var(--step-3);
|
||||
font-size: var(--step-3);
|
||||
}
|
||||
h3 {
|
||||
font-size: var(--step-2);
|
||||
font-size: var(--step-2);
|
||||
}
|
||||
h4 {
|
||||
font-size: var(--step-1);
|
||||
font-size: var(--step-1);
|
||||
}
|
||||
h5 {
|
||||
font-size: var(--step--1);
|
||||
font-size: var(--step--1);
|
||||
}
|
||||
h6 {
|
||||
font-size: var(--step--2);
|
||||
font-size: var(--step--2);
|
||||
}
|
||||
|
||||
:where(h1, h2, h3, h4, h5, h6) {
|
||||
font-family: var(--font-display);
|
||||
font-weight: 400;
|
||||
margin: 0 0 var(--space-m) 0;
|
||||
line-height: 1.15;
|
||||
font-family: var(--font-display);
|
||||
font-weight: 400;
|
||||
margin: 0 0 var(--space-m) 0;
|
||||
line-height: 1.15;
|
||||
}
|
||||
+168
-167
@@ -4,326 +4,327 @@
|
||||
============================================================ */
|
||||
|
||||
.tfe-main {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
padding: 0 var(--space-m) 0 var(--space-m);
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
padding: 0 var(--space-m) 0 var(--space-m);
|
||||
}
|
||||
|
||||
/* Stacked article layout — fills main height */
|
||||
.tfe-layout {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-xl);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-xl);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* Row 1: Author above Title (kept for backward compat, no longer used) */
|
||||
.tfe-header-row {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3xs);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3xs);
|
||||
}
|
||||
|
||||
/* Two-column layout: left 35vw (info), right fills remaining (files) */
|
||||
.tfe-content-row {
|
||||
display: grid;
|
||||
grid-template-columns: 35vw 1fr;
|
||||
gap: var(--space-xl);
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
display: grid;
|
||||
grid-template-columns: 35vw 1fr;
|
||||
gap: var(--space-xl);
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
.tfe-left-column, .tfe-right-column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-y: auto;
|
||||
min-width: 0;
|
||||
padding-top: var(--space-l);
|
||||
padding-bottom: var(--space-xl);
|
||||
.tfe-left-column,
|
||||
.tfe-right-column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-y: auto;
|
||||
min-width: 0;
|
||||
padding-top: var(--space-l);
|
||||
padding-bottom: var(--space-xl);
|
||||
}
|
||||
|
||||
/* Left column: stacks author, title, meta, synopsis — scrolls independently */
|
||||
.tfe-left-column {
|
||||
gap: var(--space-m);
|
||||
/* to space the edge of the text and the scrollbar */
|
||||
padding-right: 0.5ch;
|
||||
gap: var(--space-m);
|
||||
/* to space the edge of the text and the scrollbar */
|
||||
padding-right: 0.5ch;
|
||||
}
|
||||
|
||||
/* Files container inside right column */
|
||||
.tfe-files {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-m);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-m);
|
||||
}
|
||||
|
||||
.tfe-file-item {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
border-radius: var(--radius);
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
border-radius: var(--radius);
|
||||
}
|
||||
|
||||
.tfe-file-item img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
border-radius: var(--radius);
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
border-radius: var(--radius);
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
|
||||
.tfe-file-item embed,
|
||||
.tfe-file-item video {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
border: none;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.tfe-file-item video {
|
||||
max-height: 500px;
|
||||
max-height: 500px;
|
||||
}
|
||||
|
||||
.tfe-file-item embed,
|
||||
.tfe-file-iframe {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: clamp(300px, 80vh, 700px);
|
||||
display: block;
|
||||
border: none;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: clamp(300px, 80vh, 700px);
|
||||
display: block;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.tfe-file-item figcaption {
|
||||
font-size: var(--step--2);
|
||||
color: var(--text-secondary);
|
||||
margin: var(--space-3xs) 0 0;
|
||||
font-style: italic;
|
||||
font-size: var(--step--2);
|
||||
color: var(--text-secondary);
|
||||
margin: var(--space-3xs) 0 0;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* Synopsis column wrapper (context note + synopsis) */
|
||||
.tfe-synopsis-column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-xs);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-xs);
|
||||
}
|
||||
|
||||
/* Contextual note above synopsis */
|
||||
.tfe-context-note {
|
||||
font-style: italic;
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.6;
|
||||
color: var(--text-secondary);
|
||||
margin: 0;
|
||||
padding: var(--space-xs) var(--space-s);
|
||||
background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-primary));
|
||||
border-radius: var(--radius);
|
||||
font-style: italic;
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.6;
|
||||
color: var(--text-secondary);
|
||||
margin: 0;
|
||||
padding: var(--space-xs) var(--space-s);
|
||||
background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-primary));
|
||||
border-radius: var(--radius);
|
||||
}
|
||||
|
||||
.tfe-synopsis-empty {
|
||||
/* placeholder to maintain grid column */
|
||||
/* placeholder to maintain grid column */
|
||||
}
|
||||
|
||||
/* Author (p) — inline with title */
|
||||
.tfe-author {
|
||||
font-family: var(--font-display);
|
||||
font-size: var(--step-1);
|
||||
font-weight: 400;
|
||||
color: var(--text-primary);
|
||||
margin: 0;
|
||||
line-height: 1.3;
|
||||
font-family: var(--font-display);
|
||||
font-size: var(--step-1);
|
||||
font-weight: 400;
|
||||
color: var(--text-primary);
|
||||
margin: 0;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Title (h1) — inherits global scale from base.css */
|
||||
.tfe-title {
|
||||
margin: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Metadata block */
|
||||
.tfe-meta {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3xs);
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.4;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3xs);
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.4;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Each metadata line */
|
||||
.tfe-meta-item {
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.tfe-meta-label {
|
||||
font-weight: 300;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.tfe-meta-item a {
|
||||
color: inherit;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tfe-meta-item a:hover {
|
||||
color: var(--accent-primary);
|
||||
color: var(--accent-primary);
|
||||
}
|
||||
|
||||
/* Note field: align label to top, value in italics */
|
||||
.tfe-meta-item.tfe-meta-note {
|
||||
align-items: start;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.tfe-note-value {
|
||||
font-style: italic;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* Synopsis paragraph */
|
||||
.tfe-synopsis-text {
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.7;
|
||||
color: var(--text-primary);
|
||||
margin: 0;
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.7;
|
||||
color: var(--text-primary);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Audio player */
|
||||
.tfe-audio {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* "Not available" and "no files" notices */
|
||||
.tfe-restricted,
|
||||
.tfe-no-files {
|
||||
font-size: var(--step--1);
|
||||
color: var(--text-secondary);
|
||||
font-style: italic;
|
||||
padding: var(--space-s) 0;
|
||||
margin: 0;
|
||||
font-size: var(--step--1);
|
||||
color: var(--text-secondary);
|
||||
font-style: italic;
|
||||
padding: var(--space-s) 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
RESTRICTED ACCESS UI
|
||||
============================================================ */
|
||||
.tfe-restricted-access {
|
||||
background: var(--surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
padding: var(--space-m);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-m);
|
||||
background: var(--surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
padding: var(--space-m);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-m);
|
||||
}
|
||||
|
||||
.tfe-restricted-message {
|
||||
font-size: var(--step--1);
|
||||
color: var(--text-secondary);
|
||||
line-height: 1.6;
|
||||
margin: 0;
|
||||
font-size: var(--step--1);
|
||||
color: var(--text-secondary);
|
||||
line-height: 1.6;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.tfe-restricted-message strong {
|
||||
color: var(--text-primary);
|
||||
display: block;
|
||||
margin-bottom: var(--space-3xs);
|
||||
font-size: var(--step-0);
|
||||
color: var(--text-primary);
|
||||
display: block;
|
||||
margin-bottom: var(--space-3xs);
|
||||
font-size: var(--step-0);
|
||||
}
|
||||
|
||||
.tfe-access-request-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-s);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-s);
|
||||
}
|
||||
|
||||
.tfe-access-request-form .form-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3xs);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3xs);
|
||||
}
|
||||
|
||||
.tfe-access-request-form label {
|
||||
font-size: var(--step--1);
|
||||
font-weight: 400;
|
||||
color: var(--text-primary);
|
||||
font-size: var(--step--1);
|
||||
font-weight: 400;
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.tfe-access-request-form input[type="email"],
|
||||
.tfe-access-request-form textarea {
|
||||
padding: var(--space-2xs) var(--space-3xs);
|
||||
padding: var(--space-2xs) var(--space-3xs);
|
||||
}
|
||||
|
||||
.tfe-btn-request-access {
|
||||
/* deprecated alias for .btn--primary; kept for backward-compat */
|
||||
margin-top: var(--space-3xs);
|
||||
/* deprecated alias for .btn--primary; kept for backward-compat */
|
||||
margin-top: var(--space-3xs);
|
||||
}
|
||||
|
||||
.tfe-btn-request-access:hover:not(:disabled) {
|
||||
/* handled by .btn--primary */
|
||||
/* handled by .btn--primary */
|
||||
}
|
||||
|
||||
.tfe-btn-request-access:disabled {
|
||||
opacity: 0.6;
|
||||
cursor: not-allowed;
|
||||
opacity: 0.6;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.tfe-access-message {
|
||||
font-size: var(--step--1);
|
||||
padding: var(--space-2xs);
|
||||
border-radius: var(--radius);
|
||||
margin-top: var(--space-3xs);
|
||||
font-size: var(--step--1);
|
||||
padding: var(--space-2xs);
|
||||
border-radius: var(--radius);
|
||||
margin-top: var(--space-3xs);
|
||||
}
|
||||
|
||||
.tfe-access-success {
|
||||
background: #f0fff4;
|
||||
border: 1px solid #48bb78;
|
||||
color: #22543d;
|
||||
background: #f0fff4;
|
||||
border: 1px solid #48bb78;
|
||||
color: #22543d;
|
||||
}
|
||||
|
||||
.tfe-access-error {
|
||||
background: #fff5f5;
|
||||
border: 1px solid #fc8181;
|
||||
color: #742a2a;
|
||||
background: #fff5f5;
|
||||
border: 1px solid #fc8181;
|
||||
color: #742a2a;
|
||||
}
|
||||
|
||||
.tfe-access-request-form input.input-error {
|
||||
border-color: #fc8181;
|
||||
outline-color: #fc8181;
|
||||
border-color: #fc8181;
|
||||
outline-color: #fc8181;
|
||||
}
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 900px) {
|
||||
.tfe-main {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.tfe-main {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.tfe-layout {
|
||||
height: auto;
|
||||
min-height: auto;
|
||||
}
|
||||
.tfe-layout {
|
||||
height: auto;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.tfe-content-row {
|
||||
grid-template-columns: 1fr;
|
||||
flex: none;
|
||||
}
|
||||
.tfe-content-row {
|
||||
grid-template-columns: 1fr;
|
||||
flex: none;
|
||||
}
|
||||
|
||||
.tfe-left-column,
|
||||
.tfe-right-column {
|
||||
overflow-y: visible;
|
||||
}
|
||||
.tfe-left-column,
|
||||
.tfe-right-column {
|
||||
overflow-y: visible;
|
||||
}
|
||||
|
||||
.tfe-title {
|
||||
font-size: var(--step-2);
|
||||
}
|
||||
.tfe-title {
|
||||
font-size: var(--step-2);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.tfe-main {
|
||||
padding: var(--space-m) var(--space-s) var(--space-l);
|
||||
}
|
||||
.tfe-main {
|
||||
padding: var(--space-m) var(--space-s) var(--space-l);
|
||||
}
|
||||
|
||||
.tfe-title {
|
||||
font-size: var(--step-1);
|
||||
}
|
||||
.tfe-title {
|
||||
font-size: var(--step-1);
|
||||
}
|
||||
}
|
||||
@@ -74,29 +74,29 @@ function _copyTextToClipboard(text) {
|
||||
.catch(() => {});
|
||||
}
|
||||
|
||||
window.openEditDialog = function (id, name, _hasPassword, expiresVal) {
|
||||
window.openEditDialog = (id, name, _hasPassword, expiresVal) => {
|
||||
document.getElementById("edit-link-id").value = id;
|
||||
document.getElementById("edit-name").value = name || "";
|
||||
document.getElementById("edit-expires").value = expiresVal || "";
|
||||
document.getElementById("edit-dialog").showModal();
|
||||
}
|
||||
};
|
||||
|
||||
window.openApproveDialog = function (requestId) {
|
||||
window.openApproveDialog = (requestId) => {
|
||||
document.getElementById("approve-request-id").value = requestId;
|
||||
document.getElementById("approve-dialog").showModal();
|
||||
}
|
||||
};
|
||||
|
||||
window.openRejectDialog = function (requestId) {
|
||||
window.openRejectDialog = (requestId) => {
|
||||
document.getElementById("reject-request-id").value = requestId;
|
||||
document.getElementById("reject-dialog").showModal();
|
||||
}
|
||||
};
|
||||
|
||||
window.openArchiveLinkDialog = function (id) {
|
||||
window.openArchiveLinkDialog = (id) => {
|
||||
document.getElementById("archive-link-id").value = id;
|
||||
document.getElementById("archive-link-dialog").showModal();
|
||||
}
|
||||
};
|
||||
|
||||
window.openDeleteArchivedLinkDialog = function (id) {
|
||||
window.openDeleteArchivedLinkDialog = (id) => {
|
||||
document.getElementById("delete-archived-link-id").value = id;
|
||||
document.getElementById("delete-archived-link-dialog").showModal();
|
||||
}
|
||||
};
|
||||
@@ -66,7 +66,7 @@
|
||||
fieldset.remove();
|
||||
reindexGroups();
|
||||
// Trigger htmx autosave so deletion is persisted
|
||||
form.dispatchEvent(new Event('change', { bubbles: true }));
|
||||
form.dispatchEvent(new Event("change", { bubbles: true }));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user