|
21 | 21 | --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
22 | 22 | --border-radius: 8px;
|
23 | 23 | }
|
24 |
| - |
25 | 24 | * {
|
26 | 25 | margin: 0;
|
27 | 26 | padding: 0;
|
28 | 27 | box-sizing: border-box;
|
29 | 28 | }
|
30 |
| - |
31 | 29 | body {
|
32 | 30 | font-family: var(--font-family);
|
33 | 31 | background-color: var(--page-bg);
|
34 | 32 | color: var(--text-color);
|
35 | 33 | line-height: 1.6;
|
36 |
| - padding-top: 20px; /* Existing top padding */ |
| 34 | + padding-top: 20px; |
37 | 35 | padding-bottom: 60px;
|
38 | 36 | }
|
39 |
| - |
40 | 37 | .page-container {
|
41 | 38 | max-width: var(--container-max-width);
|
42 | 39 | margin: 0 auto;
|
43 |
| - padding: 0 20px; /* Existing horizontal padding */ |
44 |
| - position: relative; /* Needed for absolute positioning of the reload button */ |
| 40 | + padding: 0 20px; |
| 41 | + position: relative; |
45 | 42 | }
|
46 |
| - |
47 | 43 | h1 {
|
48 | 44 | color: var(--header-color);
|
49 | 45 | font-size: 2em;
|
50 | 46 | font-weight: 300;
|
51 | 47 | margin-bottom: 15px;
|
52 | 48 | padding-bottom: 15px;
|
53 | 49 | border-bottom: 1px solid var(--border-color);
|
54 |
| - /* Ensure H1 doesn't overlap with absolutely positioned button if text is long */ |
55 |
| - padding-right: 50px; /* Space for the reload button */ |
| 50 | + padding-right: 50px; |
56 | 51 | }
|
57 |
| - |
58 | 52 | hr {
|
59 | 53 | display: none;
|
60 | 54 | }
|
61 |
| - |
62 | 55 | table {
|
63 | 56 | width: 100%;
|
64 | 57 | border-collapse: collapse;
|
|
68 | 61 | overflow: hidden;
|
69 | 62 | box-shadow: 0 4px 10px var(--shadow-color);
|
70 | 63 | }
|
71 |
| - |
72 | 64 | thead {
|
73 | 65 | background-color: var(--table-header-bg);
|
74 | 66 | }
|
75 |
| - |
76 | 67 | th {
|
77 | 68 | color: var(--header-color);
|
78 | 69 | font-weight: 600;
|
79 | 70 | text-transform: uppercase;
|
80 | 71 | font-size: 0.85em;
|
81 | 72 | letter-spacing: 0.05em;
|
82 | 73 | }
|
83 |
| - |
84 | 74 | th, td {
|
85 | 75 | padding: 12px 15px;
|
86 | 76 | text-align: left;
|
87 | 77 | border-bottom: 1px solid var(--border-color);
|
88 | 78 | }
|
89 |
| - |
90 | 79 | tbody tr {
|
91 | 80 | transition: background-color 0.2s ease-in-out;
|
92 | 81 | }
|
93 |
| - |
94 | 82 | tbody tr:hover {
|
95 | 83 | background-color: var(--table-row-hover-bg);
|
96 | 84 | }
|
97 |
| - |
98 | 85 | tbody tr:last-child td {
|
99 | 86 | border-bottom: none;
|
100 | 87 | }
|
101 |
| - |
102 | 88 | td a {
|
103 | 89 | color: var(--link-color);
|
104 | 90 | text-decoration: none;
|
105 | 91 | display: inline-flex;
|
106 | 92 | align-items: center;
|
107 | 93 | transition: color 0.2s ease-in-out;
|
108 | 94 | }
|
109 |
| - |
110 | 95 | td a:hover {
|
111 | 96 | color: var(--link-hover-color);
|
112 | 97 | text-decoration: underline;
|
113 | 98 | }
|
114 |
| - |
115 | 99 | th a {
|
116 | 100 | color: var(--link-color);
|
117 | 101 | text-decoration: none;
|
118 | 102 | transition: color 0.2s ease-in-out;
|
119 | 103 | }
|
120 |
| - |
121 | 104 | th a:hover {
|
122 | 105 | color: var(--link-hover-color);
|
123 | 106 | text-decoration: underline;
|
124 | 107 | }
|
125 |
| - |
126 | 108 | th a:visited {
|
127 | 109 | color: var(--link-color);
|
128 | 110 | }
|
129 |
| - |
130 | 111 | th a:visited:hover {
|
131 | 112 | color: var(--link-hover-color);
|
132 | 113 | }
|
133 |
| - |
134 |
| - /* Styles for the Reload Button */ |
135 | 114 | #reload-page-button {
|
136 | 115 | position: absolute;
|
137 |
| - /* Align with body's top padding and page-container's right padding */ |
138 |
| - top: 0; /* Aligns with the top of the H1 content */ |
139 |
| - right: 0; /* Aligns to the right padding edge of .page-container */ |
140 |
| - background-color: transparent; /* Make it less obtrusive */ |
141 |
| - color: var(--text-color); /* Icon color, can be --link-color too */ |
| 116 | + top: 0; |
| 117 | + right: 0; |
| 118 | + background-color: transparent; |
| 119 | + color: var(--text-color); |
142 | 120 | border: none;
|
143 | 121 | border-radius: var(--border-radius);
|
144 |
| - padding: 8px; /* Clickable area */ |
| 122 | + padding: 8px; |
145 | 123 | cursor: pointer;
|
146 | 124 | display: inline-flex;
|
147 | 125 | align-items: center;
|
148 | 126 | justify-content: center;
|
149 | 127 | transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
|
150 |
| - z-index: 10; /* Ensure it's above other elements if any overlap */ |
| 128 | + z-index: 10; |
151 | 129 | }
|
152 |
| - |
153 | 130 | #reload-page-button:hover {
|
154 |
| - color: var(--link-hover-color); /* Brighter on hover */ |
155 |
| - transform: rotate(45deg); /* Simple hover effect */ |
| 131 | + color: var(--link-hover-color); |
| 132 | + transform: rotate(45deg); |
156 | 133 | }
|
157 |
| - |
158 | 134 | #reload-page-button svg {
|
159 |
| - width: 20px; /* Icon size */ |
| 135 | + width: 20px; |
160 | 136 | height: 20px;
|
161 |
| - fill: currentColor; /* Icon inherits button's text color */ |
| 137 | + fill: currentColor; |
162 | 138 | }
|
163 |
| - /* End of Reload Button Styles */ |
164 |
| - |
165 |
| - /* Column-specific styling */ |
166 | 139 | td:nth-child(1) {
|
167 | 140 | word-break: break-all;
|
168 | 141 | }
|
|
177 | 150 | white-space: nowrap;
|
178 | 151 | width: 100px;
|
179 | 152 | }
|
180 |
| - |
181 | 153 | td a::before {
|
182 | 154 | display: inline-block;
|
183 | 155 | content: '';
|
|
190 | 162 | background-position: center;
|
191 | 163 | flex-shrink: 0;
|
192 | 164 | }
|
193 |
| - |
194 | 165 | td a[href="../"]::before {
|
195 | 166 | background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23abb2bf"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>');
|
196 | 167 | }
|
197 |
| - |
198 | 168 | td a[href$="/"]:not([href="../"])::before {
|
199 | 169 | background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23abb2bf"><path d="M10 4H4c-1.11 0-2 .89-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/></svg>');
|
200 | 170 | }
|
201 |
| - |
202 | 171 | td a:not([href$="/"]):not([href="../"])::before {
|
203 | 172 | background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23abb2bf"><path d="M14 2H6c-1.11 0-2 .9-2 2v16c0 1.1.89 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/></svg>');
|
204 | 173 | }
|
205 |
| - |
206 | 174 | footer {
|
207 | 175 | text-align: center;
|
208 | 176 | margin-top: 40px;
|
|
212 | 180 | color: var(--text-color);
|
213 | 181 | opacity: 0.7;
|
214 | 182 | }
|
215 |
| - |
216 | 183 | footer p {
|
217 | 184 | margin: 0;
|
218 | 185 | }
|
219 |
| - |
220 | 186 | @media (max-width: 768px) {
|
221 | 187 | body {
|
222 | 188 | font-size: 14px;
|
223 | 189 | padding-top: 10px;
|
224 | 190 | padding-bottom: 40px;
|
225 | 191 | }
|
226 |
| - |
227 | 192 | .page-container {
|
228 | 193 | padding: 0 10px;
|
229 | 194 | }
|
230 |
| - |
231 | 195 | h1 {
|
232 | 196 | font-size: 1.6em;
|
233 |
| - padding-right: 40px; /* Adjust for smaller screens */ |
| 197 | + padding-right: 40px; |
234 | 198 | }
|
235 |
| - |
236 | 199 | #reload-page-button {
|
237 |
| - top: -2px; /* Fine-tune for smaller screens if needed */ |
| 200 | + top: -2px; |
238 | 201 | right: 0px;
|
239 | 202 | }
|
240 |
| - |
241 | 203 | #reload-page-button svg {
|
242 | 204 | width: 18px;
|
243 | 205 | height: 18px;
|
244 | 206 | }
|
245 |
| - |
246 | 207 | th, td {
|
247 | 208 | padding: 10px 8px;
|
248 | 209 | }
|
249 |
| - |
250 | 210 | table {
|
251 | 211 | display: block;
|
252 | 212 | overflow-x: auto;
|
253 | 213 | white-space: nowrap;
|
254 | 214 | -webkit-overflow-scrolling: touch;
|
255 | 215 | }
|
256 |
| - |
257 | 216 | th, td {
|
258 | 217 | white-space: nowrap;
|
259 | 218 | }
|
260 |
| - |
261 | 219 | td:nth-child(1) {
|
262 | 220 | min-width: 200px;
|
263 | 221 | }
|
|
281 | 239 | </button>
|
282 | 240 |
|
283 | 241 | <h1>
|
284 |
| - <!-- Nginx fancyindex module will insert its H1 content (e.g., "Index of /files/"), then HR, and TABLE *after* this H1 element --> |
0 commit comments