0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-07 03:22:38 +00:00

Merge pull request #2622 from 5e-Cleric/previews

Theme previews updated
This commit is contained in:
Trevor Buckner
2023-01-27 14:45:47 -05:00
committed by GitHub
7 changed files with 46 additions and 16 deletions

View File

@@ -189,6 +189,10 @@ const MetadataEditor = createClass({
return <div className='item' key={''} onClick={()=>this.handleTheme(theme)} title={''}> return <div className='item' key={''} onClick={()=>this.handleTheme(theme)} title={''}>
{`${theme.renderer} : ${theme.name}`} {`${theme.renderer} : ${theme.name}`}
<img src={`/themes/${theme.renderer}/${theme.path}/dropdownTexture.png`}/> <img src={`/themes/${theme.renderer}/${theme.path}/dropdownTexture.png`}/>
<div className='preview'>
<h6>{`${theme.name}`} preview</h6>
<img src={`/themes/${theme.renderer}/${theme.path}/dropdownPreview.png`}/>
</div>
</div>; </div>;
}); });
}; };
@@ -198,14 +202,14 @@ const MetadataEditor = createClass({
if(this.props.metadata.renderer == 'legacy') { if(this.props.metadata.renderer == 'legacy') {
dropdown = dropdown =
<Nav.dropdown className='disabled' trigger='disabled'> <Nav.dropdown className='disabled value' trigger='disabled'>
<div> <div>
{`Themes are not supported in the Legacy Renderer`} <i className='fas fa-caret-down'></i> {`Themes are not supported in the Legacy Renderer`} <i className='fas fa-caret-down'></i>
</div> </div>
</Nav.dropdown>; </Nav.dropdown>;
} else { } else {
dropdown = dropdown =
<Nav.dropdown trigger='click'> <Nav.dropdown className='value' trigger='click'>
<div> <div>
{`${_.upperFirst(currentTheme.renderer)} : ${currentTheme.name}`} <i className='fas fa-caret-down'></i> {`${_.upperFirst(currentTheme.renderer)} : ${currentTheme.name}`} <i className='fas fa-caret-down'></i>
</div> </div>

View File

@@ -35,7 +35,6 @@
flex-direction: column; flex-direction: column;
flex: 5 0 200px; flex: 5 0 200px;
gap: 10px; gap: 10px;
} }
.field{ .field{
display : flex; display : flex;
@@ -159,7 +158,6 @@
font-size : 13.33px; font-size : 13.33px;
.navDropdownContainer { .navDropdownContainer {
background-color : white; background-color : white;
width : 100%;
position : relative; position : relative;
z-index : 500; z-index : 500;
&.disabled { &.disabled {
@@ -182,24 +180,51 @@
} }
.navDropdown { .navDropdown {
box-shadow : 0px 5px 10px rgba(0, 0, 0, 0.3); box-shadow : 0px 5px 10px rgba(0, 0, 0, 0.3);
position : absolute; position : absolute;
width : 100%; width : 100%;
.item { .item {
padding : 3px 3px; padding : 3px 3px;
border-top : 1px solid rgb(118, 118, 118); border-top : 1px solid rgb(118, 118, 118);
position : relative; position : relative;
overflow : hidden; overflow : visible;
background-color : white; background-color : white;
.preview {
display : flex;
flex-direction: column;
background : #ccc;
border-radius : 5px;
box-shadow : 0 0 5px black;
width : 200px;
color :black;
position : absolute;
top : 0;
right : 0;
opacity : 0;
transition : opacity 250ms ease;
z-index : 1;
overflow :hidden;
h6 {
font-weight : 900;
padding-inline:1em;
padding-block :.5em;
border-bottom :2px solid hsl(0,0%,40%);
}
}
&:hover { &:hover {
background-color : @blue; background-color : @blue;
color : white; color : white;
} }
img { &:hover > .preview {
mask-image : linear-gradient(90deg, transparent, black 20%); opacity: 1;
}
>img {
mask-image : linear-gradient(90deg, transparent, black 20%);
-webkit-mask-image : linear-gradient(90deg, transparent, black 20%); -webkit-mask-image : linear-gradient(90deg, transparent, black 20%);
position : absolute; position : absolute;
left : ~"max(100px, 100% - 300px)"; right : 0;
top : 0px; top : 0px;
width : 50%;
height : 100%;
} }
} }
} }

View File

@@ -72,6 +72,7 @@ fs.emptyDirSync('./build');
themeData.path = dir; themeData.path = dir;
themes.V3[dir] = (themeData); themes.V3[dir] = (themeData);
fs.copy(`./themes/V3/${dir}/dropdownTexture.png`, `./build/themes/V3/${dir}/dropdownTexture.png`); fs.copy(`./themes/V3/${dir}/dropdownTexture.png`, `./build/themes/V3/${dir}/dropdownTexture.png`);
fs.copy(`./themes/V3/${dir}/dropdownPreview.png`, `./build/themes/V3/${dir}/dropdownPreview.png`);
const src = `./themes/V3/${dir}/style.less`; const src = `./themes/V3/${dir}/style.less`;
((outputDirectory)=>{ ((outputDirectory)=>{
less.render(fs.readFileSync(src).toString(), { less.render(fs.readFileSync(src).toString(), {

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 KiB