fix: ESLint errors and Prettier formatting
CI / Build & Quality Checks (push) Successful in 10m27s
Trigger Desktop Build / trigger (push) Successful in 5s

ESLint errors:
- usePresenceUpdater: remove redundant `const userId` inside handlePageHide
  that shadowed the outer declaration (no-shadow)
- RoomViewHeader: prefix unused encryptedRoom with _ (no-unused-vars)

Prettier: reformat 14 files to match project style

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-10 22:55:32 -04:00
parent b41bfd35c0
commit 46567555e1
14 changed files with 281 additions and 215 deletions
+2 -1
View File
@@ -86,7 +86,8 @@ export function GifPicker({ apiKey, onSelect, requestClose }: GifPickerProps) {
border: '1px solid color-mix(in srgb, var(--lt-accent-orange) 35%, transparent)',
borderRadius: '4px',
overflow: 'hidden',
boxShadow: '0 4px 24px color-mix(in srgb, var(--lt-accent-orange) 10%, transparent), 0 0 0 1px color-mix(in srgb, var(--lt-accent-orange) 8%, transparent)',
boxShadow:
'0 4px 24px color-mix(in srgb, var(--lt-accent-orange) 10%, transparent), 0 0 0 1px color-mix(in srgb, var(--lt-accent-orange) 8%, transparent)',
width: `${PICKER_WIDTH}px`,
}
: {
+5 -1
View File
@@ -214,7 +214,11 @@ export function VoiceMessageRecorder({ onSend, onError }: VoiceRecorderProps) {
minWidth: toRem(32),
fontVariantNumeric: 'tabular-nums',
...(lotusTerminal
? { fontFamily: 'JetBrains Mono, monospace', color: 'var(--lt-accent-green)', fontWeight: 700 }
? {
fontFamily: 'JetBrains Mono, monospace',
color: 'var(--lt-accent-green)',
fontWeight: 700,
}
: {}),
}}
>
+3 -3
View File
@@ -423,7 +423,7 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) {
const pinnedEvents = useRoomPinnedEvents(room);
const encryptionEvent = useStateEvent(room, StateEvent.RoomEncryption);
const encryptedRoom = !!encryptionEvent;
const _encryptedRoom = !!encryptionEvent;
const avatarMxc = useRoomAvatar(room, direct);
const name = useLocalRoomName(room);
const topic = useRoomTopic(room);
@@ -558,7 +558,7 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) {
</Box>
<Box shrink="No">
{(
{
<TooltipProvider
position="Bottom"
offset={4}
@@ -579,7 +579,7 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) {
</IconButton>
)}
</TooltipProvider>
)}
}
<TooltipProvider
position="Bottom"
offset={4}
@@ -738,7 +738,9 @@ function ProfileTimezone() {
const [savedTimezone, setSavedTimezone] = useState<string>('');
useEffect(() => {
const cached = mx.getAccountData('im.lotus.timezone' as any)?.getContent<{ timezone: string }>();
const cached = mx
.getAccountData('im.lotus.timezone' as any)
?.getContent<{ timezone: string }>();
if (cached?.timezone) {
setTimezone(cached.timezone);
setSavedTimezone(cached.timezone);
+15 -5
View File
@@ -509,9 +509,7 @@ function Appearance() {
<select
value={fontFamily ?? 'inter'}
onChange={(e) =>
setFontFamily(
e.target.value as 'system' | 'inter' | 'jetbrains-mono' | 'fira-code',
)
setFontFamily(e.target.value as 'system' | 'inter' | 'jetbrains-mono' | 'fira-code')
}
style={{
background: 'var(--bg-surface)',
@@ -541,7 +539,14 @@ function Appearance() {
type="color"
value={mentionHighlightColor || '#4caf50'}
onChange={(e) => setMentionHighlightColor(e.target.value)}
style={{ width: '36px', height: '28px', cursor: 'pointer', borderRadius: '4px', border: 'none', padding: '2px' }}
style={{
width: '36px',
height: '28px',
cursor: 'pointer',
borderRadius: '4px',
border: 'none',
padding: '2px',
}}
/>
{mentionHighlightColor && (
<button
@@ -971,7 +976,12 @@ function Editor() {
after={<Switch variant="Primary" value={editorToolbar} onChange={setEditorToolbar} />}
/>
</SequenceCard>
<SequenceCard className={SequenceCardStyle} variant="SurfaceVariant" direction="Column" gap="300">
<SequenceCard
className={SequenceCardStyle}
variant="SurfaceVariant"
direction="Column"
gap="300"
>
<SettingTile
title="Composer Toolbar"
description="Tap a button to show or hide it in the message composer."
@@ -88,8 +88,14 @@ function NotificationPresets() {
}}
>
<span style={{ fontSize: toRem(24) }}>{preset.emoji}</span>
<Text size="T300" style={{ fontWeight: 600 }}>{preset.label}</Text>
<Text size="T200" priority="300" style={{ textAlign: 'center', maxWidth: toRem(120) }}>
<Text size="T300" style={{ fontWeight: 600 }}>
{preset.label}
</Text>
<Text
size="T200"
priority="300"
style={{ textAlign: 'center', maxWidth: toRem(120) }}
>
{preset.description}
</Text>
</button>
+17 -14
View File
@@ -17,22 +17,26 @@ export function usePresenceUpdater() {
useEffect(() => {
const userId = mx.getUserId();
const storedStatus = userId ? localStorage.getItem(`lotus-status-msg-${userId}`) ?? '' : '';
const storedStatus = userId ? (localStorage.getItem(`lotus-status-msg-${userId}`) ?? '') : '';
const setOnline = () =>
mx.setPresence({
presence: 'online',
...(storedStatus ? { status_msg: storedStatus } : {}),
}).catch(() => undefined);
mx
.setPresence({
presence: 'online',
...(storedStatus ? { status_msg: storedStatus } : {}),
})
.catch(() => undefined);
const setUnavailable = (statusMsg?: string) =>
mx.setPresence({
presence: 'unavailable',
...(statusMsg
? { status_msg: statusMsg }
: storedStatus
? { status_msg: storedStatus }
: {}),
}).catch(() => undefined);
mx
.setPresence({
presence: 'unavailable',
...(statusMsg
? { status_msg: statusMsg }
: storedStatus
? { status_msg: storedStatus }
: {}),
})
.catch(() => undefined);
const setOffline = () =>
mx.setPresence({ presence: 'offline', status_msg: '' }).catch(() => undefined);
@@ -88,7 +92,6 @@ export function usePresenceUpdater() {
};
const handlePageHide = () => {
const userId = mx.getUserId();
const token = mx.getAccessToken();
const baseUrl = mx.getHomeserverUrl();
if (!userId || !token || !baseUrl) return;
+5 -7
View File
@@ -15,13 +15,11 @@ export const getRecentEmojis = (mx: MatrixClient, limit?: number): IEmoji[] => {
const recentEmoji = recentEmojiEvent?.getContent<IRecentEmojiContent>().recent_emoji;
if (!Array.isArray(recentEmoji)) return [];
return recentEmoji
.slice(0, limit)
.reduce<IEmoji[]>((list, [unicode]) => {
const emoji = emojis.find((e) => e.unicode === unicode);
if (emoji) list.push(emoji);
return list;
}, []);
return recentEmoji.slice(0, limit).reduce<IEmoji[]>((list, [unicode]) => {
const emoji = emojis.find((e) => e.unicode === unicode);
if (emoji) list.push(emoji);
return list;
}, []);
};
export function addRecentEmoji(mx: MatrixClient, unicode: string) {