import { getDomain } from './env'

// 头像基础路径（远端）
const AVATAR_BASE_URL = getDomain() + '/static/avatar/'

// 图片基础路径（远端）
const IMAGE_BASE_URL = getDomain() + '/static/images/'

// ========== 记账分类常量 start ==========
export const DEFAULT_CATE_LIST = [
	// 支出类（type: 1）
	{ value: 'food', label: '餐饮', icon: '🍚', color: '#ff6b6b', type: 1 },
	{ value: 'transport', label: '交通', icon: '🚇', color: '#4ecdc4', type: 1 },
	{ value: 'shopping', label: '购物', icon: '🛍️', color: '#ffe66d', type: 1 },
	{ value: 'entertainment', label: '娱乐', icon: '🎮', color: '#a855f7', type: 1 },
	{ value: 'home', label: '居家', icon: '🏠', color: '#84b3d9', type: 1 },
	{ value: 'medical', label: '医疗', icon: '🏥', color: '#ef4444', type: 1 },
	{ value: 'education', label: '教育', icon: '📚', color: '#22c55e', type: 1 },
	{ value: 'social', label: '社交', icon: '👥', color: '#f97316', type: 1 },
	{ value: 'digital', label: '数码', icon: '📱', color: '#3b82f6', type: 1 },
	{ value: 'clothing', label: '服饰', icon: '👔', color: '#ec4899', type: 1 },
	{ value: 'beauty', label: '美容', icon: '💄', color: '#d946ef', type: 1 },
	{ value: 'sports', label: '运动', icon: '⚽', color: '#10b981', type: 1 },
	{ value: 'pet', label: '宠物', icon: '🐶', color: '#fbbf24', type: 1 },
	{ value: 'baby', label: '育儿', icon: '🍼', color: '#fb7185', type: 1 },
	{ value: 'travel', label: '旅游', icon: '✈️', color: '#06b6d4', type: 1 },
	{ value: 'other_expense', label: '其他', icon: '📦', color: '#9ca3af', type: 1 },

	// 收入类（type: 2）
	{ value: 'salary', label: '工资', icon: '💼', color: '#22c55e', type: 2 },
	{ value: 'bonus', label: '奖金', icon: '🎁', color: '#fbbf24', type: 2 },
	{ value: 'side_hustle', label: '副业', icon: '💻', color: '#3b82f6', type: 2 },
	{ value: 'investment', label: '理财', icon: '📈', color: '#a855f7', type: 2 },
	{ value: 'transfer', label: '转账', icon: '💳', color: '#84b3d9', type: 2 },
	{ value: 'red_packet', label: '红包', icon: '🧧', color: '#ef4444', type: 2 },
	{ value: 'other_income', label: '其他', icon: '🎯', color: '#6b7280', type: 2 }
]

// 例如：账单类型常量
export const BILL_TYPE = {
	DEFAULT: 0, // 全部
	EXPEND: 1, // 支出
	INCOME: 2, // 收入
}

// ========== 我的页面菜单图标 ==========
export const MINE_MENU_ICONS = {
	GROWTH: '/static/icon/growth.png',
	BUDGET: '/static/icon/monthly_budget.png',
	THEME: '/static/icon/theme.png',
	ABOUT: '/static/icon/about.png',
	EMAIL: '/static/icon/email.png',
	WECHAT: '/static/icon/wechat.png'
}

//
// 分类颜色选项
export const COLOR_OPTIONS = [
	'#84b3d9', '#a0d0e0', '#b8d8e6', '#d0e0e8', '#e8e8e8',
	'#f0f0f0', '#f8f0f0', '#f0f8f0', '#f0f0f8', '#e0f0f8'
]

// 滑动按钮宽度（rpx）
export const SLIDE_BTN_WIDTH = 240

// 筛选Tab 常量
export const BILL_FILTER_TYPE = {
	ALL: 'all',
	EXPEND: 'expend',
	INCOME: 'income'
}

// 账单类型筛选选项（用于循环渲染）
export const BILL_TYPE_FILTER_OPTIONS = [
	{ label: '全部', value: BILL_FILTER_TYPE.ALL },
	{ label: '支出', value: BILL_FILTER_TYPE.EXPEND },
	{ label: '收入', value: BILL_FILTER_TYPE.INCOME }
]

// 时间筛选标签
export const TIME_TAG = {
	ALL: 'all',
	TODAY: 'today',
	WEEK: 'week',
	MONTH: 'month',
	LAST_MONTH: 'lastMonth',
	THIS_YEAR: 'thisYear',
	CUSTOM: 'custom'
}

