chore(orbit): shrink start modal to fit 1080p viewports

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Psychotoxical
2026-04-24 13:51:47 +02:00
parent 373029884c
commit 5326011268
4 changed files with 10 additions and 54 deletions
+2 -17
View File
@@ -3,7 +3,7 @@ import { createPortal } from 'react-dom';
import { useTranslation } from 'react-i18next';
import {
X, Check, Copy, Orbit as OrbitIcon,
Users, Music2, Shuffle, Dices, AlertTriangle, Globe2,
Dices, AlertTriangle, Globe2,
} from 'lucide-react';
import {
startOrbitSession,
@@ -105,7 +105,7 @@ export default function OrbitStartModal({ onClose }: Props) {
<div className="orbit-start-modal__hero">
<div className="orbit-start-modal__hero-icon">
<OrbitIcon size={30} />
<OrbitIcon size={24} />
</div>
<h3 id="orbit-start-title" className="orbit-start-modal__title">
{t('orbit.heroTitlePrefix')}{' '}
@@ -126,21 +126,6 @@ export default function OrbitStartModal({ onClose }: Props) {
<span>{onLan ? t('orbit.tipLan') : t('orbit.tipRemote')}</span>
</div>
<ul className="orbit-start-modal__facts">
<li className="orbit-start-modal__fact">
<Users size={15} />
<span>{t('orbit.factSameServer')}</span>
</li>
<li className="orbit-start-modal__fact">
<Music2 size={15} />
<span>{t('orbit.factHost')}</span>
</li>
<li className="orbit-start-modal__fact">
<Shuffle size={15} />
<span>{t('orbit.factShuffle')}</span>
</li>
</ul>
<div className="orbit-start-modal__field">
<label className="orbit-start-modal__label" htmlFor="orbit-name">
{t('orbit.labelName')}
-3
View File
@@ -1457,9 +1457,6 @@ export const deTranslation = {
fallbackServer: 'diesem Server',
tipLan: 'Du bist aktuell mit einer Heimnetz-Adresse verbunden. Gäste außerhalb deines Heimnetzes können so nicht beitreten — wechsle vor dem Start in den Servereinstellungen zu einer öffentlichen Adresse.',
tipRemote: 'Damit Gäste außerhalb deines Heimnetzes beitreten können, muss deine Serveradresse öffentlich erreichbar sein. Ist dein Server nur intern verfügbar, wechsle vor dem Start zu einer öffentlichen Adresse.',
factSameServer: 'Nur angemeldete Nutzer desselben Servers können beitreten.',
factHost: 'Du bist Gastgeber: du steuerst die Wiedergabe, deine Gäste schlagen Songs vor.',
factShuffle: 'Die Warteschlange wird automatisch alle 15 Minuten neu gemischt.',
labelName: 'Sessionname',
namePlaceholder: 'Velvet Orbit',
reshuffleTooltip: 'Neuer Vorschlag',
-3
View File
@@ -1460,9 +1460,6 @@ export const enTranslation = {
fallbackServer: 'this server',
tipLan: "You're currently connected via a home-network address. Guests outside your network can't join — switch to a public server address in settings before you start.",
tipRemote: 'For guests outside your home network to join, your server address has to be publicly reachable. If your server is internal only, switch before you start.',
factSameServer: 'Only users signed in to the same server can join.',
factHost: "You're the host — you control playback, your guests suggest tracks.",
factShuffle: 'The queue is reshuffled automatically every 15 minutes.',
labelName: 'Session name',
namePlaceholder: 'Velvet Orbit',
reshuffleTooltip: 'New suggestion',
+8 -31
View File
@@ -11876,7 +11876,7 @@ html[data-psy-native-hidden="true"] *::after {
.orbit-start-modal {
max-width: 480px;
width: min(480px, calc(100vw - 32px));
padding: 22px 26px 20px;
padding: 18px 26px 16px;
position: relative;
}
@@ -11885,8 +11885,8 @@ html[data-psy-native-hidden="true"] *::after {
flex-direction: column;
align-items: center;
text-align: center;
padding: 4px 0 14px;
margin-bottom: 14px;
padding: 0 0 10px;
margin-bottom: 12px;
border-bottom: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
}
@@ -11894,13 +11894,13 @@ html[data-psy-native-hidden="true"] *::after {
display: inline-flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
width: 48px;
height: 48px;
border-radius: 50%;
background: color-mix(in srgb, var(--accent) 16%, transparent);
border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
color: var(--accent);
margin-bottom: 12px;
margin-bottom: 8px;
box-shadow: 0 0 24px -6px color-mix(in srgb, var(--accent) 50%, transparent);
}
.orbit-start-modal__hero-icon--live {
@@ -11977,34 +11977,11 @@ html[data-psy-native-hidden="true"] *::after {
color: var(--ctp-yellow, #f9e2af);
}
.orbit-start-modal__facts {
list-style: none;
padding: 0;
margin: 0 0 18px;
display: flex;
flex-direction: column;
gap: 10px;
}
.orbit-start-modal__fact {
display: grid;
grid-template-columns: 18px 1fr;
align-items: start;
gap: 10px;
font-size: 12.5px;
color: var(--text-secondary, var(--text-primary));
line-height: 1.5;
}
.orbit-start-modal__fact svg {
margin-top: 2px;
color: var(--accent);
flex-shrink: 0;
}
.orbit-start-modal__field {
margin-bottom: 20px;
margin-bottom: 14px;
}
.orbit-start-modal__field:last-of-type {
margin-bottom: 22px;
margin-bottom: 16px;
}
.orbit-start-modal__label {