fix: replace broken border-hard/50 opacity with subtle white borders

Tailwind can't decompose CSS variables for opacity modifiers, so
border-border-hard/50 fell back to white currentColor. Replaced with
border-white/[0.06] on image attachments, code blocks, and action
toolbar. Also applied frosted glass material to message action toolbar.
This commit is contained in:
Jannis Braun
2026-03-02 17:07:33 +01:00
parent 7608afccc4
commit 907728ab24
3 changed files with 6 additions and 6 deletions
@@ -80,7 +80,7 @@ function CodeBlock({ language, code }: { language: string; code: string }) {
// 'text' means a bare fenced block with no language — render without highlighting
if (language === 'text') {
return (
<pre className="mt-1 p-3 bg-surface-elevated border border-border-hard/50 rounded text-[0.875rem] leading-[1.125rem] font-mono overflow-x-auto whitespace-pre">
<pre className="mt-1 p-3 bg-surface-elevated border border-white/[0.06] rounded text-[0.875rem] leading-[1.125rem] font-mono overflow-x-auto whitespace-pre">
<code>{code}</code>
</pre>
);
@@ -90,7 +90,7 @@ function CodeBlock({ language, code }: { language: string; code: string }) {
<Highlight theme={aetherTheme} code={code} language={language}>
{({ style, tokens, getLineProps, getTokenProps }) => (
<pre
className="mt-1 rounded border border-border-hard/50 text-[0.875rem] leading-[1.125rem] font-mono overflow-x-auto"
className="mt-1 rounded border border-white/[0.06] text-[0.875rem] leading-[1.125rem] font-mono overflow-x-auto"
style={{ ...style, padding: '0.625rem 0.75rem', margin: 0 }}
>
{tokens.map((line, i) => {
+3 -3
View File
@@ -270,7 +270,7 @@ export function Message({ message, isCompact, isFirstInGroup }: MessageProps) {
const isImage = att.mimetype.startsWith('image/');
if (isImage) {
return (
<div key={att.id} className="max-w-fit mt-1 rounded-lg overflow-hidden border border-border-hard/50 bg-surface-base/20">
<div key={att.id} className="max-w-fit mt-1 rounded-lg overflow-hidden border border-white/[0.06]">
<img
src={`/api/uploads/${att.filename}`}
alt={att.originalName}
@@ -312,8 +312,8 @@ export function Message({ message, isCompact, isFirstInGroup }: MessageProps) {
{/* Action buttons on hover */}
{isHovered && !isEditing && (
<div className="absolute -top-[18px] right-4 flex items-center bg-surface-chat border border-border-hard/50 rounded-[4px] shadow-elevation-low overflow-hidden z-10 h-8">
<div className="flex items-center px-1 border-r border-border-hard/50 h-full">
<div className="absolute -top-[18px] right-4 flex items-center glass rounded-[10px] overflow-hidden z-10 h-8">
<div className="flex items-center px-1 border-r border-white/[0.06] h-full">
{['👍', '❤️', '😂', '😮'].map(emoji => (
<button
key={emoji}
@@ -113,7 +113,7 @@ export function MessageList({ channelId }: MessageListProps) {
return (
<div
ref={containerRef}
className="flex-1 overflow-y-auto overflow-x-hidden scrollbar-thin"
className="flex-1 overflow-y-auto overflow-x-hidden no-scrollbar"
onScroll={handleScroll}
>
{isLoadingMore && (