Skip to content

Commit 92f0ccb

Browse files
committed
Add image preview feature to WidgetContainer and clean up styles
1 parent 396da26 commit 92f0ccb

File tree

3 files changed

+29
-76
lines changed

3 files changed

+29
-76
lines changed

public/widget.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,12 @@
9696
]
9797
},
9898
{
99-
"name": "cn.widgetjs.widgets.phone_reminder",
99+
"name": "cn.widgetjs.widgets.sit_reminder",
100100
"title": {
101-
"zh-CN": "来电提醒"
101+
"zh-CN": "久坐提醒"
102102
},
103103
"description": {
104-
"zh-CN": "用灵动通知加语音,提醒重要事项"
104+
"zh-CN": "设置间隔,定时提醒,适合长期久坐的人群"
105105
},
106106
"keywords": [
107107
"recommend"
@@ -119,15 +119,15 @@
119119
"movable": true,
120120
"singleton": false,
121121
"resizable": true,
122-
"path": "/widget/phone_reminder",
122+
"path": "/widget/sit_reminder",
123123
"meta": {},
124124
"backgroundThrottling": false,
125-
"previewImage": "/images/preview_phone_reminder.png",
125+
"previewImage": "/images/preview_sit_reminder.png",
126126
"categories": [
127-
"fun"
127+
"utilities"
128128
],
129129
"supportDeployMode": 65536,
130-
"configPagePath": "/widget/config/phone_reminder?frame=true&transparent=false",
130+
"configPagePath": "/widget/config/sit_reminder?frame=true&transparent=false",
131131
"routes": [],
132132
"socialLinks": [
133133
{
@@ -137,12 +137,12 @@
137137
]
138138
},
139139
{
140-
"name": "cn.widgetjs.widgets.sit_reminder",
140+
"name": "cn.widgetjs.widgets.phone_reminder",
141141
"title": {
142-
"zh-CN": "久坐提醒"
142+
"zh-CN": "来电提醒"
143143
},
144144
"description": {
145-
"zh-CN": "设置间隔,定时提醒,适合长期久坐的人群"
145+
"zh-CN": "用灵动通知加语音,提醒重要事项"
146146
},
147147
"keywords": [
148148
"recommend"
@@ -160,15 +160,15 @@
160160
"movable": true,
161161
"singleton": false,
162162
"resizable": true,
163-
"path": "/widget/sit_reminder",
163+
"path": "/widget/phone_reminder",
164164
"meta": {},
165165
"backgroundThrottling": false,
166-
"previewImage": "/images/preview_sit_reminder.png",
166+
"previewImage": "/images/preview_phone_reminder.png",
167167
"categories": [
168-
"utilities"
168+
"fun"
169169
],
170170
"supportDeployMode": 65536,
171-
"configPagePath": "/widget/config/sit_reminder?frame=true&transparent=false",
171+
"configPagePath": "/widget/config/phone_reminder?frame=true&transparent=false",
172172
"routes": [],
173173
"socialLinks": [
174174
{

src/views/add/WidgetContainer.vue

Lines changed: 14 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script lang="ts" setup>
22
import { WidgetApi } from '@widget-js/core'
33
import { WebWidget } from '@widget-js/web-api'
4-
import { nextTick, onMounted } from 'vue'
4+
import { nextTick, onMounted, ref } from 'vue'
55
import { FileFailed, PictureOne } from '@icon-park/vue-next'
66
import { computedAsync } from '@vueuse/core'
77
@@ -12,6 +12,10 @@ const props = defineProps({
1212
},
1313
})
1414
15+
const cellSize = 72
16+
const containerHeight = cellSize * 2
17+
const showPreview = ref(false)
18+
1519
const previewImage = computedAsync(async () => {
1620
if (props.widget.package && props.widget.package.remote) {
1721
return `https://${props.widget.package.remote.hostname}${props.widget.package.remote.base}${props.widget.previewImage}`
@@ -21,8 +25,7 @@ const previewImage = computedAsync(async () => {
2125
return url + props.widget.previewImage!
2226
}
2327
}, null)
24-
const cellSize = 72
25-
const containerHeight = cellSize * 2
28+
2629
onMounted(async () => {
2730
await nextTick()
2831
})
@@ -35,12 +38,19 @@ onMounted(async () => {
3538
}"
3639
class="widget-container"
3740
>
41+
<el-image-viewer
42+
v-if="showPreview"
43+
:url-list="[previewImage]"
44+
show-progress
45+
@close="showPreview = false"
46+
/>
3847
<el-image
3948
v-if="!!widget.previewImage"
40-
class="preview-image"
49+
class="preview-image cursor-pointer"
4150
:src="previewImage"
4251
alt=""
4352
fit="contain"
53+
@click="showPreview = true"
4454
>
4555
<template #error>
4656
<FileFailed />
@@ -58,7 +68,6 @@ onMounted(async () => {
5868
flex-direction: column;
5969
align-items: center;
6070
justify-content: center;
61-
position: relative;
6271
}
6372
6473
.title {
@@ -73,60 +82,4 @@ onMounted(async () => {
7382
height: auto;
7483
max-height: 128px;
7584
}
76-
77-
iframe {
78-
transform: scale(1);
79-
transition-timing-function: ease-out;
80-
transition-duration: 0.2s;
81-
filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.2));
82-
83-
&.editing {
84-
transform: scale(0.9);
85-
}
86-
}
87-
88-
.toolbox {
89-
position: absolute;
90-
right: 0;
91-
top: 0;
92-
93-
.el-button.is-circle {
94-
border-radius: 50%;
95-
padding: 8px;
96-
border-color: white;
97-
border-width: 2px;
98-
width: 32px;
99-
height: 32px;
100-
}
101-
102-
.mgc_delete_line {
103-
&::before {
104-
color: white;
105-
}
106-
}
107-
108-
.mgc_edit_2_fill {
109-
&::before {
110-
color: white;
111-
}
112-
}
113-
114-
.mgc_edit_2_line {
115-
&::before {
116-
color: white;
117-
}
118-
}
119-
120-
.mgc_delete_fill {
121-
&::before {
122-
color: white;
123-
}
124-
}
125-
126-
.mgc_close_line {
127-
&::before {
128-
color: white;
129-
}
130-
}
131-
}
13285
</style>

src/views/tray/SocialLinks.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const iconSizePx = computed(() => `${props.iconSize}px`)
3838

3939
<a target="_blank" href="https://space.bilibili.com/207395767">
4040
<img src="../../assets/images/bilibili_logo_red.png" alt="Bilibili"></a>
41-
<a ref="github" target="_blank" href="https://github.com/widget-js">
41+
<a ref="github" target="_blank" href="https://github.com/widget-js/widgets">
4242
<img src="../../assets/images/github-mark.png" alt="GitHub"></a>
4343
</div>
4444
</template>

0 commit comments

Comments
 (0)