// 账单时间筛选选项（用于循环渲染）
export const BILL_TIME_FILTER_OPTIONS = [
	{ label: '今日', value: TIME_TAG.TODAY },
	{ label: '本周', value: TIME_TAG.WEEK },
	{ label: '本月', value: TIME_TAG.MONTH },
	{ label: '上月', value: TIME_TAG.LAST_MONTH },
	{ label: '本年', value: TIME_TAG.THIS_YEAR },
	{ label: '自定义', value: TIME_TAG.CUSTOM }
]

// 4. 金额快捷按钮数值
export const QUICK_MONEY_AMOUNTS = [10, 20, 50, 100, 200, 500];

// 5. 备注快捷标签
export const QUICK_NOTE_TAGS = ['午餐', '打车', '地铁', '工资', '购物', '娱乐'];

// 6. 预算进度颜色阈值
export const BUDGET_PROGRESS_COLOR = {
	OVER: 100, // 超支（红色）
	WARNING: 80, // 警告（橙色）
	NORMAL: 0 // 正常（蓝色）
}

// 7. 预算进度颜色值
export const PROGRESS_COLORS = {
	OVER: '#F53F3F',
	WARNING: '#FFAA33',
	NORMAL: '#E8F3FF'
}

// 8. 最近选择分类最大数量
export const RECENT_CATE_MAX_COUNT = 3

// 9. 滑动阈值（触发显示按钮的最小滑动距离）
export const SLIDE_THRESHOLD = 50



// ========== 记账分类常量 end ==========


// ========== 待办（TODO）相关常量 start ==========
// 待办基础分类（对应你原有的 BASE_CATE）
export const TODO_BASE_CATE = Object.freeze([
	{
		value: 'work',
		label: '工作',
		color: '#84b3d9'
	},
	{
		value: 'life',
		label: '生活',
		color: '#a0d0e0'
	},
	{
		value: 'study',
		label: '学习',
		color: '#b8d8e6'
	}
])


// 星期名称映射（从周一开始，对应你原有的 WEEK_DAYS）
export const WEEK_DAYS = Object.freeze(['一', '二', '三', '四', '五', '六', '日'])

// 结构化的筛选常量（替代硬编码）
export const TIME_FILTER_OPTIONS = [
  { label: '今日', value: 'today' },
  { label: '本周', value: 'week' },
  { label: '本月', value: 'month' },
  { label: '自定义', value: 'custom' }
]

export const STATUS_FILTER_OPTIONS = [
  { label: '全部', value: 'all' },
  { label: '待办', value: 'undone' },
  { label: '已完成', value: 'done' }
]

// 优先级常量（结构化）
export const TODO_PRIORITY_LIST = [
  { label: '高', value: 1, icon: '🔴' },
  { label: '中', value: 2, icon: '🟡' },
  { label: '低', value: 3, icon: '🟢' }
]
// ========== 待办（TODO）相关常量 end ==========

// ========== 收支渠道常量 ==========
export const PAY_CHANNELS = [
	// 通用渠道（支持收入和支出）
	{ value: 'wechat', label: '微信', types: [1, 2] },       // 1=支出, 2=收入
	{ value: 'alipay', label: '支付宝', types: [1, 2] },
	{ value: 'unionpay', label: '云闪付', types: [1, 2] },    // 新增
	{ value: 'bank', label: '银行卡', types: [1, 2] },
	{ value: 'cash', label: '现金', types: [1, 2] },
	{ value: 'online_banking', label: '网银', types: [1, 2] }, // 新增
	{ value: 'pos', label: 'POS机', types: [1, 2] },          // 新增
	{ value: 'other', label: '其他', types: [1, 2] },          // 新增
	
	// 仅收入渠道
	{ value: 'salary', label: '工资', types: [2] },
	{ value: 'red_packet', label: '红包', types: [2] },
	{ value: 'transfer_in', label: '转账', types: [2] },
	{ value: 'corporate', label: '对公转账', types: [2] },     // 新增
	
	// 仅支出渠道
	{ value: 'credit', label: '信用卡', types: [1] },
	{ value: 'huawei', label: '花呗', types: [1] },
	{ value: 'white', label: '白条', types: [1] },
	{ value: 'jd_pay', label: '京东支付', types: [1] },        // 新增
	{ value: 'meituan_pay', label: '美团支付', types: [1] },   // 新增
	{ value: 'gift_card', label: '储值卡', types: [1] }        // 新增
]

// 获取指定类型的渠道列表
export const getChannelsByType = (type) => {
	return PAY_CHANNELS.filter(channel => channel.types.includes(type))
}

// 根据渠道值获取渠道名称
export const getChannelLabel = (value) => {
	const channel = PAY_CHANNELS.find(c => c.value === value)
	return channel ? channel.label : value
}

// 根据分类值获取分类名称
export const getCateLabel = (value) => {
	const cate = DEFAULT_CATE_LIST.find(c => c.value === value)
	return cate ? cate.label : value
}

