feat: Move notification settings to user profile and add i18n support

- Move notification config from system settings (.env) to user profile (database)
- Add user-specific notification settings API endpoints (GET/PUT /api/user/notification-settings)
- Add notification_settings column to qd_users table
- Update portfolio and trading-assistant to use profile notification settings
- Add notification settings UI in profile page with all channels (browser, telegram, email, phone, discord, webhook)
- Add i18n translations for notification settings in 10 languages
- Fix timestamp parsing in TradingRecords and portfolio (handle both ISO strings and Unix timestamps)
- Fix header icons alignment for mobile responsive layout
- Fix equity curve timestamp bug (handle datetime objects properly)
- Remove unused login.js exports and clean up user.js store
- Remove husky, commitlint and other dev dependencies
- Clean up env.example by removing user-specific notification params
- Update signal_notifier to prioritize user-specific tokens over global env vars
This commit is contained in:
Jinyu Xu
2026-01-17 01:37:32 +07:00
parent 10ad20abf6
commit c5d000e1c9
33 changed files with 1209 additions and 24317 deletions
@@ -399,15 +399,23 @@ export default {
</script>
<style lang="less" scoped>
@import '~ant-design-vue/es/style/themes/default.less';
.notice-icon-wrapper {
display: inline-block;
vertical-align: top;
}
.header-notice {
display: inline-block;
display: inline-flex;
align-items: center;
justify-content: center;
height: @layout-header-height;
line-height: @layout-header-height;
transition: all 0.3s;
cursor: pointer;
padding: 0 12px;
vertical-align: top;
&:hover {
background: rgba(0, 0, 0, 0.04);
@@ -418,6 +426,13 @@ export default {
}
}
/* 手机端适配 */
@media (max-width: 768px) {
.header-notice {
padding: 0 8px;
}
}
.notice-header {
display: flex;
justify-content: space-between;