Skip to content

Commit f85fd48

Browse files
authored
v0.2.4 (#524)
1 parent de34ff5 commit f85fd48

File tree

11 files changed

+293
-21
lines changed

11 files changed

+293
-21
lines changed

themes/Theme-Minimal/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ For intended experience:
1717

1818
## Changelog
1919

20+
### Version 0.2.4 - 2025-04-06
21+
22+
- Increase contrast for settings toggles
23+
- Fix popover arrow theming
24+
- Theme performer scraper
25+
- Theme player vtt preview and markers
26+
2027
### Version 0.2.3 - 2025-04-05
2128

2229
- Fix studio image in scene view.

themes/Theme-Minimal/Theme-Minimal.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Theme - Minimal
22
description: Minimal Theme for Stash
3-
version: 0.2.3
3+
version: 0.2.4
44
ui:
55
css:
66
- index.css
@@ -17,8 +17,8 @@ ui:
1717
- popover.css
1818
- studio.css
1919
- nav-bar.css
20-
- studio-tagger.css
2120
- scene-tagger.css
21+
- studio-performer-tagger.css
2222
- skeleton.css
2323
assets:
2424
/: ./assets

themes/Theme-Minimal/_theme.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,19 @@
138138
--black-a11: rgba(0, 0, 0, 0.9);
139139
--black-a12: rgba(0, 0, 0, 0.95);
140140

141+
--white-a1: rgba(255, 255, 255, 0.05);
142+
--white-a2: rgba(255, 255, 255, 0.1);
143+
--white-a3: rgba(255, 255, 255, 0.15);
144+
--white-a4: rgba(255, 255, 255, 0.2);
145+
--white-a5: rgba(255, 255, 255, 0.3);
146+
--white-a6: rgba(255, 255, 255, 0.4);
147+
--white-a7: rgba(255, 255, 255, 0.5);
148+
--white-a8: rgba(255, 255, 255, 0.6);
149+
--white-a9: rgba(255, 255, 255, 0.7);
150+
--white-a10: rgba(255, 255, 255, 0.8);
151+
--white-a11: rgba(255, 255, 255, 0.9);
152+
--white-a12: rgba(255, 255, 255, 0.95);
153+
141154
--text-3xs: 0.5rem; /* 8px */
142155
--text-2xs: 0.625rem; /* 10px */
143156
--text-xs: 0.75rem; /* 12px */

themes/Theme-Minimal/inputs.css

Lines changed: 79 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -383,9 +383,70 @@ div.react-datepicker {
383383
border: unset;
384384
}
385385

386+
/* ios toggle */
387+
/* :before is background pill */
388+
.custom-control-input ~ .custom-control-label:before {
389+
/* color: var(--primary-11); */
390+
border-color: var(--primary-6);
391+
background-color: var(--primary-6);
392+
}
393+
.custom-control-input:checked ~ .custom-control-label:before {
394+
/* color: var(--primary-12); */
395+
border-color: var(--primary-6);
396+
background-color: var(--primary-6);
397+
}
398+
/* due to hierarchy parent can disabled checked child*/
399+
.custom-switch
400+
.custom-control-input:disabled:checked
401+
~ .custom-control-label:before {
402+
border-color: var(--primary-6);
403+
background-color: var(--primary-6);
404+
}
405+
406+
/* :after is moving cirle */
407+
.custom-switch .custom-control-input ~ .custom-control-label:after {
408+
/* color: var(--primary-11); */
409+
/* border-color: var(--primary-4); */
410+
background-color: var(--primary-2);
411+
412+
box-shadow: 0 0 15px 2px rgba(255, 255, 255, 0);
413+
transition: all 0.3s ease-out, box-shadow 1s ease-out;
414+
}
415+
.custom-switch .custom-control-input:checked ~ .custom-control-label:after {
416+
/* color: var(--primary-12); */
417+
/* border-color: var(--primary-7); */
418+
background-color: var(--primary-12);
419+
box-shadow: 0 0 20px 2px rgba(255, 255, 255, 0.5);
420+
animation-delay: 0.5s;
421+
}
422+
423+
/* scene/studio filter buttons */
424+
.filtered-list-toolbar.btn-toolbar,
425+
.pagination {
426+
.btn {
427+
border-left: 0;
428+
border-right: 0;
429+
}
430+
.btn-secondary {
431+
&.active {
432+
color: var(--primary-12);
433+
background-color: unset;
434+
svg {
435+
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));
436+
}
437+
}
438+
color: var(--primary-11);
439+
}
440+
}
441+
442+
.filter-container.text-muted.paginationIndex.center-text {
443+
color: var(--primary-10) !important;
444+
font-size: var(--text-xs);
445+
}
446+
386447
/* sliders */
387448
input[type="range"]::-moz-range-track {
388-
background: var(--primary-5);
449+
background: var(--primary-4);
389450
}
390451
input[type="range"]::-moz-range-thumb {
391452
border-radius: 50%;
@@ -395,18 +456,32 @@ input[type="range"]::-moz-range-thumb {
395456

396457
input[type="range"]:active::-moz-range-track,
397458
input[type="range"]:focus::-moz-range-track {
398-
background: var(--primary-5);
459+
background: var(--primary-4);
399460
}
400461
input[type="range"]::-webkit-slider-runnable-track {
401-
background: var(--primary-5);
462+
background: var(--primary-4);
402463
}
403464
input[type="range"]:active::-webkit-slider-runnable-track,
404465
input[type="range"]:focus::-webkit-slider-runnable-track {
405-
background: var(--primary-5);
466+
background: var(--primary-4);
406467
}
407468

408469
input[type="range"]::-webkit-slider-thumb {
409470
border-radius: 50%;
410471
background: var(--primary-10);
411472
border: 1px solid var(--primary-10);
412473
}
474+
475+
/* player side-bar */
476+
.organized-button {
477+
transition: filter, color ease-in 0.5;
478+
&.organized {
479+
color: var(--primary-12);
480+
svg {
481+
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));
482+
}
483+
}
484+
&.not-organized {
485+
color: var(--primary-10);
486+
}
487+
}

