mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
feat: Linear-style UI redesign with improved mobile experience
Major changes: - Redesign cabinet with Linear-style components and top navigation - Replace detail modals with dedicated pages (users, broadcasts, email templates) - Add email channel support for broadcasts - Remove pull-to-refresh, improve drag-and-drop on touch devices - Fix Telegram Mini App: fullscreen, back button, scroll restoration - Unify admin pages color scheme to design system - Mobile-first improvements: horizontal tabs for settings, better touch targets
This commit is contained in:
@@ -68,3 +68,49 @@ export type ShadeLevel = (typeof SHADE_LEVELS)[number];
|
||||
export type ExtendedShadeLevel = (typeof EXTENDED_SHADE_LEVELS)[number];
|
||||
|
||||
export type ColorPalette = Record<ShadeLevel | 850, string>;
|
||||
|
||||
// Extended theme settings for user preferences
|
||||
export type BorderRadiusPreset = 'none' | 'small' | 'medium' | 'large' | 'pill';
|
||||
export type SpacingPreset = 'compact' | 'comfortable' | 'spacious';
|
||||
export type ThemeMode = 'dark' | 'light' | 'system';
|
||||
|
||||
export interface UserThemePreferences {
|
||||
/**
|
||||
* Theme mode preference
|
||||
* @default 'system'
|
||||
*/
|
||||
theme: ThemeMode;
|
||||
|
||||
/**
|
||||
* Border radius preset
|
||||
* @default 'large'
|
||||
*/
|
||||
borderRadius: BorderRadiusPreset;
|
||||
|
||||
/**
|
||||
* Whether animations are enabled
|
||||
* @default true
|
||||
*/
|
||||
animationsEnabled: boolean;
|
||||
}
|
||||
|
||||
export const DEFAULT_USER_PREFERENCES: UserThemePreferences = {
|
||||
theme: 'system',
|
||||
borderRadius: 'large',
|
||||
animationsEnabled: true,
|
||||
};
|
||||
|
||||
// CSS variable values for each preset
|
||||
export const BORDER_RADIUS_VALUES: Record<BorderRadiusPreset, string> = {
|
||||
none: '0px',
|
||||
small: '8px',
|
||||
medium: '16px',
|
||||
large: '24px',
|
||||
pill: '9999px',
|
||||
};
|
||||
|
||||
export const SPACING_VALUES: Record<SpacingPreset, { padding: string; gap: string }> = {
|
||||
compact: { padding: '12px', gap: '12px' },
|
||||
comfortable: { padding: '16px', gap: '16px' },
|
||||
spacious: { padding: '24px', gap: '24px' },
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user