Merge branch 'main' into win-installer-no-activate
28
README.md
@ -6,27 +6,36 @@
|
|||||||
<a href="#installation"><img src="https://github.com/cmdr2/stable-diffusion-ui/raw/develop/media/download-linux.png" width="200" /></a>
|
<a href="#installation"><img src="https://github.com/cmdr2/stable-diffusion-ui/raw/develop/media/download-linux.png" width="200" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[![Discord Server](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.com/invite/u9yhsFmEkB) (for support, and development discussion) | [Troubleshooting guide for common problems](Troubleshooting.md)
|
[![Discord Server](https://img.shields.io/discord/1014774730907209781?label=Discord)](https://discord.com/invite/u9yhsFmEkB) (for support, and development discussion) | [Troubleshooting guide for common problems](Troubleshooting.md)
|
||||||
|
|
||||||
️🔥🎉 **New!** Face Correction (GFPGAN) and Upscaling (RealESRGAN) have been added!
|
️🔥🎉 **New!** Live Preview, More Samplers, In-Painting, Face Correction (GFPGAN) and Upscaling (RealESRGAN) have been added!
|
||||||
|
|
||||||
This distribution currently uses Stable Diffusion 1.4. Once the model for 1.5 becomes publicly available, the model in this distribution will be updated.
|
This distribution currently uses Stable Diffusion 1.4. Once the model for 1.5 becomes publicly available, the model in this distribution will be updated.
|
||||||
|
|
||||||
# Features in the new v2 Version:
|
# Features in the new v2 Version:
|
||||||
- **No Dependencies or Technical Knowledge Required**: 1-click install for Windows 10/11 and Linux. *No dependencies*, no need for WSL or Docker or Conda or technical setup. Just download and run!
|
- **No Dependencies or Technical Knowledge Required**: 1-click install for Windows 10/11 and Linux. *No dependencies*, no need for WSL or Docker or Conda or technical setup. Just download and run!
|
||||||
- **Face Correction (GFPGAN) and Upscaling (RealESRGAN)**
|
- **Face Correction (GFPGAN) and Upscaling (RealESRGAN)**
|
||||||
|
- **In-Painting**
|
||||||
|
- **Live Preview**: See the image as the AI is drawing it
|
||||||
|
- **Lots of Samplers:** ddim, plms, heun, euler, euler_a, dpm2, dpm2_a, lms
|
||||||
- **Image Modifiers**: A library of *modifier tags* like *"Realistic"*, *"Pencil Sketch"*, *"ArtStation"* etc. Experiment with various styles quickly.
|
- **Image Modifiers**: A library of *modifier tags* like *"Realistic"*, *"Pencil Sketch"*, *"ArtStation"* etc. Experiment with various styles quickly.
|
||||||
- **New UI**: with cleaner design
|
- **New UI**: with cleaner design
|
||||||
|
- **Waifu Model Support**: Just replace the `stable-diffusion\sd-v1-4.ckpt` file after installation with the Waifu model
|
||||||
- Supports "*Text to Image*" and "*Image to Image*"
|
- Supports "*Text to Image*" and "*Image to Image*"
|
||||||
- **NSFW Setting**: A setting in the UI to control *NSFW content*
|
- **NSFW Setting**: A setting in the UI to control *NSFW content*
|
||||||
- **Use CPU setting**: If you don't have a compatible graphics card, but still want to run it on your CPU.
|
- **Use CPU setting**: If you don't have a compatible graphics card, but still want to run it on your CPU.
|
||||||
- **Auto-updater**: Gets you the latest improvements and bug-fixes to a rapidly evolving project.
|
- **Auto-updater**: Gets you the latest improvements and bug-fixes to a rapidly evolving project.
|
||||||
|
- **Low Memory Usage**: Creates 512x512 images with less than 4GB of VRAM!
|
||||||
|
|
||||||
|
![Screenshot of advanced settings](media/shot-v9.jpg?raw=true)
|
||||||
|
|
||||||
|
## Live Preview
|
||||||
|
![live-512](https://user-images.githubusercontent.com/844287/192097249-729a0a1e-a677-485e-9ccc-16a9e848fabe.gif)
|
||||||
|
|
||||||
![Screenshot](media/shot-v8.jpg?raw=true)
|
|
||||||
|
|
||||||
# System Requirements
|
# System Requirements
|
||||||
1. Windows 10/11, or Linux. Experimental support for Mac is coming soon.
|
1. Windows 10/11, or Linux. Experimental support for Mac is coming soon.
|
||||||
2. An NVIDIA graphics card, preferably with 6GB or more of VRAM. But if you don't have a compatible graphics card, you can still use it with a "Use CPU" setting. It'll be very slow, but it should still work.
|
2. An NVIDIA graphics card, preferably with 4GB or more of VRAM. But if you don't have a compatible graphics card, you can still use it with a "Use CPU" setting. It'll be very slow, but it should still work.
|
||||||
|
|
||||||
You do not need anything else. You do not need WSL, Docker or Conda. The installer will take care of it.
|
You do not need anything else. You do not need WSL, Docker or Conda. The installer will take care of it.
|
||||||
|
|
||||||
@ -73,14 +82,11 @@ You can also set the configuration like `seed`, `width`, `height`, `num_outputs`
|
|||||||
|
|
||||||
Use the same `seed` number to get the same image for a certain prompt. This is useful for refining a prompt without losing the basic image design. Enable the `random images` checkbox to get random images.
|
Use the same `seed` number to get the same image for a certain prompt. This is useful for refining a prompt without losing the basic image design. Enable the `random images` checkbox to get random images.
|
||||||
|
|
||||||
![Screenshot of advanced settings](media/config-v6.png?raw=true)
|
![Screenshot of advanced settings](media/config-v6.jpg?raw=true)
|
||||||
|
![Screenshot of advanced settings](media/system-settings-v2.jpg?raw=true)
|
||||||
|
|
||||||
# What is this? Why no Docker?
|
# Image Modifiers
|
||||||
This version is a 1-click installer. You don't need WSL or Docker or anything beyond a working NVIDIA GPU with an updated driver. You don't need to use the command-line at all. Even if you don't have a compatible GPU, you can run it on your CPU (albeit very slowly).
|
![Screenshot of advanced settings](media/modifiers-v1.jpg?raw=true)
|
||||||
|
|
||||||
It'll download the necessary files from the original [Stable Diffusion](https://github.com/CompVis/stable-diffusion) git repository, and set it up. It'll then start the browser-based interface like before.
|
|
||||||
|
|
||||||
The NSFW option is currently off (temporarily), so it'll allow NSFW images, for those people who are unable to run their prompts without hitting the NSFW filter incorrectly.
|
|
||||||
|
|
||||||
# Bugs reports and code contributions welcome
|
# Bugs reports and code contributions welcome
|
||||||
If there are any problems or suggestions, please feel free to ask on the [discord server](https://discord.com/invite/u9yhsFmEkB) or [file an issue](https://github.com/cmdr2/stable-diffusion-ui/issues).
|
If there are any problems or suggestions, please feel free to ask on the [discord server](https://discord.com/invite/u9yhsFmEkB) or [file an issue](https://github.com/cmdr2/stable-diffusion-ui/issues).
|
||||||
|
BIN
media/config-v6.jpg
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
media/modifiers-v1.jpg
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
media/shot-v9.jpg
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
media/system-settings-v2.jpg
Normal file
After Width: | Height: | Size: 40 KiB |
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
@echo. & echo "Stable Diffusion UI - v2" & echo.
|
@echo. & echo "Stable Diffusion UI - v2" & echo.
|
||||||
|
|
||||||
|
set PATH=C:\Windows\System32;%PATH%
|
||||||
|
|
||||||
@cd ..
|
@cd ..
|
||||||
|
|
||||||
if exist "scripts\config.bat" (
|
if exist "scripts\config.bat" (
|
||||||
|
@ -15,9 +15,10 @@
|
|||||||
|
|
||||||
@call git reset --hard
|
@call git reset --hard
|
||||||
@call git pull
|
@call git pull
|
||||||
@call git checkout d154155d4c0b43e13ec1f00eb72b7ff9d522fcf9
|
@call git checkout f6cfebffa752ee11a7b07497b8529d5971de916c
|
||||||
|
|
||||||
@call git apply ..\ui\sd_internal\ddim_callback.patch
|
@call git apply ..\ui\sd_internal\ddim_callback.patch
|
||||||
|
@call git apply ..\ui\sd_internal\env_yaml.patch
|
||||||
|
|
||||||
@cd ..
|
@cd ..
|
||||||
) else (
|
) else (
|
||||||
@ -32,9 +33,10 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
@cd stable-diffusion
|
@cd stable-diffusion
|
||||||
@call git checkout d154155d4c0b43e13ec1f00eb72b7ff9d522fcf9
|
@call git checkout f6cfebffa752ee11a7b07497b8529d5971de916c
|
||||||
|
|
||||||
@call git apply ..\ui\sd_internal\ddim_callback.patch
|
@call git apply ..\ui\sd_internal\ddim_callback.patch
|
||||||
|
@call git apply ..\ui\sd_internal\env_yaml.patch
|
||||||
|
|
||||||
@cd ..
|
@cd ..
|
||||||
)
|
)
|
||||||
@ -77,6 +79,8 @@
|
|||||||
@echo conda_sd_env_created >> ..\scripts\install_status.txt
|
@echo conda_sd_env_created >> ..\scripts\install_status.txt
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set PATH=C:\Windows\System32;%PATH%
|
||||||
|
|
||||||
@>nul grep -c "conda_sd_gfpgan_deps_installed" ..\scripts\install_status.txt
|
@>nul grep -c "conda_sd_gfpgan_deps_installed" ..\scripts\install_status.txt
|
||||||
@if "%ERRORLEVEL%" EQU "0" (
|
@if "%ERRORLEVEL%" EQU "0" (
|
||||||
@echo "Packages necessary for GFPGAN (Face Correction) were already installed"
|
@echo "Packages necessary for GFPGAN (Face Correction) were already installed"
|
||||||
|
@ -16,9 +16,10 @@ if [ -e "scripts/install_status.txt" ] && [ `grep -c sd_git_cloned scripts/insta
|
|||||||
|
|
||||||
git reset --hard
|
git reset --hard
|
||||||
git pull
|
git pull
|
||||||
git checkout d154155d4c0b43e13ec1f00eb72b7ff9d522fcf9
|
git checkout f6cfebffa752ee11a7b07497b8529d5971de916c
|
||||||
|
|
||||||
git apply ../ui/sd_internal/ddim_callback.patch
|
git apply ../ui/sd_internal/ddim_callback.patch
|
||||||
|
git apply ../ui/sd_internal/env_yaml.patch
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
@ -33,9 +34,10 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
cd stable-diffusion
|
cd stable-diffusion
|
||||||
git checkout d154155d4c0b43e13ec1f00eb72b7ff9d522fcf9
|
git checkout f6cfebffa752ee11a7b07497b8529d5971de916c
|
||||||
|
|
||||||
git apply ../ui/sd_internal/ddim_callback.patch
|
git apply ../ui/sd_internal/ddim_callback.patch
|
||||||
|
git apply ../ui/sd_internal/env_yaml.patch
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
fi
|
fi
|
||||||
|
1309
ui/index.html
5
ui/media/drawingboard.min.css
vendored
Normal file
4
ui/media/drawingboard.min.js
vendored
Normal file
BIN
ui/media/favicon-16x16.png
Normal file
After Width: | Height: | Size: 466 B |
BIN
ui/media/favicon-32x32.png
Normal file
After Width: | Height: | Size: 973 B |
2
ui/media/jquery-3.6.1.min.js
vendored
Normal file
367
ui/media/main.css
Normal file
@ -0,0 +1,367 @@
|
|||||||
|
body {
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-size: 11pt;
|
||||||
|
background-color: rgb(32, 33, 36);
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: rgb(0, 102, 204);
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: rgb(0, 102, 204);
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
#prompt {
|
||||||
|
width: 100%;
|
||||||
|
height: 65pt;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
#prompt {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.image_preview_container {
|
||||||
|
/* display: none; */
|
||||||
|
margin-top: 10pt;
|
||||||
|
}
|
||||||
|
.image_clear_btn {
|
||||||
|
position: absolute;
|
||||||
|
transform: translateX(-50%) translateY(-35%);
|
||||||
|
background: black;
|
||||||
|
color: white;
|
||||||
|
border: 2pt solid #ccc;
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
outline: inherit;
|
||||||
|
border-radius: 8pt;
|
||||||
|
width: 16pt;
|
||||||
|
height: 16pt;
|
||||||
|
font-family: Verdana;
|
||||||
|
font-size: 8pt;
|
||||||
|
}
|
||||||
|
.settings-box ul {
|
||||||
|
font-size: 9pt;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
padding-left: 10px;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
.settings-box li {
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
}
|
||||||
|
.editor-slider {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
#outputMsg {
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
#progressBar {
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
#footer {
|
||||||
|
font-size: small;
|
||||||
|
padding-left: 10pt;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
#footer-legal {
|
||||||
|
font-size: 8pt;
|
||||||
|
}
|
||||||
|
.imgSeedLabel {
|
||||||
|
position: absolute;
|
||||||
|
transform: translateX(-100%);
|
||||||
|
margin-top: 5pt;
|
||||||
|
margin-left: -5pt;
|
||||||
|
font-size: 10pt;
|
||||||
|
|
||||||
|
background-color: #333;
|
||||||
|
opacity: 0.8;
|
||||||
|
color: #ddd;
|
||||||
|
border-radius: 3pt;
|
||||||
|
padding: 1pt 3pt;
|
||||||
|
}
|
||||||
|
.imgUseBtn {
|
||||||
|
position: absolute;
|
||||||
|
transform: translateX(-100%);
|
||||||
|
margin-top: 30pt;
|
||||||
|
margin-left: -5pt;
|
||||||
|
}
|
||||||
|
.imgSaveBtn {
|
||||||
|
position: absolute;
|
||||||
|
transform: translateX(-100%);
|
||||||
|
margin-top: 55pt;
|
||||||
|
margin-left: -5pt;
|
||||||
|
}
|
||||||
|
.imgItem {
|
||||||
|
display: inline;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
.imgItemInfo {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1800px) {
|
||||||
|
#container {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#logo small {
|
||||||
|
font-size: 11pt;
|
||||||
|
}
|
||||||
|
#editor {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
#editor label {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.settings-box label small {
|
||||||
|
color: rgb(153, 153, 153);
|
||||||
|
}
|
||||||
|
#preview {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
#editor-inputs {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
#editor-inputs-prompt {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
#editor-inputs .row {
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
#makeImage {
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
#editor-modifiers h5 {
|
||||||
|
padding: 5pt 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#makeImage {
|
||||||
|
flex: 0 0 70px;
|
||||||
|
background: rgb(80, 0, 185);
|
||||||
|
border: 2px solid rgb(40, 0, 78);
|
||||||
|
color: rgb(255, 221, 255);
|
||||||
|
width: 100%;
|
||||||
|
height: 30pt;
|
||||||
|
}
|
||||||
|
#makeImage:hover {
|
||||||
|
background: rgb(93, 0, 214);
|
||||||
|
}
|
||||||
|
#stopImage {
|
||||||
|
flex: 0 0 70px;
|
||||||
|
background: rgb(132, 8, 0);
|
||||||
|
border: 2px solid rgb(122, 29, 0);
|
||||||
|
color: rgb(255, 221, 255);
|
||||||
|
width: 100%;
|
||||||
|
height: 30pt;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#stopImage:hover {
|
||||||
|
background: rgb(214, 32, 0);
|
||||||
|
}
|
||||||
|
.flex-container {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.col-50 {
|
||||||
|
flex: 50%;
|
||||||
|
}
|
||||||
|
.col-fixed-10 {
|
||||||
|
flex: 0 0 400pt;
|
||||||
|
}
|
||||||
|
.col-free {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
.collapsible {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.collapsible-content {
|
||||||
|
display: none;
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
.collapsible-content h5 {
|
||||||
|
padding: 5pt 0pt;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
.collapsible-handle {
|
||||||
|
color: white;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
.panel-box {
|
||||||
|
background: rgb(44, 45, 48);
|
||||||
|
border: 1px solid rgb(47, 49, 53);
|
||||||
|
border-radius: 7px;
|
||||||
|
padding: 5px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
.panel-box h4 {
|
||||||
|
margin: 0;
|
||||||
|
padding: 2px 0;
|
||||||
|
}
|
||||||
|
#editor-modifiers .editor-modifiers-leaf {
|
||||||
|
padding-top: 10pt;
|
||||||
|
padding-bottom: 10pt;
|
||||||
|
}
|
||||||
|
#preview {
|
||||||
|
margin-left: 20pt;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
.line-separator {
|
||||||
|
background: rgb(56, 56, 56);
|
||||||
|
height: 1pt;
|
||||||
|
margin: 15pt 0;
|
||||||
|
}
|
||||||
|
#editor-inputs-tags-container {
|
||||||
|
margin-top: 5pt;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#server-status {
|
||||||
|
display: inline;
|
||||||
|
float: right;
|
||||||
|
transform: translateY(-5pt);
|
||||||
|
}
|
||||||
|
#server-status-color {
|
||||||
|
/* width: 8pt;
|
||||||
|
height: 8pt;
|
||||||
|
border-radius: 4pt; */
|
||||||
|
font-size: 14pt;
|
||||||
|
color: rgb(128, 87, 0);
|
||||||
|
/* background-color: rgb(197, 1, 1); */
|
||||||
|
/* transform: translateY(15%); */
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
#server-status-msg {
|
||||||
|
color: rgb(128, 87, 0);
|
||||||
|
padding-left: 2pt;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
#preview-prompt {
|
||||||
|
font-size: 16pt;
|
||||||
|
margin-bottom: 10pt;
|
||||||
|
}
|
||||||
|
#coffeeButton {
|
||||||
|
height: 23px;
|
||||||
|
transform: translateY(25%);
|
||||||
|
}
|
||||||
|
|
||||||
|
#inpaintingEditor {
|
||||||
|
width: 300pt;
|
||||||
|
height: 300pt;
|
||||||
|
margin-top: 5pt;
|
||||||
|
}
|
||||||
|
.drawing-board-canvas-wrapper {
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
.drawing-board-control > button {
|
||||||
|
background-color: #eee;
|
||||||
|
border-radius: 3pt;
|
||||||
|
}
|
||||||
|
.drawing-board-control-inner {
|
||||||
|
background-color: #eee;
|
||||||
|
border-radius: 3pt;
|
||||||
|
}
|
||||||
|
#inpaintingEditor canvas {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
#enable_mask {
|
||||||
|
margin-top: 8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
#top-nav {
|
||||||
|
padding-top: 3pt;
|
||||||
|
padding-bottom: 15pt;
|
||||||
|
}
|
||||||
|
#top-nav .icon {
|
||||||
|
padding-right: 4pt;
|
||||||
|
font-size: 14pt;
|
||||||
|
transform: translateY(1pt);
|
||||||
|
}
|
||||||
|
#logo {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
#logo h1 {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
#top-nav-items {
|
||||||
|
list-style-type: none;
|
||||||
|
display: inline;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
#top-nav-items > li {
|
||||||
|
float: left;
|
||||||
|
display: inline;
|
||||||
|
padding-left: 20pt;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
#initial-text {
|
||||||
|
padding-top: 15pt;
|
||||||
|
padding-left: 4pt;
|
||||||
|
}
|
||||||
|
.settings-subheader {
|
||||||
|
font-size: 10pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.pl-5 {
|
||||||
|
padding-left: 5pt;
|
||||||
|
}
|
||||||
|
#system-settings {
|
||||||
|
width: 360pt;
|
||||||
|
transform: translateX(-100%) translateX(70pt);
|
||||||
|
|
||||||
|
padding-top: 10pt;
|
||||||
|
padding-bottom: 10pt;
|
||||||
|
}
|
||||||
|
#system-settings ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#system-settings li {
|
||||||
|
padding-left: 5pt;
|
||||||
|
}
|
||||||
|
#community-links {
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 12pt;
|
||||||
|
padding-bottom: 0pt;
|
||||||
|
transform: translateX(-15%);
|
||||||
|
}
|
||||||
|
#community-links li {
|
||||||
|
padding-bottom: 12pt;
|
||||||
|
display: block;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
#community-links li .fa-fw {
|
||||||
|
padding-right: 2pt;
|
||||||
|
}
|
||||||
|
#community-links li a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.dropdown {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.dropdown-content {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
|
||||||
|
background: rgb(18, 18, 19);
|
||||||
|
border: 2px solid rgb(37, 38, 41);
|
||||||
|
border-radius: 7px;
|
||||||
|
padding: 5px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
box-shadow: 0 20px 28px 0 rgba(0, 0, 0, 0.15), 0 6px 20px 0 rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
.dropdown:hover .dropdown-content {
|
||||||
|
display: block;
|
||||||
|
}
|
1218
ui/media/main.js
Normal file
216
ui/media/modifier-thumbnails.css
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
.modifier-card {
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
|
||||||
|
transition: 0.1s;
|
||||||
|
border-radius: 7px;
|
||||||
|
margin: 3pt 3pt;
|
||||||
|
float: left;
|
||||||
|
width: 8em;
|
||||||
|
height: 11.5em;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
grid-template-rows: 8em 3.5em;
|
||||||
|
gap: 0px 0px;
|
||||||
|
grid-auto-flow: row;
|
||||||
|
grid-template-areas:
|
||||||
|
"modifier-card-image-container"
|
||||||
|
"modifier-card-container";
|
||||||
|
border: 2px solid rgba(255, 255, 255, .05);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.modifier-card-size_5 {
|
||||||
|
width: 18em;
|
||||||
|
grid-template-rows: 18em 3.5em;
|
||||||
|
height: 21.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_5 .modifier-card-image-overlay {
|
||||||
|
font-size: 8em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_4 {
|
||||||
|
width: 14em;
|
||||||
|
grid-template-rows: 14em 3.5em;
|
||||||
|
height: 17.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_4 .modifier-card-image-overlay {
|
||||||
|
font-size: 7em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_3 {
|
||||||
|
width: 11em;
|
||||||
|
grid-template-rows: 11em 3.5em;
|
||||||
|
height: 14.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_3 .modifier-card-image-overlay {
|
||||||
|
font-size: 6em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_2 {
|
||||||
|
width: 10em;
|
||||||
|
grid-template-rows: 10em 3.5em;
|
||||||
|
height: 13.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_2 .modifier-card-image-overlay {
|
||||||
|
font-size: 6em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_1 {
|
||||||
|
width: 9em;
|
||||||
|
grid-template-rows: 9em 3.5em;
|
||||||
|
height: 12.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_1 .modifier-card-image-overlay {
|
||||||
|
font-size: 5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-1 {
|
||||||
|
width: 7em;
|
||||||
|
grid-template-rows: 7em 3.5em;
|
||||||
|
height: 10.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-1 .modifier-card-image-overlay {
|
||||||
|
font-size: 4em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-2 {
|
||||||
|
width: 6em;
|
||||||
|
grid-template-rows: 6em 3.5em;
|
||||||
|
height: 9.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-2 .modifier-card-image-overlay {
|
||||||
|
font-size: 3em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-3 {
|
||||||
|
width: 5em;
|
||||||
|
grid-template-rows: 5em 3.5em;
|
||||||
|
height: 8.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-3 .modifier-card-image-overlay {
|
||||||
|
font-size: 3em;
|
||||||
|
}
|
||||||
|
.modifier-card-size_-3 .modifier-card-label {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
.modifier-card-tiny {
|
||||||
|
width: 6em;
|
||||||
|
height: 9.5em;
|
||||||
|
grid-template-rows: 6em 3.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-tiny .modifier-card-image-overlay {
|
||||||
|
font-size: 4em;
|
||||||
|
}
|
||||||
|
.modifier-card:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
box-shadow: 0 5px 16px 5px rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
.modifier-card-image-container {
|
||||||
|
border-radius: 5px 5px 0 0;
|
||||||
|
width: inherit;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, .2);
|
||||||
|
grid-area: modifier-card-image-container;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: rgb(255 255 255 / 8%);
|
||||||
|
}
|
||||||
|
.modifier-card-image-container img {
|
||||||
|
width: inherit;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 5px 5px 0 0;
|
||||||
|
}
|
||||||
|
.modifier-card-image-container * {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.modifier-card-container {
|
||||||
|
text-align: center;
|
||||||
|
background-color: rgba(0,0,0,0.5);
|
||||||
|
border-radius: 0 0 5px 5px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
grid-area: modifier-card-container;
|
||||||
|
font-weight: 100;
|
||||||
|
font-size: .9em;
|
||||||
|
width: inherit;
|
||||||
|
}
|
||||||
|
.modifier-card-label {
|
||||||
|
padding: 4px;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
.modifier-card-image-overlay {
|
||||||
|
width: inherit;
|
||||||
|
height: inherit;
|
||||||
|
background-color: rgb(0 0 0 / 50%);
|
||||||
|
z-index: 2;
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 5px 5px 0 0;
|
||||||
|
opacity: 0;
|
||||||
|
font-size: 5em;
|
||||||
|
font-weight: 900;
|
||||||
|
color: rgb(255 255 255 / 50%);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.modifier-card-overlay {
|
||||||
|
width: inherit;
|
||||||
|
height: inherit;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
.modifier-card:hover > .modifier-card-image-container .modifier-card-image-overlay {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.modifier-card:hover > .modifier-card-image-container img {
|
||||||
|
filter: blur(.1em);
|
||||||
|
}
|
||||||
|
.modifier-card:active {
|
||||||
|
transform: scale(0.95);
|
||||||
|
box-shadow: 0 5px 16px 5px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
#preview-image {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
.modifier-card-active {
|
||||||
|
border: 2px solid rgb(179 82 255 / 94%);
|
||||||
|
box-shadow: 0 0px 10px 0 rgb(170 0 229 / 58%);
|
||||||
|
}
|
||||||
|
.tooltip {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.tooltip .tooltip-text {
|
||||||
|
visibility: hidden;
|
||||||
|
width: 120px;
|
||||||
|
background: rgb(101,97,181);
|
||||||
|
background: linear-gradient(180deg, rgba(101,97,181,1) 0%, rgba(47,45,85,1) 100%);
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 5px;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
top: 105%;
|
||||||
|
left: 39%;
|
||||||
|
margin-left: -60px;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.3s;
|
||||||
|
border: 2px solid rgb(90 100 177 / 94%);
|
||||||
|
box-shadow: 0px 10px 20px 5px rgb(11 0 58 / 55%);
|
||||||
|
width: 10em;
|
||||||
|
}
|
||||||
|
.tooltip .tooltip-text::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: -0.9em;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -5px;
|
||||||
|
border-width: 5px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: transparent transparent rgb(90 100 177 / 94%) transparent;
|
||||||
|
}
|
||||||
|
.tooltip:hover .tooltip-text {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#modifier-card-size-slider {
|
||||||
|
width: 6em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
BIN
ui/media/modifier-thumbnails/artist/artstation/landscape-0.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
ui/media/modifier-thumbnails/artist/artstation/portrait-0.jpg
Normal file
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 33 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_alex_grey/landscape-0.jpg
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_alex_grey/portrait-0.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 41 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_artgerm/landscape-0.jpg
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_artgerm/portrait-0.jpg
Normal file
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 44 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_banksy/landscape-0.jpg
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_banksy/portrait-0.jpg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_beeple/landscape-0.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_beeple/portrait-0.jpg
Normal file
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 47 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_chris_foss/portrait-0.jpg
Normal file
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 38 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_david_mann/portrait-0.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 354 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 57 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_h_r_giger/landscape-0.jpg
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_h_r_giger/portrait-0.jpg
Normal file
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 61 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_jack_kirby/portrait-0.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 84 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_james_jean/portrait-0.jpg
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_jim_burns/landscape-0.jpg
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
ui/media/modifier-thumbnails/artist/by_jim_burns/portrait-0.jpg
Normal file
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 420 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 60 KiB |