From efea81e9bb457d9edb30d562210c671dd2270bae Mon Sep 17 00:00:00 2001 From: MCHost Date: Sun, 6 Jul 2025 12:29:11 -0400 Subject: [PATCH] fix --- public/css/styles.css | 275 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 public/css/styles.css diff --git a/public/css/styles.css b/public/css/styles.css new file mode 100644 index 0000000..54b6f52 --- /dev/null +++ b/public/css/styles.css @@ -0,0 +1,275 @@ +@font-face { + font-family: 'Minecraft'; + src: url('../font/MinecraftRegular-Bmg3.otf') format('opentype'); + font-weight: normal; + font-style: normal; + font-display: swap; + } + @media (max-width: 640px) { + .holesail-output-mobile-hidden { + display: none; + } + } + + @import "tailwindcss"; + + @layer base { + /* Sticky footer base styles */ + html { + @apply h-full; + } + + body { + @apply min-h-full flex flex-col; + } + + h1, h2, h3, h4, h5, h6 { + font-family: 'Minecraft', sans-serif; + } + + #app { + @apply flex-1 flex flex-col; + } + + main { + @apply flex-grow; + } + + footer { + @apply flex-shrink-0; + } + } + + @layer components { + .spinner { + @apply border-4 border-gray-700 border-t-white rounded-full w-6 h-6 animate-spin inline-block; + } + + @keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } + + #notificationContainer { + @apply fixed bottom-5 right-5 z-[1000] flex flex-col-reverse gap-2; + } + + .notification { + @apply bg-gray-800 text-white p-4 rounded-lg flex items-center gap-3 shadow-lg transition-opacity duration-300; + } + + .notification.success { + @apply bg-green-700; + } + + .notification.error { + @apply bg-red-700; + } + + #dockerLogsTerminal { + @apply bg-gray-800 p-4 rounded-lg max-h-48 w-full; + } + + .xterm .xterm-viewport { + @apply overflow-y-auto; + scrollbar-width: thin; + scrollbar-color: #4B5563 #1F2937; + } + + .xterm .xterm-viewport::-webkit-scrollbar { + @apply w-2; + } + + .xterm .xterm-viewport::-webkit-scrollbar-track { + @apply bg-gray-800; + } + + .xterm .xterm-viewport::-webkit-scrollbar-thumb { + @apply bg-gray-600 rounded; + } + + .xterm .xterm-viewport::-webkit-scrollbar-thumb:hover { + @apply bg-gray-500; + } + + .xterm .xterm-screen { + @apply w-full; + } + + .control-btn { + @apply px-4 py-2 text-sm font-medium transition-all duration-200 min-w-[80px] text-center shadow-sm; + } + + .control-btn:hover:not(.disabled-btn) { + @apply -translate-y-px; + } + + .control-btn:active:not(.disabled-btn) { + @apply translate-y-0; + } + + /* Player button styles */ + .tell-player { + @apply bg-blue-600 hover:bg-blue-700 px-2 py-1 rounded text-sm font-[Minecraft] transition-all duration-200; + } + + .give-player { + @apply bg-green-600 hover:bg-green-700 px-2 py-1 rounded text-sm font-[Minecraft] transition-all duration-200; + } + + .op-player, .deop-player { + @apply bg-purple-600 hover:bg-purple-700 px-2 py-1 rounded text-sm font-[Minecraft] transition-all duration-200; + } + + .kick-player, .ban-player { + @apply bg-red-600 hover:bg-red-700 px-2 py-1 rounded text-sm font-[Minecraft] transition-all duration-200; + } + + .teleport-player { + @apply bg-cyan-600 hover:bg-cyan-700 px-2 py-1 rounded text-sm font-[Minecraft] transition-all duration-200; + } + + .teleport-player:hover:not(.disabled-btn) { + @apply -translate-y-px; + } + + .teleport-player:active:not(.disabled-btn) { + @apply translate-y-0; + } + + .effect-player { + @apply bg-teal-600 hover:bg-teal-700 px-2 py-1 rounded text-sm font-[Minecraft] transition-all duration-200; + } + + .effect-player:hover:not(.disabled-btn) { + @apply -translate-y-px; + } + + .effect-player:active:not(.disabled-btn) { + @apply translate-y-0; + } + + .modal { + @apply fixed inset-0 bg-black/75 flex items-center justify-center z-[1000]; + } + + .modal-content { + @apply bg-gray-800 p-6 rounded-lg w-full max-w-xl relative max-h-[80vh] overflow-y-auto; + scrollbar-width: thin; + scrollbar-color: #4B5563 #1F2937; + } + + .modal-content::-webkit-scrollbar { + @apply w-2; + } + + .modal-content::-webkit-scrollbar-track { + @apply bg-gray-800; + } + + .modal-content::-webkit-scrollbar-thumb { + @apply bg-gray-600 rounded; + } + + .modal-content::-webkit-scrollbar-thumb:hover { + @apply bg-gray-500; + } + + .modal-close { + @apply absolute top-2 right-2 bg-transparent border-none text-white text-xl cursor-pointer; + } + + .disabled-btn { + @apply opacity-50 cursor-not-allowed pointer-events-none; + } + + .disabled-btn:hover { + @apply cursor-not-allowed; + } + + /* Search box and properties fields */ + #searchContainer { + @apply mb-4 block; + } + + #propertiesSearch { + @apply bg-gray-700 px-4 py-2 rounded text-white w-full block; + } + + #propertiesList { + @apply space-y-2; + } + + /* Toggle switch styles */ + [role="switch"] { + @apply inline-block relative w-10 h-6 cursor-pointer z-10; + } + + [role="switch"] > div:first-child { + @apply w-full h-full rounded-full transition-colors duration-200 ease-in-out; + } + + [role="switch"] > div:last-child { + @apply absolute w-4 h-4 rounded-full bg-white top-1 transition-all duration-200 ease-in-out z-[11]; + } + + [role="switch"][aria-checked="true"] > div:first-child { + @apply bg-green-600; + } + + [role="switch"][aria-checked="false"] > div:first-child { + @apply bg-gray-600; + } + + [role="switch"][aria-checked="true"] > div:last-child { + @apply left-6; + } + + [role="switch"][aria-checked="false"] > div:last-child { + @apply left-1; + } + } + + @layer utilities { + /* Custom utilities */ + } + + /* Media queries */ + @media (max-width: 640px) { + .bg-gray-800.p-6.rounded-lg.shadow-lg .grid { + @apply grid-cols-1; + } + + .bg-gray-800.p-6.rounded-lg.shadow-lg p { + @apply flex flex-col gap-2 break-all; + } + + .bg-gray-800.p-6.rounded-lg.shadow-lg a, + .bg-gray-800.p-6.rounded-lg.shadow-lg span { + @apply break-words whitespace-normal; + } + + .bg-gray-800.p-6.rounded-lg.shadow-lg button { + @apply w-full mt-2; + } + + .tell-player, + .give-player, + .teleport-player, + .effect-player, + .op-player, + .deop-player, + .kick-player, + .ban-player { + @apply w-full text-center mt-1; + } + } + + /* Additional styles */ + .bg-gray-800.p-6.rounded-lg.shadow-lg .grid { + @apply overflow-x-hidden; + } + + .bg-gray-800.p-6.rounded-lg.shadow-lg p { + @apply max-w-full; + } \ No newline at end of file