artalk 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Artalk.css +1 -1
- package/dist/Artalk.es.js +206 -104
- package/dist/Artalk.iife.js +1 -1
- package/dist/Artalk.js +1 -1
- package/dist/ArtalkLite.css +1 -1
- package/dist/ArtalkLite.es.js +206 -104
- package/dist/ArtalkLite.iife.js +1 -1
- package/dist/ArtalkLite.js +1 -1
- package/dist/i18n/jp.js +1 -0
- package/dist/i18n/zh-TW.js +1 -0
- package/dist/src/api/index.d.ts +1 -1
- package/dist/src/api/system.d.ts +7 -0
- package/dist/src/api/user.d.ts +16 -2
- package/dist/src/artalk.d.ts +0 -6
- package/dist/src/context.d.ts +4 -0
- package/dist/src/i18n/index.d.ts +68 -74
- package/dist/src/list/list-lite.d.ts +17 -7
- package/dist/src/list/list.d.ts +1 -0
- package/dist/types/artalk-config.d.ts +5 -1
- package/dist/types/artalk-data.d.ts +23 -0
- package/dist/types/context.d.ts +3 -0
- package/dist/types/event.d.ts +1 -1
- package/package.json +4 -3
- package/scripts/build-i18n.mjs +46 -0
- package/src/api/index.ts +3 -2
- package/src/api/system.ts +7 -0
- package/src/api/user.ts +59 -2
- package/src/artalk.ts +0 -35
- package/src/comment/render.ts +2 -1
- package/src/context.ts +33 -3
- package/src/defaults.ts +2 -2
- package/src/editor/editor.ts +8 -8
- package/src/editor/plugs/upload-plug.ts +1 -1
- package/src/i18n/index.ts +18 -90
- package/src/i18n/jp.ts +83 -0
- package/src/i18n/zh-TW.ts +83 -0
- package/src/layer/sidebar-layer.ts +10 -8
- package/src/lib/checker/admin-checker.ts +4 -1
- package/src/lib/checker/captcha-checker.ts +1 -0
- package/src/lib/stat.ts +9 -1
- package/src/lib/utils.ts +8 -1
- package/src/list/list-lite.ts +68 -26
- package/src/list/list.ts +10 -18
- package/src/style/main.less +17 -0
- package/test/ArtalkI18n.html +1 -0
- package/types/artalk-config.d.ts +5 -1
- package/types/artalk-data.d.ts +23 -0
- package/types/context.d.ts +3 -0
- package/types/event.d.ts +1 -1
package/src/list/list.ts
CHANGED
|
@@ -23,20 +23,7 @@ export default class List extends ListLite {
|
|
|
23
23
|
el.querySelector('.atk-list-body')!.append(this.$el)
|
|
24
24
|
this.$el = el
|
|
25
25
|
|
|
26
|
-
// 平铺模式
|
|
27
|
-
if (this.ctx.conf.flatMode === true) {
|
|
28
|
-
this.flatMode = true // 遵循配置总是开启平铺模式
|
|
29
|
-
} else if (this.conf.nestMax && this.conf.nestMax <= 1) {
|
|
30
|
-
this.flatMode = true // 嵌套层数值无效时,强制开启平铺模式
|
|
31
|
-
} else if (this.ctx.conf.flatMode === 'auto') {
|
|
32
|
-
// 自动判断启用平铺模式
|
|
33
|
-
if (window.matchMedia("(max-width: 768px)").matches)
|
|
34
|
-
this.flatMode = true
|
|
35
|
-
}
|
|
36
|
-
|
|
37
26
|
// 分页模式
|
|
38
|
-
this.pageMode = this.conf.pagination.readMore ? 'read-more' : 'pagination'
|
|
39
|
-
this.pageSize = this.conf.pagination.pageSize || 20
|
|
40
27
|
this.repositionAt = this.$el
|
|
41
28
|
|
|
42
29
|
// 操作按钮
|
|
@@ -48,11 +35,6 @@ export default class List extends ListLite {
|
|
|
48
35
|
})
|
|
49
36
|
this.$commentCountNum = this.$commentCount.querySelector('.atk-comment-count-num')!
|
|
50
37
|
|
|
51
|
-
// 评论列表排序 Dropdown 下拉选择层
|
|
52
|
-
if (this.ctx.conf.listSort) {
|
|
53
|
-
this.initDropdown()
|
|
54
|
-
}
|
|
55
|
-
|
|
56
38
|
// copyright
|
|
57
39
|
this.$el.querySelector<HTMLElement>('.atk-copyright')!.innerHTML = `Powered By <a href="https://artalk.js.org" target="_blank" title="Artalk v${ARTALK_VERSION}">Artalk</a>`
|
|
58
40
|
|
|
@@ -104,6 +86,11 @@ export default class List extends ListLite {
|
|
|
104
86
|
this.ctx.editorOpen()
|
|
105
87
|
this.$closeCommentBtn.innerHTML = this.$t('closeComment')
|
|
106
88
|
}
|
|
89
|
+
|
|
90
|
+
// 评论列表排序 Dropdown 下拉选择层
|
|
91
|
+
if (this.ctx.conf.listSort) {
|
|
92
|
+
this.initDropdown()
|
|
93
|
+
}
|
|
107
94
|
}
|
|
108
95
|
|
|
109
96
|
protected onLoad(data: ListData, offset: number) {
|
|
@@ -197,8 +184,13 @@ export default class List extends ListLite {
|
|
|
197
184
|
}
|
|
198
185
|
}
|
|
199
186
|
|
|
187
|
+
private dropdownLoaded = false
|
|
188
|
+
|
|
200
189
|
/** 初始化选择下拉层 */
|
|
201
190
|
protected initDropdown() {
|
|
191
|
+
if (this.dropdownLoaded) return
|
|
192
|
+
this.dropdownLoaded = true
|
|
193
|
+
|
|
202
194
|
this.$dropdownWrap = this.$commentCount
|
|
203
195
|
this.$commentCount.classList.add('atk-dropdown-wrap')
|
|
204
196
|
|
package/src/style/main.less
CHANGED
|
@@ -103,6 +103,23 @@
|
|
|
103
103
|
tr:nth-child(even) {
|
|
104
104
|
background-color: var(--at-color-bg-grey);
|
|
105
105
|
}
|
|
106
|
+
|
|
107
|
+
ul {
|
|
108
|
+
list-style: disc;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
ol {
|
|
112
|
+
list-style: decimal;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
li + li {
|
|
116
|
+
margin-top: 8px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
li > ol,
|
|
120
|
+
li > ul {
|
|
121
|
+
margin: 8px 0 0;
|
|
122
|
+
}
|
|
106
123
|
}
|
|
107
124
|
|
|
108
125
|
.atk-hide {
|
package/test/ArtalkI18n.html
CHANGED
package/types/artalk-config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { I18n } from '~/src/i18n'
|
|
2
|
+
import { CommentData } from './artalk-data'
|
|
2
3
|
|
|
3
4
|
export default interface ArtalkConfig {
|
|
4
5
|
/** 装载元素 */
|
|
@@ -39,6 +40,9 @@ export default interface ArtalkConfig {
|
|
|
39
40
|
default: string
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
/** 头像链接生成器 */
|
|
44
|
+
avatarURLBuilder?: (comment: CommentData) => string,
|
|
45
|
+
|
|
42
46
|
/** 分页配置 */
|
|
43
47
|
pagination: {
|
|
44
48
|
/** 每次请求获取数量 */
|
|
@@ -103,7 +107,7 @@ export default interface ArtalkConfig {
|
|
|
103
107
|
/** 版本检测 */
|
|
104
108
|
versionCheck: boolean
|
|
105
109
|
|
|
106
|
-
/**
|
|
110
|
+
/** 引用后端配置 */
|
|
107
111
|
useBackendConf: boolean
|
|
108
112
|
|
|
109
113
|
/** 语言本地化 */
|
package/types/artalk-data.d.ts
CHANGED
|
@@ -159,6 +159,29 @@ export interface UserData {
|
|
|
159
159
|
|
|
160
160
|
/** 是否属于管理员 */
|
|
161
161
|
is_admin: boolean
|
|
162
|
+
|
|
163
|
+
/** 所属站点名 */
|
|
164
|
+
site_names: string[]
|
|
165
|
+
|
|
166
|
+
/** 所属站点名 (字符串) */
|
|
167
|
+
site_names_raw: string,
|
|
168
|
+
|
|
169
|
+
/** 是否允许接收邮件通知 */
|
|
170
|
+
receive_email: boolean
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface UserDataForAdmin extends UserData {
|
|
174
|
+
/** 最后一次操作 IP */
|
|
175
|
+
last_ip: string
|
|
176
|
+
|
|
177
|
+
/** 最后一次操作 UA */
|
|
178
|
+
last_ua: string
|
|
179
|
+
|
|
180
|
+
/** 是否存在于配置文件中 */
|
|
181
|
+
is_in_conf: boolean
|
|
182
|
+
|
|
183
|
+
/** 评论数 */
|
|
184
|
+
comment_count: number
|
|
162
185
|
}
|
|
163
186
|
|
|
164
187
|
export interface NotifyData {
|
package/types/context.d.ts
CHANGED
package/types/event.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface EventPayloadMap {
|
|
|
9
9
|
'editor-submit': undefined // 编辑器提交时
|
|
10
10
|
'editor-submitted': undefined // 编辑器提交后
|
|
11
11
|
'user-changed': LocalUser // 本地用户数据变更时
|
|
12
|
-
'conf-
|
|
12
|
+
'conf-loaded': undefined // Artalk 配置变更时
|
|
13
13
|
'sidebar-show': undefined // 侧边栏显示
|
|
14
14
|
'sidebar-hide': undefined // 侧边栏隐藏
|
|
15
15
|
}
|