feat(studio): refine preview branding
Use flag-only language controls and add the creator credit beneath Photo Mode.
This commit is contained in:
parent
3c5f5cb41e
commit
a057d880e0
@ -106,6 +106,24 @@ input {
|
|||||||
gap: 8px;
|
gap: 8px;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
|
.stage-credit {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 8;
|
||||||
|
bottom: 20px;
|
||||||
|
left: 50%;
|
||||||
|
margin: 0;
|
||||||
|
color: #7f8791;
|
||||||
|
font-size: 10px;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.stage-credit a {
|
||||||
|
color: #aeb6c2;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.stage-credit a:hover {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
.photo-capture-button {
|
.photo-capture-button {
|
||||||
min-width: 190px;
|
min-width: 190px;
|
||||||
height: 44px;
|
height: 44px;
|
||||||
@ -251,7 +269,7 @@ input {
|
|||||||
.language-picker [data-slot='select-trigger'] {
|
.language-picker [data-slot='select-trigger'] {
|
||||||
width: auto;
|
width: auto;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
min-width: 82px;
|
min-width: 46px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
border: 0;
|
border: 0;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
@ -2391,7 +2409,7 @@ p {
|
|||||||
box-shadow: 0 4px 14px rgb(24 28 35 / 7%);
|
box-shadow: 0 4px 14px rgb(24 28 35 / 7%);
|
||||||
}
|
}
|
||||||
.inspector-identity .language-picker [data-slot='select-trigger'] {
|
.inspector-identity .language-picker [data-slot='select-trigger'] {
|
||||||
min-width: 68px;
|
min-width: 46px;
|
||||||
color: #17191d;
|
color: #17191d;
|
||||||
}
|
}
|
||||||
.stage-identity .brand {
|
.stage-identity .brand {
|
||||||
@ -2410,7 +2428,7 @@ p {
|
|||||||
padding: 3px 6px 3px 8px;
|
padding: 3px 6px 3px 8px;
|
||||||
}
|
}
|
||||||
.stage-identity .language-picker [data-slot='select-trigger'] {
|
.stage-identity .language-picker [data-slot='select-trigger'] {
|
||||||
min-width: 68px;
|
min-width: 46px;
|
||||||
}
|
}
|
||||||
.stage-identity .source-link > span {
|
.stage-identity .source-link > span {
|
||||||
display: none;
|
display: none;
|
||||||
@ -2419,10 +2437,13 @@ p {
|
|||||||
width: min(42dvh, 78vw, 340px);
|
width: min(42dvh, 78vw, 340px);
|
||||||
}
|
}
|
||||||
.photo-capture-bar {
|
.photo-capture-bar {
|
||||||
bottom: max(12px, env(safe-area-inset-bottom));
|
bottom: max(36px, calc(env(safe-area-inset-bottom) + 24px));
|
||||||
left: 12px;
|
left: 12px;
|
||||||
transform: none;
|
transform: none;
|
||||||
}
|
}
|
||||||
|
.stage-credit {
|
||||||
|
bottom: max(9px, env(safe-area-inset-bottom));
|
||||||
|
}
|
||||||
.photo-capture-button {
|
.photo-capture-button {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
min-width: 40px;
|
min-width: 40px;
|
||||||
|
|||||||
@ -33,13 +33,12 @@ export function StudioIdentity({ className = '', language, setLanguage, t }: Stu
|
|||||||
<span>GitHub</span>
|
<span>GitHub</span>
|
||||||
</a>
|
</a>
|
||||||
<span className="identity-divider" aria-hidden="true" />
|
<span className="identity-divider" aria-hidden="true" />
|
||||||
<span aria-hidden="true">{language === 'en' ? '🇬🇧' : language === 'fr' ? '🇫🇷' : '🇨🇳'}</span>
|
|
||||||
<Select
|
<Select
|
||||||
value={language}
|
value={language}
|
||||||
items={[
|
items={[
|
||||||
{ value: 'en', label: 'English' },
|
{ value: 'en', label: '🇬🇧' },
|
||||||
{ value: 'fr', label: 'Français' },
|
{ value: 'fr', label: '🇫🇷' },
|
||||||
{ value: 'zh-CN', label: '中文' },
|
{ value: 'zh-CN', label: '🇨🇳' },
|
||||||
]}
|
]}
|
||||||
onValueChange={next => next && setLanguage(next as StudioLanguage)}
|
onValueChange={next => next && setLanguage(next as StudioLanguage)}
|
||||||
>
|
>
|
||||||
@ -47,9 +46,9 @@ export function StudioIdentity({ className = '', language, setLanguage, t }: Stu
|
|||||||
<SelectValue />
|
<SelectValue />
|
||||||
</SelectTrigger>
|
</SelectTrigger>
|
||||||
<SelectContent>
|
<SelectContent>
|
||||||
<SelectItem value="en">English</SelectItem>
|
<SelectItem value="en">🇬🇧</SelectItem>
|
||||||
<SelectItem value="fr">Français</SelectItem>
|
<SelectItem value="fr">🇫🇷</SelectItem>
|
||||||
<SelectItem value="zh-CN">中文</SelectItem>
|
<SelectItem value="zh-CN">🇨🇳</SelectItem>
|
||||||
</SelectContent>
|
</SelectContent>
|
||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -140,6 +140,13 @@ export function StudioStage({ controller }: { controller: StudioController }) {
|
|||||||
</Tooltip>
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
</TooltipProvider>
|
</TooltipProvider>
|
||||||
|
<p className="stage-credit">
|
||||||
|
Made with ❤️ by{' '}
|
||||||
|
<a href="https://x.com/_smontlouis" target="_blank" rel="noreferrer">
|
||||||
|
@_smontlouis
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
</motion.section>
|
</motion.section>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user