Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"html-tag-js/jsx/syntax-parser.js",
"@babel/transform-runtime"
],
"compact": true
"compact": false
}
1 change: 1 addition & 0 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"!**/jsconfig.json",
"!**/.babelrc",
"!**/.hintrc",
"!**/*.svg",
"!**/*/selection.json"
]
},
Expand Down
2 changes: 2 additions & 0 deletions client/components/announcementBanner/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,13 @@ export default function AnnouncementBanner() {
clearInterval(intervalId);
sessionStorage.setItem('announcement-banner-closed', 'true');
$link.removeAttribute('data-visible');
document.documentElement.style.setProperty('--announcement-height', '0px');
});

// Check if banner was closed in this session
if (sessionStorage.getItem('announcement-banner-closed') === 'true') {
$link.classList.add('hidden');
document.documentElement.style.setProperty('--announcement-height', '0px');
}

const $content = $link.querySelector('.announcement-banner__content');
Expand Down
210 changes: 84 additions & 126 deletions client/components/announcementBanner/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,17 @@
position: sticky;
top: 0;
width: 100%;
padding: 12px 50px 12px 20px;
padding: 0 44px 0 16px;
box-sizing: border-box;
background: linear-gradient(135deg,
#1a1a2e 0%,
#16213e 25%,
#0f3460 50%,
#1a1a2e 100%);
background-size: 200% 200%;
animation: gradientShift 8s ease infinite;
background: #16181e;
text-decoration: none;
cursor: pointer;
overflow: hidden;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
transition: background 0.5s ease, background-size 0.3s ease;
height: 60px;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
height: 40px;

&[data-visible='true']+header {
top: 60px;
top: 40px;
}

// Hanging Piece theme - chess-inspired dark green
Expand All @@ -51,87 +44,62 @@
}

&--shellular {
background: linear-gradient(135deg,
#08090b 0%,
#0d0d0f 24%,
#18181b 56%,
#1b1b1f 100%);
border-bottom-color: rgba(214, 194, 161, 0.18);
background: #16181e;
border-bottom-color: rgba(255, 255, 255, 0.06);

.announcement-banner__new-badge {
background: linear-gradient(135deg, #f1c98d, #d6c2a1);
color: #140f0a;
box-shadow: 0 2px 10px rgba(214, 194, 161, 0.35);
}

.announcement-banner__title {
color: #f5f1e8;
background: transparent;
color: rgba(214, 194, 161, 0.9);
box-shadow: none;
border: 1px solid rgba(214, 194, 161, 0.35);
}

.announcement-banner__title,
.announcement-banner__mobile-title {
color: #f5f1e8;
color: rgba(245, 241, 232, 0.88);
}

.announcement-banner__subtitle {
color: rgba(245, 241, 232, 0.78);
color: rgba(245, 241, 232, 0.5);
}

.announcement-banner__cta {
background: linear-gradient(135deg, #d6c2a1, #8a745c);
color: #140f0a;
box-shadow: 0 4px 15px rgba(138, 116, 92, 0.3);
background: transparent;
color: rgba(214, 194, 161, 0.95);
box-shadow: none;
border: 1px solid rgba(214, 194, 161, 0.3);
}

.announcement-banner__logo-wrapper {
background: rgba(214, 194, 161, 0.12);
box-shadow: 0 4px 15px rgba(20, 15, 10, 0.35);
background: rgba(214, 194, 161, 0.08);
box-shadow: none;
}

.announcement-banner__indicator.active {
background: #f1c98d;
box-shadow: 0 0 12px rgba(241, 201, 141, 0.5);
background: rgba(214, 194, 161, 0.8);
box-shadow: none;
}

.announcement-banner__close {
background: rgba(214, 194, 161, 0.12);
background: transparent;

.icon {
color: rgba(245, 241, 232, 0.82);
color: rgba(245, 241, 232, 0.45);
}

&:hover {
background: rgba(214, 194, 161, 0.24);
background: rgba(255, 255, 255, 0.06);

.icon {
color: #f5f1e8;
color: rgba(245, 241, 232, 0.85);
}
}
}
}

&::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg,
transparent,
rgba(255, 255, 255, 0.05),
transparent);
animation: shimmer 3s infinite;
}

&:hover {
background-size: 250% 250%;

.announcement-banner__cta {
transform: translateX(5px);
}

.announcement-banner__arrow {
transform: translateX(3px);
border-color: rgba(255, 255, 255, 0.22);
}
}

Expand All @@ -142,36 +110,36 @@

&__close {
position: absolute;
right: 12px;
right: 8px;
top: 0;
bottom: 0;
margin: auto;
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: rgba(255, 255, 255, 0.1);
width: 24px;
height: 24px;
background: transparent;
border: none;
border-radius: 50%;
border-radius: 6px;
cursor: pointer;
transition: all 0.3s ease;
transition: background 0.2s ease;
z-index: 2;
padding: 0;

.icon {
color: rgba(255, 255, 255, 0.7);
font-size: 0.9rem;
color: rgba(255, 255, 255, 0.4);
font-size: 0.8rem;
display: flex;
align-items: center;
justify-content: center;
}

&:hover {
background: rgba(255, 255, 255, 0.2);
background: rgba(255, 255, 255, 0.06);

.icon {
color: #fff;
color: rgba(255, 255, 255, 0.85);
}
}
}
Expand Down Expand Up @@ -237,23 +205,21 @@

display: flex;
align-items: center;
gap: 16px;
gap: 10px;
max-width: 1200px;
min-width: 0;
z-index: 1;
}