// ========== 可扩展：其他全局常量 ==========



// 远端头像资源配置（根据当前环境动态获取域名）
export const DEFAULT_AVATARS = [
	AVATAR_BASE_URL + 'ginger_cat.jpg', // 橘猫
	AVATAR_BASE_URL + 'ragdoll.jpg', // 布偶猫
	AVATAR_BASE_URL + 'hamster.jpg', // 小仓鼠
	AVATAR_BASE_URL + 'dragon.jpg', // 龙
	AVATAR_BASE_URL + 'pony.jpg', // 小马
	AVATAR_BASE_URL + 'lamb.jpg', // 小羊
	AVATAR_BASE_URL + 'corgi.jpg', // 柯基
	AVATAR_BASE_URL + 'piglet.jpg', // 小猪
]

// 例如：请求状态码常量
export const HTTP_CODE = {
	SUCCESS: 200,
	TOKEN_EXPIRE: 401,
	SERVER_ERROR: 500
}

// ========== 心情相关常量 ==========
export const MOOD_LIST = [
	{ emoji: '😊', label: '开心', phrases: ['今天心情真好', '阳光灿烂的一天', '嘴角不自觉上扬', '满心欢喜'] },
	{ emoji: '😌', label: '平静', phrases: ['岁月静好', '内心一片安宁', '享受这份宁静', '平和自在'] },
	{ emoji: '😔', label: '低落', phrases: ['有点小忧伤', '心情沉沉的', '需要一点温暖', '静待花开'] },
	{ emoji: '😤', label: '生气', phrases: ['有点烦躁呢', '深呼吸冷静一下', '需要冷静片刻', '平复一下心情'] },
	{ emoji: '😴', label: '疲惫', phrases: ['有点累了', '好好休息一下', '给自己放个假', '累并快乐着'] },
	{ emoji: '😰', label: '焦虑', phrases: ['有点担心', '相信一切会好', '慢慢来不着急', '放宽心'] },
	{ emoji: '😄', label: '兴奋', phrases: ['超级开心！', '激动人心的时刻', '迫不及待了', '满心期待'] },
	{ emoji: '🤔', label: '思考', phrases: ['正在思考中', '让我想想', '深思熟虑', '思绪万千'] },
	{ emoji: '😢', label: '难过', phrases: ['有点难过', '需要一个拥抱', '一切都会过去', '明天会更好'] },
	{ emoji: '😎', label: '酷', phrases: ['今天超酷的', '自信满满', '做自己就好', '洒脱自在'] },
	{ emoji: '🥰', label: '幸福', phrases: ['被幸福包围', '甜蜜的感觉', '幸福感爆棚', '满心欢喜'] },
	{ emoji: '😠', label: '愤怒', phrases: ['真的生气了', '需要冷静一下', '平复一下情绪', '深呼吸'] },
	{ emoji: '🥳', label: '庆祝', phrases: ['值得庆祝！', '太棒了！', '举杯庆祝', '喜笑颜开'] },
	{ emoji: '😱', label: '惊讶', phrases: ['哇！好惊喜', '太意外了', '不可思议', '令人震惊'] },
	{ emoji: '😇', label: '感恩', phrases: ['心怀感恩', '感谢生活', '感恩遇见', '心存感激'] },
	{ emoji: '💪', label: '加油', phrases: ['加油加油！', '相信自己', '勇往直前', '全力以赴'] },
	{ emoji: '😘', label: '害羞', phrases: ['有点害羞', '不好意思啦', '脸红心跳', '羞涩一笑'] },
	{ emoji: '🤩', label: '崇拜', phrases: ['超级崇拜！', '偶像光芒', '闪闪发光', '心生敬意'] },
	{ emoji: '😪', label: '困倦', phrases: ['好困呀', '眼皮打架了', '需要小憩', '睡个好觉'] },
	{ emoji: '😋', label: '满足', phrases: ['心满意足', '幸福感满满', '知足常乐', '十分满足'] }
]

// ========== Logo 与品牌信息常量 ==========
export const LOGO_CONFIG = {
	path: IMAGE_BASE_URL + 'logo.png',
	name: '简记memo',
	subtitle: '让记录更简单',
	slogan: '记录，是对抗遗忘的方式。\n生活的美好藏在点滴细节里，\n用简记memo，写下时光的足迹。',
	version: 'v1.0.0',
	copyright: `© ${new Date().getFullYear()} 简记memo. All rights reserved.`,
	email: 'memo@miaoall.cn',
	wechat: {
		name: '孙三苗',
		account: 'sunsanmiao'
	},
	brand: {
		primaryColor: '#84b3d9',
		secondaryColor: '#6a99c2',
		gradient: 'linear-gradient(135deg, #84b3d9 0%, #6a99c2 100%)'
	}
}