themes/Theme-Minimal/player.css

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,12 +192,85 @@
192192
border-radius: 8px;
193193
overflow: hidden;
194194

195+
font-family: unset;
196+
195197
.vjs-poster {
196198
background-color: var(--primary-1);
197199
}
198200

199201
.vjs-vtt-thumbnail-display {
202+
box-shadow: unset;
203+
outline: 3px solid var(--black-a7);
204+
backdrop-filter: blur(10px);
200205
border: unset;
201-
border-radius: 0.8rem;
206+
border-radius: 12px;
207+
208+
bottom: 72px;
209+
}
210+
211+
.vjs-progress-holder.vjs-slider {
212+
border-radius: 12px;
213+
background-color: var(--white-a3);
214+
215+
.vjs-load-progress {
216+
background-color: var(--white-a4);
217+
}
218+
.vjs-load-progress {
219+
/* divs are watched sections */
220+
div {
221+
background-color: var(--white-a5);
222+
}
223+
}
224+
225+
.vjs-play-progress.vjs-slider-bar {
226+
border-top-left-radius: 12px;
227+
border-bottom-left-radius: 12px;
228+
background-color: var(--white-a10);
229+
}
230+
231+
.vjs-mouse-display {
232+
.vjs-marker-tooltip,
233+
.vjs-time-tooltip {
234+
background-color: var(--black-a7);
235+
backdrop-filter: blur(10px);
236+
border-radius: 8px;
237+
padding: 6px 8px;
238+
239+
color: var(--primary-12);
240+
font-size: var(--text-2xs);
241+
font-family: unset;
242+
font-weight: 500;
243+
244+
/* same width as thumbnail-display */
245+
max-width: 160px;
246+
white-space: nowrap;
247+
text-overflow: ellipsis;
248+
overflow: hidden;
249+
250+
/* fix positioning */
251+
right: unset !important;
252+
transform: translate(-50%, 50%);
253+
top: -50px;
254+
}
255+
}
256+
}
257+
258+
.vjs-marker-dot {
259+
top: 13px;
260+
261+
&:hover {
262+
/* removes scaling */
263+
transform: translate(-50%, -50%);
264+
}
265+
}
266+
267+
.vjs-marker-dot,
268+
.vjs-marker-range {
269+
background-color: var(--white-a8) !important;
270+
position: absolute;
271+
height: 4px;
272+
border-radius: 2px;
273+
box-shadow: unset;
274+
transition: none;
202275
}
203276
}

