Skip to content

Commit a3d7974

Browse files
committed
🎨 Replace Mingcute icons with Iconpark icons
1 parent 2bdcfd8 commit a3d7974

11 files changed

+65
-81
lines changed

package.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,11 @@
8484
"webpack-cli": "^4.10.0"
8585
},
8686
"simple-git-hooks": {
87-
"pre-commit": "npx lint-staged",
88-
"pre-push": "npm run remote"
87+
"pre-commit": "npm run remote && npx lint-staged"
8988
},
9089
"lint-staged": {
9190
"*.{js,ts,tsx,vue,md}": [
9291
"eslint --cache --fix"
9392
]
9493
}
95-
}
94+
}

public/widget.json

+18-18
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@
110110
"routes": []
111111
},
112112
{
113-
"name": "cn.widgetjs.widgets.sit_reminder",
113+
"name": "cn.widgetjs.widgets.time_progress",
114114
"title": {
115-
"zh-CN": "久坐提醒"
115+
"zh-CN": "时间进度"
116116
},
117117
"description": {
118-
"zh-CN": "设置间隔,定时提醒,适合长期久坐的人群"
118+
"zh-CN": "年、月、周、日进度剩余百分比"
119119
},
120120
"keywords": [
121121
"recommend"
@@ -128,26 +128,26 @@
128128
"maxWidth": 4,
129129
"webviewTag": false,
130130
"maxHeight": 2,
131-
"minWidth": 4,
131+
"minWidth": 2,
132132
"minHeight": 2,
133133
"movable": true,
134134
"singleton": false,
135135
"resizable": true,
136-
"path": "/widget/sit_reminder",
136+
"path": "/widget/time_progress",
137137
"meta": {},
138-
"backgroundThrottling": false,
139-
"previewImage": "/images/preview_sit_reminder.png",
140-
"supportDeployMode": 65536,
141-
"configPagePath": "/widget/config/sit_reminder",
138+
"backgroundThrottling": true,
139+
"previewImage": "/images/preview_time_progress.png",
140+
"supportDeployMode": 17,
141+
"configPagePath": "/widget/config/time_progress",
142142
"routes": []
143143
},
144144
{
145-
"name": "cn.widgetjs.widgets.time_progress",
145+
"name": "cn.widgetjs.widgets.sit_reminder",
146146
"title": {
147-
"zh-CN": "时间进度"
147+
"zh-CN": "久坐提醒"
148148
},
149149
"description": {
150-
"zh-CN": "年、月、周、日进度剩余百分比"
150+
"zh-CN": "设置间隔,定时提醒,适合长期久坐的人群"
151151
},
152152
"keywords": [
153153
"recommend"
@@ -160,17 +160,17 @@
160160
"maxWidth": 4,
161161
"webviewTag": false,
162162
"maxHeight": 2,
163-
"minWidth": 2,
163+
"minWidth": 4,
164164
"minHeight": 2,
165165
"movable": true,
166166
"singleton": false,
167167
"resizable": true,
168-
"path": "/widget/time_progress",
168+
"path": "/widget/sit_reminder",
169169
"meta": {},
170-
"backgroundThrottling": true,
171-
"previewImage": "/images/preview_time_progress.png",
172-
"supportDeployMode": 17,
173-
"configPagePath": "/widget/config/time_progress",
170+
"backgroundThrottling": false,
171+
"previewImage": "/images/preview_sit_reminder.png",
172+
"supportDeployMode": 65536,
173+
"configPagePath": "/widget/config/sit_reminder",
174174
"routes": []
175175
},
176176
{

src/widgets/birthday-list/BirthdayListWidget.vue

+8-20
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
LunarMonth,
88
} from 'lunar-typescript'
99
import type { PropType } from 'vue'
10+
import { AddOne, BirthdayCake } from '@icon-park/vue-next'
1011
import type { BirthdayPeople } from '@/widgets/birthday-list/model/BirthdayListData'
1112
import type BirthdayListData from '@/widgets/birthday-list/model/BirthdayListData'
1213
@@ -18,6 +19,7 @@ import type BirthdayListData from '@/widgets/birthday-list/model/BirthdayListDat
1819
*/
1920
export default {
2021
name: 'BirthdayListWidget',
22+
components: { AddOne, BirthdayCake },
2123
props: { birthdayListData: { type: Object as PropType<BirthdayListData> } },
2224
emits: ['add'],
2325
computed: {
@@ -85,7 +87,7 @@ export default {
8587
<img class="image" src="./images/balloon.png">
8688
<div class="title">
8789
<span>{{ birthdayListData.title }}</span>
88-
<div class="add mgc_add_circle_line" @click="$emit('add')" />
90+
<AddOne class="add cursor-pointer" @click="$emit('add')" />
8991
</div>
9092
<div class="people-list" style="flex:1; display:flex; flex-flow:column; overflow: auto;">
9193
<template v-for="item in peopleList" :key="item.createdAt">
@@ -117,7 +119,7 @@ export default {
117119
</div>
118120
<div class="right" :class="{ active: item.qty == 0 }">
119121
<template v-if="item.qty == 0">
120-
<span class="icon mgc_cake_line" />
122+
<BirthdayCake class="icon" />
121123
</template>
122124
<template v-else>
123125
<div class="qty">
@@ -174,24 +176,13 @@ body * {
174176
font-weight: bold;
175177
align-items: center;
176178
margin-bottom: 16px;
179+
gap: 8px;
177180
178181
.add {
179-
width: 30px;
180-
height: 30px;
182+
width: 24px;
183+
height: 24px;
181184
display: flex;
182185
align-items: center;
183-
background-size: 100% 100%;
184-
//background-image: url(../../assets/widget/birthday_list/add.png);
185-
margin-left: 6px;
186-
187-
&:before {
188-
font-size: 24px;
189-
color: white;
190-
}
191-
192-
&:hover {
193-
cursor: pointer
194-
}
195186
}
196187
}
197188
@@ -289,10 +280,7 @@ body * {
289280
display: flex;
290281
justify-content: center;
291282
align-items: center;
292-
293-
.mgc_cake_line:before {
294-
color: white;
295-
}
283+
color: #FF9716;
296284
}
297285
298286
.qty {

src/widgets/dynamic-island/components/MessageNotification.vue

+3-18
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,18 @@
11
<script lang="ts" setup>
2-
import { computed } from 'vue'
2+
import { IconPark } from '@icon-park/vue-next/es/all'
33
4-
const props = defineProps({
4+
defineProps({
55
type: {
66
type: String,
77
default: 'info',
88
},
99
message: { type: String },
1010
})
11-
12-
const icon = computed(() => {
13-
if (props.type == 'error') {
14-
return 'close_circle_line'
15-
}
16-
else if (props.type == 'warning') {
17-
return 'warning_line'
18-
}
19-
else if (props.type == 'success') {
20-
return 'check_circle_line'
21-
}
22-
else {
23-
return 'information_line'
24-
}
25-
})
2611
</script>
2712

2813
<template>
2914
<div class="message-notification ">
30-
<span :class="`icon mgc_${icon} ${type}`" />
15+
<IconPark class="icon" :type="type" theme="outline" />
3116
<div class="message">
3217
{{ message }}
3318
</div>

src/widgets/dynamic-island/components/ReminderNotification.vue

+11-9
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
NotificationApi,
77
NotificationApiEvent,
88
} from '@widget-js/core'
9+
import { IconPark } from '@icon-park/vue-next/es/all'
910
1011
const props = defineProps({
1112
notification: {
@@ -38,7 +39,8 @@ function confirm() {
3839
<template>
3940
<div class="message-notification">
4041
<div class="info">
41-
<span v-if="notification.icon" :class="`icon mgc_${notification.icon}`" />
42+
<IconPark v-if="notification.icon" class="icon" :type="notification.icon" theme="outline" />
43+
4244
<div class="text">
4345
<div class="title">
4446
{{ notification.title }}
@@ -112,6 +114,14 @@ function confirm() {
112114
padding-left: 16px;
113115
padding-right: 16px;
114116
117+
.icon {
118+
font-size: 36px;
119+
margin-right: 16px;
120+
display: flex;
121+
justify-items: center;
122+
color: #5d8ac8;
123+
}
124+
115125
.text {
116126
.title {
117127
color: white;
@@ -133,13 +143,5 @@ function confirm() {
133143
}
134144
}
135145
136-
.icon {
137-
font-size: 36px;
138-
margin-right: 16px;
139-
140-
&:before {
141-
color: #5d8ac8;
142-
}
143-
}
144146
}
145147
</style>

src/widgets/phone-reminder/PhoneReminderConfigView.vue

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
WidgetApi,
1212
} from '@widget-js/core'
1313
import { ref } from 'vue'
14+
import { Headset } from '@icon-park/vue-next'
1415
import type { PhoneReminder } from '@/widgets/phone-reminder/model/PhoneReminder'
1516
import { PhoneReminderData } from '@/widgets/phone-reminder/model/PhoneReminder'
1617
import PhoneReminderWidgetDefine from '@/widgets/phone-reminder/PhoneReminder.widget'
@@ -23,6 +24,7 @@ export default {
2324
components: {
2425
TimePickerDialog,
2526
WidgetEditDialog,
27+
Headset,
2628
},
2729
setup() {
2830
BrowserWindowApi.setup({
@@ -133,7 +135,7 @@ export default {
133135
<template #default="scope">
134136
<el-button type="primary" circle @click="listen(scope.row)">
135137
<template #icon>
136-
<span class="icon mgc_headphone_line" />
138+
<Headset />
137139
</template>
138140
</el-button>
139141
</template>

src/widgets/water-reminder/WaterReminder.widget.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const url = '/widget/water_reminder'
1616
// 配置页路由地址
1717
const configUrl = '/widget/config/water_reminder'
1818
// 组件关键词
19-
const WaterReminderWidgetDefine = new Widget({
19+
const WaterReminderWidget = new Widget({
2020
name,
2121
title,
2222
description,
@@ -34,4 +34,4 @@ const WaterReminderWidgetDefine = new Widget({
3434
configPagePath: configUrl,
3535
})
3636

37-
export default WaterReminderWidgetDefine
37+
export default WaterReminderWidget

src/widgets/water-reminder/WaterReminderWidgetRoutes.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import type { RouteRecordRaw } from 'vue-router'
2-
import WaterReminderWidgetDefine from './WaterReminder.widget'
2+
import WaterReminderWidget from './WaterReminder.widget'
33

4-
const url = WaterReminderWidgetDefine.path
5-
const name = WaterReminderWidgetDefine.name
4+
const url = WaterReminderWidget.path
5+
const name = WaterReminderWidget.name
66

7-
const configUrl = WaterReminderWidgetDefine.configPagePath
7+
const configUrl = WaterReminderWidget.configPagePath
88

99
const WaterReminderWidgetRoutes: RouteRecordRaw[] = [
1010
{

src/widgets/water-reminder/WaterReminderWidgetView.vue

+9-6
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,17 @@ import {
1818
} from '@widget-js/core'
1919
import dayjs from 'dayjs'
2020
import { useIntervalFn } from '@vueuse/core'
21-
import WaterReminderWidget from './WaterReminderWidget.vue'
21+
import WaterReminderComponent from './WaterReminderComponent.vue'
2222
import { WaterReminderModel } from '@/widgets/water-reminder/model/WaterReminderModel'
23-
import WaterReminderWidgetDefine from '@/widgets/water-reminder/WaterReminder.widget'
23+
import WaterReminderWidget from '@/widgets/water-reminder/WaterReminder.widget'
2424
2525
let lastReminderAt = dayjs()
2626
const cup = ref(0)
27-
27+
const defaultData = new WaterReminderModel()
28+
defaultData.theme.backgroundColor = '#fff'
29+
defaultData.theme.color = '#092239'
2830
const { widgetData } = useWidget(WaterReminderModel, {
31+
defaultData,
2932
onDataLoaded: (data) => {
3033
cup.value = data?.getTodayHistory() ?? 0
3134
if (data?.lastReminderAt) {
@@ -51,7 +54,7 @@ watch(cup, (newValue) => {
5154
lastReminderAt = dayjs()
5255
})
5356
54-
const name = WaterReminderWidgetDefine.name
57+
const name = WaterReminderWidget.name
5558
const cancelBroadcast = `${name}.cancel`
5659
const okBroadcast = `${name}.ok`
5760
const {
@@ -68,7 +71,7 @@ const {
6871
NotificationApi.reminder(
6972
'喝水提醒',
7073
'起来喝杯水吧!',
71-
'drop_line',
74+
'tea-drink',
7275
'关闭',
7376
'喝一杯',
7477
cancelBroadcast,
@@ -94,7 +97,7 @@ onMounted(() => {
9497

9598
<template>
9699
<WidgetWrapper>
97-
<WaterReminderWidget v-bind="widgetData.theme" v-model:cup="cup" />
100+
<WaterReminderComponent v-bind="widgetData.theme" v-model:cup="cup" />
98101
</WidgetWrapper>
99102
</template>
100103

src/widgets/water-reminder/model/WaterReminderModel.ts

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { WidgetData } from '@widget-js/core'
22
import dayjs from 'dayjs'
3+
import WaterReminderWidget from '@/widgets/water-reminder/WaterReminder.widget'
34

45
export class WaterReminderModel extends WidgetData {
56
targetCup = 8
@@ -11,6 +12,10 @@ export class WaterReminderModel extends WidgetData {
1112
lastReminderAt: string = dayjs().toISOString()
1213
enableReminder = true
1314

15+
constructor(id?: string) {
16+
super(WaterReminderWidget.name, id)
17+
}
18+
1419
getTodayKey(): string {
1520
return dayjs().format('YYYY/MM/DD')
1621
}

0 commit comments

Comments
 (0)