aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoonTidez <79183852+MoonTidez@users.noreply.github.com>2022-05-15 19:50:30 +0400
committerGitHub <noreply@github.com>2022-05-15 17:50:30 +0200
commit6254bbc42d0611f8eaee97b6d4c7710d082c6826 (patch)
tree78337ed22153af7cb992eb98e3a569b9a372d534
parent2c592090b9448203559e01326bc2c2d995b15d53 (diff)
downloadOneConfig-6254bbc42d0611f8eaee97b6d4c7710d082c6826.tar.gz
OneConfig-6254bbc42d0611f8eaee97b6d4c7710d082c6826.tar.bz2
OneConfig-6254bbc42d0611f8eaee97b6d4c7710d082c6826.zip
SVG + asset reorganization (#10)
* Assets reorganization * forgot 4 pixels in alpha grid oops * Updated huegradient.png Reduces file size by only use 1px height instead of 720px while maintaining quality * we do a little renaming * new assets mapping * moon I hate you * e * moon is weird * make it compile * temp * part png rendering * svgs * fix some positionings and stuff Co-authored-by: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/OneConfig.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java11
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java31
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java23
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java15
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java7
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigCheckbox.java7
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java13
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java13
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java9
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java13
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/pages/HomePage.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java100
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java21
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java84
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java55
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java132
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java4
-rw-r--r--src/main/resources/assets/oneconfig/colorui/alphagrid.pngbin0 -> 145 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/close_color.pngbin599 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/color_base.pngbin296 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/color_base_large.pngbin5990 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/color_base_long.pngbin3359 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/colorwheel.png (renamed from src/main/resources/assets/oneconfig/colorui/color_wheel.png)bin193805 -> 193805 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/hsbgradient.pngbin0 -> 43707 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/hue_gradient.pngbin1797 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/colorui/huegradient.pngbin0 -> 223 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/AlignHCenter.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AlignHLeft.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AlignHRight.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AlignVBottom.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AlignVMiddle.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AlignVTop.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowCircleDown.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowCircleLeft.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowCircleRight.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowCircleUp.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowDown.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowLeft.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowRight.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ArrowUp.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AudioPause.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/AudioPlay.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/AudioPrevious.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/AudioSkip.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Backspace.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Bell.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/BellOff.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Box.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Camera.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Cart.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Cash.svg15
-rw-r--r--src/main/resources/assets/oneconfig/icons/CashDollar.svg17
-rw-r--r--src/main/resources/assets/oneconfig/icons/CheckCircle.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/CheckboxMixed.svg17
-rw-r--r--src/main/resources/assets/oneconfig/icons/CheckboxTick.svg17
-rw-r--r--src/main/resources/assets/oneconfig/icons/ChevronDown.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ChevronLeft.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ChevronRight.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ChevronUp.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/CircleMinus.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/CirclePlus.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Clock.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Code.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ComboBoxDown.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ComboBoxUp.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Content.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Copy.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/CreditCard.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/CreditCardAdd.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Cube.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Dashboard.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Delete.svg7
-rw-r--r--src/main/resources/assets/oneconfig/icons/Dollar.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/DollarCircle.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Download.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/DropdownList.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Earth.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Edit.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Error.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Export.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Eye.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/EyeOff.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/FabricLoader.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/File.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Filter.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Folder.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ForgeLoader.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/HUD.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/HUDSettings.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Hamburger.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/HeartBroken.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/HeartFill.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/HeartOutline.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/HelpCircle.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/History.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Home.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Image.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/InfoCircle.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ItemLinkBroke.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ItemLinked.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Keystroke.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/LaunchProfiles.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/LinkDiagonal.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/LinkHorizontal.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Loading.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/LocationPoint.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Maximise.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Mic.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/MicOff.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/MicrosoftIcon.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Minimise.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Mods.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Move.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/Navigation.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/OneConfig.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/OneConfigOff.svg7
-rw-r--r--src/main/resources/assets/oneconfig/icons/Paste.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Performance.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/PopOut.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Profiles.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Reset.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Save.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Search.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Send.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Settings.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShapeCircle.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShapeDot.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShapeHexagon.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShapePentagon.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShapeSquare.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShapeTriangle.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/Share.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ShoppingBag.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Spacing.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Theme.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/ThumbsDown.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/ThumbsUp.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Update.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumeHigh.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumeMedium.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumeMinus.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumeMute.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumeNone.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumeOff.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/VolumePlus.svg4
-rw-r--r--src/main/resources/assets/oneconfig/icons/Warning.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/Website.svg6
-rw-r--r--src/main/resources/assets/oneconfig/icons/XCircle.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/XCross.svg3
-rw-r--r--src/main/resources/assets/oneconfig/icons/ZoomIn.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/ZoomOut.svg5
-rw-r--r--src/main/resources/assets/oneconfig/icons/checkmark.pngbin1714 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/chevron.pngbin190 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/circle_arrow.pngbin394 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/close.pngbin383 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/copy.pngbin393 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/dashboard.pngbin405 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/dropdown_arrow.pngbin164 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/error.pngbin2080 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/favorite_active.pngbin323 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/favorite_inactive.pngbin426 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/help.pngbin660 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/hide_eye.pngbin338 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/hide_eye_off.pngbin619 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/hud.pngbin379 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/info.pngbin1145 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/keystroke.pngbin248 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/launch.pngbin430 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/logo.pngbin1819 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/minimize.pngbin302 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/mod_box.pngbin1472 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/mods.pngbin285 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/paste.pngbin324 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/performance.pngbin381 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/preferences.pngbin425 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/profiles.pngbin437 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/screenshot.pngbin369 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/search.pngbin555 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/settings.pngbin399 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/share.pngbin480 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/success.pngbin2260 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/themes.pngbin304 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/up_arrow.pngbin162 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/updates.pngbin343 -> 0 bytes
-rw-r--r--src/main/resources/assets/oneconfig/icons/warning.pngbin1936 -> 0 bytes
191 files changed, 945 insertions, 161 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/OneConfig.java b/src/main/java/cc/polyfrost/oneconfig/OneConfig.java
index 2dfca40..3661c42 100644
--- a/src/main/java/cc/polyfrost/oneconfig/OneConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/OneConfig.java
@@ -57,7 +57,7 @@ public class OneConfig {
RenderManager.setupAndDraw((vg) -> {
RenderManager.drawRoundedRect(vg, -100, -100, 50, 50, -1, 12f);
RenderManager.drawString(vg, "OneConfig loading...", -100, -100, -1, 12f, Fonts.MEDIUM);
- RenderManager.drawImage(vg, Images.LOGO, -100, -100, 50, 50);
+ RenderManager.drawImage(vg, Images.HUE_GRADIENT, -100, -100, 50, 50);
});
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
index db32c92..97e03a6 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
@@ -10,6 +10,7 @@ import cc.polyfrost.oneconfig.lwjgl.OneColor;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.lwjgl.scissor.Scissor;
import cc.polyfrost.oneconfig.lwjgl.scissor.ScissorManager;
import cc.polyfrost.oneconfig.utils.InputUtils;
@@ -84,7 +85,7 @@ public class OneConfigGui extends UScreen {
RenderManager.drawLine(vg, x + 224, y + 72, x + 1280, y + 72, 1, OneConfigConfig.GRAY_700);
RenderManager.drawLine(vg, x + 224, y, x + 222, y + 800, 1, OneConfigConfig.GRAY_700);
- RenderManager.drawImage(vg, Images.LOGO, x + 19, y + 19, 42, 42);
+ RenderManager.drawSvg(vg, SVGs.ONECONFIG, x + 19, y + 19, 42, 42);
RenderManager.drawString(vg, "OneConfig", x + 69, y + 32, OneConfigConfig.WHITE, 18f, Fonts.BOLD); // added half line height to center text
RenderManager.drawString(vg, "ALPHA - By Polyfrost", x + 69, y + 51, OneConfigConfig.WHITE, 12f, Fonts.REGULAR);
@@ -104,7 +105,7 @@ public class OneConfigGui extends UScreen {
backArrow.disable(false);
if (!backArrow.isHovered() || Mouse.isButtonDown(0)) NanoVG.nvgGlobalAlpha(vg, 0.8f);
}
- RenderManager.drawImage(vg, Images.CIRCLE_ARROW, x + 271, y + 25, -22, 22);
+ RenderManager.drawSvg(vg, SVGs.ARROW_CIRCLE_LEFT, x + 249, y + 25, 22, 22);
NanoVG.nvgGlobalAlpha(vg, 1f);
if (nextPages.size() == 0) {
forwardArrow.disable(true);
@@ -113,7 +114,7 @@ public class OneConfigGui extends UScreen {
forwardArrow.disable(false);
if (!forwardArrow.isHovered() || Mouse.isButtonDown(0)) NanoVG.nvgGlobalAlpha(vg, 0.8f);
}
- RenderManager.drawImage(vg, Images.CIRCLE_ARROW, x + 289, y + 25, 22, 22);
+ RenderManager.drawSvg(vg, SVGs.ARROW_CIRCLE_RIGHT, x + 289, y + 25, 22, 22);
NanoVG.nvgGlobalAlpha(vg, 1f);
if (backArrow.isClicked() && previousPages.size() > 0) {
@@ -157,9 +158,7 @@ public class OneConfigGui extends UScreen {
else if (hovered && !Mouse.isButtonDown(0)) color = OneConfigConfig.WHITE_80;
RenderManager.drawString(vg, title, breadcrumbX, y + 38, color, 24f, Fonts.SEMIBOLD);
if (i != 0)
- RenderManager.drawImage(vg, Images.CHEVRON_ARROW, breadcrumbX - 22, y + 26, 13, 22, color);
- if (hovered && i != parents.size() - 1)
- RenderManager.drawLine(vg, breadcrumbX, y + 48, breadcrumbX + width, y + 48, 2, color);
+ RenderManager.drawSvg(vg, SVGs.CHEVRON_RIGHT, breadcrumbX - 28, y + 25, 24, 24, color);
if (hovered && InputUtils.isClicked()) openPage(parents.get(i));
breadcrumbX += width + 32;
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java b/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java
index 85d88f9..fcbf647 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java
@@ -7,6 +7,7 @@ import cc.polyfrost.oneconfig.gui.pages.ModsPage;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.MathUtils;
import gg.essential.universal.UScreen;
@@ -19,24 +20,24 @@ public class SideBar {
private float targetY = 0, currentY = 0;
public SideBar() {
- btnList.add(new BasicButton(192, 36, "Dashboard", Images.DASHBOARD, null, -3, BasicButton.ALIGNMENT_LEFT, new HomePage()));
- btnList.add(new BasicButton(192, 36, "Global Search", Images.SEARCH, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Screenshots", Images.SCREENSHOT, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Preferences", Images.PREFERENCES, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Mods", Images.MODS, null, -3, BasicButton.ALIGNMENT_LEFT, new ModsPage()));
- btnList.add(new BasicButton(192, 36, "Performance", Images.PERFORMANCE, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Profiles", Images.PROFILES, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Updates", Images.UPDATES, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Themes Library", Images.THEMES, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Themes Browser", Images.SEARCH, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Packs Library", Images.MOD_BOX, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Packs Browser", Images.SEARCH, null, -3, BasicButton.ALIGNMENT_LEFT));
- btnList.add(new BasicButton(192, 36, "Close", Images.CLOSE, null, -1, BasicButton.ALIGNMENT_LEFT, () -> UScreen.displayScreen(null)));
- btnList.add(new BasicButton(192, 36, "Minimize", Images.MINIMIZE, null, -1, BasicButton.ALIGNMENT_LEFT, () -> {
+ btnList.add(new BasicButton(192, 36, "Dashboard", SVGs.DASHBOARD, null, -3, BasicButton.ALIGNMENT_LEFT, new HomePage()));
+ btnList.add(new BasicButton(192, 36, "Global Search", SVGs.SEARCH, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Screenshots", SVGs.IMAGE, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Preferences", SVGs.SETTINGS, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Mods", SVGs.MODS, null, -3, BasicButton.ALIGNMENT_LEFT, new ModsPage()));
+ btnList.add(new BasicButton(192, 36, "Performance", SVGs.PERFORMANCE, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Profiles", SVGs.PROFILES, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Updates", SVGs.UPDATE, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Themes Library", SVGs.THEME, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Themes Browser", SVGs.SEARCH, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Packs Library", SVGs.BOX, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Packs Browser", SVGs.SEARCH, null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Close", SVGs.X_CIRCLE, null, -1, BasicButton.ALIGNMENT_LEFT, () -> UScreen.displayScreen(null)));
+ btnList.add(new BasicButton(192, 36, "Minimize", SVGs.MINIMISE, null, -1, BasicButton.ALIGNMENT_LEFT, () -> {
OneConfigGui.instanceToRestore = OneConfigGui.INSTANCE;
UScreen.displayScreen(null);
}));
- btnList.add(new BasicButton(192, 36, "Edit HUD", Images.HUD, null, 0, BasicButton.ALIGNMENT_LEFT, () -> UScreen.displayScreen(new HudGui())));
+ btnList.add(new BasicButton(192, 36, "Edit HUD", SVGs.HUD, null, 0, BasicButton.ALIGNMENT_LEFT, () -> UScreen.displayScreen(new HudGui())));
}
public void draw(long vg, int x, int y) {
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java
index f705d0b..2b2f590 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java
@@ -6,6 +6,7 @@ import cc.polyfrost.oneconfig.gui.pages.Page;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.ColorUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -13,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
public class BasicButton extends BasicElement {
protected String text;
- protected Images fileNameLeftIco, fileNameRightIco;
+ protected SVGs fileNameLeftIco, fileNameRightIco;
private final int thisAlignment;
private final float fontSize;
private final int colorPalette;
@@ -35,7 +36,7 @@ public class BasicButton extends BasicElement {
* @param colorPalette color palette to use. see {@link ColorUtils} for more info. Can support color palette of -2, which is larger font and icons. Also supports -3, which is just the text changing color.
* @param alignment alignment of the button. ALIGNMENT_LEFT or ALIGNMENT_CENTER.
*/
- public BasicButton(int width, int height, @NotNull String text, @Nullable Images fileNameLeftIco, @Nullable Images fileNameRightIco, int colorPalette, int alignment) {
+ public BasicButton(int width, int height, @NotNull String text, @Nullable SVGs fileNameLeftIco, @Nullable SVGs fileNameRightIco, int colorPalette, int alignment) {
super(width, height, colorPalette, true);
this.text = text;
if (fileNameLeftIco != null) this.fileNameLeftIco = fileNameLeftIco;
@@ -51,22 +52,22 @@ public class BasicButton extends BasicElement {
}
}
- public BasicButton(int width, int height, @NotNull String text, @Nullable Images fileNameLeftIco, @Nullable Images fileNameRightIco, int colorPalette, int alignment, Page page) {
+ public BasicButton(int width, int height, @NotNull String text, @Nullable SVGs fileNameLeftIco, @Nullable SVGs fileNameRightIco, int colorPalette, int alignment, Page page) {
this(width, height, text, fileNameLeftIco, fileNameRightIco, colorPalette, alignment);
this.page = page;
}
- public BasicButton(int width, int height, @NotNull String text, @Nullable Images fileNameLeftIco, @Nullable Images fileNameRightIco, int colorPalette, int alignment, boolean toggleable) {
+ public BasicButton(int width, int height, @NotNull String text, @Nullable SVGs fileNameLeftIco, @Nullable SVGs fileNameRightIco, int colorPalette, int alignment, boolean toggleable) {
this(width, height, text, fileNameLeftIco, fileNameRightIco, colorPalette, alignment);
this.toggleable = toggleable;
}
- public BasicButton(int width, int height, @NotNull String text, @Nullable Images fileNameLeftIco, @Nullable Images fileNameRightIco, int colorPalette, int alignment, Runnable runnable) {
+ public BasicButton(int width, int height, @NotNull String text, @Nullable SVGs fileNameLeftIco, @Nullable SVGs fileNameRightIco, int colorPalette, int alignment, Runnable runnable) {
this(width, height, text, fileNameLeftIco, fileNameRightIco, colorPalette, alignment);
this.runnable = runnable;
}
- public BasicButton(int width, int height, @NotNull String text, @Nullable Images fileNameLeftIco, @Nullable Images fileNameRightIco, int colorPalette, int alignment, boolean toggleable, Runnable runnable) {
+ public BasicButton(int width, int height, @NotNull String text, @Nullable SVGs fileNameLeftIco, @Nullable SVGs fileNameRightIco, int colorPalette, int alignment, boolean toggleable, Runnable runnable) {
this(width, height, text, fileNameLeftIco, fileNameRightIco, colorPalette, alignment, runnable);
this.toggleable = toggleable;
}
@@ -99,22 +100,22 @@ public class BasicButton extends BasicElement {
else
RenderManager.drawString(vg, text, middle - contentWidth / 2 + (fileNameLeftIco != null ? 28 : 0), y + ((float) height / 2) + 1, textColor, fontSize, Fonts.MEDIUM);
if (fileNameLeftIco != null) {
- if (alignIconLeft) RenderManager.drawImage(vg, fileNameLeftIco, x + 12, y + height / 2f - 10, 20, 20);
- else RenderManager.drawImage(vg, fileNameLeftIco, middle - contentWidth / 2, y + 8, 20, 20);
+ if (alignIconLeft) RenderManager.drawSvg(vg, fileNameLeftIco, x + 12, y + height / 2f - 10, 20, 20);
+ else RenderManager.drawSvg(vg, fileNameLeftIco, middle - contentWidth / 2, y + 8, 20, 20);
}
if (fileNameRightIco != null) {
- RenderManager.drawImage(vg, fileNameRightIco, middle + contentWidth / 2 - (fileNameLeftIco != null ? 20 : 24), y + 8, 20, 20);
+ RenderManager.drawSvg(vg, fileNameRightIco, middle + contentWidth / 2 - (fileNameLeftIco != null ? 20 : 24), y + 8, 20, 20);
}
}
if (thisAlignment == ALIGNMENT_LEFT) {
if (fileNameLeftIco != null) {
- RenderManager.drawImage(vg, fileNameLeftIco, x + 12, y + 8, 20, 20, textColor);
+ RenderManager.drawSvg(vg, fileNameLeftIco, x + 12, y + 8, 20, 20, textColor);
RenderManager.drawString(vg, text, x + 40, y + ((float) height / 2) + 1, textColor, fontSize, Fonts.MEDIUM);
} else {
RenderManager.drawString(vg, text, x + 12, y + ((float) height / 2) + 1, textColor, fontSize, Fonts.MEDIUM);
}
if (fileNameRightIco != null) {
- RenderManager.drawImage(vg, fileNameRightIco, x + width - 28, y + 8, 20, 20);
+ RenderManager.drawSvg(vg, fileNameRightIco, x + width - 28, y + 8, 20, 20);
}
}
this.update(x, y);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java
index c309191..faef4ef 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java
@@ -8,6 +8,7 @@ import cc.polyfrost.oneconfig.lwjgl.OneColor;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.InputUtils;
import cc.polyfrost.oneconfig.utils.MathUtils;
import org.lwjgl.input.Mouse;
@@ -77,7 +78,7 @@ public class ColorSelector {
RenderManager.drawRoundedRect(vg, x, y, width, height, OneConfigConfig.GRAY_800, 20f);
RenderManager.drawString(vg, "Color Selector", x + 16, y + 32, OneConfigConfig.WHITE_90, 18f, Fonts.SEMIBOLD);
closeBtn.draw(vg, x + 368, y + 16);
- RenderManager.drawImage(vg, Images.CLOSE_COLOR, x + 369, y + 17, 32, 32);
+ RenderManager.drawSvg(vg, SVGs.X_CIRCLE, x + 369, y + 17, 32, 32);
if (closeBtn.isClicked()) {
OneConfigGui.INSTANCE.closeColorSelector();
}
@@ -144,12 +145,12 @@ public class ColorSelector {
copyBtn.draw(vg, x + 204, y + 624);
pasteBtn.draw(vg, x + 244, y + 624);
- RenderManager.drawImage(vg, Images.COPY, x + 211, y + 631, 18, 18);
- RenderManager.drawImage(vg, Images.PASTE, x + 251, y + 631, 18, 18);
+ RenderManager.drawSvg(vg, SVGs.COPY, x + 211, y + 631, 18, 18);
+ RenderManager.drawSvg(vg, SVGs.PASTE, x + 251, y + 631, 18, 18);
guideBtn.draw(vg, x + 288, y + 624);
- RenderManager.drawImage(vg, Images.HELP, x + 301, y + 631, 18, 18);
- RenderManager.drawImage(vg, Images.LAUNCH, x + 369, y + 631, 18, 18);
+ RenderManager.drawSvg(vg, SVGs.HELP_CIRCLE, x + 301, y + 631, 18, 18);
+ RenderManager.drawSvg(vg, SVGs.POP_OUT, x + 369, y + 631, 18, 18);
boolean drag;
@@ -214,7 +215,7 @@ public class ColorSelector {
break;
}
bottomSlider.setGradient(OneConfigConfig.TRANSPARENT_25, color.getRGBNoAlpha());
- RenderManager.drawImage(vg, Images.COLOR_BASE_LONG, x + 16, y + 456, 384, 16);
+ RenderManager.drawImage(vg, Images.ALPHA_GRID, x + 16, y + 456, 384, 16);
bottomSlider.draw(vg, x + 16, y + 456);
RenderManager.drawRoundedRect(vg, mouseX - 6, mouseY - 6, 12, 12, OneConfigConfig.WHITE, 12f);
@@ -265,7 +266,7 @@ public class ColorSelector {
// draw the color preview
RenderManager.drawHollowRoundRect(vg, x + 15, y + 487, 384, 40, OneConfigConfig.GRAY_300, 12f, 2f);
- RenderManager.drawImage(vg, Images.COLOR_BASE_LARGE, x + 20, y + 492, 376, 32);
+ RenderManager.drawImage(vg, Images.ALPHA_GRID, x + 20, y + 492, 376, 32);
RenderManager.drawRoundedRect(vg, x + 20, y + 492, 376, 32, color.getRGB(), 8f);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
index 9af35f1..4942f9f 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
@@ -9,6 +9,7 @@ import cc.polyfrost.oneconfig.gui.pages.ModConfigPage;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.ColorUtils;
import cc.polyfrost.oneconfig.utils.InputUtils;
import gg.essential.universal.wrappers.UPlayer;
@@ -50,7 +51,7 @@ public class ModCard extends BasicElement {
if (iconPath != null) {
RenderManager.drawImage(vg, iconPath, x, y, width, 87);
} else {
- RenderManager.drawImage(vg, Images.MOD_BOX, x + 98, y + 19, 48, 48);
+ RenderManager.drawSvg(vg, SVGs.BOX, x + 98, y + 19, 48, 48);
}
favoriteHitbox.update(x + 212, y + 87);
favoriteHitbox.currentColor = ColorUtils.getColor(favoriteHitbox.currentColor, favoriteHitbox.colorPalette, favoriteHitbox.hovered, favoriteHitbox.clicked);
@@ -58,9 +59,9 @@ public class ModCard extends BasicElement {
favorite = favoriteHitbox.isToggled();
RenderManager.drawString(vg, modData.name, x + 12, y + 103, OneConfigConfig.WHITE, 14f, Fonts.MEDIUM);
if (favorite) {
- RenderManager.drawImage(vg, Images.FAVORITE, x + 220, y + 95, 16, 16);
+ RenderManager.drawSvg(vg, SVGs.HEART_FILL, x + 220, y + 95, 16, 16);
} else {
- RenderManager.drawImage(vg, Images.FAVORITE_OFF, x + 220, y + 95, 16, 16);
+ RenderManager.drawSvg(vg, SVGs.HEART_OUTLINE, x + 220, y + 95, 16, 16);
}
super.update(x, y);
isHoveredMain = InputUtils.isAreaHovered(x, y, width, 87);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigCheckbox.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigCheckbox.java
index 8a30d71..4553739 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigCheckbox.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigCheckbox.java
@@ -5,6 +5,7 @@ import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.ColorUtils;
import cc.polyfrost.oneconfig.utils.InputUtils;
import cc.polyfrost.oneconfig.utils.MathUtils;
@@ -49,9 +50,11 @@ public class ConfigCheckbox extends BasicOption {
RenderManager.drawString(vg, name, x + 32, y + 17, OneConfigConfig.WHITE_90, 14f, Fonts.MEDIUM);
percentOn = MathUtils.clamp(MathUtils.easeOut(percentOn, toggled ? 1f : 0f, 5f));
if (percentOn != 0 && percentOn != 1f) {
- RenderManager.drawImage(vg, Images.CHECKMARK, x, y + 4, 24, 24, new Color(1f, 1f, 1f, percentOn).getRGB());
+ RenderManager.drawRoundedRect(vg, x, y + 4, 24, 24, ColorUtils.setAlpha(OneConfigConfig.BLUE_500, (int) (percentOn * 255)), 6f);
+ RenderManager.drawSvg(vg, SVGs.CHECKBOX_TICK, x, y + 4, 24, 24, new Color(1f, 1f, 1f, percentOn).getRGB());
} else if (percentOn != 0) {
- RenderManager.drawImage(vg, Images.CHECKMARK, x, y + 4, 24, 24);
+ RenderManager.drawRoundedRect(vg, x, y + 4, 24, 24, OneConfigConfig.BLUE_500, 6f);
+ RenderManager.drawSvg(vg, SVGs.CHECKBOX_TICK, x, y + 4, 24, 24);
}
NanoVG.nvgGlobalAlpha(vg, 1f);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java
index aed367f..6cf60e0 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java
@@ -78,7 +78,7 @@ public class ConfigColorElement extends BasicOption {
element.update(x + 432, y);
RenderManager.drawRoundedRect(vg, x + 432, y, 64, 32, OneConfigConfig.GRAY_300, 12f);
- RenderManager.drawImage(vg, Images.COLOR_BASE, x + 948, y + 4, 56, 24, color.getRGB());
+ RenderManager.drawImage(vg, Images.ALPHA_GRID, x + 948, y + 4, 56, 24, color.getRGB());
if (element.isClicked() && !element.isToggled()) {
OneConfigGui.INSTANCE.initColorSelector(new ColorSelector(new OneColor(40, 30, 20), InputUtils.mouseX(), InputUtils.mouseY()));
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java
index c2cb0cf..199e0f0 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDropdown.java
@@ -5,6 +5,7 @@ import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.ColorUtils;
import cc.polyfrost.oneconfig.utils.InputUtils;
import org.lwjgl.input.Mouse;
@@ -53,14 +54,12 @@ public class ConfigDropdown extends BasicOption { // TODO: chose where dividers
RenderManager.drawRoundedRect(vg, x + 224, y, 256, 32, backgroundColor, 12);
RenderManager.drawString(vg, options[selected], x + 236, y + 16, OneConfigConfig.WHITE_80, 14f, Fonts.MEDIUM);
RenderManager.drawRoundedRect(vg, x + 452, y + 4, 24, 24, OneConfigConfig.BLUE_600, 8);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 459, y + 8, 10, 6);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 459, y + 24, 10, -6);
+ RenderManager.drawSvg(vg, SVGs.DROPDOWN_LIST, x + 452, y + 4, 24, 24);
} else {
RenderManager.drawRoundedRect(vg, x + 352, y, 640, 32, backgroundColor, 12);
RenderManager.drawString(vg, options[selected], x + 364, y + 16, OneConfigConfig.WHITE_80, 14f, Fonts.MEDIUM);
RenderManager.drawRoundedRect(vg, x + 964, y + 4, 24, 24, OneConfigConfig.BLUE_600, 8);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 971, y + 8, 10, 6);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 971, y + 24, 10, -6);
+ RenderManager.drawSvg(vg, SVGs.DROPDOWN_LIST, x + 964, y + 4, 24, 24);
}
NanoVG.nvgGlobalAlpha(vg, 1f);
}
@@ -114,8 +113,7 @@ public class ConfigDropdown extends BasicOption { // TODO: chose where dividers
if (hovered && Mouse.isButtonDown(0)) NanoVG.nvgGlobalAlpha(vg, 0.8f);
RenderManager.drawRoundedRect(vg, x + 452, y + 4, 24, 24, OneConfigConfig.BLUE_600, 8);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 459, y + 8, 10, 6);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 459, y + 24, 10, -6);
+ RenderManager.drawSvg(vg, SVGs.DROPDOWN_LIST, x + 452, y + 4, 24, 24);
} else {
RenderManager.drawRoundedRect(vg, x + 352, y, 640, 32, backgroundColor, 12);
RenderManager.drawString(vg, options[selected], x + 364, y + 16, OneConfigConfig.WHITE_80, 14f, Fonts.MEDIUM);
@@ -149,8 +147,7 @@ public class ConfigDropdown extends BasicOption { // TODO: chose where dividers
if (hovered && Mouse.isButtonDown(0)) NanoVG.nvgGlobalAlpha(vg, 0.8f);
RenderManager.drawRoundedRect(vg, x + 964, y + 4, 24, 24, OneConfigConfig.BLUE_600, 8);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 971, y + 8, 10, 6);
- RenderManager.drawImage(vg, Images.DROPDOWN_ARROW, x + 971, y + 24, 10, -6);
+ RenderManager.drawSvg(vg, SVGs.DROPDOWN_LIST, x + 964, y + 4, 24, 24);
}
NanoVG.nvgGlobalAlpha(vg, 1f);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java
index 2e29328..68ebf37 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java
@@ -6,28 +6,29 @@ import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.lwjgl.scissor.Scissor;
import cc.polyfrost.oneconfig.lwjgl.scissor.ScissorManager;
import java.lang.reflect.Field;
public class ConfigInfo extends BasicOption {
- private Images image;
+ private SVGs image;
public ConfigInfo(Field field, Object parent, String name, int size, InfoType type) {
super(field, parent, name, size);
switch (type) {
case INFO:
- image = Images.INFO;
+ image = SVGs.INFO_CIRCLE;
break;
case SUCCESS:
- image = Images.SUCCESS;
+ image = SVGs.CHECK_CIRCLE;
break;
case WARNING:
- image = Images.WARNING;
+ image = SVGs.WARNING;
break;
case ERROR:
- image = Images.ERROR;
+ image = SVGs.ERROR;
break;
}
}
@@ -35,7 +36,7 @@ public class ConfigInfo extends BasicOption {
@Override
public void draw(long vg, int x, int y) {
Scissor scissor = ScissorManager.scissor(vg, x, y, size == 1 ? 448 : 960, 32);
- RenderManager.drawImage(vg, image, x, y + 4, 24, 24);
+ RenderManager.drawSvg(vg, image, x, y + 4, 24, 24);
RenderManager.drawString(vg, name, x + 32, y + 18, OneConfigConfig.WHITE_90, 14, Fonts.MEDIUM);
ScissorManager.resetScissor(vg, scissor);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java
index 01a2bd2..5b3efae 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java
@@ -8,6 +8,7 @@ import cc.polyfrost.oneconfig.gui.elements.BasicButton;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import gg.essential.universal.UKeyboard;
import org.lwjgl.nanovg.NanoVG;
@@ -19,7 +20,7 @@ public class ConfigKeyBind extends BasicOption {
public ConfigKeyBind(Field field, Object parent, String name, int size) {
super(field, parent, name, size);
- button = new BasicButton(256, 32, "", Images.KEYSTROKE, null, 0, BasicButton.ALIGNMENT_CENTER, true);
+ button = new BasicButton(256, 32, "", SVGs.KEYSTROKE, null, 0, BasicButton.ALIGNMENT_CENTER, true);
button.alignIconLeft(true);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java
index 3288123..81cd946 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java
@@ -8,6 +8,7 @@ import cc.polyfrost.oneconfig.gui.pages.ModConfigPage;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.ColorUtils;
import cc.polyfrost.oneconfig.utils.InputUtils;
import org.lwjgl.input.Mouse;
@@ -40,7 +41,7 @@ public class ConfigPageButton extends BasicOption {
RenderManager.drawString(vg, name, x + 10, y + 32, OneConfigConfig.WHITE_90, 24, Fonts.MEDIUM);
if (!description.equals(""))
RenderManager.drawString(vg, name, x + 10, y + 70, OneConfigConfig.WHITE_90, 14, Fonts.MEDIUM);
- RenderManager.drawImage(vg, Images.CHEVRON_ARROW, x + 981f, y + (description.equals("") ? 20f : 36f), 13, 22);
+ RenderManager.drawSvg(vg, SVGs.CHEVRON_RIGHT, x + 981f, y + (description.equals("") ? 20f : 36f), 13, 22);
if (clicked) OneConfigGui.INSTANCE.openPage(new ModConfigPage(page));
NanoVG.nvgGlobalAlpha(vg, 1f);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
index 3aa4050..d420f01 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigTextBox.java
@@ -5,6 +5,7 @@ import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.InputUtils;
import cc.polyfrost.oneconfig.gui.elements.text.TextInputField;
import org.lwjgl.nanovg.NanoVG;
@@ -39,7 +40,7 @@ public class ConfigTextBox extends BasicOption {
textField.draw(vg, x + (size == 1 && hasHalfSize() ? 224 : 352), y);
if (secure)
- RenderManager.drawImage(vg, Images.HIDE_EYE, x + 967, y + 7, 18, 18, new Color(196, 196, 196).getRGB());
+ RenderManager.drawSvg(vg, SVGs.EYE, x + 967, y + 7, 18, 18, new Color(196, 196, 196).getRGB());
if (secure && InputUtils.isAreaClicked(x + 967, y + 7, 18, 18)) textField.setPassword(!textField.getPassword());
NanoVG.nvgGlobalAlpha(vg, 1f);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java
index a9b0ab1..e8927fd 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java
@@ -3,6 +3,7 @@ package cc.polyfrost.oneconfig.gui.elements.config;
import cc.polyfrost.oneconfig.config.OneConfigConfig;
import cc.polyfrost.oneconfig.config.interfaces.BasicOption;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.lwjgl.scissor.Scissor;
import cc.polyfrost.oneconfig.lwjgl.scissor.ScissorManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
@@ -49,10 +50,10 @@ public class ConfigUniSelector extends BasicOption {
}
ScissorManager.resetScissor(vg, scissor);
- RenderManager.drawImage(vg, Images.CHEVRON_ARROW, x + 248, y + 7, -8, 14, OneConfigConfig.BLUE_400);
- RenderManager.drawImage(vg, Images.CHEVRON_ARROW, x + 456, y + 7, 8, 14, OneConfigConfig.BLUE_400);
+ RenderManager.drawSvg(vg, SVGs.CHEVRON_LEFT, x + 231, y + 7, 18, 18, OneConfigConfig.BLUE_400);
+ RenderManager.drawSvg(vg, SVGs.CHEVRON_RIGHT, x + 455, y + 7, 18, 18, OneConfigConfig.BLUE_400);
- if (InputUtils.isAreaClicked(x + 235, y + 5, 18, 18) && selected > 0 && isEnabled()) {
+ if (InputUtils.isAreaClicked(x + 231, y + 7, 18, 18) && selected > 0 && isEnabled()) {
previous = selected;
selected -= 1;
try {
@@ -60,7 +61,7 @@ public class ConfigUniSelector extends BasicOption {
} catch (IllegalAccessException ignored) {
}
percentMove = selected < previous ? 0f : 1f;
- } else if (InputUtils.isAreaClicked(x + 451, y + 5, 18, 18) && selected < options.length - 1 && isEnabled()) {
+ } else if (InputUtils.isAreaClicked(x + 455, y + 7, 18, 18) && selected < options.length - 1 && isEnabled()) {
previous = selected;
selected += 1;
try {
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
index 655900a..0660efe 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
@@ -4,6 +4,7 @@ import cc.polyfrost.oneconfig.config.OneConfigConfig;
import cc.polyfrost.oneconfig.gui.elements.BasicElement;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.ColorUtils;
import org.lwjgl.nanovg.NanoVG;
@@ -29,6 +30,8 @@ public class NumberInputField extends TextInputField {
public void draw(long vg, int x, int y) {
super.errored = false;
RenderManager.drawRoundedRect(vg, x + width + 4, y, 12, 28, OneConfigConfig.GRAY_500, 6f);
+ upArrow.disable(disabled);
+ downArrow.disable(disabled);
upArrow.update(x + width + 4, y);
downArrow.update(x + width + 4, y + 14);
try {
@@ -58,20 +61,20 @@ public class NumberInputField extends TextInputField {
if (current < min) current = min;
setCurrentValue(current);
}
- if (current >= max) {
+ if (current >= max && !disabled) {
NanoVG.nvgGlobalAlpha(vg, 0.3f);
upArrow.disable(true);
}
RenderManager.drawRoundedRectVaried(vg, x + width + 4, y, 12, 14, colorTop, 6f, 6f, 0f, 0f);
- RenderManager.drawImage(vg, Images.UP_ARROW, x + width + 5, y + 2, 10, 10);
- if (current >= max) NanoVG.nvgGlobalAlpha(vg, 1f);
+ RenderManager.drawSvg(vg, SVGs.CHEVRON_UP, x + width + 5, y + 2, 10, 10);
+ if (current >= max && !disabled) NanoVG.nvgGlobalAlpha(vg, 1f);
- if (current <= min) {
+ if (current <= min && !disabled) {
NanoVG.nvgGlobalAlpha(vg, 0.3f);
downArrow.disable(true);
}
RenderManager.drawRoundedRectVaried(vg, x + width + 4, y + 14, 12, 14, colorBottom, 0f, 0f, 6f, 6f);
- RenderManager.drawImage(vg, Images.UP_ARROW, x + width + 5, y + 25, 10, -10);
+ RenderManager.drawSvg(vg, SVGs.CHEVRON_DOWN, x + width + 5, y + 15, 10, 10);
NanoVG.nvgGlobalAlpha(vg, 1f);
try {
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/HomePage.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/HomePage.java
index dd73183..a65f227 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/HomePage.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/HomePage.java
@@ -8,12 +8,13 @@ import cc.polyfrost.oneconfig.lwjgl.OneColor;
import cc.polyfrost.oneconfig.lwjgl.RenderManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import cc.polyfrost.oneconfig.utils.InputUtils;
import java.awt.*;
public class HomePage extends Page {
- private final BasicButton btn = new BasicButton(184, 36, "Socials", Images.SHARE, Images.LAUNCH, 1, BasicButton.ALIGNMENT_CENTER);
+ private final BasicButton btn = new BasicButton(184, 36, "Socials", SVGs.SHARE, SVGs.POP_OUT, 1, BasicButton.ALIGNMENT_CENTER);
public HomePage() {
super("Home Dashboard");
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
index 2b3dfd7..1d2dfac 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
@@ -90,7 +90,8 @@ public class ModsPage extends Page {
@Override
public int getMaxScrollHeight() {
- return size;
+ //return size;
+ return 3298046;
}
@Override
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
index 4276865..a2da805 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/RenderManager.java
@@ -1,18 +1,18 @@
package cc.polyfrost.oneconfig.lwjgl;
import cc.polyfrost.oneconfig.config.OneConfigConfig;
+import cc.polyfrost.oneconfig.gui.OneConfigGui;
import cc.polyfrost.oneconfig.lwjgl.font.FontManager;
import cc.polyfrost.oneconfig.lwjgl.font.Fonts;
-import cc.polyfrost.oneconfig.lwjgl.image.Image;
import cc.polyfrost.oneconfig.lwjgl.image.ImageLoader;
import cc.polyfrost.oneconfig.lwjgl.image.Images;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import gg.essential.universal.UGraphics;
import gg.essential.universal.UMinecraft;
import gg.essential.universal.UResolution;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.shader.Framebuffer;
-import org.lwjgl.nanovg.NVGColor;
-import org.lwjgl.nanovg.NVGPaint;
+import org.lwjgl.nanovg.*;
import org.lwjgl.opengl.GL11;
import java.util.function.LongConsumer;
@@ -203,10 +203,9 @@ public final class RenderManager {
public static void drawImage(long vg, String filePath, float x, float y, float width, float height) {
if (ImageLoader.INSTANCE.loadImage(vg, filePath)) {
NVGPaint imagePaint = NVGPaint.calloc();
- cc.polyfrost.oneconfig.lwjgl.image.Image image = ImageLoader.INSTANCE.getImage(filePath);
+ int image = ImageLoader.INSTANCE.getImage(filePath);
nvgBeginPath(vg);
-
- nvgImagePattern(vg, x, y, width, height, 0, image.getReference(), 1, imagePaint);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
nvgRect(vg, x, y, width, height);
nvgFillPaint(vg, imagePaint);
nvgFill(vg);
@@ -217,9 +216,9 @@ public final class RenderManager {
public static void drawImage(long vg, String filePath, float x, float y, float width, float height, int color) {
if (ImageLoader.INSTANCE.loadImage(vg, filePath)) {
NVGPaint imagePaint = NVGPaint.calloc();
- Image image = ImageLoader.INSTANCE.getImage(filePath);
+ int image = ImageLoader.INSTANCE.getImage(filePath);
nvgBeginPath(vg);
- nvgImagePattern(vg, x, y, width, height, 0, image.getReference(), 1, imagePaint);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
nvgRGBA((byte) (color >> 16 & 0xFF), (byte) (color >> 8 & 0xFF), (byte) (color & 0xFF), (byte) (color >> 24 & 0xFF), imagePaint.innerColor());
nvgRect(vg, x, y, width, height);
nvgFillPaint(vg, imagePaint);
@@ -231,15 +230,14 @@ public final class RenderManager {
public static void drawRoundImage(long vg, String filePath, float x, float y, float width, float height, float radius) {
if (ImageLoader.INSTANCE.loadImage(vg, filePath)) {
NVGPaint imagePaint = NVGPaint.calloc();
- cc.polyfrost.oneconfig.lwjgl.image.Image image = ImageLoader.INSTANCE.getImage(filePath);
+ int image = ImageLoader.INSTANCE.getImage(filePath);
nvgBeginPath(vg);
- nvgImagePattern(vg, x, y, width, height, 0, image.getReference(), 1, imagePaint);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
nvgRoundedRect(vg, x, y, width, height, radius);
nvgFillPaint(vg, imagePaint);
nvgFill(vg);
imagePaint.free();
}
-
}
public static void drawRoundImage(long vg, Images filePath, float x, float y, float width, float height, float radius) {
@@ -299,6 +297,86 @@ public final class RenderManager {
return nvgColor;
}
+ public static void drawSvg(long vg, String filePath, float x, float y, float width, float height) {
+ float w = width;
+ float h = height;
+ if (OneConfigGui.INSTANCE != null) {
+ w *= OneConfigGui.INSTANCE.getScaleFactor();
+ h *= OneConfigGui.INSTANCE.getScaleFactor();
+ }
+ if (ImageLoader.INSTANCE.loadSVG(vg, filePath, w, h)) {
+ NVGPaint imagePaint = NVGPaint.calloc();
+ int image = ImageLoader.INSTANCE.getSVG(filePath, w, h);
+ nvgBeginPath(vg);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
+ nvgRect(vg, x, y, width, height);
+ nvgFillPaint(vg, imagePaint);
+ nvgFill(vg);
+ imagePaint.free();
+ }
+ }
+
+ public static void drawSvg(long vg, String filePath, float x, float y, float width, float height, int color) {
+ float w = width;
+ float h = height;
+ if (OneConfigGui.INSTANCE != null) {
+ w *= OneConfigGui.INSTANCE.getScaleFactor();
+ h *= OneConfigGui.INSTANCE.getScaleFactor();
+ }
+ if (ImageLoader.INSTANCE.loadSVG(vg, filePath, w, h)) {
+ NVGPaint imagePaint = NVGPaint.calloc();
+ int image = ImageLoader.INSTANCE.getSVG(filePath, w, h);
+ nvgBeginPath(vg);
+ nvgImagePattern(vg, x, y, width, height, 0, image, 1, imagePaint);
+ nvgRGBA((byte) (color >> 16 & 0xFF), (byte) (color >> 8 & 0xFF), (byte) (color & 0xFF), (byte) (color >> 24 & 0xFF), imagePaint.innerColor());
+ nvgRect(vg, x, y, width, height);
+ nvgFillPaint(vg, imagePaint);
+ nvgFill(vg);
+ imagePaint.free();
+ }
+ }
+
+ public static void drawSvg(long vg, SVGs svg, float x, float y, float width, float height) {
+ drawSvg(vg, svg.filePath, x, y, width, height);
+ }
+
+ public static void drawSvg(long vg, SVGs svg, float x, float y, float width, float height, int color) {
+ drawSvg(vg, svg.filePath, x, y, width, height, color);
+ }
+
+ /*public static void drawSvg(long vg, String filename) {
+ if (ImageLoader.INSTANCE.loadSVGImage(filename)) {
+ try {
+ NSVGImage image = ImageLoader.INSTANCE.getSVG(filename);
+ NSVGShape shape = image.shapes();
+ NSVGPath path = shape.paths();
+ while (shape.address() != 0) {
+ while (path.address() != 0) {
+ nvgBeginPath(vg);
+ nvgFillColor(vg, color(vg, new Color(255, 255, 255).getRGB()));
+ nvgStrokeColor(vg, color(vg, new Color(255, 255, 255).getRGB()));
+ nvgStrokeWidth(vg, shape.strokeWidth());
+ FloatBuffer points = path.pts();
+ nvgMoveTo(vg, points.get(), points.get());
+ while (points.remaining() >= 6){
+ nvgBezierTo(vg, points.get(), points.get(), points.get(), points.get(), points.get(), points.get());
+ }
+ if (path.closed() == 1) {
+ nvgLineTo(vg, points.get(0), points.get(1));
+ }
+ nvgStroke(vg);
+ nvgClosePath(vg);
+ path = path.next();
+ }
+ shape = shape.next();
+ }
+ path.free();
+ shape.free();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }*/
// gl
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java
deleted file mode 100644
index 2e63154..0000000
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Image.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package cc.polyfrost.oneconfig.lwjgl.image;
-
-import java.nio.ByteBuffer;
-
-public class Image {
- private final int reference;
- private final ByteBuffer buffer;
-
- public Image(int reference, ByteBuffer buffer) {
- this.reference = reference;
- this.buffer = buffer;
- }
-
- public ByteBuffer getBuffer() {
- return buffer;
- }
-
- public int getReference() {
- return reference;
- }
-}
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
index 479104c..128ae48 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
@@ -1,14 +1,21 @@
package cc.polyfrost.oneconfig.lwjgl.image;
import cc.polyfrost.oneconfig.utils.IOUtils;
+import org.lwjgl.nanovg.NSVGImage;
+import org.lwjgl.nanovg.NanoSVG;
import org.lwjgl.nanovg.NanoVG;
import org.lwjgl.stb.STBImage;
+import org.lwjgl.system.MemoryUtil;
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import java.util.HashMap;
public class ImageLoader {
- private final HashMap<String, Image> imageHashMap = new HashMap<>();
+ private final HashMap<String, Integer> imageHashMap = new HashMap<>();
+ private final HashMap<String, Integer> SVGHashMap = new HashMap<>();
public static ImageLoader INSTANCE = new ImageLoader();
public boolean loadImage(long vg, String fileName) {
@@ -27,19 +34,86 @@ public class ImageLoader {
return false;
}
- imageHashMap.put(fileName, new Image(NanoVG.nvgCreateImageRGBA(vg, width[0], height[0], NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, buffer), buffer));
+ imageHashMap.put(fileName, NanoVG.nvgCreateImageRGBA(vg, width[0], height[0], NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, buffer));
return true;
}
return true;
}
+ public boolean loadSVG(long vg, String fileName, float SVGWidth, float SVGHeight) {
+ String name = fileName + "-" + SVGWidth + "-" + SVGHeight;
+ if (!SVGHashMap.containsKey(name)) {
+ try {
+ InputStream inputStream = this.getClass().getResourceAsStream(fileName);
+ if (inputStream == null) return false;
+ StringBuilder resultStringBuilder = new StringBuilder();
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
+ String line;
+ while ((line = br.readLine()) != null) {
+ resultStringBuilder.append(line);
+ }
+ }
+ CharSequence s = resultStringBuilder.toString();
+ NSVGImage svg = NanoSVG.nsvgParse(s, "px", 96f);
+ if (svg == null) return false;
+ long rasterizer = NanoSVG.nsvgCreateRasterizer();
- public void removeImage(String fileName) {
- imageHashMap.remove(fileName);
+ int w = (int) svg.width();
+ int h = (int) svg.height();
+ float scale = Math.max(SVGWidth / w, SVGHeight / h);
+ w = (int) (w * scale);
+ h = (int) (h * scale);
+
+ ByteBuffer image = MemoryUtil.memAlloc(w * h * 4);
+ NanoSVG.nsvgRasterize(rasterizer, svg, 0, 0, scale, image, w, h, w * 4);
+
+ NanoSVG.nsvgDeleteRasterizer(rasterizer);
+ NanoSVG.nsvgDelete(svg);
+
+ SVGHashMap.put(name, NanoVG.nvgCreateImageRGBA(vg, w, h, NanoVG.NVG_IMAGE_REPEATX | NanoVG.NVG_IMAGE_REPEATY | NanoVG.NVG_IMAGE_GENERATE_MIPMAPS, image));
+ return true;
+ } catch (Exception e) {
+ System.err.println("Failed to parse SVG file");
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
}
- public Image getImage(String fileName) {
+ public int getImage(String fileName) {
return imageHashMap.get(fileName);
}
+ public void removeImage(long vg, String fileName) {
+ NanoVG.nvgDeleteImage(vg, imageHashMap.get(fileName));
+ imageHashMap.remove(fileName);
+ }
+
+ public void clearImages(long vg) {
+ HashMap<String, Integer> temp = new HashMap<>(imageHashMap);
+ for (String image : temp.keySet()) {
+ NanoVG.nvgDeleteImage(vg, imageHashMap.get(image));
+ imageHashMap.remove(image);
+ }
+ }
+
+ public int getSVG( String fileName, float width, float height) {
+ String name = fileName + "-" + width + "-" + height;
+ return SVGHashMap.get(name);
+ }
+
+ public void removeSVG(long vg, String fileName, float width, float height) {
+ String name = fileName + "-" + width + "-" + height;
+ NanoVG.nvgDeleteImage(vg, imageHashMap.get(name));
+ SVGHashMap.remove(name);
+ }
+
+ public void clearSVGs(long vg) {
+ HashMap<String, Integer> temp = new HashMap<>(SVGHashMap);
+ for (String image : temp.keySet()) {
+ NanoVG.nvgDeleteImage(vg, SVGHashMap.get(image));
+ SVGHashMap.remove(image);
+ }
+ }
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java
index 97ed221..55aa8f0 100644
--- a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/Images.java
@@ -1,59 +1,14 @@
package cc.polyfrost.oneconfig.lwjgl.image;
public enum Images {
- CHEVRON_ARROW("/assets/oneconfig/icons/chevron.png"),
- DROPDOWN_ARROW("/assets/oneconfig/icons/dropdown_arrow.png"),
- UP_ARROW("/assets/oneconfig/icons/up_arrow.png"),
- CIRCLE_ARROW("/assets/oneconfig/icons/circle_arrow.png"),
-
- CHECKMARK("/assets/oneconfig/icons/checkmark.png"),
- FAVORITE("/assets/oneconfig/icons/favorite_active.png"),
- FAVORITE_OFF("/assets/oneconfig/icons/favorite_inactive.png"),
- HIDE_EYE("/assets/oneconfig/icons/hide_eye.png"),
- HIDE_EYE_OFF("/assets/oneconfig/icons/hide_eye_off.png"),
- KEYSTROKE("/assets/oneconfig/icons/keystroke.png"),
-
- COLOR_BASE("/assets/oneconfig/colorui/color_base.png"),
- COLOR_BASE_LONG("/assets/oneconfig/colorui/color_base_long.png"),
- COLOR_BASE_LARGE("/assets/oneconfig/colorui/color_base_large.png"),
- COLOR_WHEEL("/assets/oneconfig/colorui/color_wheel.png"),
- HUE_GRADIENT("/assets/oneconfig/colorui/hue_gradient.png"),
- CLOSE_COLOR("/assets/oneconfig/colorui/close_color.png"),
-
- INFO("/assets/oneconfig/icons/info.png"),
- SUCCESS("/assets/oneconfig/icons/success.png"),
- WARNING("/assets/oneconfig/icons/warning.png"),
- ERROR("/assets/oneconfig/icons/error.png"),
-
- SHARE("/assets/oneconfig/icons/share.png"),
- LAUNCH("/assets/oneconfig/icons/launch.png"),
- SEARCH("/assets/oneconfig/icons/search.png"),
- MINIMIZE("/assets/oneconfig/icons/minimize.png"),
- CLOSE("/assets/oneconfig/icons/close.png"),
- HELP("/assets/oneconfig/icons/help.png"),
- COPY("/assets/oneconfig/icons/copy.png"),
- PASTE("/assets/oneconfig/icons/paste.png"),
-
- LOGO("/assets/oneconfig/icons/logo.png"),
-
- HUD("/assets/oneconfig/icons/hud.png"),
- HUD_SETTINGS("/assets/oneconfig/icons/settings.png"),
-
- MOD_BOX("/assets/oneconfig/icons/mod_box.png"),
- MODS("/assets/oneconfig/icons/mods.png"),
- PERFORMANCE("/assets/oneconfig/icons/performance.png"),
-
- DASHBOARD("/assets/oneconfig/icons/dashboard.png"),
- PREFERENCES("/assets/oneconfig/icons/preferences.png"),
- PROFILES("/assets/oneconfig/icons/profiles.png"),
- SCREENSHOT("/assets/oneconfig/icons/screenshot.png"),
- THEMES("/assets/oneconfig/icons/themes.png"),
- UPDATES("/assets/oneconfig/icons/updates.png"),
- ;
+ HUE_GRADIENT("/assets/oneconfig/colorui/huegradient.png"),
+ COLOR_WHEEL("/assets/oneconfig/colorui/colorwheel.png"),
+ HSB_GRADIENT("/assets/oneconfig/colorui/hsbgradient.png"),
+ ALPHA_GRID("/assets/oneconfig/colorui/alphagrid.png");
public final String filePath;
Images(String filePath) {
this.filePath = filePath;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java
new file mode 100644
index 0000000..1b8744f
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/lwjgl/image/SVGs.java
@@ -0,0 +1,132 @@
+package cc.polyfrost.oneconfig.lwjgl.image;
+
+public enum SVGs {
+ ALIGN_H_CENTER("/assets/oneconfig/icons/AlignHCenter.svg"),
+ ALIGN_H_LEFT("/assets/oneconfig/icons/AlignHLeft.svg"),
+ ALIGN_H_RIGHT("/assets/oneconfig/icons/AlignHRight.svg"),
+ ALIGN_V_BOTTOM("/assets/oneconfig/icons/AlignVBottom.svg"),
+ ALIGN_V_MIDDLE("/assets/oneconfig/icons/AlignVMiddle.svg"),
+ ALIGN_V_TOP("/assets/oneconfig/icons/AlignVTop.svg"),
+ ARROW_CIRCLE_DOWN("/assets/oneconfig/icons/ArrowCircleDown.svg"),
+ ARROW_CIRCLE_LEFT("/assets/oneconfig/icons/ArrowCircleLeft.svg"),
+ ARROW_CIRCLE_RIGHT("/assets/oneconfig/icons/ArrowCircleRight.svg"),
+ ARROW_CIRCLE_UP("/assets/oneconfig/icons/ArrowCircleUp.svg"),
+ ARROW_DOWN("/assets/oneconfig/icons/ArrowDown.svg"),
+ ARROW_LEFT("/assets/oneconfig/icons/ArrowLeft.svg"),
+ ARROW_RIGHT("/assets/oneconfig/icons/ArrowRight.svg"),
+ ARROW_UP("/assets/oneconfig/icons/ArrowUp.svg"),
+ AUDIO_PAUSE("/assets/oneconfig/icons/AudioPause.svg"),
+ AUDIO_PLAY("/assets/oneconfig/icons/AudioPlay.svg"),
+ AUDIO_PREVIOUS("/assets/oneconfig/icons/AudioPrevious.svg"),
+ AUDIO_SKIP("/assets/oneconfig/icons/AudioSkip.svg"),
+ BELL("/assets/oneconfig/icons/Bell.svg"),
+ BELL_OFF("/assets/oneconfig/icons/BellOff.svg"),
+ BOX("/assets/oneconfig/icons/Box.svg"),
+ CAMERA("/assets/oneconfig/icons/Camera.svg"),
+ CART("/assets/oneconfig/icons/Cart.svg"),
+ CASH("/assets/oneconfig/icons/Cash.svg"),
+ CASH_DOLLAR("/assets/oneconfig/icons/CashDollar.svg"),
+ CHECKBOX_MIXED("/assets/oneconfig/icons/CheckboxMixed.svg"),
+ CHECKBOX_TICK("/assets/oneconfig/icons/CheckboxTick.svg"),
+ CHECK_CIRCLE("/assets/oneconfig/icons/CheckCircle.svg"),
+ CHEVRON_DOWN("/assets/oneconfig/icons/ChevronDown.svg"),
+ CHEVRON_LEFT("/assets/oneconfig/icons/ChevronLeft.svg"),
+ CHEVRON_RIGHT("/assets/oneconfig/icons/ChevronRight.svg"),
+ CHEVRON_UP("/assets/oneconfig/icons/ChevronUp.svg"),
+ CLOCK("/assets/oneconfig/icons/Clock.svg"),
+ CODE("/assets/oneconfig/icons/Code.svg"),
+ COMBO_BOX_UP("/assets/oneconfig/icons/ComboBoxUp.svg"),
+ COMBO_BOX_DOWN("/assets/oneconfig/icons/ComboBoxDown.svg"),
+ CONTENT("/assets/oneconfig/icons/Content.svg"),
+ COPY("/assets/oneconfig/icons/Copy.svg"),
+ CREDIT_CARD("/assets/oneconfig/icons/CreditCard.svg"),
+ CREDIT_CARD_ADD("/assets/oneconfig/icons/CreditCardAdd.svg"),
+ CUBE("/assets/oneconfig/icons/Cube.svg"),
+ DASHBOARD("/assets/oneconfig/icons/Dashboard.svg"),
+ DELETE("/assets/oneconfig/icons/Delete.svg"),
+ DOLLAR("/assets/oneconfig/icons/Dollar.svg"),
+ DOLLAR_CIRCLE("/assets/oneconfig/icons/DollarCircle.svg"),
+ DROPDOWN_LIST("/assets/oneconfig/icons/DropdownList.svg"), // TODO: old usage is DROPDOWN_ARROW, needs some work from developer side
+ EARTH("/assets/oneconfig/icons/Earth.svg"),
+ EDIT("/assets/oneconfig/icons/Edit.svg"),
+ ERROR("/assets/oneconfig/icons/Error.svg"),
+ EXPORT("/assets/oneconfig/icons/Export.svg"),
+ EYE("/assets/oneconfig/icons/Eye.svg"),
+ EYE_OFF("/assets/oneconfig/icons/EyeOff.svg"),
+ FABRIC_LOADER("/assets/oneconfig/icons/FabricLoader.svg"),
+ FILE("/assets/oneconfig/icons/File.svg"),
+ FILTER("/assets/oneconfig/icons/Filter.svg"),
+ FOLDER("/assets/oneconfig/icons/Folder.svg"),
+ FORGE_LOADER("/assets/oneconfig/icons/ForgeLoader.svg"),
+ HAMBURGER("/assets/oneconfig/icons/Hamburger.svg"),
+ HEART_BROKEN("/assets/oneconfig/icons/HeartBroken.svg"),
+ HEART_FILL("/assets/oneconfig/icons/HeartFill.svg"),
+ HEART_OUTLINE("/assets/oneconfig/icons/HeartOutline.svg"),
+ HELP_CIRCLE("/assets/oneconfig/icons/HelpCircle.svg"),
+ HISTORY("/assets/oneconfig/icons/History.svg"),
+ HOME("/assets/oneconfig/icons/Home.svg"),
+ HUD("/assets/oneconfig/icons/HUD.svg"),
+ HUD_SETTINGS("/assets/oneconfig/icons/HUDSettings.svg"),
+ IMAGE("/assets/oneconfig/icons/Image.svg"),
+ INFO_CIRCLE("/assets/oneconfig/icons/InfoCircle.svg"),
+ ITEM_LINK_BROKE("/assets/oneconfig/icons/ItemLinkBroke.svg"),
+ ITEM_LINKED("/assets/oneconfig/icons/ItemLinked.svg"),
+ KEYSTROKE("/assets/oneconfig/icons/Keystroke.svg"),
+ LAUNCH_PROFILES("/assets/oneconfig/icons/LaunchProfiles.svg"),
+ LINK_DIAGONAL("/assets/oneconfig/icons/LinkDiagonal.svg"),
+ LINK_HORIZONTAL("/assets/oneconfig/icons/LinkHorizontal.svg"),
+ LOCATION_POINT("/assets/oneconfig/icons/LocationPoint.svg"),
+ MAXIMISE("/assets/oneconfig/icons/Maximise.svg"),
+ MIC("/assets/oneconfig/icons/Mic.svg"),
+ MIC_OFF("/assets/oneconfig/icons/MicOff.svg"),
+ MICROSOFT_ICON("/assets/oneconfig/icons/MicrosoftIcon.svg"),
+ MINIMISE("/assets/oneconfig/icons/Minimise.svg"),
+ MINUS_CIRCLE("/assets/oneconfig/icons/MinusCircle.svg"),
+ MODS("/assets/oneconfig/icons/Mods.svg"),
+ MOVE("/assets/oneconfig/icons/Move.svg"),
+ NAVIGATION("/assets/oneconfig/icons/Navigation.svg"),
+ ONECONFIG("/assets/oneconfig/icons/OneConfig.svg"),
+ ONECONFIG_OFF("/assets/oneconfig/icons/OneConfigOff.svg"),
+ PASTE("/assets/oneconfig/icons/Paste.svg"),
+ PERFORMANCE("/assets/oneconfig/icons/Performance.svg"),
+ PLUS_CIRCLE("/assets/oneconfig/icons/PlusCircle.svg"),
+ POP_OUT("/assets/oneconfig/icons/PopOut.svg"),
+ PROFILES("/assets/oneconfig/icons/Profiles.svg"),
+ RESET("/assets/oneconfig/icons/Reset.svg"),
+ SAVE("/assets/oneconfig/icons/Save.svg"),
+ SEARCH("/assets/oneconfig/icons/Search.svg"),
+ SEND("/assets/oneconfig/icons/Send.svg"),
+ SETTINGS("/assets/oneconfig/icons/Settings.svg"),
+ SHAPE_CIRCLE("/assets/oneconfig/icons/ShapeCircle.svg"),
+ SHAPE_DOT("/assets/oneconfig/icons/ShapeDot.svg"),
+ SHAPE_HEXAGON("/assets/oneconfig/icons/ShapeHexagon.svg"),
+ SHAPE_SQUARE("/assets/oneconfig/icons/ShapeSquare.svg"),
+ SHAPE_TRIANGLE("/assets/oneconfig/icons/ShapeTriangle.svg"),
+ SHARE("/assets/oneconfig/icons/Share.svg"),
+ SHOPPING_BAG("/assets/oneconfig/icons/ShoppingBag.svg"),
+ SPACING("/assets/oneconfig/icons/Spacing.svg"),
+ THEME("/assets/oneconfig/icons/Theme.svg"),
+ THUMBS_DOWN("/assets/oneconfig/icons/ThumbsDown.svg"),
+ THUMBS_UP("/assets/oneconfig/icons/ThumbsUp.svg"),
+ UPDATE("/assets/oneconfig/icons/Update.svg"),
+ VOLUME_HIGH("/assets/oneconfig/icons/VolumeHigh.svg"),
+ VOLUME_MEDIUM("/assets/oneconfig/icons/VolumeMedium.svg"),
+ VOLUME_LOW("/assets/oneconfig/icons/VolumeLow.svg"),
+ VOLUME_NONE("/assets/oneconfig/icons/VolumeNone.svg"),
+ VOLUME_MUTE("/assets/oneconfig/icons/VolumeMute.svg"),
+ VOLUME_OFF("/assets/oneconfig/icons/VolumeOff.svg"),
+ VOLUME_MINUS("/assets/oneconfig/icons/VolumeMinus.svg"),
+ VOLUME_PLUS("/assets/oneconfig/icons/VolumePlus.svg"),
+ WARNING("/assets/oneconfig/icons/Warning.svg"),
+ WEBSITE("/assets/oneconfig/icons/Website.svg"),
+ X_CIRCLE("/assets/oneconfig/icons/XCircle.svg"),
+ X_CROSS("/assets/oneconfig/icons/XCross.svg"),
+ ZOOM_IN("/assets/oneconfig/icons/ZoomIn.svg"),
+ ZOOM_OUT("/assets/oneconfig/icons/ZoomOut.svg");
+
+ public final String filePath;
+
+ SVGs(String filePath) {
+ this.filePath = filePath;
+ }
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java b/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java
index d17d716..aa37005 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/ColorUtils.java
@@ -84,4 +84,8 @@ public class ColorUtils {
}
return current;
}
+
+ public static int setAlpha(int color, int alpha) {
+ return ( alpha << 24 ) | ( color & 0x00ffffff );
+ }
}
diff --git a/src/main/resources/assets/oneconfig/colorui/alphagrid.png b/src/main/resources/assets/oneconfig/colorui/alphagrid.png
new file mode 100644
index 0000000..824054a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/colorui/alphagrid.png
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/close_color.png b/src/main/resources/assets/oneconfig/colorui/close_color.png
deleted file mode 100644
index f0bd126..0000000
--- a/src/main/resources/assets/oneconfig/colorui/close_color.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/color_base.png b/src/main/resources/assets/oneconfig/colorui/color_base.png
deleted file mode 100644
index 477c8fa..0000000
--- a/src/main/resources/assets/oneconfig/colorui/color_base.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/color_base_large.png b/src/main/resources/assets/oneconfig/colorui/color_base_large.png
deleted file mode 100644
index 079f5e8..0000000
--- a/src/main/resources/assets/oneconfig/colorui/color_base_large.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/color_base_long.png b/src/main/resources/assets/oneconfig/colorui/color_base_long.png
deleted file mode 100644
index 5eb9881..0000000
--- a/src/main/resources/assets/oneconfig/colorui/color_base_long.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/color_wheel.png b/src/main/resources/assets/oneconfig/colorui/colorwheel.png
index f4ebe3b..f4ebe3b 100644
--- a/src/main/resources/assets/oneconfig/colorui/color_wheel.png
+++ b/src/main/resources/assets/oneconfig/colorui/colorwheel.png
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/hsbgradient.png b/src/main/resources/assets/oneconfig/colorui/hsbgradient.png
new file mode 100644
index 0000000..90146fc
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/colorui/hsbgradient.png
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/hue_gradient.png b/src/main/resources/assets/oneconfig/colorui/hue_gradient.png
deleted file mode 100644
index 69c93fe..0000000
--- a/src/main/resources/assets/oneconfig/colorui/hue_gradient.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/colorui/huegradient.png b/src/main/resources/assets/oneconfig/colorui/huegradient.png
new file mode 100644
index 0000000..7807dc4
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/colorui/huegradient.png
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/AlignHCenter.svg b/src/main/resources/assets/oneconfig/icons/AlignHCenter.svg
new file mode 100644
index 0000000..c249753
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AlignHCenter.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 5C4.44772 5 4 5.44772 4 6C4 6.55228 4.44772 7 5 7V5ZM19 7C19.5523 7 20 6.55228 20 6C20 5.44772 19.5523 5 19 5V7ZM7 9C6.44772 9 6 9.44772 6 10C6 10.5523 6.44772 11 7 11V9ZM17 11C17.5523 11 18 10.5523 18 10C18 9.44772 17.5523 9 17 9V11ZM5 13C4.44772 13 4 13.4477 4 14C4 14.5523 4.44772 15 5 15V13ZM19 15C19.5523 15 20 14.5523 20 14C20 13.4477 19.5523 13 19 13V15ZM7 17C6.44772 17 6 17.4477 6 18C6 18.5523 6.44772 19 7 19V17ZM17 19C17.5523 19 18 18.5523 18 18C18 17.4477 17.5523 17 17 17V19ZM5 7H19V5H5V7ZM7 11H17V9H7V11ZM5 15H19V13H5V15ZM7 19H17V17H7V19Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AlignHLeft.svg b/src/main/resources/assets/oneconfig/icons/AlignHLeft.svg
new file mode 100644
index 0000000..9767572
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AlignHLeft.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 5C4.44772 5 4 5.44772 4 6C4 6.55228 4.44772 7 5 7V5ZM19 7C19.5523 7 20 6.55228 20 6C20 5.44772 19.5523 5 19 5V7ZM5 9C4.44772 9 4 9.44772 4 10C4 10.5523 4.44772 11 5 11V9ZM15 11C15.5523 11 16 10.5523 16 10C16 9.44772 15.5523 9 15 9V11ZM5 13C4.44772 13 4 13.4477 4 14C4 14.5523 4.44772 15 5 15V13ZM19 15C19.5523 15 20 14.5523 20 14C20 13.4477 19.5523 13 19 13V15ZM5 17C4.44772 17 4 17.4477 4 18C4 18.5523 4.44772 19 5 19V17ZM15 19C15.5523 19 16 18.5523 16 18C16 17.4477 15.5523 17 15 17V19ZM5 7H19V5H5V7ZM5 11H15V9H5V11ZM5 15H19V13H5V15ZM5 19H15V17H5V19Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AlignHRight.svg b/src/main/resources/assets/oneconfig/icons/AlignHRight.svg
new file mode 100644
index 0000000..04f144f
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AlignHRight.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 5C4.44772 5 4 5.44772 4 6C4 6.55228 4.44772 7 5 7V5ZM19 7C19.5523 7 20 6.55228 20 6C20 5.44772 19.5523 5 19 5V7ZM9 9C8.44772 9 8 9.44772 8 10C8 10.5523 8.44772 11 9 11V9ZM19 11C19.5523 11 20 10.5523 20 10C20 9.44772 19.5523 9 19 9V11ZM5 13C4.44772 13 4 13.4477 4 14C4 14.5523 4.44772 15 5 15V13ZM19 15C19.5523 15 20 14.5523 20 14C20 13.4477 19.5523 13 19 13V15ZM9 17C8.44772 17 8 17.4477 8 18C8 18.5523 8.44772 19 9 19V17ZM19 19C19.5523 19 20 18.5523 20 18C20 17.4477 19.5523 17 19 17V19ZM5 7H19V5H5V7ZM9 11H19V9H9V11ZM5 15H19V13H5V15ZM9 19H19V17H9V19Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AlignVBottom.svg b/src/main/resources/assets/oneconfig/icons/AlignVBottom.svg
new file mode 100644
index 0000000..c3fad49
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AlignVBottom.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 19C4.44772 19 4 19.4477 4 20C4 20.5523 4.44772 21 5 21V19ZM19 21C19.5523 21 20 20.5523 20 20C20 19.4477 19.5523 19 19 19V21ZM13 4C13 3.44772 12.5523 3 12 3C11.4477 3 11 3.44772 11 4H13ZM12 16L11.2929 16.7071C11.6834 17.0976 12.3166 17.0976 12.7071 16.7071L12 16ZM15.7071 13.7071C16.0976 13.3166 16.0976 12.6834 15.7071 12.2929C15.3166 11.9024 14.6834 11.9024 14.2929 12.2929L15.7071 13.7071ZM9.70711 12.2929C9.31658 11.9024 8.68342 11.9024 8.29289 12.2929C7.90237 12.6834 7.90237 13.3166 8.29289 13.7071L9.70711 12.2929ZM5 21H19V19H5V21ZM11 4V16H13V4H11ZM12.7071 16.7071L15.7071 13.7071L14.2929 12.2929L11.2929 15.2929L12.7071 16.7071ZM12.7071 15.2929L9.70711 12.2929L8.29289 13.7071L11.2929 16.7071L12.7071 15.2929Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AlignVMiddle.svg b/src/main/resources/assets/oneconfig/icons/AlignVMiddle.svg
new file mode 100644
index 0000000..05d5900
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AlignVMiddle.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19 13C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11V13ZM5 11C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13V11ZM11 20C11 20.5523 11.4477 21 12 21C12.5523 21 13 20.5523 13 20H11ZM12 15L12.7071 14.2929C12.5196 14.1054 12.2652 14 12 14C11.7348 14 11.4804 14.1054 11.2929 14.2929L12 15ZM13.2929 17.7071C13.6834 18.0976 14.3166 18.0976 14.7071 17.7071C15.0976 17.3166 15.0976 16.6834 14.7071 16.2929L13.2929 17.7071ZM9.29289 16.2929C8.90237 16.6834 8.90237 17.3166 9.29289 17.7071C9.68342 18.0976 10.3166 18.0976 10.7071 17.7071L9.29289 16.2929ZM13 4C13 3.44772 12.5523 3 12 3C11.4477 3 11 3.44772 11 4H13ZM12 9L11.2929 9.70711C11.6834 10.0976 12.3166 10.0976 12.7071 9.70711L12 9ZM10.7071 6.29289C10.3166 5.90237 9.68342 5.90237 9.29289 6.29289C8.90237 6.68342 8.90237 7.31658 9.29289 7.70711L10.7071 6.29289ZM14.7071 7.70711C15.0976 7.31658 15.0976 6.68342 14.7071 6.29289C14.3166 5.90237 13.6834 5.90237 13.2929 6.29289L14.7071 7.70711ZM19 11H5V13H19V11ZM13 20V15H11L11 20H13ZM11.2929 15.7071L13.2929 17.7071L14.7071 16.2929L12.7071 14.2929L11.2929 15.7071ZM11.2929 14.2929L9.29289 16.2929L10.7071 17.7071L12.7071 15.7071L11.2929 14.2929ZM11 4V9H13V4H11ZM12.7071 8.29289L10.7071 6.29289L9.29289 7.70711L11.2929 9.70711L12.7071 8.29289ZM12.7071 9.70711L14.7071 7.70711L13.2929 6.29289L11.2929 8.29289L12.7071 9.70711Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AlignVTop.svg b/src/main/resources/assets/oneconfig/icons/AlignVTop.svg
new file mode 100644
index 0000000..af11415
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AlignVTop.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19 5C19.5523 5 20 4.55228 20 4C20 3.44772 19.5523 3 19 3V5ZM5 3C4.44772 3 4 3.44772 4 4C4 4.55228 4.44772 5 5 5V3ZM11 20C11 20.5523 11.4477 21 12 21C12.5523 21 13 20.5523 13 20H11ZM12 8L12.7071 7.29289C12.3166 6.90237 11.6834 6.90237 11.2929 7.29289L12 8ZM8.29289 10.2929C7.90237 10.6834 7.90237 11.3166 8.29289 11.7071C8.68342 12.0976 9.31658 12.0976 9.70711 11.7071L8.29289 10.2929ZM14.2929 11.7071C14.6834 12.0976 15.3166 12.0976 15.7071 11.7071C16.0976 11.3166 16.0976 10.6834 15.7071 10.2929L14.2929 11.7071ZM19 3H5V5H19V3ZM13 20L13 8H11L11 20H13ZM11.2929 7.29289L8.29289 10.2929L9.70711 11.7071L12.7071 8.70711L11.2929 7.29289ZM11.2929 8.70711L14.2929 11.7071L15.7071 10.2929L12.7071 7.29289L11.2929 8.70711Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowCircleDown.svg b/src/main/resources/assets/oneconfig/icons/ArrowCircleDown.svg
new file mode 100644
index 0000000..c8f73a1
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowCircleDown.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 7C12.5523 7 13 7.44772 13 8V13.5858L14.2929 12.2929C14.6834 11.9024 15.3166 11.9024 15.7071 12.2929C16.0976 12.6834 16.0976 13.3166 15.7071 13.7071L12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L8.29289 13.7071C7.90237 13.3166 7.90237 12.6834 8.29289 12.2929C8.68342 11.9024 9.31658 11.9024 9.70711 12.2929L11 13.5858V8C11 7.44772 11.4477 7 12 7Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowCircleLeft.svg b/src/main/resources/assets/oneconfig/icons/ArrowCircleLeft.svg
new file mode 100644
index 0000000..a105f4e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowCircleLeft.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M17 12C17 12.5523 16.5523 13 16 13L10.4142 13L11.7071 14.2929C12.0976 14.6834 12.0976 15.3166 11.7071 15.7071C11.3166 16.0976 10.6834 16.0976 10.2929 15.7071L7.29289 12.7071C6.90237 12.3166 6.90237 11.6834 7.29289 11.2929L10.2929 8.29289C10.6834 7.90237 11.3166 7.90237 11.7071 8.29289C12.0976 8.68342 12.0976 9.31658 11.7071 9.70711L10.4142 11L16 11C16.5523 11 17 11.4477 17 12Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowCircleRight.svg b/src/main/resources/assets/oneconfig/icons/ArrowCircleRight.svg
new file mode 100644
index 0000000..484e80f
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowCircleRight.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M7 12C7 11.4477 7.44772 11 8 11L13.5858 11L12.2929 9.70711C11.9024 9.31658 11.9024 8.68342 12.2929 8.29289C12.6834 7.90237 13.3166 7.90237 13.7071 8.29289L16.7071 11.2929C17.0976 11.6834 17.0976 12.3166 16.7071 12.7071L13.7071 15.7071C13.3166 16.0976 12.6834 16.0976 12.2929 15.7071C11.9024 15.3166 11.9024 14.6834 12.2929 14.2929L13.5858 13L8 13C7.44772 13 7 12.5523 7 12Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowCircleUp.svg b/src/main/resources/assets/oneconfig/icons/ArrowCircleUp.svg
new file mode 100644
index 0000000..0a38ec4
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowCircleUp.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 17C11.4477 17 11 16.5523 11 16L11 10.4142L9.70711 11.7071C9.31658 12.0976 8.68342 12.0976 8.29289 11.7071C7.90237 11.3166 7.90237 10.6834 8.29289 10.2929L11.2929 7.29289C11.6834 6.90237 12.3166 6.90237 12.7071 7.29289L15.7071 10.2929C16.0976 10.6834 16.0976 11.3166 15.7071 11.7071C15.3166 12.0976 14.6834 12.0976 14.2929 11.7071L13 10.4142L13 16C13 16.5523 12.5523 17 12 17Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowDown.svg b/src/main/resources/assets/oneconfig/icons/ArrowDown.svg
new file mode 100644
index 0000000..12584b5
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowDown.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 13.2929C5.68342 12.9024 6.31658 12.9024 6.70711 13.2929L11 17.5858L11 4C11 3.44772 11.4477 3 12 3C12.5523 3 13 3.44772 13 4L13 17.5858L17.2929 13.2929C17.6834 12.9024 18.3166 12.9024 18.7071 13.2929C19.0976 13.6834 19.0976 14.3166 18.7071 14.7071L12.7071 20.7071C12.3166 21.0976 11.6834 21.0976 11.2929 20.7071L5.29289 14.7071C4.90237 14.3166 4.90237 13.6834 5.29289 13.2929Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowLeft.svg b/src/main/resources/assets/oneconfig/icons/ArrowLeft.svg
new file mode 100644
index 0000000..b7da249
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowLeft.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M10.7071 5.29289C11.0976 5.68342 11.0976 6.31658 10.7071 6.70711L6.41421 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H6.41421L10.7071 17.2929C11.0976 17.6834 11.0976 18.3166 10.7071 18.7071C10.3166 19.0976 9.68342 19.0976 9.29289 18.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929L9.29289 5.29289C9.68342 4.90237 10.3166 4.90237 10.7071 5.29289Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowRight.svg b/src/main/resources/assets/oneconfig/icons/ArrowRight.svg
new file mode 100644
index 0000000..bd4c152
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowRight.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M13.2929 18.7071C12.9024 18.3166 12.9024 17.6834 13.2929 17.2929L17.5858 13L4 13C3.44772 13 3 12.5523 3 12C3 11.4477 3.44772 11 4 11L17.5858 11L13.2929 6.70711C12.9024 6.31658 12.9024 5.68342 13.2929 5.29289C13.6834 4.90237 14.3166 4.90237 14.7071 5.29289L20.7071 11.2929C21.0976 11.6834 21.0976 12.3166 20.7071 12.7071L14.7071 18.7071C14.3166 19.0976 13.6834 19.0976 13.2929 18.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ArrowUp.svg b/src/main/resources/assets/oneconfig/icons/ArrowUp.svg
new file mode 100644
index 0000000..e392265
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ArrowUp.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M18.7071 10.7071C18.3166 11.0976 17.6834 11.0976 17.2929 10.7071L13 6.41421L13 20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20L11 6.41421L6.70711 10.7071C6.31658 11.0976 5.68342 11.0976 5.29289 10.7071C4.90237 10.3166 4.90237 9.68342 5.29289 9.29289L11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289L18.7071 9.29289C19.0976 9.68342 19.0976 10.3166 18.7071 10.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AudioPause.svg b/src/main/resources/assets/oneconfig/icons/AudioPause.svg
new file mode 100644
index 0000000..3bde237
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AudioPause.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect x="6" y="6" width="4" height="12" rx="1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<rect x="14" y="6" width="4" height="12" rx="1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AudioPlay.svg b/src/main/resources/assets/oneconfig/icons/AudioPlay.svg
new file mode 100644
index 0000000..8e7297c
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AudioPlay.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6.82173L9 6.82172V17.1784L17.1374 12.0001L9 6.82173ZM7 6.82172C7 5.24354 8.74231 4.28712 10.0738 5.1344L18.2111 10.3127C19.4461 11.0986 19.4461 12.9015 18.2111 13.6874L10.0738 18.8657C8.7423 19.713 7 18.7566 7 17.1784V6.82172Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AudioPrevious.svg b/src/main/resources/assets/oneconfig/icons/AudioPrevious.svg
new file mode 100644
index 0000000..5b87f8c
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AudioPrevious.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M15.4188 8.12946L11.1392 11.1863C10.5809 11.5851 10.5809 12.4149 11.1392 12.8137L15.4188 15.8705C16.0806 16.3433 17 15.8702 17 15.0568V8.94319C17 8.12982 16.0806 7.65669 15.4188 8.12946Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M7 8V16" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/AudioSkip.svg b/src/main/resources/assets/oneconfig/icons/AudioSkip.svg
new file mode 100644
index 0000000..6ef7282
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/AudioSkip.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M8.58124 8.12946L12.8608 11.1863C13.4191 11.5851 13.4191 12.4149 12.8608 12.8137L8.58124 15.8705C7.91937 16.3433 7 15.8702 7 15.0568V8.94319C7 8.12982 7.91937 7.65669 8.58124 8.12946Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M17 8V16" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Backspace.svg b/src/main/resources/assets/oneconfig/icons/Backspace.svg
new file mode 100644
index 0000000..1a03089
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Backspace.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M7.70015 17.6402L6.93193 18.2804L7.70015 17.6402ZM7.70015 6.35982L6.93193 5.71963L7.70015 6.35982ZM3.53349 11.3598L2.76527 10.7196L3.53349 11.3598ZM4.30171 12L8.46838 7L6.93193 5.71963L2.76527 10.7196L4.30171 12ZM8.46837 7H18V5H8.46837V7ZM20 9V15H22V9H20ZM18 17H8.46838V19H18V17ZM8.46837 17L4.30171 12L2.76527 13.2804L6.93193 18.2804L8.46837 17ZM8.46838 17H8.46837L6.93193 18.2804C7.31192 18.7364 7.87482 19 8.46838 19V17ZM20 15C20 16.1046 19.1046 17 18 17V19C20.2091 19 22 17.2091 22 15H20ZM18 7C19.1046 7 20 7.89543 20 9H22C22 6.79086 20.2091 5 18 5V7ZM8.46838 7L8.46837 7V5C7.87482 5 7.31192 5.26365 6.93193 5.71963L8.46838 7ZM2.76527 10.7196C2.14719 11.4613 2.14719 12.5387 2.76527 13.2804L4.30171 12L4.30171 12L2.76527 10.7196Z" fill="white"/>
+<path d="M15.7071 10.7071C16.0976 10.3166 16.0976 9.68342 15.7071 9.29289C15.3166 8.90237 14.6834 8.90237 14.2929 9.29289L15.7071 10.7071ZM10.2929 13.2929C9.90237 13.6834 9.90237 14.3166 10.2929 14.7071C10.6834 15.0976 11.3166 15.0976 11.7071 14.7071L10.2929 13.2929ZM11.7071 9.29289C11.3166 8.90237 10.6834 8.90237 10.2929 9.29289C9.90237 9.68342 9.90237 10.3166 10.2929 10.7071L11.7071 9.29289ZM14.2929 14.7071C14.6834 15.0976 15.3166 15.0976 15.7071 14.7071C16.0976 14.3166 16.0976 13.6834 15.7071 13.2929L14.2929 14.7071ZM14.2929 9.29289L12.2929 11.2929L13.7071 12.7071L15.7071 10.7071L14.2929 9.29289ZM12.2929 11.2929L10.2929 13.2929L11.7071 14.7071L13.7071 12.7071L12.2929 11.2929ZM13.7071 11.2929L11.7071 9.29289L10.2929 10.7071L12.2929 12.7071L13.7071 11.2929ZM12.2929 12.7071L14.2929 14.7071L15.7071 13.2929L13.7071 11.2929L12.2929 12.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Bell.svg b/src/main/resources/assets/oneconfig/icons/Bell.svg
new file mode 100644
index 0000000..10d530b
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Bell.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5.82474 13.934L5.09976 13.2452L5.82474 13.934ZM8 9C8 6.79086 9.79086 5 12 5V3C8.68629 3 6 5.68629 6 9H8ZM8 11.7564V9H6V11.7564H8ZM6 16C6 15.4658 6.20812 14.9823 6.54971 14.6228L5.09976 13.2452C4.41915 13.9616 4 14.9329 4 16H6ZM7 16H6V18H7V16ZM17 16H7V18H17V16ZM18 16H17V18H18V16ZM17.4503 14.6228C17.7919 14.9823 18 15.4658 18 16H20C20 14.9329 19.5809 13.9616 18.9002 13.2452L17.4503 14.6228ZM16 9V11.7564H18V9H16ZM12 5C14.2091 5 16 6.79086 16 9H18C18 5.68629 15.3137 3 12 3V5ZM18.9002 13.2452C18.2923 12.6054 18 12.1579 18 11.7564H16C16 13.05 16.8905 14.0336 17.4503 14.6228L18.9002 13.2452ZM4 16C4 17.1046 4.89543 18 6 18V16H4ZM18 18C19.1046 18 20 17.1046 20 16H18V18ZM6 11.7564C6 12.1579 5.70766 12.6054 5.09976 13.2452L6.54971 14.6228C7.10947 14.0336 8 13.05 8 11.7564H6Z" fill="white"/>
+<path d="M13.7976 19.8767C13.6312 20.2179 13.3712 20.5046 13.048 20.7035C12.7247 20.9023 12.3516 21.0051 11.9721 20.9998C11.5926 20.9945 11.2224 20.8813 10.9049 20.6735C10.5873 20.4657 10.3354 20.1718 10.1786 19.8262" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 3V4" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/BellOff.svg b/src/main/resources/assets/oneconfig/icons/BellOff.svg
new file mode 100644
index 0000000..5544801
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/BellOff.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M6.90904 5.82325C6.33296 6.7445 6 7.83337 6 9V11.7564C6 12.1579 5.70766 12.6054 5.09976 13.2452C4.41915 13.9616 4 14.9329 4 16C4 17.1046 4.89543 18 6 18H7H16C16.8342 18 17.5492 17.4892 17.8492 16.7634L16 14.9142V16H7H6C6 15.4658 6.20812 14.9823 6.54971 14.6228C7.10947 14.0336 8 13.05 8 11.7564V9C8 8.3901 8.1365 7.81208 8.38062 7.29483L6.90904 5.82325ZM16 12.0858V9C16 6.79086 14.2091 5 12 5C11.1288 5 10.3226 5.27854 9.66565 5.75143L8.23901 4.3248C9.26789 3.49606 10.576 3 12 3C15.3137 3 18 5.68629 18 9V14.0858L16 12.0858Z" fill="white"/>
+<path d="M3 3L21 21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M13.7976 19.8767C13.6312 20.2179 13.3712 20.5046 13.048 20.7035C12.7247 20.9023 12.3516 21.0051 11.9721 20.9998C11.5926 20.9945 11.2224 20.8813 10.9049 20.6735C10.5873 20.4657 10.3354 20.1718 10.1786 19.8262" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 3V4" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Box.svg b/src/main/resources/assets/oneconfig/icons/Box.svg
new file mode 100644
index 0000000..9a9c451
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Box.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5001 1.71137C11.4283 1.17547 12.5719 1.17547 13.5001 1.71137L20.1604 5.55667C21.0886 6.09257 21.6604 7.08295 21.6604 8.15475V15.8453C21.6604 16.9171 21.0886 17.9075 20.1604 18.4434L13.5001 22.2887C12.5719 22.8246 11.4283 22.8246 10.5001 22.2887L3.83984 18.4434C2.91164 17.9075 2.33984 16.9171 2.33984 15.8453V8.15475C2.33984 7.6374 2.47307 7.13903 2.71529 6.70158C2.72411 6.68402 2.7335 6.66661 2.74346 6.64938C2.75411 6.63097 2.76524 6.61302 2.77685 6.59555C3.03413 6.17262 3.39629 5.81275 3.83984 5.55667L10.5001 1.71137ZM4.33984 15.8453V8.7272L11.0001 12.5771V20.268L4.83984 16.7114C4.53044 16.5327 4.33984 16.2026 4.33984 15.8453ZM19.1604 16.7114L13.0001 20.268V12.5774L19.6604 8.73203V15.8453C19.6604 16.2026 19.4698 16.5327 19.1604 16.7114ZM12.5001 3.44342L18.6603 7.00001L16.5922 8.19407C16.5673 8.17589 16.5415 8.15869 16.5146 8.14255L10.0643 4.27238L11.5001 3.44342C11.8095 3.26479 12.1907 3.26479 12.5001 3.44342ZM8.08326 5.41614L5.34408 6.9976L12.0003 10.8452L14.6153 9.33539L8.08326 5.41614Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Camera.svg b/src/main/resources/assets/oneconfig/icons/Camera.svg
new file mode 100644
index 0000000..fcb3c3b
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Camera.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 9C3 7.89543 3.89543 7 5 7H6.5C7.12951 7 7.72229 6.70361 8.1 6.2L9.15 4.8C9.52771 4.29639 10.1205 4 10.75 4H13.25C13.8795 4 14.4723 4.29639 14.85 4.8L15.9 6.2C16.2777 6.70361 16.8705 7 17.5 7H19C20.1046 7 21 7.89543 21 9V18C21 19.1046 20.1046 20 19 20H5C3.89543 20 3 19.1046 3 18V9Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<circle cx="12" cy="13" r="4" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Cart.svg b/src/main/resources/assets/oneconfig/icons/Cart.svg
new file mode 100644
index 0000000..f2f7f1b
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Cart.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 3H4.37144C5.31982 3 6.13781 3.66607 6.32996 4.59479L8.67004 15.9052C8.86219 16.8339 9.68018 17.5 10.6286 17.5H17.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M6.82422 6C6.27193 6 5.82422 6.44772 5.82422 7C5.82422 7.55228 6.27193 8 6.82422 8V6ZM8.27734 13C7.72506 13 7.27734 13.4477 7.27734 14C7.27734 14.5523 7.72506 15 8.27734 15V13ZM19.6217 11.8242L18.6601 11.5494L19.6217 11.8242ZM20.6358 8.27472L21.5973 8.54944L20.6358 8.27472ZM6.82422 8H19.6743V6H6.82422V8ZM19.6743 8L18.6601 11.5494L20.5832 12.0989L21.5973 8.54944L19.6743 8ZM16.7371 13H8.27734V15H16.7371V13ZM18.6601 11.5494C18.4148 12.408 17.6301 13 16.7371 13V15C18.523 15 20.0926 13.8161 20.5832 12.0989L18.6601 11.5494ZM19.6743 8V8L21.5973 8.54944C21.9624 7.27181 21.003 6 19.6743 6V8Z" fill="white"/>
+<circle cx="16.5" cy="20.5" r="0.5" fill="white" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<circle r="0.5" transform="matrix(1 0 0 -1 10.5 20.5)" fill="white" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Cash.svg b/src/main/resources/assets/oneconfig/icons/Cash.svg
new file mode 100644
index 0000000..8302b74
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Cash.svg
@@ -0,0 +1,15 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g clip-path="url(#clip0_310_17663)">
+<rect x="2" y="6" width="20" height="12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M22 10C21.4747 10 20.9546 9.89654 20.4693 9.69552C19.984 9.4945 19.543 9.19986 19.1716 8.82843C18.8001 8.45699 18.5055 8.01604 18.3045 7.53073C18.1035 7.04543 18 6.52529 18 6L22 6L22 10Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M18 18C18 16.9391 18.4214 15.9217 19.1716 15.1716C19.9217 14.4214 20.9391 14 22 14L22 18L18 18Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M2 14C3.06087 14 4.07828 14.4214 4.82843 15.1716C5.57857 15.9217 6 16.9391 6 18L2 18L2 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M6 6C6 7.06087 5.57857 8.07828 4.82843 8.82843C4.07828 9.57857 3.06087 10 2 10L2 6H6Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<circle cx="12" cy="12" r="2" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</g>
+<defs>
+<clipPath id="clip0_310_17663">
+<rect width="24" height="24" fill="white"/>
+</clipPath>
+</defs>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CashDollar.svg b/src/main/resources/assets/oneconfig/icons/CashDollar.svg
new file mode 100644
index 0000000..6b5e056
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CashDollar.svg
@@ -0,0 +1,17 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g clip-path="url(#clip0_310_17578)">
+<rect x="2" y="6" width="20" height="12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M22 10C21.4747 10 20.9546 9.89654 20.4693 9.69552C19.984 9.4945 19.543 9.19986 19.1716 8.82843C18.8001 8.45699 18.5055 8.01604 18.3045 7.53073C18.1035 7.04543 18 6.52529 18 6L22 6L22 10Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M18 18C18 16.9391 18.4214 15.9217 19.1716 15.1716C19.9217 14.4214 20.9391 14 22 14L22 18L18 18Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M2 14C3.06087 14 4.07828 14.4214 4.82843 15.1716C5.57857 15.9217 6 16.9391 6 18L2 18L2 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M6 6C6 7.06087 5.57857 8.07828 4.82843 8.82843C4.07828 9.57857 3.06087 10 2 10L2 6H6Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M14.0741 10.5C14.6264 10.5 15.0741 10.0523 15.0741 9.5C15.0741 8.94772 14.6264 8.5 14.0741 8.5V10.5ZM10 13.5C9.44772 13.5 9 13.9477 9 14.5C9 15.0523 9.44772 15.5 10 15.5V13.5ZM14.0741 8.5H11.3333V10.5H14.0741V8.5ZM11.3333 13H13.1111V11H11.3333V13ZM13.1111 13.5H10V15.5H13.1111V13.5ZM13.4444 13.25C13.4444 13.3283 13.357 13.5 13.1111 13.5V15.5C14.338 15.5 15.4444 14.5525 15.4444 13.25H13.4444ZM13.1111 13C13.357 13 13.4444 13.1717 13.4444 13.25H15.4444C15.4444 11.9475 14.338 11 13.1111 11V13ZM9 10.75C9 12.0525 10.1064 13 11.3333 13V11C11.0875 11 11 10.8283 11 10.75H9ZM11.3333 8.5C10.1064 8.5 9 9.44754 9 10.75H11C11 10.6717 11.0875 10.5 11.3333 10.5V8.5Z" fill="white"/>
+<path d="M12 9.51733V8.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 15.5173V14.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</g>
+<defs>
+<clipPath id="clip0_310_17578">
+<rect width="24" height="24" fill="white"/>
+</clipPath>
+</defs>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CheckCircle.svg b/src/main/resources/assets/oneconfig/icons/CheckCircle.svg
new file mode 100644
index 0000000..ec12533
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CheckCircle.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21 11.1771V12.0051C20.9989 13.9459 20.3704 15.8344 19.2084 17.3888C18.0463 18.9432 16.413 20.0804 14.5518 20.6307C12.6907 21.1809 10.7015 21.1149 8.88102 20.4423C7.06051 19.7697 5.50619 18.5266 4.44986 16.8985C3.39354 15.2704 2.89181 13.3444 3.01951 11.4078C3.14721 9.47126 3.89749 7.62784 5.15845 6.15252C6.41942 4.67719 8.12351 3.649 10.0166 3.22128C11.9096 2.79357 13.8902 2.98925 15.663 3.77915M21 5L12 14L9 11" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CheckboxMixed.svg b/src/main/resources/assets/oneconfig/icons/CheckboxMixed.svg
new file mode 100644
index 0000000..03ea4e4
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CheckboxMixed.svg
@@ -0,0 +1,17 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_d_803_21383)">
+<path d="M7.19995 12H16.8" stroke="white" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
+</g>
+<defs>
+<filter id="filter0_d_803_21383" x="1" y="6.80005" width="22" height="12.3999" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dy="1"/>
+<feGaussianBlur stdDeviation="2.5"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_803_21383"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_803_21383" result="shape"/>
+</filter>
+</defs>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CheckboxTick.svg b/src/main/resources/assets/oneconfig/icons/CheckboxTick.svg
new file mode 100644
index 0000000..4d6e0a8
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CheckboxTick.svg
@@ -0,0 +1,17 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g filter="url(#filter0_d_803_21339)">
+<path d="M6 12L9.6 15.6L18 7.19995" stroke="white" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
+</g>
+<defs>
+<filter id="filter0_d_803_21339" x="0.800049" y="3" width="22.3999" height="18.7999" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<feFlood flood-opacity="0" result="BackgroundImageFix"/>
+<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
+<feOffset dy="1"/>
+<feGaussianBlur stdDeviation="2"/>
+<feComposite in2="hardAlpha" operator="out"/>
+<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/>
+<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_803_21339"/>
+<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_803_21339" result="shape"/>
+</filter>
+</defs>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ChevronDown.svg b/src/main/resources/assets/oneconfig/icons/ChevronDown.svg
new file mode 100644
index 0000000..4adca3e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ChevronDown.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L4.29289 9.70711C3.90237 9.31658 3.90237 8.68342 4.29289 8.29289C4.68342 7.90237 5.31658 7.90237 5.70711 8.29289L12 14.5858L18.2929 8.29289C18.6834 7.90237 19.3166 7.90237 19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711L12.7071 16.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ChevronLeft.svg b/src/main/resources/assets/oneconfig/icons/ChevronLeft.svg
new file mode 100644
index 0000000..ae78384
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ChevronLeft.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M7.79289 12.7071C7.40237 12.3166 7.40237 11.6834 7.79289 11.2929L14.7929 4.29289C15.1834 3.90237 15.8166 3.90237 16.2071 4.29289C16.5976 4.68342 16.5976 5.31658 16.2071 5.70711L9.91421 12L16.2071 18.2929C16.5976 18.6834 16.5976 19.3166 16.2071 19.7071C15.8166 20.0976 15.1834 20.0976 14.7929 19.7071L7.79289 12.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ChevronRight.svg b/src/main/resources/assets/oneconfig/icons/ChevronRight.svg
new file mode 100644
index 0000000..f60fac0
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ChevronRight.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M17.2071 11.2929C17.5976 11.6834 17.5976 12.3166 17.2071 12.7071L10.2071 19.7071C9.81658 20.0976 9.18342 20.0976 8.79289 19.7071C8.40237 19.3166 8.40237 18.6834 8.79289 18.2929L15.0858 12L8.79289 5.70711C8.40237 5.31658 8.40237 4.68342 8.79289 4.29289C9.18342 3.90237 9.81658 3.90237 10.2071 4.29289L17.2071 11.2929Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ChevronUp.svg b/src/main/resources/assets/oneconfig/icons/ChevronUp.svg
new file mode 100644
index 0000000..7c3c756
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ChevronUp.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2929 7.29289C11.6834 6.90237 12.3166 6.90237 12.7071 7.29289L19.7071 14.2929C20.0976 14.6834 20.0976 15.3166 19.7071 15.7071C19.3166 16.0976 18.6834 16.0976 18.2929 15.7071L12 9.41421L5.70711 15.7071C5.31658 16.0976 4.68342 16.0976 4.29289 15.7071C3.90237 15.3166 3.90237 14.6834 4.29289 14.2929L11.2929 7.29289Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CircleMinus.svg b/src/main/resources/assets/oneconfig/icons/CircleMinus.svg
new file mode 100644
index 0000000..d115d9b
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CircleMinus.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M6 12C6 11.4477 6.44772 11 7 11L17 11C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13L7 13C6.44772 13 6 12.5523 6 12Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CirclePlus.svg b/src/main/resources/assets/oneconfig/icons/CirclePlus.svg
new file mode 100644
index 0000000..9308c24
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CirclePlus.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 6C12.5523 6 13 6.44772 13 7V11L17 11C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13L13 13L13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17L11 13L7 13C6.44772 13 6 12.5523 6 12C6 11.4477 6.44772 11 7 11L11 11V7C11 6.44772 11.4477 6 12 6Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Clock.svg b/src/main/resources/assets/oneconfig/icons/Clock.svg
new file mode 100644
index 0000000..bae7961
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Clock.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.5C12.5523 5.5 13 5.94772 13 6.5V11.382L16.4472 13.1056C16.9412 13.3526 17.1414 13.9532 16.8944 14.4472C16.6474 14.9412 16.0468 15.1414 15.5528 14.8944L11.5528 12.8944C11.214 12.725 11 12.3788 11 12V6.5C11 5.94772 11.4477 5.5 12 5.5Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Code.svg b/src/main/resources/assets/oneconfig/icons/Code.svg
new file mode 100644
index 0000000..9a22cd0
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Code.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M9.70711 6.29289C10.0976 6.68342 10.0976 7.31658 9.70711 7.70711L5.41421 12L9.70711 16.2929C10.0976 16.6834 10.0976 17.3166 9.70711 17.7071C9.31658 18.0976 8.68342 18.0976 8.29289 17.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929L8.29289 6.29289C8.68342 5.90237 9.31658 5.90237 9.70711 6.29289Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M14.2929 6.29289C13.9024 6.68342 13.9024 7.31658 14.2929 7.70711L18.5858 12L14.2929 16.2929C13.9024 16.6834 13.9024 17.3166 14.2929 17.7071C14.6834 18.0976 15.3166 18.0976 15.7071 17.7071L20.7071 12.7071C21.0976 12.3166 21.0976 11.6834 20.7071 11.2929L15.7071 6.29289C15.3166 5.90237 14.6834 5.90237 14.2929 6.29289Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ComboBoxDown.svg b/src/main/resources/assets/oneconfig/icons/ComboBoxDown.svg
new file mode 100644
index 0000000..254806c
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ComboBoxDown.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M18 10L12 16L6 10" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ComboBoxUp.svg b/src/main/resources/assets/oneconfig/icons/ComboBoxUp.svg
new file mode 100644
index 0000000..a53aa55
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ComboBoxUp.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M18 14L12 8L6 14" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Content.svg b/src/main/resources/assets/oneconfig/icons/Content.svg
new file mode 100644
index 0000000..26f61d2
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Content.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 7H19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M5 12H19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M5 17H12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Copy.svg b/src/main/resources/assets/oneconfig/icons/Copy.svg
new file mode 100644
index 0000000..b9f3a08
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Copy.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8 5C8 3.34315 9.34315 2 11 2H19C20.6576 2 22 3.34507 22 5.00116V13.9988C22 15.6549 20.6576 17 19 17C18.4477 17 18 16.5523 18 16C18 15.4477 18.4477 15 19 15C19.5515 15 20 14.5519 20 13.9988V5.00116C20 4.44812 19.5515 4 19 4H11C10.4477 4 10 4.44772 10 5C10 5.55228 9.55228 6 9 6C8.44772 6 8 5.55228 8 5ZM6 9C5.44772 9 5 9.44772 5 10V19C5 19.5523 5.44772 20 6 20H14C14.5523 20 15 19.5523 15 19V10C15 9.44772 14.5523 9 14 9H6ZM3 10C3 8.34315 4.34315 7 6 7H14C15.6569 7 17 8.34315 17 10V19C17 20.6569 15.6569 22 14 22H6C4.34315 22 3 20.6569 3 19V10Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CreditCard.svg b/src/main/resources/assets/oneconfig/icons/CreditCard.svg
new file mode 100644
index 0000000..0af769d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CreditCard.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect x="3" y="6" width="18" height="13" rx="2" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M3 10H20.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M7 15H9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/CreditCardAdd.svg b/src/main/resources/assets/oneconfig/icons/CreditCardAdd.svg
new file mode 100644
index 0000000..51cf9f7
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/CreditCardAdd.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21 12.5V8C21 6.89543 20.1046 6 19 6H5C3.89543 6 3 6.89543 3 8V17C3 18.1046 3.89543 19 5 19H13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M18.5 15V17.5M18.5 20V17.5M18.5 17.5H16M18.5 17.5H21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M3 10H20.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M7 15H9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Cube.svg b/src/main/resources/assets/oneconfig/icons/Cube.svg
new file mode 100644
index 0000000..86906bd
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Cube.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M20.3873 7.1575L11.9999 12L3.60913 7.14978" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 12V21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M11 2.57735C11.6188 2.22008 12.3812 2.22008 13 2.57735L19.6603 6.42265C20.2791 6.77992 20.6603 7.44017 20.6603 8.1547V15.8453C20.6603 16.5598 20.2791 17.2201 19.6603 17.5774L13 21.4226C12.3812 21.7799 11.6188 21.7799 11 21.4226L4.33975 17.5774C3.72094 17.2201 3.33975 16.5598 3.33975 15.8453V8.1547C3.33975 7.44017 3.72094 6.77992 4.33975 6.42265L11 2.57735Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Dashboard.svg b/src/main/resources/assets/oneconfig/icons/Dashboard.svg
new file mode 100644
index 0000000..3eebe42
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Dashboard.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19 11C18.4477 11 18 11.4477 18 12C18 12.5523 18.4477 13 19 13V11ZM5 13C5.55228 13 6 12.5523 6 12C6 11.4477 5.55228 11 5 11V13ZM11 5C11 5.55228 11.4477 6 12 6C12.5523 6 13 5.55228 13 5H11ZM13.3229 10.5L12.6612 11.2497V11.2497L13.3229 10.5ZM16.53 8.70711C16.9205 8.31658 16.9205 7.68342 16.53 7.29289C16.1395 6.90237 15.5063 6.90237 15.1158 7.29289L16.53 8.70711ZM20 12C20 16.4183 16.4183 20 12 20V22C17.5228 22 22 17.5228 22 12H20ZM12 20C7.58172 20 4 16.4183 4 12H2C2 17.5228 6.47715 22 12 22V20ZM4 12C4 7.58172 7.58172 4 12 4V2C6.47715 2 2 6.47715 2 12H4ZM12 4C16.4183 4 20 7.58172 20 12H22C22 6.47715 17.5228 2 12 2V4ZM21 11H19V13H21V11ZM3 13H5V11H3V13ZM11 3V5H13V3H11ZM13 12C13 12.5523 12.5523 13 12 13V15C13.6569 15 15 13.6569 15 12H13ZM12 13C11.4477 13 11 12.5523 11 12H9C9 13.6569 10.3431 15 12 15V13ZM11 12C11 11.4477 11.4477 11 12 11V9C10.3431 9 9 10.3431 9 12H11ZM12 11C12.2543 11 12.4843 11.0936 12.6612 11.2497L13.9846 9.75026C13.4564 9.28402 12.7602 9 12 9V11ZM12.6612 11.2497C12.8704 11.4344 13 11.7015 13 12H15C15 11.1038 14.6058 10.2985 13.9846 9.75026L12.6612 11.2497ZM14.03 11.2071L16.53 8.70711L15.1158 7.29289L12.6158 9.79289L14.03 11.2071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Delete.svg b/src/main/resources/assets/oneconfig/icons/Delete.svg
new file mode 100644
index 0000000..3d76d4b
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Delete.svg
@@ -0,0 +1,7 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M10 10C10.5523 10 11 10.4477 11 11V17C11 17.5523 10.5523 18 10 18C9.44772 18 9 17.5523 9 17V11C9 10.4477 9.44772 10 10 10Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M14 10C14.5523 10 15 10.4477 15 11V17C15 17.5523 14.5523 18 14 18C13.4477 18 13 17.5523 13 17V11C13 10.4477 13.4477 10 14 10Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M3 7C3 6.44772 3.44772 6 4 6H20C20.5523 6 21 6.44772 21 7C21 7.55228 20.5523 8 20 8H4C3.44772 8 3 7.55228 3 7Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M5 7C5 6.44772 5.44772 6 6 6H18C18.5523 6 19 6.44772 19 7V18C19 20.2091 17.2091 22 15 22H9C6.79086 22 5 20.2091 5 18V7ZM7 8V18C7 19.1046 7.89543 20 9 20H15C16.1046 20 17 19.1046 17 18V8H7Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8 5C8 3.34315 9.34315 2 11 2H13C14.6569 2 16 3.34315 16 5V7C16 7.55228 15.5523 8 15 8H9C8.44772 8 8 7.55228 8 7V5ZM11 4C10.4477 4 10 4.44772 10 5V6H14V5C14 4.44772 13.5523 4 13 4H11Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Dollar.svg b/src/main/resources/assets/oneconfig/icons/Dollar.svg
new file mode 100644
index 0000000..b67d246
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Dollar.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16.1667 7.41667L15.8159 7.14105C15.2873 6.72575 14.6346 6.5 13.9624 6.5H9.75C8.23122 6.5 7 7.73122 7 9.25V9.25C7 10.7688 8.23122 12 9.75 12H14.25C15.7688 12 17 13.2312 17 14.75V14.75C17 16.2688 15.7688 17.5 14.25 17.5H9.16695C8.41638 17.5 7.69307 17.2186 7.13978 16.7115L7 16.5833" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 19L12 5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/DollarCircle.svg b/src/main/resources/assets/oneconfig/icons/DollarCircle.svg
new file mode 100644
index 0000000..fcc637e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/DollarCircle.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="12" r="9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M14.5 9.08333L14.3563 8.96356C13.9968 8.66403 13.5438 8.5 13.0759 8.5H10.75C9.7835 8.5 9 9.2835 9 10.25V10.25C9 11.2165 9.7835 12 10.75 12H13.25C14.2165 12 15 12.7835 15 13.75V13.75C15 14.7165 14.2165 15.5 13.25 15.5H10.412C9.8913 15.5 9.39114 15.2969 9.01782 14.934L9 14.9167" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 8L12 7" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 17V16" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Download.svg b/src/main/resources/assets/oneconfig/icons/Download.svg
new file mode 100644
index 0000000..d25599a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Download.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M20 15C20 14.4477 19.5523 14 19 14C18.4477 14 18 14.4477 18 15H20ZM6 15C6 14.4477 5.55228 14 5 14C4.44772 14 4 14.4477 4 15H6ZM13 5C13 4.44772 12.5523 4 12 4C11.4477 4 11 4.44772 11 5H13ZM12 15L11.2929 15.7071C11.6834 16.0976 12.3166 16.0976 12.7071 15.7071L12 15ZM10.7071 12.2929C10.3166 11.9024 9.68342 11.9024 9.29289 12.2929C8.90237 12.6834 8.90237 13.3166 9.29289 13.7071L10.7071 12.2929ZM14.7071 13.7071C15.0976 13.3166 15.0976 12.6834 14.7071 12.2929C14.3166 11.9024 13.6834 11.9024 13.2929 12.2929L14.7071 13.7071ZM17 18H7V20H17V18ZM20 17V15H18V17H20ZM6 17V15H4V17H6ZM7 18C6.44772 18 6 17.5523 6 17H4C4 18.6569 5.34315 20 7 20V18ZM17 20C18.6569 20 20 18.6569 20 17H18C18 17.5523 17.5523 18 17 18V20ZM11 5V15H13V5H11ZM12.7071 14.2929L10.7071 12.2929L9.29289 13.7071L11.2929 15.7071L12.7071 14.2929ZM12.7071 15.7071L14.7071 13.7071L13.2929 12.2929L11.2929 14.2929L12.7071 15.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/DropdownList.svg b/src/main/resources/assets/oneconfig/icons/DropdownList.svg
new file mode 100644
index 0000000..ad5c8be
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/DropdownList.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16 9L12 5L8 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M16 15L12 19L8 15" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Earth.svg b/src/main/resources/assets/oneconfig/icons/Earth.svg
new file mode 100644
index 0000000..a95f100
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Earth.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="12" r="9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M13.4251 11.023L12.8664 11.8524H12.8664L13.4251 11.023ZM12.0717 4.08265L11.2423 3.52395L11.2423 3.52395L12.0717 4.08265ZM18.2823 13.8805L17.4529 13.3218L18.2823 13.8805ZM17.8634 11.7323L18.4221 10.903L18.4221 10.903L17.8634 11.7323ZM17.1352 16.2168L16.1414 16.3273L17.1352 16.2168ZM13.9815 11.3484L13.533 12.2422L13.9815 11.3484ZM13.6439 3.81318C14.0664 3.45755 14.1207 2.82672 13.765 2.40417C13.4094 1.98162 12.7786 1.92738 12.356 2.28301L13.6439 3.81318ZM17.502 18.7348C17.9078 19.1094 18.5404 19.0841 18.915 18.6783C19.2896 18.2724 19.2643 17.6398 18.8585 17.2652L17.502 18.7348ZM12.8664 11.8524C13.0826 11.998 13.3053 12.1279 13.533 12.2422L14.43 10.4546C14.2782 10.3784 14.1291 10.2915 13.9838 10.1936L12.8664 11.8524ZM11.2423 3.52395C9.39093 6.27226 10.1181 10.001 12.8664 11.8524L13.9838 10.1936C12.1515 8.95938 11.6668 6.47354 12.901 4.64134L11.2423 3.52395ZM17.3047 12.5617C17.5555 12.7307 17.6219 13.071 17.4529 13.3218L19.1117 14.4392C19.8978 13.2723 19.589 11.689 18.4221 10.903L17.3047 12.5617ZM18.1291 16.1063C18.0923 15.7748 18.1663 15.6179 18.2854 15.4504C18.3671 15.3355 18.4653 15.2261 18.6194 15.0533C18.7601 14.8954 18.9445 14.6874 19.1117 14.4392L17.4529 13.3218C17.3699 13.4451 17.2689 13.5627 17.1265 13.7224C16.9974 13.8672 16.8148 14.0672 16.6554 14.2914C16.2922 14.8022 16.0429 15.442 16.1414 16.3273L18.1291 16.1063ZM13.533 12.2422C14.813 12.8844 15.7614 12.7732 16.4759 12.6226C17.1953 12.4709 17.1795 12.4774 17.3047 12.5617L18.4221 10.903C17.4544 10.2511 16.507 10.572 16.0632 10.6656C15.6146 10.7602 15.1685 10.8252 14.43 10.4546L13.533 12.2422ZM12.356 2.28301C11.9376 2.63515 11.5615 3.0501 11.2423 3.52395L12.901 4.64134C13.1154 4.32318 13.3663 4.04683 13.6439 3.81318L12.356 2.28301ZM16.1414 16.3273C16.2562 17.36 16.8775 18.1584 17.502 18.7348L18.8585 17.2652C18.3895 16.8323 18.167 16.4471 18.1291 16.1063L16.1414 16.3273Z" fill="white"/>
+<path d="M6.80601 11.1259L6.00778 11.7283L6.80601 11.1259ZM9.35655 16.7874L10.1548 16.1851L9.35655 16.7874ZM7.79785 14.5504L8.79441 14.6333L7.79785 14.5504ZM8.6794 16.1526L9.22764 15.3163L8.6794 16.1526ZM4.23645 8.30839C3.69983 8.1778 3.15895 8.50695 3.02836 9.04357C2.89777 9.5802 3.22692 10.1211 3.76355 10.2517L4.23645 8.30839ZM8.33417 19.6946C7.92211 20.0623 7.88617 20.6945 8.2539 21.1065C8.62162 21.5186 9.25377 21.5545 9.66583 21.1868L8.33417 19.6946ZM6.00778 11.7283C6.6247 12.5458 6.88 13.521 6.80129 14.4675L8.79441 14.6333C8.9123 13.2157 8.52866 11.7486 7.60424 10.5236L6.00778 11.7283ZM8.13116 16.989C8.2902 17.0932 8.43523 17.2267 8.55832 17.3898L10.1548 16.1851C9.89122 15.8358 9.57627 15.5449 9.22764 15.3163L8.13116 16.989ZM6.80129 14.4675C6.71039 15.5605 7.39496 16.5064 8.13116 16.989L9.22764 15.3163C8.91314 15.1102 8.78118 14.7923 8.79441 14.6333L6.80129 14.4675ZM3.76355 10.2517C4.6294 10.4624 5.42882 10.9611 6.00778 11.7283L7.60424 10.5236C6.73718 9.37457 5.53436 8.62424 4.23645 8.30839L3.76355 10.2517ZM8.55832 17.3898C9.09824 18.1053 8.99084 19.1086 8.33417 19.6946L9.66583 21.1868C11.0927 19.9135 11.3269 17.7383 10.1548 16.1851L8.55832 17.3898Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Edit.svg b/src/main/resources/assets/oneconfig/icons/Edit.svg
new file mode 100644
index 0000000..e8b823d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Edit.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 4.99997C12.5523 4.99997 13 4.55226 13 3.99997C13 3.44769 12.5523 2.99997 12 2.99997V4.99997ZM21 12C21 11.4477 20.5523 11 20 11C19.4477 11 19 11.4477 19 12H21ZM8.41422 15.5858L7.43364 15.3897C7.36807 15.7176 7.47069 16.0565 7.70712 16.2929C7.94354 16.5294 8.28248 16.632 8.61034 16.5664L8.41422 15.5858ZM11.356 14.9975L11.5521 15.9781H11.5521L11.356 14.9975ZM9.00257 12.6441L9.98315 12.8402L9.00257 12.6441ZM16.6715 4.50001L17.3786 5.20711L17.3786 5.20711L16.6715 4.50001ZM9.54951 11.6221L8.8424 10.915L8.8424 10.915L9.54951 11.6221ZM19.5 7.32842L20.2071 8.03552V8.03552L19.5 7.32842ZM12.3779 14.4505L11.6708 13.7434H11.6708L12.3779 14.4505ZM18 19H6V21H18V19ZM5 18V5.99997H3V18H5ZM6 4.99997H12V2.99997H6V4.99997ZM19 12V18H21V12H19ZM8.61034 16.5664L11.5521 15.9781L11.1598 14.0169L8.21811 14.6053L8.61034 16.5664ZM8.02199 12.448L7.43364 15.3897L9.3948 15.7819L9.98315 12.8402L8.02199 12.448ZM9.98315 12.8402C10.0219 12.6466 10.117 12.4688 10.2566 12.3292L8.8424 10.915C8.42361 11.3338 8.13815 11.8672 8.02199 12.448L9.98315 12.8402ZM20.2071 3.79289C19.0355 2.62131 17.136 2.62132 15.9644 3.79291L17.3786 5.20711C17.7692 4.81658 18.4023 4.81658 18.7928 5.20711L20.2071 3.79289ZM18.7928 5.20711C19.1834 5.59763 19.1834 6.23079 18.7929 6.62132L20.2071 8.03552C21.3786 6.86394 21.3786 4.96446 20.2071 3.79289L18.7928 5.20711ZM11.5521 15.9781C12.1329 15.8619 12.6663 15.5764 13.0851 15.1576L11.6708 13.7434C11.5312 13.883 11.3534 13.9782 11.1598 14.0169L11.5521 15.9781ZM18.7929 6.62131L17.7071 7.70707L19.1213 9.12128L20.2071 8.03552L18.7929 6.62131ZM17.7071 7.70707L11.6708 13.7434L13.0851 15.1576L19.1213 9.12128L17.7071 7.70707ZM15.9644 3.79291L14.8787 4.87865L16.2929 6.29285L17.3786 5.20711L15.9644 3.79291ZM14.8787 4.87865L8.8424 10.915L10.2566 12.3292L16.2929 6.29285L14.8787 4.87865ZM19.1213 7.70707L16.2929 4.87864L14.8787 6.29285L17.7071 9.12128L19.1213 7.70707ZM6 19C5.44772 19 5 18.5523 5 18H3C3 19.6568 4.34315 21 6 21V19ZM18 21C19.6569 21 21 19.6568 21 18H19C19 18.5523 18.5523 19 18 19V21ZM5 5.99997C5 5.44769 5.44772 4.99997 6 4.99997V2.99997C4.34315 2.99997 3 4.34312 3 5.99997H5Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Error.svg b/src/main/resources/assets/oneconfig/icons/Error.svg
new file mode 100644
index 0000000..e65228e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Error.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 7V13M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<circle cx="12" cy="16.5" r="1" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Export.svg b/src/main/resources/assets/oneconfig/icons/Export.svg
new file mode 100644
index 0000000..41283f2
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Export.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M20 15C20 14.4477 19.5523 14 19 14C18.4477 14 18 14.4477 18 15H20ZM6 15C6 14.4477 5.55228 14 5 14C4.44772 14 4 14.4477 4 15H6ZM11 15C11 15.5523 11.4477 16 12 16C12.5523 16 13 15.5523 13 15H11ZM12 5L12.7071 4.29289C12.3166 3.90237 11.6834 3.90237 11.2929 4.29289L12 5ZM13.2929 7.70711C13.6834 8.09763 14.3166 8.09763 14.7071 7.70711C15.0976 7.31658 15.0976 6.68342 14.7071 6.29289L13.2929 7.70711ZM9.29289 6.29289C8.90237 6.68342 8.90237 7.31658 9.29289 7.70711C9.68342 8.09763 10.3166 8.09763 10.7071 7.70711L9.29289 6.29289ZM17 18H7V20H17V18ZM20 17V15H18V17H20ZM6 17V15H4V17H6ZM7 18C6.44772 18 6 17.5523 6 17H4C4 18.6569 5.34315 20 7 20V18ZM17 20C18.6569 20 20 18.6569 20 17H18C18 17.5523 17.5523 18 17 18V20ZM13 15L13 5L11 5L11 15H13ZM11.2929 5.70711L13.2929 7.70711L14.7071 6.29289L12.7071 4.29289L11.2929 5.70711ZM11.2929 4.29289L9.29289 6.29289L10.7071 7.70711L12.7071 5.70711L11.2929 4.29289Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Eye.svg b/src/main/resources/assets/oneconfig/icons/Eye.svg
new file mode 100644
index 0000000..9078ef6
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Eye.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21.335 11.4069L22.2682 11.0474L21.335 11.4069ZM21.335 12.5932L20.4018 12.2337L21.335 12.5932ZM2.66492 11.4068L1.73175 11.0474L2.66492 11.4068ZM2.66492 12.5932L1.73175 12.9526L2.66492 12.5932ZM3.5981 11.7663C4.89784 8.39171 8.17084 6 12 6V4C7.31641 4 3.31889 6.92667 1.73175 11.0474L3.5981 11.7663ZM12 6C15.8291 6 19.1021 8.39172 20.4018 11.7663L22.2682 11.0474C20.681 6.92668 16.6835 4 12 4V6ZM20.4018 12.2337C19.1021 15.6083 15.8291 18 12 18V20C16.6835 20 20.681 17.0733 22.2682 12.9526L20.4018 12.2337ZM12 18C8.17084 18 4.89784 15.6083 3.5981 12.2337L1.73175 12.9526C3.31889 17.0733 7.31641 20 12 20V18ZM20.4018 11.7663C20.4597 11.9165 20.4597 12.0835 20.4018 12.2337L22.2682 12.9526C22.5043 12.3396 22.5043 11.6604 22.2682 11.0474L20.4018 11.7663ZM1.73175 11.0474C1.49567 11.6604 1.49567 12.3396 1.73175 12.9526L3.5981 12.2337C3.54022 12.0835 3.54022 11.9165 3.5981 11.7663L1.73175 11.0474Z" fill="white"/>
+<circle cx="12" cy="12" r="3" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/EyeOff.svg b/src/main/resources/assets/oneconfig/icons/EyeOff.svg
new file mode 100644
index 0000000..ec66c3d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/EyeOff.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4 4L20 20" stroke="white" stroke-width="2" stroke-linecap="round"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M6.22308 5.63732C4.19212 6.89322 2.60069 8.79137 1.73175 11.0474C1.49567 11.6604 1.49567 12.3396 1.73175 12.9526C3.31889 17.0733 7.31641 20 12 20C14.422 20 16.6606 19.2173 18.4773 17.8915L17.042 16.4562C15.6033 17.4309 13.8678 18 12 18C8.17084 18 4.89784 15.6083 3.5981 12.2337C3.54022 12.0835 3.54022 11.9165 3.5981 11.7663C4.36731 9.76914 5.82766 8.11625 7.6854 7.09964L6.22308 5.63732ZM9.47955 8.89379C8.5768 9.6272 7.99997 10.7462 7.99997 12C7.99997 14.2091 9.79083 16 12 16C13.2537 16 14.3728 15.4232 15.1062 14.5204L13.6766 13.0908C13.3197 13.6382 12.7021 14 12 14C10.8954 14 9.99997 13.1046 9.99997 12C9.99997 11.2979 10.3618 10.6802 10.9091 10.3234L9.47955 8.89379ZM15.9627 12.5485L11.4515 8.03729C11.6308 8.0127 11.8139 8 12 8C14.2091 8 16 9.79086 16 12C16 12.1861 15.9873 12.3692 15.9627 12.5485ZM18.5678 15.1536C19.3538 14.3151 19.9812 13.3259 20.4018 12.2337C20.4597 12.0835 20.4597 11.9165 20.4018 11.7663C19.1021 8.39172 15.8291 6 12 6C11.2082 6 10.4402 6.10226 9.70851 6.29433L8.11855 4.70437C9.32541 4.24913 10.6335 4 12 4C16.6835 4 20.681 6.92668 22.2682 11.0474C22.5043 11.6604 22.5043 12.3396 22.2682 12.9526C21.7464 14.3074 20.964 15.5331 19.9824 16.5682L18.5678 15.1536Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/FabricLoader.svg b/src/main/resources/assets/oneconfig/icons/FabricLoader.svg
new file mode 100644
index 0000000..448fe36
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/FabricLoader.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M9.50797 21.9699V20.3079H11.169V18.6469H12.831V21.9699H11.169V23.6309H7.84597V21.9699H6.18397V20.3079H7.84597V21.9699H9.50797ZM6.18397 18.6469H4.52297V20.3079H6.18397V18.6469ZM14.492 16.9849H12.831V18.6469H14.492V16.9849ZM2.86097 16.9849V13.6619H1.19897V16.9849H2.86097V18.6469H4.52297V16.9849H2.86097ZM16.154 15.3229H14.492V16.9849H16.154V15.3229H17.816V13.6619H16.154V15.3229ZM6.18397 8.6769V10.3379H4.52297V11.9999H2.86097V13.6619H4.52297V11.9999H6.18397V10.3379H7.84597V8.6769H6.18397ZM19.477 11.9999H21.139V13.6619H17.816V10.3379H19.477V7.0149H17.816V5.3529H19.477V7.0149H21.139V8.6769H22.801V11.9999H21.139V10.3379H19.477V11.9999ZM17.816 8.6769H16.154V10.3379H17.816V8.6769ZM9.50797 7.0149H7.84597V8.6769H9.50797V7.0149ZM14.492 5.3529H12.831V2.0299H14.492V3.6919H16.154V5.3529H17.816V3.6919H16.154V2.0299H14.492V0.368896H12.831V2.0299H11.169V5.3529H12.831V7.0149H14.492V8.6769H16.154V7.0149H14.492V5.3529ZM11.169 5.3529H9.50797V7.0149H11.169V5.3529Z" fill="black" fill-opacity="0.75"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M6.18408 18.6469H7.84608V20.3079H9.50808V18.6469H7.84608V16.9849H6.18408V18.6469ZM6.18408 15.3229H4.52308V16.9849H6.18408V15.3229ZM12.8311 13.6619H9.50808V15.3229H12.8311V13.6619ZM4.52308 13.6619H2.86108V15.3229H4.52308V13.6619ZM9.50808 11.9999H7.84608V13.6619H9.50808V11.9999ZM16.1541 10.3379H12.8311V11.9999H16.1541V10.3379ZM12.8311 8.67689H11.1691V10.3379H12.8311V8.67689ZM11.1691 7.01489H9.50808V8.67689H11.1691V7.01489Z" fill="white" fill-opacity="0.8"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M9.50808 20.3079H7.84608V21.9699H9.50808V20.3079ZM11.1691 18.6469H9.50808V20.3079H11.1691V18.6469ZM4.52308 18.6469H6.18408V20.3079H7.84608V18.6469H6.18408V16.9849H4.52308V18.6469ZM14.4921 15.3229H11.1691V18.6469H12.8311V16.9849H14.4921V15.3229ZM4.52308 15.3229H2.86108V16.9849H4.52308V15.3229ZM17.8161 8.67692V10.3379H16.1541V11.9999H14.4921V15.3229H16.1541V13.6619H17.8161V10.3379H19.4771V8.67692H17.8161ZM21.1391 10.3379H19.4771V11.9999H21.1391V10.3379ZM17.8161 7.01492H16.1541V8.67692H17.8161V7.01492ZM16.1541 5.35292H14.4921V7.01492H16.1541V5.35292ZM14.4921 3.66992H12.8311V5.33092H14.4921V3.66992Z" fill="white" fill-opacity="0.6"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M11.1689 10.338H12.8309V12H14.4919V15.323H12.8309V13.662H9.50795V11.989L7.84595 12V13.662H9.50795V15.323H11.1689V18.647H7.84595V16.985H6.18395V15.323H4.52295V12H6.18395V10.338H7.84595V8.67703H11.1689V5.35303H12.8309V7.01503H14.4919V8.67703H16.1539V10.338H12.8309V8.67703H11.1689V10.338ZM17.8159 7.01503H19.4769V8.65503L17.8159 8.67703V7.01503ZM16.1539 5.35303H17.8159V6.99303L16.1539 7.01503V5.35303ZM14.4919 3.69203H16.1539V5.33103L14.4919 5.35303V3.69203ZM12.8309 2.03003H14.4919V3.67003L12.8309 3.69203V2.03003Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/File.svg b/src/main/resources/assets/oneconfig/icons/File.svg
new file mode 100644
index 0000000..1ae91de
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/File.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8 4C6.89543 4 6 4.89543 6 6V18C6 19.1046 6.89543 20 8 20H16C17.1046 20 18 19.1046 18 18V9.625H14.5C13.3954 9.625 12.5 8.72957 12.5 7.625V4H8ZM14.5 5.4531L16.6236 7.625H14.5V5.4531ZM4 6C4 3.79086 5.79086 2 8 2H13.5C13.7691 2 14.0269 2.10847 14.215 2.30088L19.715 7.92588C19.8977 8.11273 20 8.36367 20 8.625V18C20 20.2091 18.2091 22 16 22H8C5.79086 22 4 20.2091 4 18V6Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8 13C8 12.4477 8.44772 12 9 12H15C15.5523 12 16 12.4477 16 13C16 13.5523 15.5523 14 15 14H9C8.44772 14 8 13.5523 8 13Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8 17C8 16.4477 8.44772 16 9 16H15C15.5523 16 16 16.4477 16 17C16 17.5523 15.5523 18 15 18H9C8.44772 18 8 17.5523 8 17Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Filter.svg b/src/main/resources/assets/oneconfig/icons/Filter.svg
new file mode 100644
index 0000000..6b3ea7d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Filter.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4 7H20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M7 12L17 12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M11 17H13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Folder.svg b/src/main/resources/assets/oneconfig/icons/Folder.svg
new file mode 100644
index 0000000..efe0b38
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Folder.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 7L11.2929 7.70711C11.4804 7.89464 11.7348 8 12 8V7ZM10.2929 5.29289L11 4.58579L10.2929 5.29289ZM2 7V17H4V7H2ZM5 20H19V18H5V20ZM22 17V9H20V17H22ZM19 6H12V8H19V6ZM12.7071 6.29289L11 4.58579L9.58579 6L11.2929 7.70711L12.7071 6.29289ZM9.58579 4H5V6H9.58579V4ZM22 9C22 7.34315 20.6569 6 19 6V8C19.5523 8 20 8.44772 20 9H22ZM19 20C20.6569 20 22 18.6569 22 17H20C20 17.5523 19.5523 18 19 18V20ZM2 17C2 18.6569 3.34315 20 5 20V18C4.44772 18 4 17.5523 4 17H2ZM11 4.58579C10.6249 4.21071 10.1162 4 9.58579 4V6V6L11 4.58579ZM4 7C4 6.44772 4.44772 6 5 6V4C3.34315 4 2 5.34315 2 7H4Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ForgeLoader.svg b/src/main/resources/assets/oneconfig/icons/ForgeLoader.svg
new file mode 100644
index 0000000..6138dc1
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ForgeLoader.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21.711 7.46291L11.384 6.95691L24 6.94791V5.93091H9.776L9.775 8.05891V9.75091C9.775 9.78191 9.36 7.25591 9.265 6.54891H8.147V10.1039C8.147 10.1379 7.668 7.13291 7.617 6.75791H0C0.519 7.20691 3.384 9.64991 5.421 10.6549C6.442 11.1579 7.694 11.1619 8.809 11.1929C9.375 11.2099 9.968 11.2529 10.392 11.6719C11.008 12.2819 11.145 13.2289 10.614 13.9449C10.09 14.6529 8.613 14.8059 8.613 14.8059L7.382 16.3159V18.0689H10.18L10.267 16.3369L12.685 14.6209C12.427 14.8279 11.851 15.3809 10.986 16.7129C10.79 17.0139 10.638 17.3429 10.519 17.6659C11.129 17.1479 12.385 16.7939 13.835 16.7939C15.283 16.7939 16.538 17.1479 17.15 17.6639C17.0298 17.331 16.8731 17.0124 16.683 16.7139C15.818 15.3809 15.241 14.8279 14.983 14.6219L17.402 16.3369L17.489 18.0689H20.1V16.3159L18.87 14.8069C18.87 14.8069 17.048 14.6909 16.571 13.9449C15.198 11.7979 17.148 8.46491 21.711 7.46291Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/HUD.svg b/src/main/resources/assets/oneconfig/icons/HUD.svg
new file mode 100644
index 0000000..702e6c7
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/HUD.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M14 12H19V10H14V12ZM19 12V19H21V12H19ZM19 19H14V21H19V19ZM14 19V12H12V19H14ZM5 5H9V3H5V5ZM9 5V12H11V5H9ZM9 12H5V14H9V12ZM5 12V5H3V12H5ZM5 12H3C3 13.1046 3.89543 14 5 14V12ZM9 12V14C10.1046 14 11 13.1046 11 12H9ZM9 5H11C11 3.89543 10.1046 3 9 3V5ZM5 3C3.89543 3 3 3.89543 3 5H5V3ZM5 17H9V15H5V17ZM9 17V19H11V17H9ZM9 19H5V21H9V19ZM5 19V17H3V19H5ZM5 19H3C3 20.1046 3.89543 21 5 21V19ZM9 19V21C10.1046 21 11 20.1046 11 19H9ZM9 17H11C11 15.8954 10.1046 15 9 15V17ZM5 15C3.89543 15 3 15.8954 3 17H5V15ZM14 5H19V3H14V5ZM19 5V7H21V5H19ZM19 7H14V9H19V7ZM14 7V5H12V7H14ZM14 7H12C12 8.10457 12.8954 9 14 9V7ZM19 7V9C20.1046 9 21 8.10457 21 7H19ZM19 5H21C21 3.89543 20.1046 3 19 3V5ZM14 3C12.8954 3 12 3.89543 12 5H14V3ZM14 19H12C12 20.1046 12.8954 21 14 21V19ZM19 19V21C20.1046 21 21 20.1046 21 19H19ZM19 12H21C21 10.8954 20.1046 10 19 10V12ZM14 10C12.8954 10 12 10.8954 12 12H14V10Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/HUDSettings.svg b/src/main/resources/assets/oneconfig/icons/HUDSettings.svg
new file mode 100644
index 0000000..7e45f29
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/HUDSettings.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10 4H6C4.89543 4 4 4.89543 4 6V14C4 15.1046 4.89543 16 6 16H18C19.1046 16 20 15.1046 20 14V13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M17.4641 5C18.2043 5 18.8506 5.40213 19.1964 5.99984M17.4641 5C16.7239 5 16.0776 5.40212 15.7318 5.99983M17.4641 5V3M17.4641 11V8.96675M20.9282 5L19.1964 5.99984M14 9L15.7318 8.00017M20.9282 9L19.1965 8.0002M14 5L15.7318 5.99983M15.7318 8.00017C15.5615 7.70596 15.4641 7.36436 15.4641 7C15.4641 6.63564 15.5615 6.29404 15.7318 5.99983M15.7318 8.00017C16.1255 8.68075 16.7977 8.98015 17.4641 8.96675M17.4641 8.96675C18.1521 8.95291 18.8338 8.60565 19.1965 8.0002M19.1965 8.0002C19.3645 7.71972 19.4641 7.38383 19.4641 7C19.4641 6.63565 19.3667 6.29405 19.1964 5.99984" stroke="white" stroke-width="2" stroke-linecap="round"/>
+<path d="M12 16V20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M8 20H16" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Hamburger.svg b/src/main/resources/assets/oneconfig/icons/Hamburger.svg
new file mode 100644
index 0000000..805f7a9
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Hamburger.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="6" r="2" fill="white"/>
+<circle cx="12" cy="12" r="2" fill="white"/>
+<circle cx="12" cy="18" r="2" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/HeartBroken.svg b/src/main/resources/assets/oneconfig/icons/HeartBroken.svg
new file mode 100644
index 0000000..f75d5da
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/HeartBroken.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4.42602 12.3115L12 19.8854L19.574 12.3115C21.4753 10.4101 21.4753 7.32738 19.574 5.42602C17.6726 3.52466 14.5899 3.52466 12.6885 5.42602L12 6.11456L11.3115 5.42602C9.4101 3.52466 6.32738 3.52466 4.42602 5.42602C2.52466 7.32738 2.52466 10.4101 4.42602 12.3115Z" stroke="white" stroke-width="2" stroke-linejoin="round"/>
+<path d="M12.8944 6.44722C13.1414 5.95324 12.9412 5.35257 12.4472 5.10557C11.9532 4.85858 11.3526 5.0588 11.1056 5.55278L12.8944 6.44722ZM10 9.99995L9.10557 9.55273C8.96993 9.82403 8.96474 10.1422 9.09148 10.4178C9.21823 10.6934 9.46319 10.8965 9.75745 10.9701L10 9.99995ZM14 11L14.8321 11.5547C15.0124 11.2841 15.05 10.9427 14.9327 10.6394C14.8155 10.3361 14.558 10.1087 14.2425 10.0299L14 11ZM11.1679 13.4453C10.8616 13.9048 10.9858 14.5257 11.4453 14.8321C11.9048 15.1384 12.5257 15.0142 12.8321 14.5547L11.1679 13.4453ZM11.1056 5.55278L9.10557 9.55273L10.8944 10.4472L12.8944 6.44722L11.1056 5.55278ZM9.75745 10.9701L13.7575 11.9701L14.2425 10.0299L10.2425 9.02981L9.75745 10.9701ZM13.1679 10.4453L11.1679 13.4453L12.8321 14.5547L14.8321 11.5547L13.1679 10.4453Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/HeartFill.svg b/src/main/resources/assets/oneconfig/icons/HeartFill.svg
new file mode 100644
index 0000000..58f176d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/HeartFill.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4.70043C9.70666 2.42704 6.00462 2.43321 3.71891 4.71891C1.42703 7.0108 1.42703 10.7267 3.71891 13.0186L11.2929 20.5925C11.4804 20.7801 11.7348 20.8854 12 20.8854C12.2652 20.8854 12.5196 20.7801 12.7071 20.5925L20.2811 13.0186C22.573 10.7267 22.573 7.0108 20.2811 4.71891C17.9954 2.43321 14.2933 2.42705 12 4.70043Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/HeartOutline.svg b/src/main/resources/assets/oneconfig/icons/HeartOutline.svg
new file mode 100644
index 0000000..cc623ac
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/HeartOutline.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M10.6044 6.13313C9.09351 4.62229 6.64396 4.62229 5.13313 6.13313C3.62229 7.64396 3.62229 10.0935 5.13313 11.6044L12 18.4712L18.8669 11.6044C20.3777 10.0935 20.3777 7.64396 18.8669 6.13313C17.356 4.62229 14.9065 4.62229 13.3957 6.13313L12.7071 6.82167C12.3166 7.21219 11.6834 7.2122 11.2929 6.82167L10.6044 6.13313ZM12 4.70043C9.70666 2.42704 6.00462 2.43321 3.71891 4.71891C1.42703 7.0108 1.42703 10.7267 3.71891 13.0186L11.2929 20.5925C11.4804 20.7801 11.7348 20.8854 12 20.8854C12.2652 20.8854 12.5196 20.7801 12.7071 20.5925L20.2811 13.0186C22.573 10.7267 22.573 7.0108 20.2811 4.71891C17.9954 2.43321 14.2933 2.42705 12 4.70043Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/HelpCircle.svg b/src/main/resources/assets/oneconfig/icons/HelpCircle.svg
new file mode 100644
index 0000000..06f99a1
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/HelpCircle.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM12.3902 8.03843C12.0022 7.96126 11.6001 8.00087 11.2346 8.15224C10.8692 8.30362 10.5568 8.55996 10.3371 8.88886C10.1173 9.21776 10 9.60444 10 10C10 10.5523 9.55228 11 9 11C8.44772 11 8 10.5523 8 10C8 9.20888 8.2346 8.43552 8.67412 7.77772C9.11365 7.11992 9.73836 6.60723 10.4693 6.30448C11.2002 6.00173 12.0044 5.92252 12.7804 6.07686C13.5563 6.2312 14.269 6.61216 14.8284 7.17158C15.3878 7.73099 15.7688 8.44372 15.9231 9.21964C16.0775 9.99556 15.9983 10.7998 15.6955 11.5307C15.3928 12.2616 14.8801 12.8864 14.2223 13.3259C13.8465 13.577 13.433 13.7612 13 13.873V14C13 14.5523 12.5523 15 12 15C11.4477 15 11 14.5523 11 14V13C11 12.7348 11.1054 12.4804 11.2929 12.2929C11.4804 12.1054 11.7348 12 12 12C12.3956 12 12.7822 11.8827 13.1111 11.6629C13.44 11.4432 13.6964 11.1308 13.8478 10.7654C13.9991 10.3999 14.0387 9.99778 13.9616 9.60982C13.8844 9.22186 13.6939 8.86549 13.4142 8.58579C13.1345 8.30608 12.7781 8.1156 12.3902 8.03843Z" fill="white"/>
+<circle cx="12" cy="17" r="1" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/History.svg b/src/main/resources/assets/oneconfig/icons/History.svg
new file mode 100644
index 0000000..d4230c1
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/History.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0474 4.16624C12.9338 3.77558 14.8978 4.07875 16.5787 5.02005C18.2595 5.96135 19.5442 7.47756 20.1967 9.29011C20.8493 11.1027 20.8259 13.0898 20.1308 14.8865C19.4357 16.6832 18.1156 18.1687 16.4131 19.0701C14.7106 19.9716 12.74 20.2284 10.8633 19.7934C8.9866 19.3584 7.32991 18.2608 6.19757 16.7023C5.87295 16.2555 5.24758 16.1564 4.80077 16.481C4.35396 16.8057 4.25491 17.431 4.57954 17.8778C5.99496 19.826 8.06583 21.198 10.4117 21.7417C12.7575 22.2855 15.2208 21.9644 17.349 20.8376C19.4771 19.7108 21.1272 17.8539 21.9961 15.6081C22.8649 13.3623 22.8942 10.8783 22.0785 8.61263C21.2628 6.34694 19.6569 4.45168 17.5559 3.27506C15.4549 2.09843 12.9998 1.71947 10.6418 2.20779C8.28381 2.69611 6.18119 4.01892 4.72026 5.93319C3.73958 7.21819 3.09227 8.71178 2.81841 10.2818L2.70708 10.1705C2.31655 9.77999 1.68339 9.77999 1.29286 10.1705C0.90234 10.561 0.90234 11.1942 1.29287 11.5847L2.98036 13.2722C3.37089 13.6627 4.00405 13.6627 4.39458 13.2722L6.08207 11.5847C6.4726 11.1942 6.4726 10.561 6.08207 10.1705C5.76989 9.85833 5.30264 9.79571 4.92825 9.98265C5.19399 8.9629 5.66069 7.99755 6.31015 7.14655C7.47889 5.61514 9.16099 4.55689 11.0474 4.16624Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12.6697 5.5C13.222 5.5 13.6697 5.94772 13.6697 6.5V11.382L17.1169 13.1056C17.6109 13.3526 17.8111 13.9532 17.5641 14.4472C17.3171 14.9412 16.7164 15.1414 16.2225 14.8944L12.2225 12.8944C11.8837 12.725 11.6697 12.3788 11.6697 12V6.5C11.6697 5.94772 12.1174 5.5 12.6697 5.5Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Home.svg b/src/main/resources/assets/oneconfig/icons/Home.svg
new file mode 100644
index 0000000..3493478
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Home.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19.2929 12.7071C19.6834 13.0976 20.3166 13.0976 20.7071 12.7071C21.0976 12.3166 21.0976 11.6834 20.7071 11.2929L19.2929 12.7071ZM3.29289 11.2929C2.90237 11.6834 2.90237 12.3166 3.29289 12.7071C3.68342 13.0976 4.31658 13.0976 4.70711 12.7071L3.29289 11.2929ZM18.5 6C18.5 5.44772 18.0523 5 17.5 5C16.9477 5 16.5 5.44772 16.5 6H18.5ZM13 15C13 14.4477 12.5523 14 12 14C11.4477 14 11 14.4477 11 15H13ZM12.7071 4.70711L12 5.41421L12.7071 4.70711ZM17.2222 10.2222V18H19.2222V10.2222H17.2222ZM6.77778 18V10.2222H4.77778V18H6.77778ZM6.48488 10.9293L12 5.41421L10.5858 4L5.07067 9.51512L6.48488 10.9293ZM17.5151 10.9293L19.2929 12.7071L20.7071 11.2929L18.9293 9.51512L17.5151 10.9293ZM5.07067 9.51512L3.29289 11.2929L4.70711 12.7071L6.48488 10.9293L5.07067 9.51512ZM12 5.41421L16.7929 10.2071L18.2071 8.79289L13.4142 4L12 5.41421ZM16.7929 10.2071L17.5151 10.9293L18.9293 9.51512L18.2071 8.79289L16.7929 10.2071ZM18.5 9.5V6H16.5V9.5H18.5ZM16.2222 19H12V21H16.2222V19ZM12 19H7.77778V21H12V19ZM13 20V15H11V20H13ZM12 5.41421V5.41421L13.4142 4C12.6332 3.21895 11.3668 3.21895 10.5858 4L12 5.41421ZM4.77778 18C4.77778 19.6569 6.12092 21 7.77778 21V19C7.22549 19 6.77778 18.5523 6.77778 18H4.77778ZM17.2222 18C17.2222 18.5523 16.7745 19 16.2222 19V21C17.8791 21 19.2222 19.6569 19.2222 18H17.2222Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Image.svg b/src/main/resources/assets/oneconfig/icons/Image.svg
new file mode 100644
index 0000000..16c878a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Image.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect x="4" y="4" width="16" height="16" rx="3" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M4 16L8.29289 11.7071C8.68342 11.3166 9.31658 11.3166 9.70711 11.7071L13 15M13 15L15.7929 12.2071C16.1834 11.8166 16.8166 11.8166 17.2071 12.2071L20 15M13 15L15.25 17.25" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/InfoCircle.svg b/src/main/resources/assets/oneconfig/icons/InfoCircle.svg
new file mode 100644
index 0000000..825ce34
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/InfoCircle.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM12 10C12.5523 10 13 10.4477 13 11V16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16V11C11 10.4477 11.4477 10 12 10Z" fill="white"/>
+<circle cx="12" cy="7.5" r="1" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ItemLinkBroke.svg b/src/main/resources/assets/oneconfig/icons/ItemLinkBroke.svg
new file mode 100644
index 0000000..3444329
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ItemLinkBroke.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M6.95611 18.399L7.66321 17.6919L6.95611 18.399ZM5.41421 16.8571L4.7071 17.5642H4.70711L5.41421 16.8571ZM5.41421 14.0287L4.70711 13.3216H4.70711L5.41421 14.0287ZM18.399 6.95611L17.6919 7.66321L18.399 6.95611ZM16.8571 5.41421L17.5642 4.70711V4.7071L16.8571 5.41421ZM14.0287 5.41421L13.3216 4.70711V4.70711L14.0287 5.41421ZM9.07743 11.7797C9.46795 11.3891 9.46795 10.756 9.07743 10.3654C8.6869 9.97492 8.05374 9.97492 7.66321 10.3654L9.07743 11.7797ZM13.4477 16.15C13.8383 15.7595 13.8383 15.1263 13.4477 14.7358C13.0572 14.3452 12.4241 14.3452 12.0335 14.7358L13.4477 16.15ZM10.3654 7.66321C9.97492 8.05374 9.97492 8.6869 10.3654 9.07743C10.756 9.46795 11.3891 9.46795 11.7797 9.07743L10.3654 7.66321ZM14.7358 12.0335C14.3452 12.4241 14.3452 13.0572 14.7358 13.4477C15.1263 13.8383 15.7595 13.8383 16.15 13.4477L14.7358 12.0335ZM5.94173 7.35594C6.33225 7.74646 6.96541 7.74646 7.35594 7.35594C7.74646 6.96541 7.74646 6.33225 7.35594 5.94173L5.94173 7.35594ZM5.59006 4.17585C5.19954 3.78532 4.56637 3.78532 4.17585 4.17585C3.78532 4.56637 3.78532 5.19954 4.17585 5.59006L5.59006 4.17585ZM18.3921 19.8063C18.7826 20.1968 19.4158 20.1968 19.8063 19.8063C20.1968 19.4158 20.1968 18.7826 19.8063 18.3921L18.3921 19.8063ZM18.0404 16.6262C17.6499 16.2357 17.0167 16.2357 16.6262 16.6262C16.2357 17.0167 16.2357 17.6499 16.6262 18.0404L18.0404 16.6262ZM8.35119 5.87299C8.35119 6.42528 8.7989 6.87299 9.35119 6.87299C9.90347 6.87299 10.3512 6.42528 10.3512 5.87299H8.35119ZM10.3512 4C10.3512 3.44772 9.90347 3 9.35119 3C8.7989 3 8.35119 3.44772 8.35119 4H10.3512ZM13.6488 20C13.6488 20.5523 14.0965 21 14.6488 21C15.2011 21 15.6488 20.5523 15.6488 20H13.6488ZM15.6488 18.127C15.6488 17.5747 15.2011 17.127 14.6488 17.127C14.0965 17.127 13.6488 17.5747 13.6488 18.127H15.6488ZM5.87299 10.3512C6.42528 10.3512 6.87299 9.90347 6.87299 9.35119C6.87299 8.7989 6.42528 8.35119 5.87299 8.35119V10.3512ZM4 8.35119C3.44772 8.35119 3 8.7989 3 9.35119C3 9.90347 3.44772 10.3512 4 10.3512V8.35119ZM20 15.6488C20.5523 15.6488 21 15.2011 21 14.6488C21 14.0965 20.5523 13.6488 20 13.6488V15.6488ZM18.127 13.6488C17.5747 13.6488 17.127 14.0965 17.127 14.6488C17.127 15.2011 17.5747 15.6488 18.127 15.6488V13.6488ZM7.66321 17.6919L6.12132 16.15L4.70711 17.5642L6.249 19.1061L7.66321 17.6919ZM6.249 19.1061C7.42057 20.2777 9.32007 20.2777 10.4916 19.1061L9.07743 17.6919C8.6869 18.0824 8.05374 18.0824 7.66321 17.6919L6.249 19.1061ZM6.12132 16.15C5.7308 15.7595 5.73079 15.1263 6.12132 14.7358L4.70711 13.3216C3.53554 14.4931 3.53553 16.3926 4.7071 17.5642L6.12132 16.15ZM19.1061 6.249L17.5642 4.70711L16.15 6.12132L17.6919 7.66321L19.1061 6.249ZM17.6919 7.66321C18.0824 8.05374 18.0824 8.6869 17.6919 9.07743L19.1061 10.4916C20.2777 9.32007 20.2777 7.42057 19.1061 6.249L17.6919 7.66321ZM17.5642 4.7071C16.3926 3.53553 14.4931 3.53554 13.3216 4.70711L14.7358 6.12132C15.1263 5.73079 15.7595 5.7308 16.15 6.12132L17.5642 4.7071ZM6.12132 14.7358L9.07743 11.7797L7.66321 10.3654L4.70711 13.3216L6.12132 14.7358ZM12.0335 14.7358L9.07743 17.6919L10.4916 19.1061L13.4477 16.15L12.0335 14.7358ZM13.3216 4.70711L10.3654 7.66321L11.7797 9.07743L14.7358 6.12132L13.3216 4.70711ZM16.15 13.4477L19.1061 10.4916L17.6919 9.07743L14.7358 12.0335L16.15 13.4477ZM7.35594 5.94173L5.59006 4.17585L4.17585 5.59006L5.94173 7.35594L7.35594 5.94173ZM19.8063 18.3921L18.0404 16.6262L16.6262 18.0404L18.3921 19.8063L19.8063 18.3921ZM10.3512 5.87299V4H8.35119V5.87299H10.3512ZM15.6488 20V18.127H13.6488V20H15.6488ZM5.87299 8.35119H4V10.3512H5.87299V8.35119ZM20 13.6488H18.127V15.6488H20V13.6488Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ItemLinked.svg b/src/main/resources/assets/oneconfig/icons/ItemLinked.svg
new file mode 100644
index 0000000..6b17bc1
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ItemLinked.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M17.4143 5.41415L18.1214 4.70705V4.70705L17.4143 5.41415ZM18.5858 6.58572L17.8787 7.29283L18.5858 6.58572ZM10.0809 9.91905L10.7881 10.6262L10.0809 9.91905ZM14.5858 5.41416L13.8787 4.70705V4.70705L14.5858 5.41416ZM9.95962 14.0404C10.3501 14.4309 10.9833 14.4309 11.3738 14.0404C11.7644 13.6498 11.7644 13.0167 11.3738 12.6262L9.95962 14.0404ZM10.0809 12.7475L10.7881 12.0404H10.7881L10.0809 12.7475ZM18.5858 9.41415L19.2929 10.1213V10.1213L18.5858 9.41415ZM16.293 10.2928C15.9024 10.6834 15.9024 11.3165 16.293 11.707C16.6835 12.0976 17.3166 12.0976 17.7072 11.707L16.293 10.2928ZM6.58585 18.5857L7.29295 17.8786L6.58585 18.5857ZM5.41428 17.4142L4.70717 18.1213H4.70717L5.41428 17.4142ZM14.0405 9.95951C13.65 9.56899 13.0168 9.56899 12.6263 9.95951C12.2358 10.35 12.2358 10.9832 12.6263 11.3737L14.0405 9.95951ZM13.9192 11.2524L14.6263 10.5453V10.5453L13.9192 11.2524ZM5.41428 14.5857L4.70717 13.8786H4.70717L5.41428 14.5857ZM7.70717 13.7071C8.09769 13.3165 8.09769 12.6834 7.70717 12.2928C7.31664 11.9023 6.68348 11.9023 6.29295 12.2928L7.70717 13.7071ZM16.7072 6.12126L17.8787 7.29283L19.2929 5.87862L18.1214 4.70705L16.7072 6.12126ZM10.7881 10.6262L15.293 6.12126L13.8787 4.70705L9.37384 9.21195L10.7881 10.6262ZM11.3738 12.6262L10.7881 12.0404L9.37384 13.4546L9.95962 14.0404L11.3738 12.6262ZM17.8787 8.70704L16.293 10.2928L17.7072 11.707L19.2929 10.1213L17.8787 8.70704ZM7.29295 17.8786L6.12138 16.7071L4.70717 18.1213L5.87874 19.2928L7.29295 17.8786ZM13.2121 13.3737L8.70717 17.8786L10.1214 19.2928L14.6263 14.7879L13.2121 13.3737ZM12.6263 11.3737L13.2121 11.9595L14.6263 10.5453L14.0405 9.95951L12.6263 11.3737ZM6.12138 15.2928L7.70717 13.7071L6.29295 12.2928L4.70717 13.8786L6.12138 15.2928ZM14.6263 14.7879C15.7979 13.6164 15.7979 11.7169 14.6263 10.5453L13.2121 11.9595C13.6026 12.35 13.6026 12.9832 13.2121 13.3737L14.6263 14.7879ZM6.12138 16.7071C5.73086 16.3165 5.73086 15.6834 6.12138 15.2928L4.70717 13.8786C3.5356 15.0502 3.5356 16.9497 4.70717 18.1213L6.12138 16.7071ZM5.87874 19.2928C7.05031 20.4644 8.94981 20.4644 10.1214 19.2928L8.70717 17.8786C8.31664 18.2691 7.68348 18.2691 7.29295 17.8786L5.87874 19.2928ZM9.37384 9.21195C8.20227 10.3835 8.20227 12.283 9.37384 13.4546L10.7881 12.0404C10.3975 11.6498 10.3975 11.0167 10.7881 10.6262L9.37384 9.21195ZM17.8787 7.29283C18.2693 7.68335 18.2693 8.31652 17.8787 8.70704L19.2929 10.1213C20.4645 8.94968 20.4645 7.05019 19.2929 5.87862L17.8787 7.29283ZM18.1214 4.70705C16.9498 3.53547 15.0503 3.53548 13.8787 4.70705L15.293 6.12126C15.6835 5.73074 16.3166 5.73074 16.7072 6.12126L18.1214 4.70705Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Keystroke.svg b/src/main/resources/assets/oneconfig/icons/Keystroke.svg
new file mode 100644
index 0000000..a841c94
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Keystroke.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M8.75 5C8.75 4.44772 9.19772 4 9.75 4H14.25C14.8023 4 15.25 4.44772 15.25 5V10.5H8.75V5Z" fill="white"/>
+<path d="M1.5 12.5C1.5 11.9477 1.94772 11.5 2.5 11.5H8V18H2.5C1.94772 18 1.5 17.5523 1.5 17V12.5Z" fill="white"/>
+<rect x="8.75" y="11.5" width="6.5" height="6.5" fill="white"/>
+<path d="M16 11.5H21.5C22.0523 11.5 22.5 11.9477 22.5 12.5V17C22.5 17.5523 22.0523 18 21.5 18H16V11.5Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/LaunchProfiles.svg b/src/main/resources/assets/oneconfig/icons/LaunchProfiles.svg
new file mode 100644
index 0000000..060ee76
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/LaunchProfiles.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M11.4216 5.34687L11.8885 4.46257C11.6388 4.33071 11.3449 4.31059 11.0796 4.40718L11.4216 5.34687ZM8.60251 6.37293L8.26049 5.43324C7.96713 5.54001 7.74047 5.77766 7.64769 6.07574C7.55491 6.37382 7.60666 6.69813 7.7876 6.95253L8.60251 6.37293ZM15.3736 7.43354L14.9067 8.31784C15.1757 8.45989 15.4948 8.47175 15.7736 8.35007L15.3736 7.43354ZM16.5296 6.92906L16.1296 6.01253L16.5296 6.92906ZM7.70772 14.1478L7.02019 14.874C7.29524 15.1344 7.69381 15.2171 8.04974 15.0875L7.70772 14.1478ZM6.89589 13.3792L7.58342 12.653C7.30837 12.3926 6.9098 12.31 6.55387 12.4395L6.89589 13.3792ZM6.89587 13.3792L6.20834 14.1054C6.48338 14.3658 6.88196 14.4484 7.23789 14.3189L6.89587 13.3792ZM5.27212 11.8418L5.95966 11.1157L5.95966 11.1156L5.27212 11.8418ZM3.6484 10.3044L3.30638 9.36474C2.9807 9.48328 2.73962 9.76199 2.66924 10.1013C2.59885 10.4407 2.70919 10.7923 2.96086 11.0306L3.6484 10.3044ZM6.46747 9.27837L7.15501 8.55222C6.87996 8.2918 6.48138 8.20913 6.12545 8.33868L6.46747 9.27837ZM7.94358 10.676L7.25605 11.4021C7.5475 11.6781 7.9757 11.753 8.34356 11.5925L7.94358 10.676ZM10.782 9.4373L11.182 10.3538C11.4581 10.2333 11.6651 9.99482 11.7456 9.70455C11.8262 9.41427 11.7715 9.10317 11.5969 8.8577L10.782 9.4373ZM11.0796 4.40718L8.26049 5.43324L8.94453 7.31262L11.7636 6.28656L11.0796 4.40718ZM15.8405 6.54924L11.8885 4.46257L10.9547 6.23117L14.9067 8.31784L15.8405 6.54924ZM16.1296 6.01253L14.9736 6.51701L15.7736 8.35007L16.9296 7.84559L16.1296 6.01253ZM22.1869 8.61017C21.2949 6.15936 18.52 4.96937 16.1296 6.01253L16.9296 7.84559C18.2626 7.26385 19.8101 7.92747 20.3075 9.29421L22.1869 8.61017ZM21.4389 10.2143C22.0884 9.97787 22.4233 9.25969 22.1869 8.61017L20.3075 9.29421C20.1662 8.90578 20.3664 8.47628 20.7549 8.3349L21.4389 10.2143ZM8.04974 15.0875L21.4389 10.2143L20.7549 8.3349L7.3657 13.2082L8.04974 15.0875ZM6.20836 14.1054L7.02019 14.874L8.39525 13.4217L7.58342 12.653L6.20836 14.1054ZM6.55387 12.4395L6.55385 12.4395L7.23789 14.3189L7.23791 14.3189L6.55387 12.4395ZM7.58341 12.6531L5.95966 11.1157L4.58459 12.568L6.20834 14.1054L7.58341 12.6531ZM5.95966 11.1156L4.33593 9.57828L2.96086 11.0306L4.58459 12.568L5.95966 11.1156ZM3.99042 11.2441L6.80949 10.2181L6.12545 8.33868L3.30638 9.36474L3.99042 11.2441ZM5.77994 10.0045L7.25605 11.4021L8.63112 9.94983L7.15501 8.55222L5.77994 10.0045ZM10.3821 8.52077L7.54361 9.75945L8.34356 11.5925L11.182 10.3538L10.3821 8.52077ZM7.7876 6.95253L9.96712 10.0169L11.5969 8.8577L9.41741 5.79333L7.7876 6.95253Z" fill="white"/>
+<path d="M4 19L20 19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/LinkDiagonal.svg b/src/main/resources/assets/oneconfig/icons/LinkDiagonal.svg
new file mode 100644
index 0000000..159c6ca
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/LinkDiagonal.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M6.34319 19.0711L5.63608 19.7782H5.63608L6.34319 19.0711ZM4.92897 17.6569L5.63608 16.9498H5.63608L4.92897 17.6569ZM4.92897 13.4142L4.22187 12.7071H4.22187L4.92897 13.4142ZM8.46451 11.2929C8.85503 10.9024 8.85503 10.2692 8.46451 9.8787C8.07398 9.48818 7.44082 9.48818 7.05029 9.8787L8.46451 11.2929ZM14.1214 16.9498C14.5119 16.5592 14.5119 15.9261 14.1214 15.5356C13.7308 15.145 13.0977 15.145 12.7071 15.5356L14.1214 16.9498ZM9.17162 13.4143C8.7811 13.8048 8.7811 14.438 9.17162 14.8285C9.56215 15.219 10.1953 15.219 10.5858 14.8285L9.17162 13.4143ZM14.8285 10.5858C15.219 10.1953 15.219 9.56215 14.8285 9.17163C14.438 8.7811 13.8048 8.7811 13.4143 9.17163L14.8285 10.5858ZM19.0711 6.34319L18.364 7.05029V7.05029L19.0711 6.34319ZM17.6569 4.92897L18.364 4.22187V4.22187L17.6569 4.92897ZM13.4142 4.92897L14.1213 5.63608L13.4142 4.92897ZM9.8787 7.05029C9.48818 7.44082 9.48818 8.07398 9.8787 8.46451C10.2692 8.85503 10.9024 8.85503 11.2929 8.46451L9.8787 7.05029ZM19.0711 10.5858L18.364 9.87872L19.0711 10.5858ZM15.5356 12.7071C15.145 13.0977 15.145 13.7308 15.5356 14.1214C15.9261 14.5119 16.5592 14.5119 16.9498 14.1214L15.5356 12.7071ZM7.05029 18.364L5.63608 16.9498L4.22187 18.364L5.63608 19.7782L7.05029 18.364ZM10.5858 14.8285L14.8285 10.5858L13.4143 9.17163L9.17162 13.4143L10.5858 14.8285ZM19.7782 5.63608L18.364 4.22187L16.9498 5.63608L18.364 7.05029L19.7782 5.63608ZM18.364 7.05029C19.145 7.83134 19.145 9.09767 18.364 9.87872L19.7782 11.2929C21.3403 9.73084 21.3403 7.19818 19.7782 5.63608L18.364 7.05029ZM18.364 4.22187C16.8019 2.65977 14.2692 2.65977 12.7071 4.22187L14.1213 5.63608C14.9024 4.85503 16.1687 4.85503 16.9498 5.63608L18.364 4.22187ZM5.63608 19.7782C7.19818 21.3403 9.73084 21.3403 11.2929 19.7782L9.87872 18.364C9.09767 19.145 7.83134 19.145 7.05029 18.364L5.63608 19.7782ZM5.63608 16.9498C4.85503 16.1687 4.85503 14.9024 5.63608 14.1213L4.22187 12.7071C2.65977 14.2692 2.65977 16.8019 4.22187 18.364L5.63608 16.9498ZM5.63608 14.1213L8.46451 11.2929L7.05029 9.8787L4.22187 12.7071L5.63608 14.1213ZM12.7071 15.5356L9.87872 18.364L11.2929 19.7782L14.1214 16.9498L12.7071 15.5356ZM12.7071 4.22187L9.8787 7.05029L11.2929 8.46451L14.1213 5.63608L12.7071 4.22187ZM16.9498 14.1214L19.7782 11.2929L18.364 9.87872L15.5356 12.7071L16.9498 14.1214Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/LinkHorizontal.svg b/src/main/resources/assets/oneconfig/icons/LinkHorizontal.svg
new file mode 100644
index 0000000..23b9e59
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/LinkHorizontal.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10 9C10.5523 9 11 8.55228 11 8C11 7.44772 10.5523 7 10 7V9ZM10 17C10.5523 17 11 16.5523 11 16C11 15.4477 10.5523 15 10 15V17ZM9 11C8.44772 11 8 11.4477 8 12C8 12.5523 8.44772 13 9 13V11ZM15 13C15.5523 13 16 12.5523 16 12C16 11.4477 15.5523 11 15 11V13ZM14 7C13.4477 7 13 7.44772 13 8C13 8.55228 13.4477 9 14 9V7ZM14 15C13.4477 15 13 15.4477 13 16C13 16.5523 13.4477 17 14 17V15ZM4 13V11H2V13H4ZM9 13H15V11H9V13ZM22 13V11H20V13H22ZM20 13C20 14.1046 19.1046 15 18 15V17C20.2091 17 22 15.2091 22 13H20ZM22 11C22 8.79086 20.2091 7 18 7V9C19.1046 9 20 9.89543 20 11H22ZM2 13C2 15.2091 3.79086 17 6 17V15C4.89543 15 4 14.1046 4 13H2ZM4 11C4 9.89543 4.89543 9 6 9V7C3.79086 7 2 8.79086 2 11H4ZM6 9H10V7H6V9ZM10 15H6V17H10V15ZM18 7H14V9H18V7ZM14 17H18V15H14V17Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Loading.svg b/src/main/resources/assets/oneconfig/icons/Loading.svg
new file mode 100644
index 0000000..7482ddd
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Loading.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z" fill="white" fill-opacity="0.3"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M11 4.00001C11 3.44772 11.4477 3.00001 12 3.00001C13.78 3.00001 15.5201 3.52785 17.0001 4.51678C18.4802 5.50571 19.6337 6.91132 20.3149 8.55585C20.9961 10.2004 21.1743 12.01 20.8271 13.7558C20.4798 15.5016 19.6226 17.1053 18.364 18.364C17.9734 18.7545 17.3403 18.7545 16.9497 18.364C16.5592 17.9734 16.5592 17.3403 16.9497 16.9498C17.9287 15.9708 18.5954 14.7235 18.8655 13.3656C19.1356 12.0078 18.997 10.6003 18.4672 9.32122C17.9373 8.04214 17.0401 6.94889 15.889 6.17972C14.7378 5.41055 13.3845 5.00001 12 5.00001C11.4477 5.00001 11 4.55229 11 4.00001Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/LocationPoint.svg b/src/main/resources/assets/oneconfig/icons/LocationPoint.svg
new file mode 100644
index 0000000..8ad408e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/LocationPoint.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="10" r="3" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M19 9.75H18H19ZM12 21L11.3736 21.7795C11.7395 22.0735 12.2605 22.0735 12.6264 21.7795L12 21ZM18 9.75C18 12.192 16.4526 14.77 14.7304 16.8459C13.8887 17.8603 13.0444 18.7087 12.4098 19.3037C12.0931 19.6005 11.8303 19.8328 11.6483 19.9895C11.5574 20.0678 11.4867 20.1271 11.4398 20.1661C11.4163 20.1856 11.3988 20.2 11.3876 20.2091C11.382 20.2137 11.378 20.2169 11.3757 20.2188C11.3745 20.2198 11.3737 20.2204 11.3734 20.2207C11.3732 20.2208 11.3731 20.2209 11.3732 20.2208C11.3732 20.2208 11.3733 20.2207 11.3733 20.2207C11.3734 20.2206 11.3736 20.2205 12 21C12.6264 21.7795 12.6266 21.7793 12.6268 21.7791C12.627 21.7791 12.6272 21.7788 12.6275 21.7787C12.6279 21.7783 12.6285 21.7778 12.6292 21.7773C12.6305 21.7762 12.6323 21.7748 12.6345 21.773C12.6388 21.7694 12.6449 21.7645 12.6526 21.7583C12.6679 21.7458 12.6896 21.7279 12.7174 21.7048C12.773 21.6586 12.8528 21.5916 12.9532 21.5051C13.1541 21.3322 13.4381 21.0811 13.7777 20.7627C14.4556 20.1272 15.3613 19.2178 16.2696 18.1229C18.0474 15.98 20 12.933 20 9.75H18ZM12 21C12.6264 20.2205 12.6266 20.2206 12.6267 20.2207C12.6267 20.2207 12.6268 20.2208 12.6268 20.2208C12.6269 20.2209 12.6268 20.2208 12.6266 20.2207C12.6263 20.2204 12.6255 20.2198 12.6243 20.2188C12.622 20.2169 12.618 20.2137 12.6124 20.2091C12.6012 20.2 12.5837 20.1856 12.5602 20.1661C12.5133 20.1271 12.4426 20.0678 12.3517 19.9895C12.1697 19.8328 11.9069 19.6005 11.5902 19.3037C10.9556 18.7087 10.1113 17.8603 9.26962 16.8459C7.54738 14.77 6 12.192 6 9.75H4C4 12.933 5.95262 15.98 7.73038 18.1229C8.63875 19.2178 9.54444 20.1272 10.2223 20.7627C10.5619 21.0811 10.8459 21.3322 11.0468 21.5051C11.1472 21.5916 11.227 21.6586 11.2826 21.7048C11.3104 21.7279 11.3321 21.7458 11.3474 21.7583C11.3551 21.7645 11.3612 21.7694 11.3655 21.773C11.3677 21.7748 11.3695 21.7762 11.3708 21.7773C11.3715 21.7778 11.3721 21.7783 11.3725 21.7787C11.3728 21.7788 11.373 21.7791 11.3732 21.7791C11.3734 21.7793 11.3736 21.7795 12 21ZM6 9.75C6 6.60833 8.6517 4 12 4V2C7.61631 2 4 5.43583 4 9.75H6ZM12 4C15.3483 4 18 6.60833 18 9.75H20C20 5.43583 16.3837 2 12 2V4Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Maximise.svg b/src/main/resources/assets/oneconfig/icons/Maximise.svg
new file mode 100644
index 0000000..a34839a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Maximise.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M14 10L19 5M19 5L19 10M19 5L14 5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M10 14L5 19M5 19L5 14M5 19H10" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Mic.svg b/src/main/resources/assets/oneconfig/icons/Mic.svg
new file mode 100644
index 0000000..19fee3d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Mic.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 17V21M12 21H9M12 21H15" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<rect x="10" y="3" width="4" height="10" rx="2" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M17.7378 12.7542C17.3674 13.9659 16.6228 15.0293 15.6109 15.7918C14.599 16.5544 13.3716 16.977 12.1047 16.9991C10.8378 17.0212 9.59647 16.6417 8.55854 15.9149C7.52061 15.1881 6.73941 14.1515 6.32689 12.9534" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/MicOff.svg b/src/main/resources/assets/oneconfig/icons/MicOff.svg
new file mode 100644
index 0000000..36d6ed7
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/MicOff.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M9.00004 7.91421V11C9.00004 12.6569 10.3432 14 12 14C12.8503 14 13.6179 13.6463 14.1638 13.078L12.7487 11.6629C12.5655 11.8697 12.298 12 12 12C11.4478 12 11 11.5523 11 11V9.91422L9.00004 7.91421ZM13 9.08579V5C13 4.44772 12.5523 4 12 4C11.4478 4 11 4.44772 11 5V7.08579L9.00004 5.08579V5C9.00004 3.34315 10.3432 2 12 2C13.6569 2 15 3.34315 15 5V11C15 11.0283 14.9997 11.0565 14.9989 11.0846L13 9.08579ZM15.5782 14.4924C15.4023 14.6727 15.2121 14.8402 15.0091 14.9932C14.1658 15.6286 13.143 15.9808 12.0873 15.9992C12.0594 15.9997 12.0315 16 12.0036 16C10.977 16.0007 9.97424 15.6854 9.13216 15.0958C8.26722 14.4901 7.61622 13.6262 7.27245 12.6278C7.09264 12.1056 6.52356 11.8281 6.00136 12.0079C5.47917 12.1877 5.20161 12.7568 5.38141 13.279C5.86269 14.6767 6.77409 15.8862 7.98501 16.7341C8.88694 17.3656 9.92054 17.7724 11 17.9282V20H9.00004C8.44776 20 8.00004 20.4477 8.00004 21C8.00004 21.5523 8.44776 22 9.00004 22H12H15C15.5523 22 16 21.5523 16 21C16 20.4477 15.5523 20 15 20H13V17.9282C14.1618 17.7605 15.2678 17.3025 16.2127 16.5904C16.4905 16.3812 16.7509 16.1525 16.9925 15.9067L15.5782 14.4924ZM18.1876 14.2733L16.6785 12.7642C16.716 12.6648 16.7504 12.5639 16.7816 12.4619C16.943 11.9337 17.5021 11.6365 18.0302 11.7979C18.5584 11.9594 18.8556 12.5184 18.6942 13.0466C18.5639 13.4729 18.3938 13.8834 18.1876 14.2733Z" fill="white"/>
+<path d="M5 5L19 19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/MicrosoftIcon.svg b/src/main/resources/assets/oneconfig/icons/MicrosoftIcon.svg
new file mode 100644
index 0000000..e6536c6
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/MicrosoftIcon.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3.50415 4.5C3.50415 3.94772 3.95187 3.5 4.50415 3.5H11.5042V11.5H3.50415V4.5Z" fill="white"/>
+<path d="M12.5 3.5H19.5C20.0523 3.5 20.5 3.94772 20.5 4.5V11.5H12.5V3.5Z" fill="white"/>
+<path d="M12.5 12.5H20.5V19.5C20.5 20.0523 20.0523 20.5 19.5 20.5H12.5V12.5Z" fill="white"/>
+<path d="M3.5 12.5H11.5V20.5H4.5C3.94772 20.5 3.5 20.0523 3.5 19.5V12.5Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Minimise.svg b/src/main/resources/assets/oneconfig/icons/Minimise.svg
new file mode 100644
index 0000000..93f4341
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Minimise.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M19.7071 4.29289C19.3166 3.90237 18.6834 3.90237 18.2929 4.29289L15 7.58579V5C15 4.44772 14.5523 4 14 4C13.4477 4 13 4.44772 13 5V10C13 10.5523 13.4477 11 14 11H19C19.5523 11 20 10.5523 20 10C20 9.44772 19.5523 9 19 9H16.4142L19.7071 5.70711C20.0976 5.31658 20.0976 4.68342 19.7071 4.29289Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M4.29289 19.7071C4.68342 20.0976 5.31658 20.0976 5.70711 19.7071L9 16.4142L9 19C9 19.5523 9.44772 20 10 20C10.5523 20 11 19.5523 11 19L11 14C11 13.4477 10.5523 13 10 13L5 13C4.44771 13 4 13.4477 4 14C4 14.5523 4.44771 15 5 15L7.58579 15L4.29289 18.2929C3.90237 18.6834 3.90237 19.3166 4.29289 19.7071Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Mods.svg b/src/main/resources/assets/oneconfig/icons/Mods.svg
new file mode 100644
index 0000000..4ee1fac
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Mods.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4 6C4 6 9.57574 6 13 6M16 4V6M16 8V6M16 6H20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M4 18C4 18 6.57574 18 10 18M13 16V18M13 20V18M13 18H20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M20 12C20 12 14.4243 12 11 12M8 14L8 12M8 10L8 12M8 12L4 12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Move.svg b/src/main/resources/assets/oneconfig/icons/Move.svg
new file mode 100644
index 0000000..4b4cf5a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Move.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 9V3.34315M12 3.34315L9.17157 6.17157M12 3.34315L14.8284 6.17157" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M15 12H20.6569M20.6569 12L17.8284 9.17157M20.6569 12L17.8284 14.8284" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M9 12H3.34315M3.34315 12L6.17157 14.8284M3.34315 12L6.17157 9.17157" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 15V20.6569M12 20.6569L14.8284 17.8284M12 20.6569L9.17157 17.8284" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Navigation.svg b/src/main/resources/assets/oneconfig/icons/Navigation.svg
new file mode 100644
index 0000000..d67f38f
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Navigation.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16.9391 19.7858L16.5382 20.702L16.9391 19.7858ZM11.5992 17.8004L11.1984 16.8842L11.5992 17.8004ZM13.7889 5.57771L12.8944 6.02493L13.7889 5.57771ZM9.31672 5.1305L3.57603 16.6119L5.36488 17.5063L11.1056 6.02492L9.31672 5.1305ZM7.46176 20.702L12 18.7165L11.1984 16.8842L6.66013 18.8697L7.46176 20.702ZM12 18.7165L16.5382 20.702L17.3399 18.8697L12.8016 16.8842L12 18.7165ZM20.424 16.6119L14.6833 5.1305L12.8944 6.02493L18.6351 17.5063L20.424 16.6119ZM16.5382 20.702C19.1089 21.8266 21.6788 19.1215 20.424 16.6119L18.6351 17.5063C19.0534 18.3429 18.1968 19.2446 17.3399 18.8697L16.5382 20.702ZM12 18.7165V18.7165L12.8016 16.8842C12.2906 16.6606 11.7094 16.6606 11.1984 16.8842L12 18.7165ZM3.57603 16.6119C2.3212 19.1215 4.89112 21.8267 7.46176 20.702L6.66013 18.8697C5.80325 19.2446 4.9466 18.3429 5.36488 17.5063L3.57603 16.6119ZM11.1056 6.02492C11.4741 5.28788 12.5259 5.28787 12.8944 6.02493L14.6833 5.1305C13.5777 2.91936 10.4223 2.91935 9.31672 5.1305L11.1056 6.02492Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/OneConfig.svg b/src/main/resources/assets/oneconfig/icons/OneConfig.svg
new file mode 100644
index 0000000..3580acd
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/OneConfig.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 0C18.623 0 24 5.377 24 12C24 18.623 18.623 24 12 24C5.377 24 0 18.623 0 12C0 5.377 5.377 0 12 0ZM13.914 3.7896C14.0794 3.52813 14.3316 3.33328 14.6264 3.23929C14.9211 3.14529 15.2396 3.15815 15.5258 3.2756C16.3391 3.60566 17.1024 4.04773 17.7934 4.589C18.0372 4.77823 18.2068 5.04716 18.2724 5.34875C18.3379 5.65034 18.2954 5.9654 18.1522 6.2388C17.9732 6.57679 17.883 6.95468 17.89 7.33706C17.897 7.71944 18.001 8.09379 18.1922 8.425C18.3834 8.75635 18.6558 9.03366 18.9836 9.23087C19.3115 9.42807 19.6841 9.53872 20.0664 9.5524C20.3743 9.56497 20.6681 9.68521 20.8964 9.89215C21.1248 10.0991 21.2733 10.3796 21.316 10.6848C21.4385 11.5573 21.4387 12.4426 21.3166 13.3152C21.2739 13.6206 21.1254 13.9013 20.8969 14.1083C20.6684 14.3154 20.3745 14.4357 20.0664 14.4482C19.6841 14.4616 19.3115 14.5721 18.9836 14.7692C18.6557 14.9663 18.3834 15.2436 18.1922 15.575C18.001 15.9062 17.897 16.2805 17.89 16.6629C17.8831 17.0452 17.9733 17.4231 18.1524 17.761C18.2956 18.0345 18.3381 18.3496 18.2725 18.6513C18.2069 18.9529 18.0373 19.2219 17.7934 19.4112C17.1024 19.9525 16.3391 20.3944 15.5256 20.724C15.2395 20.8414 14.9211 20.8543 14.6265 20.7603C14.3318 20.6664 14.0797 20.4716 13.9144 20.2102C13.7113 19.8857 13.429 19.6182 13.0942 19.4328C12.7593 19.2473 12.3828 19.15 12 19.15C11.6172 19.15 11.2407 19.2473 10.9059 19.4328C10.5711 19.6183 10.289 19.8859 10.086 20.2104C9.92062 20.4719 9.6684 20.6667 9.37364 20.7607C9.07888 20.8547 8.76042 20.8419 8.4742 20.7244C7.66085 20.3943 6.89761 19.9523 6.2066 19.411C5.96277 19.2218 5.79323 18.9528 5.72764 18.6512C5.66205 18.3497 5.70458 18.0346 5.8478 17.7612C6.02677 17.4232 6.11699 17.0453 6.10999 16.6629C6.10299 16.2806 5.99902 15.9062 5.8078 15.575C5.61655 15.2436 5.34421 14.9663 5.01637 14.7691C4.68853 14.5719 4.31594 14.4613 3.9336 14.4476C3.62568 14.435 3.33194 14.3148 3.10359 14.1079C2.87523 13.9009 2.72674 13.6204 2.684 13.3152C2.56153 12.4427 2.56132 11.5574 2.6834 10.6848C2.7261 10.3794 2.87465 10.0987 3.10312 9.89168C3.3316 9.68462 3.62551 9.56433 3.9336 9.5518C4.31593 9.53836 4.68855 9.42789 5.01642 9.23077C5.34429 9.03365 5.61662 8.75637 5.8078 8.425C5.99904 8.09383 6.10302 7.7195 6.10998 7.33714C6.11694 6.95478 6.02666 6.57692 5.8476 6.239C5.70438 5.96551 5.66186 5.65038 5.72749 5.34872C5.79311 5.04706 5.96271 4.77807 6.2066 4.5888C6.89758 4.04753 7.66092 3.60564 8.4744 3.276C8.76051 3.15857 9.07885 3.1457 9.37351 3.23966C9.66817 3.33363 9.92029 3.52841 10.0856 3.7898C10.2887 4.11425 10.571 4.38176 10.9058 4.56721C11.2407 4.75267 11.6172 4.84997 12 4.85C12.8064 4.85 13.5146 4.4262 13.914 3.7896Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9999 7.10803C14.6999 7.10803 16.8921 9.30023 16.8921 12.0002C16.8921 14.7002 14.6999 16.8924 11.9999 16.8924C9.29987 16.8924 7.10767 14.7002 7.10767 12.0002C7.10767 9.30023 9.29987 7.10803 11.9999 7.10803ZM11.7741 10.3318V14.599C11.7741 14.7282 11.8255 14.852 11.9167 14.9434C12.0081 15.0348 12.1221 15.086 12.2513 15.086H12.4727C12.7417 15.086 12.9783 14.868 12.9783 14.599V9.55203C12.9783 9.42287 12.927 9.299 12.8356 9.20767C12.7443 9.11634 12.6204 9.06503 12.4913 9.06503H11.7803C11.6779 9.06503 11.5775 9.09463 11.4915 9.15023C11.2781 9.28843 10.7481 9.68123 10.4163 9.89603C10.3617 9.93131 10.3148 9.97715 10.2782 10.0309C10.2416 10.0846 10.2162 10.145 10.2034 10.2087C10.1906 10.2724 10.1906 10.338 10.2035 10.4017C10.2165 10.4654 10.242 10.5258 10.2787 10.5794L10.3795 10.7268C10.4518 10.8328 10.5631 10.9059 10.6891 10.9303C10.8151 10.9547 10.9456 10.9283 11.0523 10.857L11.7741 10.3318Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/OneConfigOff.svg b/src/main/resources/assets/oneconfig/icons/OneConfigOff.svg
new file mode 100644
index 0000000..cb27861
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/OneConfigOff.svg
@@ -0,0 +1,7 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3.51638 20.4836C5.6885 22.6558 8.6885 24 12 24C18.623 24 24 18.623 24 12C24 8.6885 22.6558 5.6885 20.4836 3.51638L18.3005 5.69952C18.2903 5.88649 18.2403 6.07053 18.1522 6.2388C17.9732 6.57679 17.883 6.95468 17.89 7.33706C17.897 7.71944 18.001 8.09379 18.1922 8.425C18.3835 8.75635 18.6558 9.03366 18.9836 9.23087C19.3115 9.42807 19.6841 9.53872 20.0664 9.5524C20.3743 9.56497 20.6681 9.68521 20.8964 9.89215C21.1248 10.0991 21.2733 10.3796 21.316 10.6848C21.4385 11.5573 21.4387 12.4426 21.3166 13.3152C21.2739 13.6206 21.1254 13.9013 20.8969 14.1083C20.6684 14.3154 20.3745 14.4357 20.0664 14.4482C19.6841 14.4616 19.3115 14.5721 18.9836 14.7692C18.6557 14.9663 18.3834 15.2436 18.1922 15.575C18.001 15.9062 17.897 16.2805 17.89 16.6629C17.8831 17.0452 17.9733 17.4231 18.1524 17.761C18.2956 18.0345 18.3381 18.3496 18.2725 18.6513C18.2069 18.9529 18.0373 19.2219 17.7934 19.4112C17.1024 19.9525 16.3391 20.3944 15.5256 20.724C15.2395 20.8414 14.9211 20.8543 14.6265 20.7603C14.3318 20.6664 14.0797 20.4716 13.9144 20.2102C13.7113 19.8857 13.429 19.6182 13.0942 19.4328C12.7593 19.2473 12.3828 19.15 12 19.15C11.6172 19.15 11.2407 19.2473 10.9059 19.4328C10.5711 19.6183 10.289 19.8859 10.086 20.2104C9.92062 20.4719 9.6684 20.6667 9.37364 20.7607C9.07888 20.8547 8.76042 20.8419 8.4742 20.7244C7.66085 20.3943 6.89761 19.9523 6.2066 19.411C5.96277 19.2218 5.79323 18.9528 5.72764 18.6512C5.70242 18.5353 5.69318 18.4173 5.69952 18.3005L3.51638 20.4836Z" fill="white"/>
+<path d="M8.54116 15.4588C9.4267 16.3443 10.6497 16.8923 11.9996 16.8923C14.6996 16.8923 16.8918 14.7001 16.8918 12.0001C16.8918 10.6502 16.3438 9.42718 15.4584 8.54165L12.978 11.022V14.5989C12.978 14.8679 12.7414 15.0859 12.4724 15.0859H12.251C12.1218 15.0859 12.0078 15.0347 11.9164 14.9433C11.8252 14.8519 11.7738 14.7281 11.7738 14.5989V12.2262L8.54116 15.4588Z" fill="white"/>
+<path d="M12.6115 7.14588L7.14539 12.612C7.12033 12.4115 7.10742 12.2073 7.10742 12.0001C7.10742 9.30011 9.29962 7.10791 11.9996 7.10791C12.2068 7.10791 12.411 7.12082 12.6115 7.14588Z" fill="white"/>
+<path d="M16.1845 3.57282C15.969 3.46547 15.7493 3.3663 15.5258 3.2756C15.2396 3.15815 14.9211 3.14529 14.6264 3.23929C14.3316 3.33328 14.0794 3.52813 13.914 3.7896C13.5146 4.4262 12.8064 4.85 12 4.85C11.6172 4.84997 11.2407 4.75267 10.9058 4.56721C10.571 4.38176 10.2887 4.11425 10.0856 3.7898C9.92029 3.52841 9.66817 3.33363 9.37351 3.23966C9.07885 3.1457 8.76051 3.15857 8.4744 3.276C7.66092 3.60564 6.89758 4.04753 6.2066 4.5888C5.96271 4.77807 5.79311 5.04706 5.72749 5.34872C5.66186 5.65038 5.70438 5.96552 5.8476 6.239C6.02666 6.57692 6.11694 6.95478 6.10998 7.33714C6.10302 7.7195 5.99904 8.09383 5.8078 8.425C5.61662 8.75637 5.34429 9.03365 5.01642 9.23077C4.68855 9.42789 4.31593 9.53836 3.9336 9.5518C3.62551 9.56433 3.3316 9.68462 3.10312 9.89168C2.87465 10.0987 2.7261 10.3794 2.6834 10.6848C2.56132 11.5574 2.56153 12.4427 2.684 13.3152C2.72674 13.6204 2.87523 13.9009 3.10359 14.1079C3.33194 14.3148 3.62568 14.435 3.9336 14.4476C4.3091 14.461 4.67519 14.568 4.99873 14.7586L1.66281 18.0946C0.606425 16.3079 0 14.2242 0 12C0 5.377 5.377 0 12 0C14.2242 0 16.3079 0.606425 18.0946 1.66281L16.1845 3.57282Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M22.7315 1.26849C23.0895 1.62647 23.0895 2.20687 22.7315 2.56485L2.56485 22.7315C2.20687 23.0895 1.62647 23.0895 1.26849 22.7315C0.910505 22.3735 0.910505 21.7931 1.26849 21.4352L21.4352 1.26849C21.7931 0.910505 22.3735 0.910505 22.7315 1.26849Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Paste.svg b/src/main/resources/assets/oneconfig/icons/Paste.svg
new file mode 100644
index 0000000..37864a8
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Paste.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8 5C8 3.34315 9.34315 2 11 2H13C14.6569 2 16 3.34315 16 5V7C16 7.55228 15.5523 8 15 8H9C8.44772 8 8 7.55228 8 7V5ZM11 4C10.4477 4 10 4.44772 10 5V6H14V5C14 4.44772 13.5523 4 13 4H11Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M7 6C6.44772 6 6 6.44772 6 7V19C6 19.5523 6.44772 20 7 20H17C17.5523 20 18 19.5523 18 19V7C18 6.44772 17.5523 6 17 6H15C14.4477 6 14 5.55228 14 5C14 4.44772 14.4477 4 15 4H17C18.6569 4 20 5.34315 20 7V19C20 20.6569 18.6569 22 17 22H7C5.34315 22 4 20.6569 4 19V7C4 5.34315 5.34315 4 7 4H9C9.55228 4 10 4.44772 10 5C10 5.55228 9.55228 6 9 6H7Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Performance.svg b/src/main/resources/assets/oneconfig/icons/Performance.svg
new file mode 100644
index 0000000..a417a77
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Performance.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21 7.5V6C21 4.34315 19.6569 3 18 3H6C4.34315 3 3 4.34315 3 6V7.5M21 16.5V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V16.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M3 11C2.44772 11 2 11.4477 2 12C2 12.5523 2.44772 13 3 13V11ZM7 12V13C7.31476 13 7.61115 12.8518 7.8 12.6L7 12ZM10 8L10.9363 7.64888C10.8081 7.30683 10.5035 7.06195 10.1419 7.01012C9.78028 6.95829 9.41918 7.10776 9.2 7.4L10 8ZM13 16L12.0637 16.3511C12.1919 16.6932 12.4965 16.9381 12.8581 16.9899C13.2197 17.0417 13.5808 16.8922 13.8 16.6L13 16ZM16 12V11C15.6852 11 15.3889 11.1482 15.2 11.4L16 12ZM21 13C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11V13ZM3 13H7V11H3V13ZM7.8 12.6L10.8 8.6L9.2 7.4L6.2 11.4L7.8 12.6ZM9.06367 8.35112L12.0637 16.3511L13.9363 15.6489L10.9363 7.64888L9.06367 8.35112ZM13.8 16.6L16.8 12.6L15.2 11.4L12.2 15.4L13.8 16.6ZM16 13H21V11H16V13Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/PopOut.svg b/src/main/resources/assets/oneconfig/icons/PopOut.svg
new file mode 100644
index 0000000..34be318
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/PopOut.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M15 6C14.4477 6 14 5.55228 14 5C14 4.44772 14.4477 4 15 4H19C19.5523 4 20 4.44772 20 5V9C20 9.55228 19.5523 10 19 10C18.4477 10 18 9.55228 18 9V7.41421L9.70711 15.7071C9.31658 16.0976 8.68342 16.0976 8.29289 15.7071C7.90237 15.3166 7.90237 14.6834 8.29289 14.2929L16.5858 6H15ZM7 8C6.44772 8 6 8.44772 6 9V17C6 17.5523 6.44772 18 7 18H15C15.5523 18 16 17.5523 16 17V13.2143C16 12.662 16.4477 12.2143 17 12.2143C17.5523 12.2143 18 12.662 18 13.2143V17C18 18.6569 16.6569 20 15 20H7C5.34315 20 4 18.6569 4 17V9C4 7.34315 5.34315 6 7 6H10.1429C10.6951 6 11.1429 6.44772 11.1429 7C11.1429 7.55228 10.6951 8 10.1429 8H7Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Profiles.svg b/src/main/resources/assets/oneconfig/icons/Profiles.svg
new file mode 100644
index 0000000..08a17e0
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Profiles.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16.9696 19.5047L17.5225 20.3379L16.9696 19.5047ZM7.03036 19.5047L6.47747 20.3379L7.03036 19.5047ZM11 17H13V15H11V17ZM4 12C4 7.58172 7.58172 4 12 4V2C6.47715 2 2 6.47715 2 12H4ZM12 4C16.4183 4 20 7.58172 20 12H22C22 6.47715 17.5228 2 12 2V4ZM14 10C14 11.1046 13.1046 12 12 12V14C14.2091 14 16 12.2091 16 10H14ZM12 12C10.8954 12 10 11.1046 10 10H8C8 12.2091 9.79086 14 12 14V12ZM10 10C10 8.89543 10.8954 8 12 8V6C9.79086 6 8 7.79086 8 10H10ZM12 8C13.1046 8 14 8.89543 14 10H16C16 7.79086 14.2091 6 12 6V8ZM13 17C14.5303 17 15.7943 18.1467 15.9772 19.6273L17.9621 19.3821C17.657 16.9118 15.5525 15 13 15V17ZM20 12C20 14.7844 18.5784 17.2371 16.4167 18.6714L17.5225 20.3379C20.2189 18.5488 22 15.4826 22 12H20ZM16.4167 18.6714C15.1515 19.511 13.6344 20 12 20V22C14.0398 22 15.9397 21.3882 17.5225 20.3379L16.4167 18.6714ZM8.02282 19.6273C8.20567 18.1467 9.46968 17 11 17V15C8.44747 15 6.34299 16.9118 6.0379 19.3821L8.02282 19.6273ZM12 20C10.3656 20 8.84849 19.511 7.58326 18.6714L6.47747 20.3379C8.06034 21.3882 9.96025 22 12 22V20ZM7.58326 18.6714C5.42161 17.2371 4 14.7844 4 12H2C2 15.4826 3.78112 18.5488 6.47747 20.3379L7.58326 18.6714Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Reset.svg b/src/main/resources/assets/oneconfig/icons/Reset.svg
new file mode 100644
index 0000000..92d9441
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Reset.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16.3976 4.14755C16.8794 4.41741 17.0513 5.0268 16.7814 5.50867C16.5116 5.99054 15.9022 6.1624 15.4203 5.89254L16.3976 4.14755ZM4.01575 12.5023L4.72286 13.2094C4.33233 13.6 3.69917 13.6 3.30864 13.2094L4.01575 12.5023ZM1.80864 11.7094C1.41812 11.3189 1.41812 10.6858 1.80864 10.2952C2.19917 9.90471 2.83233 9.90471 3.22286 10.2952L1.80864 11.7094ZM4.80864 10.2952C5.19917 9.90471 5.83233 9.90471 6.22286 10.2952C6.61338 10.6858 6.61338 11.3189 6.22286 11.7094L4.80864 10.2952ZM15.4203 5.89254C13.9496 5.06891 12.2311 4.80363 10.5805 5.14546L10.1749 3.18701C12.2971 2.74752 14.5066 3.08859 16.3976 4.14755L15.4203 5.89254ZM10.5805 5.14546C8.92984 5.48728 7.458 6.41325 6.43536 7.75324L4.84547 6.53987C6.1603 4.81703 8.05266 3.6265 10.1749 3.18701L10.5805 5.14546ZM6.43536 7.75324C5.41271 9.09323 4.90794 10.7572 5.01378 12.4395L3.01772 12.5651C2.88164 10.4022 3.53063 8.26272 4.84547 6.53987L6.43536 7.75324ZM3.30864 13.2094L1.80864 11.7094L3.22286 10.2952L4.72286 11.7952L3.30864 13.2094ZM3.30864 11.7952L4.80864 10.2952L6.22286 11.7094L4.72286 13.2094L3.30864 11.7952Z" fill="white"/>
+<path d="M7.60134 19.8524C7.11948 19.5826 6.94761 18.9732 7.21747 18.4913C7.48733 18.0095 8.09672 17.8376 8.57859 18.1075L7.60134 19.8524ZM19.9832 11.4977L19.276 10.7906C19.6666 10.4 20.2997 10.4 20.6903 10.7906L19.9832 11.4977ZM22.1903 12.2906C22.5808 12.6811 22.5808 13.3142 22.1903 13.7048C21.7997 14.0953 21.1666 14.0953 20.776 13.7048L22.1903 12.2906ZM19.1903 13.7048C18.7997 14.0953 18.1666 14.0953 17.776 13.7048C17.3855 13.3142 17.3855 12.6811 17.776 12.2906L19.1903 13.7048ZM8.57859 18.1075C10.0493 18.9311 11.7678 19.1964 13.4184 18.8545L13.824 20.813C11.7018 21.2525 9.49226 20.9114 7.60134 19.8524L8.57859 18.1075ZM13.4184 18.8545C15.0691 18.5127 16.5409 17.5868 17.5635 16.2468L19.1534 17.4601C17.8386 19.183 15.9462 20.3735 13.824 20.813L13.4184 18.8545ZM17.5635 16.2468C18.5862 14.9068 19.091 13.2428 18.9851 11.5605L20.9812 11.4349C21.1173 13.5978 20.4683 15.7373 19.1534 17.4601L17.5635 16.2468ZM20.6903 10.7906L22.1903 12.2906L20.776 13.7048L19.276 12.2048L20.6903 10.7906ZM20.6903 12.2048L19.1903 13.7048L17.776 12.2906L19.276 10.7906L20.6903 12.2048Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Save.svg b/src/main/resources/assets/oneconfig/icons/Save.svg
new file mode 100644
index 0000000..64fd7b2
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Save.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4 6C4 4.89543 4.89543 4 6 4H12H14.1716C14.702 4 15.2107 4.21071 15.5858 4.58579L19.4142 8.41421C19.7893 8.78929 20 9.29799 20 9.82843V12V18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V6Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M8 4H13V7C13 7.55228 12.5523 8 12 8H9C8.44772 8 8 7.55228 8 7V4Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M7 15C7 13.8954 7.89543 13 9 13H15C16.1046 13 17 13.8954 17 15V20H7V15Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Search.svg b/src/main/resources/assets/oneconfig/icons/Search.svg
new file mode 100644
index 0000000..fb2b00d
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Search.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="10" cy="10" r="6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M14.5 14.5L19 19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Send.svg b/src/main/resources/assets/oneconfig/icons/Send.svg
new file mode 100644
index 0000000..1b9ef56
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Send.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4 4L4.44721 3.10557C4.09791 2.93092 3.6789 2.97559 3.37427 3.21996C3.06964 3.46432 2.93514 3.86367 3.02986 4.24254L4 4ZM20 12L20.4472 12.8944C20.786 12.725 21 12.3788 21 12C21 11.6212 20.786 11.275 20.4472 11.1056L20 12ZM4 20L3.02986 19.7575C2.93514 20.1363 3.06964 20.5357 3.37427 20.78C3.6789 21.0244 4.09791 21.0691 4.44721 20.8944L4 20ZM3.55279 4.89443L19.5528 12.8944L20.4472 11.1056L4.44721 3.10557L3.55279 4.89443ZM19.5528 11.1056L3.55279 19.1056L4.44721 20.8944L20.4472 12.8944L19.5528 11.1056ZM4.97014 20.2425L6.97014 12.2425L5.02986 11.7575L3.02986 19.7575L4.97014 20.2425ZM6.97014 11.7575L4.97014 3.75746L3.02986 4.24254L5.02986 12.2425L6.97014 11.7575ZM6 13H20V11H6V13Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Settings.svg b/src/main/resources/assets/oneconfig/icons/Settings.svg
new file mode 100644
index 0000000..8217266
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Settings.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M6.0717 6.26794L6.5717 5.40192L6.0717 6.26794ZM4.70567 6.63397L3.83965 6.13397L3.83965 6.13397L4.70567 6.63397ZM3.70567 8.36602L2.83965 7.86602H2.83965L3.70567 8.36602ZM4.0717 9.73205L3.5717 10.5981H3.5717L4.0717 9.73205ZM4.0717 14.2679L3.5717 13.4019H3.5717L4.0717 14.2679ZM3.70567 15.634L4.5717 15.134H4.5717L3.70567 15.634ZM4.70567 17.366L3.83965 17.866H3.83965L4.70567 17.366ZM6.0717 17.732L6.5717 18.5981L6.0717 17.732ZM17.9281 17.732L17.4281 18.5981L17.4281 18.5981L17.9281 17.732ZM19.2941 17.366L18.4281 16.866L19.2941 17.366ZM20.2941 15.634L21.1602 16.134L20.2941 15.634ZM19.9281 14.2679L19.4281 15.134V15.134L19.9281 14.2679ZM19.9281 9.73205L20.4281 10.5981V10.5981L19.9281 9.73205ZM20.2941 8.36602L19.4281 8.86602L19.4281 8.86602L20.2941 8.36602ZM19.2941 6.63397L18.4281 7.13397L19.2941 6.63397ZM17.9281 6.26794L18.4281 7.13397L17.9281 6.26794ZM14.6511 6.61604L14.2087 7.51283L14.6511 6.61604ZM16.5117 7.08573L17.0117 7.95175L16.5117 7.08573ZM15.3357 7.01204L14.7791 7.84277L15.3357 7.01204ZM17.987 11.6035L16.9891 11.6686L17.987 11.6035ZM18.5115 10.5499L18.0115 9.68388L18.5115 10.5499ZM15.3357 16.988L14.7791 16.1572L15.3357 16.988ZM16.5117 16.9143L16.0117 17.7803L16.5117 16.9143ZM18.5115 13.4501L18.0115 14.3161L18.5115 13.4501ZM9.34867 17.384L9.79112 16.4872L9.34867 17.384ZM7.48814 16.9143L6.98814 16.0482L7.48814 16.9143ZM8.66406 16.988L8.10738 17.8187L8.66406 16.988ZM14.6511 17.384L15.0936 18.2808L14.6511 17.384ZM5.48827 10.5499L4.98827 11.4159L5.48827 10.5499ZM6.01279 11.6035L5.01492 11.5385L6.01279 11.6035ZM7.48815 7.08573L6.98815 7.95176L7.48815 7.08573ZM10.9999 4V4V2C9.89533 2 8.9999 2.89543 8.9999 4H10.9999ZM10.9999 5.63424V4H8.9999V5.63424H10.9999ZM9.22074 7.84277C9.40288 7.72073 9.59336 7.6104 9.79112 7.51283L8.90622 5.71924C8.62898 5.85603 8.36221 6.01056 8.10739 6.18131L9.22074 7.84277ZM5.5717 7.13397L6.98815 7.95176L7.98815 6.2197L6.5717 5.40192L5.5717 7.13397ZM5.5717 7.13397L6.5717 5.40192C5.61512 4.84963 4.39193 5.17738 3.83965 6.13397L5.5717 7.13397ZM4.5717 8.86602L5.5717 7.13397L3.83965 6.13397L2.83965 7.86602L4.5717 8.86602ZM4.5717 8.86602L4.5717 8.86602L2.83965 7.86602C2.28736 8.82261 2.61512 10.0458 3.5717 10.5981L4.5717 8.86602ZM5.98827 9.68388L4.5717 8.86602L3.5717 10.5981L4.98827 11.4159L5.98827 9.68388ZM6.99991 12C6.99991 11.8885 7.00354 11.778 7.01067 11.6686L5.01492 11.5385C5.00495 11.6912 4.9999 11.8451 4.9999 12H6.99991ZM7.01067 12.3314C7.00354 12.222 6.99991 12.1115 6.99991 12H4.9999C4.9999 12.1549 5.00495 12.3088 5.01491 12.4615L7.01067 12.3314ZM4.5717 15.134L5.98827 14.3161L4.98827 12.5841L3.5717 13.4019L4.5717 15.134ZM4.5717 15.134L4.5717 15.134L3.5717 13.4019C2.61512 13.9542 2.28736 15.1774 2.83965 16.134L4.5717 15.134ZM5.5717 16.866L4.5717 15.134L2.83965 16.134L3.83965 17.866L5.5717 16.866ZM5.5717 16.866L5.5717 16.866L3.83965 17.866C4.39193 18.8226 5.61512 19.1504 6.5717 18.5981L5.5717 16.866ZM6.98814 16.0482L5.5717 16.866L6.5717 18.5981L7.98814 17.7803L6.98814 16.0482ZM9.79112 16.4872C9.59336 16.3896 9.40287 16.2793 9.22074 16.1572L8.10738 17.8187C8.36221 17.9894 8.62898 18.144 8.90622 18.2808L9.79112 16.4872ZM10.9999 20V18.3658H8.9999V20H10.9999ZM10.9999 20H8.9999C8.9999 21.1046 9.89534 22 10.9999 22V20ZM12.9999 20H10.9999V22H12.9999V20ZM12.9999 20V22C14.1045 22 14.9999 21.1046 14.9999 20H12.9999ZM12.9999 18.3658V20H14.9999V18.3658H12.9999ZM14.7791 16.1572C14.5969 16.2793 14.4064 16.3896 14.2087 16.4872L15.0936 18.2808C15.3708 18.144 15.6376 17.9894 15.8924 17.8187L14.7791 16.1572ZM18.4281 16.866L17.0117 16.0482L16.0117 17.7803L17.4281 18.5981L18.4281 16.866ZM18.4281 16.866H18.4281L17.4281 18.5981C18.3847 19.1504 19.6079 18.8226 20.1602 17.866L18.4281 16.866ZM19.4281 15.134L18.4281 16.866L20.1602 17.866L21.1602 16.134L19.4281 15.134ZM19.4281 15.134V15.134L21.1602 16.134C21.7124 15.1774 21.3847 13.9542 20.4281 13.4019L19.4281 15.134ZM18.0115 14.3161L19.4281 15.134L20.4281 13.4019L19.0115 12.5841L18.0115 14.3161ZM16.9999 12C16.9999 12.1115 16.9963 12.222 16.9891 12.3314L18.9849 12.4615C18.9949 12.3088 18.9999 12.1549 18.9999 12H16.9999ZM16.9891 11.6686C16.9963 11.778 16.9999 11.8885 16.9999 12H18.9999C18.9999 11.8451 18.9949 11.6912 18.9849 11.5385L16.9891 11.6686ZM19.4281 8.86602L18.0115 9.68388L19.0115 11.4159L20.4281 10.5981L19.4281 8.86602ZM19.4281 8.86602L19.4281 8.86602L20.4281 10.5981C21.3847 10.0458 21.7124 8.82261 21.1602 7.86602L19.4281 8.86602ZM18.4281 7.13397L19.4281 8.86602L21.1602 7.86602L20.1602 6.13397L18.4281 7.13397ZM18.4281 7.13397V7.13397L20.1602 6.13397C19.6079 5.17738 18.3847 4.84963 17.4281 5.40192L18.4281 7.13397ZM17.0117 7.95175L18.4281 7.13397L17.4281 5.40192L16.0117 6.2197L17.0117 7.95175ZM14.2087 7.51283C14.4064 7.6104 14.5969 7.72072 14.7791 7.84277L15.8924 6.18131C15.6376 6.01056 15.3708 5.85603 15.0936 5.71924L14.2087 7.51283ZM12.9999 4V5.63423H14.9999V4H12.9999ZM12.9999 4H14.9999C14.9999 2.89543 14.1045 2 12.9999 2V4ZM10.9999 4H12.9999V2H10.9999V4ZM15.0936 5.71924C15.0508 5.69815 15.0229 5.67053 15.0091 5.65025C14.997 5.63248 14.9999 5.62788 14.9999 5.63423H12.9999C12.9999 6.50299 13.5489 7.18731 14.2087 7.51283L15.0936 5.71924ZM16.0117 6.2197C16.0171 6.21655 16.0147 6.22132 15.9934 6.21972C15.9692 6.21789 15.9317 6.20762 15.8924 6.18131L14.7791 7.84277C15.3913 8.25303 16.2591 8.38623 17.0117 7.95175L16.0117 6.2197ZM18.9849 11.5385C18.9818 11.4913 18.9917 11.4537 19.0023 11.4318C19.0115 11.4126 19.017 11.4128 19.0115 11.4159L18.0115 9.68388C17.2601 10.1177 16.9412 10.9342 16.9891 11.6686L18.9849 11.5385ZM15.8924 17.8187C15.9317 17.7924 15.9692 17.7821 15.9934 17.7803C16.0147 17.7787 16.0171 17.7834 16.0117 17.7803L17.0117 16.0482C16.2591 15.6138 15.3913 15.747 14.7791 16.1572L15.8924 17.8187ZM19.0115 12.5841C19.017 12.5872 19.0115 12.5874 19.0023 12.5682C18.9917 12.5462 18.9818 12.5087 18.9849 12.4615L16.9891 12.3314C16.9412 13.0658 17.2601 13.8823 18.0115 14.3161L19.0115 12.5841ZM8.90622 18.2808C8.94898 18.3019 8.97687 18.3295 8.9907 18.3497C9.00282 18.3675 8.9999 18.3721 8.9999 18.3658H10.9999C10.9999 17.497 10.4509 16.8127 9.79112 16.4872L8.90622 18.2808ZM7.98814 17.7803C7.98268 17.7834 7.98515 17.7787 8.00637 17.7803C8.0306 17.7821 8.06812 17.7924 8.10738 17.8187L9.22074 16.1572C8.60851 15.747 7.74067 15.6138 6.98814 16.0482L7.98814 17.7803ZM14.9999 18.3658C14.9999 18.3721 14.997 18.3675 15.0091 18.3497C15.0229 18.3295 15.0508 18.3019 15.0936 18.2808L14.2087 16.4872C13.5489 16.8127 12.9999 17.497 12.9999 18.3658H14.9999ZM5.01491 12.4615C5.01799 12.5086 5.00809 12.5462 4.99753 12.5682C4.98827 12.5874 4.98285 12.5872 4.98827 12.5841L5.98827 14.3161C6.73966 13.8823 7.05858 13.0658 7.01067 12.3314L5.01491 12.4615ZM4.98827 11.4159C4.98286 11.4128 4.98827 11.4126 4.99753 11.4318C5.00809 11.4537 5.01799 11.4913 5.01492 11.5385L7.01067 11.6686C7.05858 10.9342 6.73967 10.1177 5.98827 9.68388L4.98827 11.4159ZM8.10739 6.18131C8.06813 6.20763 8.03061 6.21789 8.00638 6.21972C7.98516 6.22133 7.98269 6.21655 7.98815 6.2197L6.98815 7.95176C7.74068 8.38623 8.60852 8.25303 9.22074 7.84277L8.10739 6.18131ZM8.9999 5.63424C8.9999 5.62788 9.00282 5.63248 8.9907 5.65025C8.97687 5.67053 8.94898 5.69815 8.90622 5.71924L9.79112 7.51283C10.4509 7.18731 10.9999 6.50299 10.9999 5.63424H8.9999Z" fill="white"/>
+<circle cx="12" cy="12" r="3" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShapeCircle.svg b/src/main/resources/assets/oneconfig/icons/ShapeCircle.svg
new file mode 100644
index 0000000..036a92e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShapeCircle.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="12" r="8" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShapeDot.svg b/src/main/resources/assets/oneconfig/icons/ShapeDot.svg
new file mode 100644
index 0000000..25e6212
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShapeDot.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="12" r="6" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShapeHexagon.svg b/src/main/resources/assets/oneconfig/icons/ShapeHexagon.svg
new file mode 100644
index 0000000..d17ee99
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShapeHexagon.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M11.5 4.28868C11.8094 4.11004 12.1906 4.11004 12.5 4.28868L18.4282 7.71132C18.7376 7.88996 18.9282 8.22008 18.9282 8.57735V15.4226C18.9282 15.7799 18.7376 16.11 18.4282 16.2887L12.5 19.7113C12.1906 19.89 11.8094 19.89 11.5 19.7113L5.5718 16.2887C5.2624 16.11 5.0718 15.7799 5.0718 15.4226V8.57735C5.0718 8.22008 5.2624 7.88996 5.5718 7.71132L11.5 4.28868Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShapePentagon.svg b/src/main/resources/assets/oneconfig/icons/ShapePentagon.svg
new file mode 100644
index 0000000..bb5f191
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShapePentagon.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M11.4122 4.42705C11.7627 4.17241 12.2373 4.17241 12.5878 4.42705L19.9717 9.7918C20.3222 10.0464 20.4689 10.4978 20.335 10.9098L17.5146 19.5902C17.3807 20.0022 16.9968 20.2812 16.5635 20.2812H7.43647C7.00325 20.2812 6.61929 20.0022 6.48542 19.5902L3.66501 10.9098C3.53113 10.4978 3.67779 10.0464 4.02828 9.7918L11.4122 4.42705Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShapeSquare.svg b/src/main/resources/assets/oneconfig/icons/ShapeSquare.svg
new file mode 100644
index 0000000..3c730ff
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShapeSquare.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect x="4" y="4" width="16" height="16" rx="2" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShapeTriangle.svg b/src/main/resources/assets/oneconfig/icons/ShapeTriangle.svg
new file mode 100644
index 0000000..bdad1c0
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShapeTriangle.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3.83827 18.5097L11.1284 5.54947C11.5107 4.86982 12.4893 4.86982 12.8716 5.54947L20.1617 18.5097C20.5367 19.1763 20.055 20 19.2902 20H4.70985C3.94502 20 3.46331 19.1763 3.83827 18.5097Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Share.svg b/src/main/resources/assets/oneconfig/icons/Share.svg
new file mode 100644
index 0000000..278b178
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Share.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M18 4C16.8954 4 16 4.89543 16 6C16 7.10457 16.8954 8 18 8C19.1046 8 20 7.10457 20 6C20 4.89543 19.1046 4 18 4ZM14 6C14 3.79086 15.7909 2 18 2C20.2091 2 22 3.79086 22 6C22 8.20914 20.2091 10 18 10C16.7961 10 15.7164 9.46811 14.9831 8.6265L9.91189 11.1621C9.96964 11.4327 10 11.7131 10 12C10 12.2869 9.96964 12.5673 9.91189 12.8379L14.9831 15.3735C15.7164 14.5319 16.7961 14 18 14C20.2091 14 22 15.7909 22 18C22 20.2091 20.2091 22 18 22C15.7909 22 14 20.2091 14 18C14 17.7126 14.0303 17.4322 14.0879 17.162L9.0168 14.6264C8.2842 15.4672 7.20485 16 6 16C3.79086 16 2 14.2091 2 12C2 9.79086 3.79086 8 6 8C7.20485 8 8.2842 8.5328 9.0168 9.37357L14.0879 6.83801C14.0303 6.56777 14 6.28742 14 6ZM6 10C4.89543 10 4 10.8954 4 12C4 13.1046 4.89543 14 6 14C6.78153 14 7.46021 13.5519 7.78979 12.894C7.924 12.6261 8 12.3234 8 12C8 11.6766 7.924 11.3739 7.78979 11.106C7.46021 10.4481 6.78153 10 6 10ZM18 16C16.8954 16 16 16.8954 16 18C16 19.1046 16.8954 20 18 20C19.1046 20 20 19.1046 20 18C20 16.8954 19.1046 16 18 16Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ShoppingBag.svg b/src/main/resources/assets/oneconfig/icons/ShoppingBag.svg
new file mode 100644
index 0000000..e4b8f0a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ShoppingBag.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 9C5 7.89543 5.89543 7 7 7H17C18.1046 7 19 7.89543 19 9V18C19 19.6569 17.6569 21 16 21H8C6.34315 21 5 19.6569 5 18V9Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M14 7C14 7.55228 14.4477 8 15 8C15.5523 8 16 7.55228 16 7H14ZM8 7C8 7.55228 8.44772 8 9 8C9.55228 8 10 7.55228 10 7H8ZM14 6V7H16V6H14ZM10 7V6H8V7H10ZM12 4C13.1046 4 14 4.89543 14 6H16C16 3.79086 14.2091 2 12 2V4ZM12 2C9.79086 2 8 3.79086 8 6H10C10 4.89543 10.8954 4 12 4V2Z" fill="white"/>
+<path d="M10 11C10 10.4477 9.55229 10 9 10C8.44772 10 8 10.4477 8 11L10 11ZM16 11C16 10.4477 15.5523 10 15 10C14.4477 10 14 10.4477 14 11L16 11ZM10 12L10 11L8 11L8 12L10 12ZM14 11L14 12L16 12L16 11L14 11ZM12 14C10.8954 14 10 13.1046 10 12L8 12C8 14.2091 9.79086 16 12 16L12 14ZM12 16C14.2091 16 16 14.2091 16 12L14 12C14 13.1046 13.1046 14 12 14L12 16Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Spacing.svg b/src/main/resources/assets/oneconfig/icons/Spacing.svg
new file mode 100644
index 0000000..4c6e54b
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Spacing.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21 7V17" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M3 7V17" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M7 12H17M7 12L9.5 9.5M7 12L9.5 14.5M17 12L14.5 9.5M17 12L14.5 14.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Theme.svg b/src/main/resources/assets/oneconfig/icons/Theme.svg
new file mode 100644
index 0000000..ca35bbc
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Theme.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M7.29289 12.7929C6.90237 13.1834 6.90237 13.8166 7.29289 14.2071C7.68342 14.5976 8.31658 14.5976 8.70711 14.2071L7.29289 12.7929ZM9.2929 15.7929C8.90238 16.1834 8.90238 16.8166 9.2929 17.2071C9.68343 17.5976 10.3166 17.5976 10.7071 17.2071L9.2929 15.7929ZM10.7817 10.7183L10.1335 9.95681C10.1132 9.97415 10.0935 9.99229 10.0746 10.0112L10.7817 10.7183ZM13.2817 13.2183L13.9888 13.9254C14.0077 13.9065 14.0259 13.8868 14.0432 13.8665L13.2817 13.2183ZM19.1216 6.19589L20.0501 6.56728L19.1216 6.19589ZM19.1334 6.16645L18.2049 5.79506L19.1334 6.16645ZM17.2506 5.2123L17.8987 5.9738L17.2506 5.2123ZM17.8041 4.87836L17.4327 3.94988L17.8041 4.87836ZM8.70711 14.2071L11.4888 11.4254L10.0746 10.0112L7.29289 12.7929L8.70711 14.2071ZM11.4298 11.4798L17.8987 5.9738L16.6024 4.45079L10.1335 9.95681L11.4298 11.4798ZM18.0262 6.10126L12.5202 12.5702L14.0432 13.8665L19.5492 7.39758L18.0262 6.10126ZM12.5746 12.5112L9.2929 15.7929L10.7071 17.2071L13.9888 13.9254L12.5746 12.5112ZM10.6947 11.7145C10.968 11.7384 11.4051 11.8587 11.747 12.1132C12.0497 12.3385 12.2817 12.6632 12.2817 13.2183H14.2817C14.2817 11.9481 13.6804 11.0592 12.9413 10.509C12.2416 9.98805 11.4287 9.77101 10.8687 9.72211L10.6947 11.7145ZM18.1755 5.80683L18.2049 5.79506L17.4622 3.9381L17.4327 3.94988L18.1755 5.80683ZM18.2049 5.79506L18.1932 5.8245L20.0501 6.56728L20.0619 6.53784L18.2049 5.79506ZM19.5492 7.39758C19.7601 7.14981 19.9293 6.86938 20.0501 6.56728L18.1932 5.8245C18.1529 5.9252 18.0965 6.01867 18.0262 6.10126L19.5492 7.39758ZM18.2049 5.79506V5.79506L20.0619 6.53784C20.7149 4.90521 19.0948 3.28505 17.4622 3.9381L18.2049 5.79506ZM17.8987 5.9738C17.9813 5.90351 18.0748 5.84711 18.1755 5.80683L17.4327 3.94988C17.1306 4.07072 16.8502 4.2399 16.6024 4.45079L17.8987 5.9738Z" fill="white"/>
+<path d="M4.70662 18.4805L3.72341 18.663L4.70662 18.4805ZM4.55841 18.855L3.96634 18.0492L4.55841 18.855ZM9 16.7807V17H11V16.7807H9ZM7 19H3.92627V21H7V19ZM5.68982 18.2981L5.46851 17.1057L3.50209 17.4706L3.72341 18.663L5.68982 18.2981ZM4.33854 20.2575L5.15049 19.6609L3.96634 18.0492L3.15439 18.6457L4.33854 20.2575ZM3.72341 18.663C3.67992 18.4287 3.77431 18.1902 3.96634 18.0492L5.15049 19.6609C5.57682 19.3477 5.78636 18.8182 5.68982 18.2981L3.72341 18.663ZM3.92627 19C4.59892 19 4.88062 19.8592 4.33854 20.2575L3.15439 18.6457C2.13947 19.3913 2.66688 21 3.92627 21V19ZM9 17C9 18.1046 8.10457 19 7 19V21C9.20914 21 11 19.2091 11 17H9ZM7.2193 15C8.20275 15 9 15.7972 9 16.7807H11C11 14.6927 9.30732 13 7.2193 13V15ZM7.2193 13C4.85488 13 3.07061 15.1459 3.50209 17.4706L5.46851 17.1057C5.26528 16.0107 6.10567 15 7.2193 15V13Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ThumbsDown.svg b/src/main/resources/assets/oneconfig/icons/ThumbsDown.svg
new file mode 100644
index 0000000..c44c269
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ThumbsDown.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21 14C21 14.5523 20.5523 15 20 15H17V3H20C20.5523 3 21 3.44772 21 4V14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M16 13C16 13.5523 16.4477 14 17 14C17.5523 14 18 13.5523 18 13H16ZM17 5H18C18 4.66565 17.8329 4.35342 17.5547 4.16795L17 5ZM10 16C10.5523 16 11 15.5523 11 15C11 14.4477 10.5523 14 10 14V16ZM15.0077 3.6718L15.5624 2.83975L15.0077 3.6718ZM3.38813 12.6712L4.37453 12.8356L3.38813 12.6712ZM4.37453 12.8356L5.56859 5.6712L3.59581 5.3424L2.40174 12.5068L4.37453 12.8356ZM16 5V13H18V5H16ZM10 14H5.36092V16H10V14ZM7.54138 4H12.7889V2H7.54138V4ZM14.453 4.50385L16.4453 5.83205L17.5547 4.16795L15.5624 2.83975L14.453 4.50385ZM12.7889 4C13.3812 4 13.9602 4.17531 14.453 4.50385L15.5624 2.83975C14.7411 2.29219 13.776 2 12.7889 2V4ZM5.56859 5.6712C5.72932 4.70683 6.5637 4 7.54138 4V2C5.58603 2 3.91726 3.41365 3.59581 5.3424L5.56859 5.6712ZM2.40174 12.5068C2.09697 14.3354 3.5071 16 5.36092 16V14C4.74298 14 4.27294 13.4451 4.37453 12.8356L2.40174 12.5068Z" fill="white"/>
+<path d="M10.9806 15.1961C11.0889 14.6546 10.7377 14.1277 10.1961 14.0194C9.65456 13.9111 9.12773 14.2623 9.01942 14.8039L10.9806 15.1961ZM16 13V12C15.6212 12 15.275 12.214 15.1056 12.5528L16 13ZM17 14C17.5523 14 18 13.5523 18 13C18 12.4477 17.5523 12 17 12V14ZM10.2934 18.632L10.9806 15.1961L9.01942 14.8039L8.33225 18.2397L10.2934 18.632ZM15.1056 12.5528L11.8064 19.1511L13.5953 20.0455L16.8944 13.4472L15.1056 12.5528ZM16 14H17V12H16V14ZM10.8295 19.5557C10.4434 19.4271 10.2136 19.031 10.2934 18.632L8.33225 18.2397C8.05463 19.6278 8.85409 21.0055 10.197 21.4531L10.8295 19.5557ZM10.197 21.4531C11.5222 21.8948 12.9706 21.2949 13.5953 20.0455L11.8064 19.1511C11.6268 19.5103 11.2105 19.6827 10.8295 19.5557L10.197 21.4531Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ThumbsUp.svg b/src/main/resources/assets/oneconfig/icons/ThumbsUp.svg
new file mode 100644
index 0000000..5c09ab6
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ThumbsUp.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 10C3 9.44772 3.44772 9 4 9H7V21H4C3.44772 21 3 20.5523 3 20V10Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M8 11C8 10.4477 7.55228 10 7 10C6.44772 10 6 10.4477 6 11H8ZM7 19H6C6 19.3344 6.1671 19.6466 6.4453 19.8321L7 19ZM14 8C13.4477 8 13 8.44772 13 9C13 9.55228 13.4477 10 14 10V8ZM8.9923 20.3282L8.4376 21.1603L8.9923 20.3282ZM20.6119 11.3288L19.6255 11.1644L20.6119 11.3288ZM19.6255 11.1644L18.4314 18.3288L20.4042 18.6576L21.5983 11.4932L19.6255 11.1644ZM8 19V11H6V19H8ZM14 10H18.6391V8H14V10ZM16.4586 20H11.2111V22H16.4586V20ZM9.547 19.4962L7.5547 18.1679L6.4453 19.8321L8.4376 21.1603L9.547 19.4962ZM11.2111 20C10.6188 20 10.0398 19.8247 9.547 19.4962L8.4376 21.1603C9.25894 21.7078 10.224 22 11.2111 22V20ZM18.4314 18.3288C18.2707 19.2932 17.4363 20 16.4586 20V22C18.414 22 20.0827 20.5863 20.4042 18.6576L18.4314 18.3288ZM21.5983 11.4932C21.903 9.6646 20.4929 8 18.6391 8V10C19.257 10 19.7271 10.5549 19.6255 11.1644L21.5983 11.4932Z" fill="white"/>
+<path d="M13.0194 8.80388C12.9111 9.34544 13.2623 9.87227 13.8039 9.98058C14.3454 10.0889 14.8723 9.73768 14.9806 9.19612L13.0194 8.80388ZM8 11V12C8.37877 12 8.72504 11.786 8.89443 11.4472L8 11ZM7 10C6.44772 10 6 10.4477 6 11C6 11.5523 6.44772 12 7 12V10ZM13.7066 5.36804L13.0194 8.80388L14.9806 9.19612L15.6677 5.76027L13.7066 5.36804ZM8.89443 11.4472L12.1936 4.84891L10.4047 3.95448L7.10557 10.5528L8.89443 11.4472ZM8 10H7V12H8V10ZM13.1705 4.44426C13.5566 4.57295 13.7864 4.96898 13.7066 5.36804L15.6677 5.76027C15.9454 4.37216 15.1459 2.99455 13.803 2.54689L13.1705 4.44426ZM13.803 2.54689C12.4778 2.10516 11.0294 2.70508 10.4047 3.95448L12.1936 4.84891C12.3732 4.48974 12.7895 4.31727 13.1705 4.44426L13.803 2.54689Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Update.svg b/src/main/resources/assets/oneconfig/icons/Update.svg
new file mode 100644
index 0000000..480a338
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Update.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M13.4185 5.14546C11.7679 4.80363 10.0494 5.06891 8.57864 5.89255C8.09678 6.1624 7.48738 5.99054 7.21753 5.50867C6.94767 5.02681 7.11954 4.41741 7.6014 4.14755C9.49232 3.08859 11.7019 2.74752 13.8241 3.18701C15.9463 3.6265 17.8387 4.81703 19.1535 6.53988C19.9932 7.6401 20.5613 8.91023 20.8268 10.2479C21.2196 9.90541 21.8163 9.92119 22.1903 10.2952C22.5808 10.6858 22.5808 11.3189 22.1903 11.7094L20.6903 13.2094C20.2998 13.6 19.6666 13.6 19.2761 13.2094L17.7761 11.7094C17.3856 11.3189 17.3856 10.6858 17.7761 10.2952C18.031 10.0403 18.3893 9.95181 18.716 10.0297C18.4764 9.21311 18.0881 8.44055 17.5636 7.75324C16.541 6.41325 15.0691 5.48728 13.4185 5.14546Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5804 18.8545C12.231 19.1964 13.9495 18.9311 15.4203 18.1075C15.9021 17.8376 16.5115 18.0095 16.7814 18.4913C17.0512 18.9732 16.8794 19.5826 16.3975 19.8524C14.5066 20.9114 12.297 21.2525 10.1748 20.813C8.0526 20.3735 6.16024 19.183 4.84541 17.4601C4.00574 16.3599 3.43762 15.0898 3.1721 13.7521C2.77927 14.0946 2.18263 14.0788 1.80859 13.7048C1.41806 13.3142 1.41806 12.6811 1.80859 12.2906L3.30859 10.7906C3.69911 10.4 4.33228 10.4 4.7228 10.7906L6.2228 12.2906C6.61333 12.6811 6.61333 13.3142 6.2228 13.7048C5.9679 13.9597 5.60963 14.0482 5.28294 13.9703C5.52247 14.7869 5.91076 15.5594 6.4353 16.2468C7.45795 17.5867 8.92978 18.5127 10.5804 18.8545Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumeHigh.svg b/src/main/resources/assets/oneconfig/icons/VolumeHigh.svg
new file mode 100644
index 0000000..774fb50
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumeHigh.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 14V10C3 9.44772 3.44772 9 4 9H6.64922C6.87629 9 7.0966 8.92272 7.27391 8.78087L10.3753 6.29976C11.0301 5.77595 12 6.24212 12 7.08062V16.9194C12 17.7579 11.0301 18.2241 10.3753 17.7002L7.27391 15.2191C7.0966 15.0773 6.87629 15 6.64922 15H4C3.44772 15 3 14.5523 3 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M15.8302 15.2139C16.5435 14.3639 16.9537 13.3008 16.9963 12.1919C17.0389 11.0831 16.7114 9.99163 16.0655 9.08939" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M18.8944 17.7851C20.2406 16.1807 20.9852 14.1571 20.9998 12.0628C21.0144 9.96855 20.2982 7.93473 18.9745 6.31174" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumeMedium.svg b/src/main/resources/assets/oneconfig/icons/VolumeMedium.svg
new file mode 100644
index 0000000..8051e24
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumeMedium.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 14V10C5 9.44772 5.44772 9 6 9H8.64922C8.87629 9 9.0966 8.92272 9.27391 8.78087L12.3753 6.29976C13.0301 5.77595 14 6.24212 14 7.08062V16.9194C14 17.7579 13.0301 18.2241 12.3753 17.7002L9.27391 15.2191C9.0966 15.0773 8.87629 15 8.64922 15H6C5.44772 15 5 14.5523 5 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M17.8302 15.2139C18.5435 14.3639 18.9537 13.3008 18.9963 12.1919C19.0389 11.0831 18.7114 9.99163 18.0655 9.08939" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumeMinus.svg b/src/main/resources/assets/oneconfig/icons/VolumeMinus.svg
new file mode 100644
index 0000000..b93bd82
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumeMinus.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 14V10C3 9.44772 3.44772 9 4 9H6.64922C6.87629 9 7.0966 8.92272 7.27391 8.78087L10.3753 6.29976C11.0301 5.77595 12 6.24212 12 7.08062V16.9194C12 17.7579 11.0301 18.2241 10.3753 17.7002L7.27391 15.2191C7.0966 15.0773 6.87629 15 6.64922 15H4C3.44772 15 3 14.5523 3 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M16 12H18.5H21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumeMute.svg b/src/main/resources/assets/oneconfig/icons/VolumeMute.svg
new file mode 100644
index 0000000..799fcd6
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumeMute.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 14V10C3 9.44772 3.44772 9 4 9H6.64922C6.87629 9 7.0966 8.92272 7.27391 8.78087L10.3753 6.29976C11.0301 5.77595 12 6.24212 12 7.08062V16.9194C12 17.7579 11.0301 18.2241 10.3753 17.7002L7.27391 15.2191C7.0966 15.0773 6.87629 15 6.64922 15H4C3.44772 15 3 14.5523 3 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M16 9.5L18.5 12M21 14.5L18.5 12M18.5 12L21 9.5M18.5 12L16 14.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumeNone.svg b/src/main/resources/assets/oneconfig/icons/VolumeNone.svg
new file mode 100644
index 0000000..e90af91
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumeNone.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M7 10V14C7 14.5523 7.44772 15 8 15H10.6492C10.8763 15 11.0966 15.0773 11.2739 15.2191L14.3753 17.7002C15.0301 18.2241 16 17.7579 16 16.9194V7.08062C16 6.24212 15.0301 5.77595 14.3753 6.29976L11.2739 8.78087C11.0966 8.92272 10.8763 9 10.6492 9H8C7.44772 9 7 9.44772 7 10Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumeOff.svg b/src/main/resources/assets/oneconfig/icons/VolumeOff.svg
new file mode 100644
index 0000000..e515cba
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumeOff.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5 5L19 19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00287 6.91712L6.64922 8.00003H4C2.89543 8.00003 2 8.89546 2 10V14C2 15.1046 2.89543 16 4 16H6.64922L9.75061 18.4811C11.0601 19.5288 13 18.5964 13 16.9194V11.9142L11 9.91425V16.9194L7.89861 14.4383C7.54398 14.1546 7.10336 14 6.64922 14H4V10H6.64922C7.10336 10 7.54398 9.84547 7.89861 9.56177L9.42578 8.34003L8.00287 6.91712ZM11 7.08582V7.08066L10.9971 7.08295L9.57422 5.66004L9.75061 5.51892C11.0601 4.4713 13 5.40365 13 7.08066V9.08582L11 7.08582ZM15.3187 14.233C15.2402 14.3497 15.1553 14.4626 15.0642 14.5712C14.7092 14.9943 14.7644 15.625 15.1874 15.98C15.6105 16.335 16.2413 16.2798 16.5963 15.8568C16.6491 15.7938 16.7006 15.7298 16.7507 15.6649L15.3187 14.233ZM17.7214 13.8072L15.9991 12.0849C16.0174 11.2215 15.7558 10.3747 15.2524 9.67154C14.9309 9.22248 15.0343 8.59782 15.4834 8.27632C15.9324 7.95482 16.5571 8.05823 16.8786 8.5073C17.6537 9.59 18.0467 10.8998 17.9956 12.2304C17.9749 12.7694 17.8818 13.2995 17.7214 13.8072ZM18.1736 17.0879C18.1586 17.1061 18.1435 17.1242 18.1284 17.1423C17.7734 17.5654 17.8285 18.1962 18.2516 18.5512C18.6479 18.8837 19.2263 18.8563 19.5897 18.504L18.1736 17.0879ZM20.752 16.8378L19.2646 15.3504C19.7379 14.3243 19.9918 13.202 19.9998 12.0559C20.0128 10.1943 19.3762 8.38646 18.1996 6.9438C17.8505 6.51581 17.9145 5.88589 18.3425 5.53683C18.7705 5.18777 19.4004 5.25175 19.7494 5.67974C21.2202 7.48307 22.016 9.74287 21.9998 12.0698C21.988 13.7485 21.5543 15.3863 20.752 16.8378Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/VolumePlus.svg b/src/main/resources/assets/oneconfig/icons/VolumePlus.svg
new file mode 100644
index 0000000..c848f47
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/VolumePlus.svg
@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 14V10C3 9.44772 3.44772 9 4 9H6.64922C6.87629 9 7.0966 8.92272 7.27391 8.78087L10.3753 6.29976C11.0301 5.77595 12 6.24212 12 7.08062V16.9194C12 17.7579 11.0301 18.2241 10.3753 17.7002L7.27391 15.2191C7.0966 15.0773 6.87629 15 6.64922 15H4C3.44772 15 3 14.5523 3 14Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M18.5 9.5V12M18.5 14.5V12M18.5 12H16M18.5 12H21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Warning.svg b/src/main/resources/assets/oneconfig/icons/Warning.svg
new file mode 100644
index 0000000..9cc750e
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Warning.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="16" r="1" fill="white"/>
+<path d="M12 9L12 13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M3.44722 17.1056L10.2111 3.57771C10.9482 2.10361 13.0518 2.10362 13.7889 3.57771L20.5528 17.1056C21.2177 18.4354 20.2507 20 18.7639 20H5.23607C3.7493 20 2.78231 18.4354 3.44722 17.1056Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/Website.svg b/src/main/resources/assets/oneconfig/icons/Website.svg
new file mode 100644
index 0000000..3c3c3d1
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/Website.svg
@@ -0,0 +1,6 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M4 15L20 15" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M4 9L20 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<circle cx="12" cy="12" r="9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M12 20.8182L11.2858 21.5181C11.4739 21.7101 11.7313 21.8182 12 21.8182C12.2688 21.8182 12.5262 21.7101 12.7143 21.5181L12 20.8182ZM12 3.18188L12.7143 2.48198C12.5262 2.29005 12.2688 2.18188 12 2.18188C11.7313 2.18188 11.4739 2.29005 11.2858 2.48198L12 3.18188ZM14.6 12.0001C14.6 15.1611 13.337 18.0251 11.2858 20.1183L12.7143 21.5181C15.1169 19.0662 16.6 15.7053 16.6 12.0001H14.6ZM11.2858 3.88178C13.337 5.97501 14.6 8.83903 14.6 12.0001H16.6C16.6 8.29478 15.1169 4.93389 12.7143 2.48198L11.2858 3.88178ZM9.40002 12.0001C9.40002 8.83903 10.6631 5.97501 12.7143 3.88178L11.2858 2.48198C8.88311 4.93389 7.40002 8.29478 7.40002 12.0001H9.40002ZM12.7143 20.1183C10.6631 18.0251 9.40002 15.1611 9.40002 12.0001H7.40002C7.40002 15.7053 8.88311 19.0662 11.2858 21.5181L12.7143 20.1183Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/XCircle.svg b/src/main/resources/assets/oneconfig/icons/XCircle.svg
new file mode 100644
index 0000000..7053f9a
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/XCircle.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M9 9L15 15" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M15 9L9 15" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<circle cx="12" cy="12" r="9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/XCross.svg b/src/main/resources/assets/oneconfig/icons/XCross.svg
new file mode 100644
index 0000000..5e9e9be
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/XCross.svg
@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M4.29289 4.29289C4.68342 3.90237 5.31658 3.90237 5.70711 4.29289L12 10.5858L18.2929 4.29289C18.6834 3.90237 19.3166 3.90237 19.7071 4.29289C20.0976 4.68342 20.0976 5.31658 19.7071 5.70711L13.4142 12L19.7071 18.2929C20.0976 18.6834 20.0976 19.3166 19.7071 19.7071C19.3166 20.0976 18.6834 20.0976 18.2929 19.7071L12 13.4142L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071C3.90237 19.3166 3.90237 18.6834 4.29289 18.2929L10.5858 12L4.29289 5.70711C3.90237 5.31658 3.90237 4.68342 4.29289 4.29289Z" fill="white"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ZoomIn.svg b/src/main/resources/assets/oneconfig/icons/ZoomIn.svg
new file mode 100644
index 0000000..24e6cee
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ZoomIn.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="10" cy="10" r="6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M14.5 14.5L19 19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M8 10H10M12 10H10M10 10V8M10 10V12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/ZoomOut.svg b/src/main/resources/assets/oneconfig/icons/ZoomOut.svg
new file mode 100644
index 0000000..52d4ff9
--- /dev/null
+++ b/src/main/resources/assets/oneconfig/icons/ZoomOut.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="10" cy="10" r="6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M14.5 14.5L19 19" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M8 10H10H12" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
diff --git a/src/main/resources/assets/oneconfig/icons/checkmark.png b/src/main/resources/assets/oneconfig/icons/checkmark.png
deleted file mode 100644
index 3069563..0000000
--- a/src/main/resources/assets/oneconfig/icons/checkmark.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/chevron.png b/src/main/resources/assets/oneconfig/icons/chevron.png
deleted file mode 100644
index 426a17f..0000000
--- a/src/main/resources/assets/oneconfig/icons/chevron.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/circle_arrow.png b/src/main/resources/assets/oneconfig/icons/circle_arrow.png
deleted file mode 100644
index dbf1bf0..0000000
--- a/src/main/resources/assets/oneconfig/icons/circle_arrow.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/close.png b/src/main/resources/assets/oneconfig/icons/close.png
deleted file mode 100644
index 85c82f2..0000000
--- a/src/main/resources/assets/oneconfig/icons/close.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/copy.png b/src/main/resources/assets/oneconfig/icons/copy.png
deleted file mode 100644
index 00ffc0b..0000000
--- a/src/main/resources/assets/oneconfig/icons/copy.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/dashboard.png b/src/main/resources/assets/oneconfig/icons/dashboard.png
deleted file mode 100644
index 179a57d..0000000
--- a/src/main/resources/assets/oneconfig/icons/dashboard.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/dropdown_arrow.png b/src/main/resources/assets/oneconfig/icons/dropdown_arrow.png
deleted file mode 100644
index 673458d..0000000
--- a/src/main/resources/assets/oneconfig/icons/dropdown_arrow.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/error.png b/src/main/resources/assets/oneconfig/icons/error.png
deleted file mode 100644
index ea2b6b0..0000000
--- a/src/main/resources/assets/oneconfig/icons/error.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/favorite_active.png b/src/main/resources/assets/oneconfig/icons/favorite_active.png
deleted file mode 100644
index 39acd3a..0000000
--- a/src/main/resources/assets/oneconfig/icons/favorite_active.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/favorite_inactive.png b/src/main/resources/assets/oneconfig/icons/favorite_inactive.png
deleted file mode 100644
index f91d77c..0000000
--- a/src/main/resources/assets/oneconfig/icons/favorite_inactive.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/help.png b/src/main/resources/assets/oneconfig/icons/help.png
deleted file mode 100644
index 1b91ad5..0000000
--- a/src/main/resources/assets/oneconfig/icons/help.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/hide_eye.png b/src/main/resources/assets/oneconfig/icons/hide_eye.png
deleted file mode 100644
index 38a5126..0000000
--- a/src/main/resources/assets/oneconfig/icons/hide_eye.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/hide_eye_off.png b/src/main/resources/assets/oneconfig/icons/hide_eye_off.png
deleted file mode 100644
index 14f3b2a..0000000
--- a/src/main/resources/assets/oneconfig/icons/hide_eye_off.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/hud.png b/src/main/resources/assets/oneconfig/icons/hud.png
deleted file mode 100644
index 98c052c..0000000
--- a/src/main/resources/assets/oneconfig/icons/hud.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/info.png b/src/main/resources/assets/oneconfig/icons/info.png
deleted file mode 100644
index 2ad09f3..0000000
--- a/src/main/resources/assets/oneconfig/icons/info.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/keystroke.png b/src/main/resources/assets/oneconfig/icons/keystroke.png
deleted file mode 100644
index 6556550..0000000
--- a/src/main/resources/assets/oneconfig/icons/keystroke.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/launch.png b/src/main/resources/assets/oneconfig/icons/launch.png
deleted file mode 100644
index 5f1e1ac..0000000
--- a/src/main/resources/assets/oneconfig/icons/launch.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/logo.png b/src/main/resources/assets/oneconfig/icons/logo.png
deleted file mode 100644
index f0f6e68..0000000
--- a/src/main/resources/assets/oneconfig/icons/logo.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/minimize.png b/src/main/resources/assets/oneconfig/icons/minimize.png
deleted file mode 100644
index dbe5a56..0000000
--- a/src/main/resources/assets/oneconfig/icons/minimize.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/mod_box.png b/src/main/resources/assets/oneconfig/icons/mod_box.png
deleted file mode 100644
index 8a7630b..0000000
--- a/src/main/resources/assets/oneconfig/icons/mod_box.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/mods.png b/src/main/resources/assets/oneconfig/icons/mods.png
deleted file mode 100644
index 07ebd26..0000000
--- a/src/main/resources/assets/oneconfig/icons/mods.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/paste.png b/src/main/resources/assets/oneconfig/icons/paste.png
deleted file mode 100644
index a5f97f9..0000000
--- a/src/main/resources/assets/oneconfig/icons/paste.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/performance.png b/src/main/resources/assets/oneconfig/icons/performance.png
deleted file mode 100644
index fe64b1d..0000000
--- a/src/main/resources/assets/oneconfig/icons/performance.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/preferences.png b/src/main/resources/assets/oneconfig/icons/preferences.png
deleted file mode 100644
index c8c9888..0000000
--- a/src/main/resources/assets/oneconfig/icons/preferences.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/profiles.png b/src/main/resources/assets/oneconfig/icons/profiles.png
deleted file mode 100644
index f0574e6..0000000
--- a/src/main/resources/assets/oneconfig/icons/profiles.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/screenshot.png b/src/main/resources/assets/oneconfig/icons/screenshot.png
deleted file mode 100644
index f9a4d25..0000000
--- a/src/main/resources/assets/oneconfig/icons/screenshot.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/search.png b/src/main/resources/assets/oneconfig/icons/search.png
deleted file mode 100644
index 23a9e05..0000000
--- a/src/main/resources/assets/oneconfig/icons/search.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/settings.png b/src/main/resources/assets/oneconfig/icons/settings.png
deleted file mode 100644
index 9dd5b5d..0000000
--- a/src/main/resources/assets/oneconfig/icons/settings.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/share.png b/src/main/resources/assets/oneconfig/icons/share.png
deleted file mode 100644
index 67930ef..0000000
--- a/src/main/resources/assets/oneconfig/icons/share.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/success.png b/src/main/resources/assets/oneconfig/icons/success.png
deleted file mode 100644
index 3472a9e..0000000
--- a/src/main/resources/assets/oneconfig/icons/success.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/themes.png b/src/main/resources/assets/oneconfig/icons/themes.png
deleted file mode 100644
index df8e3de..0000000
--- a/src/main/resources/assets/oneconfig/icons/themes.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/up_arrow.png b/src/main/resources/assets/oneconfig/icons/up_arrow.png
deleted file mode 100644
index f6723ad..0000000
--- a/src/main/resources/assets/oneconfig/icons/up_arrow.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/updates.png b/src/main/resources/assets/oneconfig/icons/updates.png
deleted file mode 100644
index d44220b..0000000
--- a/src/main/resources/assets/oneconfig/icons/updates.png
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/assets/oneconfig/icons/warning.png b/src/main/resources/assets/oneconfig/icons/warning.png
deleted file mode 100644
index c2a53d9..0000000
--- a/src/main/resources/assets/oneconfig/icons/warning.png
+++ /dev/null
Binary files differ