themes/Theme-Minimal/popover.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
.arrow::after,
1010
.arrow::before {
1111
border-bottom-color: var(--primary-2);
12+
border-top-color: var(--primary-2);
1213
}
1314
}

themes/Theme-Minimal/scenes.css

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
color: unset;
1212
text-decoration: none;
1313
font-size: var(--text-lg);
14+
/* demo */
15+
/* filter: blur(3px); */
1416
}
1517

1618
.card-controls {
@@ -91,8 +93,8 @@
9193

9294
white-space: nowrap;
9395
text-overflow: ellipsis;
94-
width: 100%;
9596
overflow: hidden;
97+
width: 100%;
9698
}
9799

98100
a:has(> img) {

themes/Theme-Minimal/settings.css

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,6 @@
4141
}
4242
}
4343

44-
.custom-control-input ~ .custom-control-label:before {
45-
color: var(--primary-11);
46-
border-color: var(--primary-5);
47-
background-color: var(--primary-5);
48-
}
49-
50-
.custom-control-input:checked ~ .custom-control-label:before {
51-
color: var(--primary-12);
52-
border-color: var(--primary-7);
53-
background-color: var(--primary-7);
54-
}
55-
5644
.setting-section {
5745
display: flex;
5846
flex-direction: column;

themes/Theme-Minimal/shared.css

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,20 @@
9797
/* tags */
9898

9999
.tag-item {
100-
background-color: var(--primary-4);
100+
background-color: var(--black-a7);
101+
backdrop-filter: blur(10px);
102+
border-radius: 8px;
103+
padding: 6px 10px;
104+
101105
color: var(--primary-12);
106+
font-size: var(--text-2xs);
107+
font-family: unset;
108+
font-weight: 500;
109+
110+
.btn-secondary {
111+
color: var(--primary-12);
112+
opacity: 1;
113+
}
102114
}
103115

104116
.badge-secondary {
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
.StudioTagger,
2+
.PerformerTagger {
3+
.StudioTagger-studio,
4+
.PerformerTagger-performer {
5+
background-color: unset;
6+
.studio-card,
7+
.performer-card {
8+
border-radius: 12px;
9+
img {
10+
background-color: unset;
11+
}
12+
}
13+
.StudioTagger-details,
14+
.PerformerTagger-details {
15+
margin-top: 1rem;
16+
17+
.StudioTagger-header,
18+
.PerformerTagger-header {
19+
h2 {
20+
font-size: var(--text-xl);
21+
}
22+
}
23+
24+
.text-left h5 {
25+
color: var(--primary-11);
26+
font-weight: unset;
27+
font-size: var(--text-xs);
28+
}
29+
30+
.PerformerTagger-performer-search {
31+
display: grid;
32+
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
33+
gap: 24px;
34+
button.PerformerTagger-performer-search-item {
35+
flex: unset;
36+
max-width: unset;
37+
width: min-content;
38+
border-radius: 8px;
39+
40+
padding: 12px;
41+
align-items: flex-start;
42+
gap: 12px;
43+
44+
img.PerformerTagger-thumb {
45+
height: 80px;
46+
border-radius: 6px;
47+
margin-right: 0;
48+
}
49+
50+
span {
51+
white-space: nowrap;
52+
text-overflow: ellipsis;
53+
overflow: hidden;
54+
}
55+
}
56+
}
57+
}
58+
}
59+
}

0 commit comments

Comments
 (0)