Files
Public/apps/native/lib/desktop/desk_theme.dart
T
daiyongkang 76f266645d Initial commit: 风影 OA 全栈源码(API/Web/Flutter/IM)
含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。
排除 node_modules、构建产物、安装包与 .env 密钥。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 10:04:03 +00:00

48 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
/// 企业微信桌面端配色与尺寸,不依赖移动端 theme。
const kDeskBg = Color(0xFFEDEDED);
const kDeskRail = Color(0xFFE7E7E7);
const kDeskPane = Colors.white;
const kDeskListBg = Color(0xFFF7F7F7);
const kDeskActive = Color(0xFFDCEBFF);
const kDeskLine = Color(0xFFE3E3E3);
const kDeskInk = Color(0xFF191919);
const kDeskMute = Color(0xFF8E8E8E);
const kDeskBind = Color(0xFF267EF0);
const kDeskGreen = Color(0xFF07C160);
const kDeskBubbleMine = Color(0xFF95EC69);
const kDeskRailWidth = 68.0;
const kDeskConvWidth = 280.0;
ThemeData buildDesktopTheme() {
return ThemeData(
useMaterial3: false,
scaffoldBackgroundColor: kDeskBg,
fontFamily: 'sans-serif',
colorScheme: ColorScheme.fromSeed(seedColor: kDeskBind, brightness: Brightness.light),
dividerColor: kDeskLine,
textTheme: const TextTheme(
bodyMedium: TextStyle(fontSize: 14, color: kDeskInk, height: 1.4),
titleMedium: TextStyle(fontSize: 15, fontWeight: FontWeight.w600, color: kDeskInk),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: const Color(0xFFF3F3F3),
border: OutlineInputBorder(borderRadius: BorderRadius.circular(6), borderSide: BorderSide.none),
enabledBorder: OutlineInputBorder(borderRadius: BorderRadius.circular(6), borderSide: BorderSide.none),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(6),
borderSide: const BorderSide(color: kDeskBind, width: 1),
),
contentPadding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10),
hintStyle: const TextStyle(color: Color(0xFFB2B2B2), fontSize: 14),
),
dataTableTheme: const DataTableThemeData(
headingTextStyle: TextStyle(fontSize: 13, fontWeight: FontWeight.w600, color: kDeskMute),
dataTextStyle: TextStyle(fontSize: 14, color: kDeskInk),
),
);
}