&__logo-wrapper {
display: flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 10px;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
// padding: 4px;
width: 22px;
height: 22px;
border-radius: 6px;
background: rgba(255, 255, 255, 0.06);
flex-shrink: 0;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

&__logo {
Expand All @@ -266,57 +232,63 @@
&__text {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
gap: 8px;
flex-wrap: nowrap;
min-width: 0;
}

&__new-badge {
display: inline-flex;
align-items: center;
padding: 4px 10px;
background: linear-gradient(135deg, #e94560, #ff6b6b);
color: #fff;
font-size: 0.65rem;
font-weight: 700;
letter-spacing: 1px;
border-radius: 20px;
padding: 1px 6px;
background: transparent;
color: rgba(255, 255, 255, 0.5);
font-size: 0.6rem;
font-weight: 600;
letter-spacing: 0.08em;
border-radius: 4px;
text-transform: uppercase;
box-shadow: 0 2px 10px rgba(233, 69, 96, 0.4);
border: 1px solid rgba(255, 255, 255, 0.16);
}

&__title {
color: #fff;
font-size: 0.95rem;
font-weight: 600;
letter-spacing: 0.3px;
color: rgba(255, 255, 255, 0.88);
font-size: 0.8rem;
font-weight: 500;
letter-spacing: 0;
}

&__mobile-title {
display: none;
color: #fff;
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.2px;
color: rgba(255, 255, 255, 0.88);
font-size: 0.78rem;
font-weight: 500;
letter-spacing: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: min(52vw, 16rem);
}

&__subtitle {
color: rgba(255, 255, 255, 0.7);
font-size: 0.85rem;
color: rgba(255, 255, 255, 0.45);
font-size: 0.8rem;
font-weight: 400;
}

&__cta {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
background: linear-gradient(135deg, #00d2d3, #54a0ff);
color: #fff;
font-size: 0.8rem;
font-weight: 600;
border-radius: 25px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 210, 211, 0.3);
gap: 4px;
padding: 4px 10px;
background: transparent;
color: rgba(255, 255, 255, 0.78);
font-size: 0.75rem;
font-weight: 500;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.14);
transition: border-color 0.2s ease, color 0.2s ease;
box-shadow: none;
white-space: nowrap;
}

Expand All @@ -330,38 +302,24 @@
}

&__indicators {
position: absolute;
bottom: 4px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 6px;
z-index: 2;
display: none;
}

&__indicator {
width: 6px;
height: 6px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transition: all 0.3s ease;

&.active {
background: rgba(255, 255, 255, 0.9);
transform: scale(1.2);
}
display: none;
}

// Responsive styles
@media screen and (max-width: 768px) {
padding: 10px 16px;
padding: 0 36px 0 12px;

&[data-visible='true']+header {
top: 60px;
top: 40px;
}

&__content {
gap: 12px;
gap: 8px;
min-width: 0;
}

&__logo-wrapper {
Expand Down
7 changes: 4 additions & 3 deletions client/components/dialogs/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@
}

.dialog-box {
background-color: var(--secondary-color);
color: var(--secondary-text-color);
border-radius: 4px;
background-color: #1c1f27;
color: var(--page-text, #f1f2f4);
border: 1px solid var(--page-line, rgba(255, 255, 255, 0.08));
border-radius: 16px;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
min-width: 200px;
z-index: 1;
Expand Down
Loading