Compare commits
5 Commits
aada59790d
...
bedb0b9f56
Author | SHA1 | Date | |
---|---|---|---|
bedb0b9f56 | |||
654806211e | |||
09572dbe61 | |||
fae5b764dd | |||
7f70471894 |
|
@ -486,7 +486,7 @@ trigger:
|
||||||
steps:
|
steps:
|
||||||
- name: download
|
- name: download
|
||||||
pull: always
|
pull: always
|
||||||
image: git.lcomrade.su/root/drone-crowdin-v2
|
image: ghcr.io/lcomrade/lcomrade/drone-crowdin-v2:latest
|
||||||
settings:
|
settings:
|
||||||
crowdin_key:
|
crowdin_key:
|
||||||
from_secret: crowdin_key
|
from_secret: crowdin_key
|
||||||
|
@ -513,14 +513,14 @@ steps:
|
||||||
author_name: Frederick [Bot]
|
author_name: Frederick [Bot]
|
||||||
branch: main
|
branch: main
|
||||||
commit: true
|
commit: true
|
||||||
commit_message: "[skip ci] Updated translations via Crowdin"
|
commit_message: "chore(i18n): update translations via Crowdin"
|
||||||
remote: "ssh://git@kolaente.dev:9022/vikunja/frontend.git"
|
remote: "ssh://git@kolaente.dev:9022/vikunja/frontend.git"
|
||||||
ssh_key:
|
ssh_key:
|
||||||
from_secret: git_push_ssh_key
|
from_secret: git_push_ssh_key
|
||||||
|
|
||||||
- name: upload
|
- name: upload
|
||||||
pull: always
|
pull: always
|
||||||
image: git.lcomrade.su/root/drone-crowdin-v2
|
image: ghcr.io/lcomrade/lcomrade/drone-crowdin-v2:latest
|
||||||
depends_on:
|
depends_on:
|
||||||
- clone
|
- clone
|
||||||
settings:
|
settings:
|
||||||
|
@ -532,6 +532,6 @@ steps:
|
||||||
src/i18n/lang/en.json: en.json
|
src/i18n/lang/en.json: en.json
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 3380c4283256eea047e6228817161991d23457d09abe9d99f06e018b1eb047f4
|
hmac: 1b78e92ee8a9aa94df14c35ea544abc0bec991ec59465c328a6aaa6cea4430b3
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
|
@ -53,8 +53,8 @@
|
||||||
"@infectoone/vue-ganttastic": "2.2.0",
|
"@infectoone/vue-ganttastic": "2.2.0",
|
||||||
"@intlify/unplugin-vue-i18n": "2.0.0",
|
"@intlify/unplugin-vue-i18n": "2.0.0",
|
||||||
"@kyvg/vue3-notification": "3.1.2",
|
"@kyvg/vue3-notification": "3.1.2",
|
||||||
"@sentry/tracing": "7.91.0",
|
"@sentry/tracing": "7.92.0",
|
||||||
"@sentry/vue": "7.91.0",
|
"@sentry/vue": "7.92.0",
|
||||||
"@tiptap/core": "2.1.13",
|
"@tiptap/core": "2.1.13",
|
||||||
"@tiptap/extension-blockquote": "2.1.13",
|
"@tiptap/extension-blockquote": "2.1.13",
|
||||||
"@tiptap/extension-bold": "2.1.13",
|
"@tiptap/extension-bold": "2.1.13",
|
||||||
|
|
|
@ -124,6 +124,7 @@ function to(n, index) {
|
||||||
switch (n.name) {
|
switch (n.name) {
|
||||||
case names.TASK_COMMENT:
|
case names.TASK_COMMENT:
|
||||||
case names.TASK_ASSIGNED:
|
case names.TASK_ASSIGNED:
|
||||||
|
case names.TASK_REMINDER:
|
||||||
to.name = 'task.detail'
|
to.name = 'task.detail'
|
||||||
to.params.id = n.notification.task.id
|
to.params.id = n.notification.task.id
|
||||||
break
|
break
|
||||||
|
@ -221,7 +222,7 @@ async function markAllRead() {
|
||||||
height: .35rem;
|
height: .35rem;
|
||||||
background: var(--primary);
|
background: var(--primary);
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
margin-left: .5rem;
|
margin: 0 .5rem;
|
||||||
|
|
||||||
&.read {
|
&.read {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
|
|
@ -9,6 +9,7 @@ export const NOTIFICATION_NAMES = {
|
||||||
'TASK_COMMENT': 'task.comment',
|
'TASK_COMMENT': 'task.comment',
|
||||||
'TASK_ASSIGNED': 'task.assigned',
|
'TASK_ASSIGNED': 'task.assigned',
|
||||||
'TASK_DELETED': 'task.deleted',
|
'TASK_DELETED': 'task.deleted',
|
||||||
|
'TASK_REMINDER': 'task.reminder',
|
||||||
'PROJECT_CREATED': 'project.created',
|
'PROJECT_CREATED': 'project.created',
|
||||||
'TEAM_MEMBER_ADDED': 'team.member.added',
|
'TEAM_MEMBER_ADDED': 'team.member.added',
|
||||||
} as const
|
} as const
|
||||||
|
@ -35,6 +36,11 @@ interface NotificationCreated extends Notification {
|
||||||
project: IProject
|
project: IProject
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface NotificationTaskReminder extends Notification {
|
||||||
|
task: ITask
|
||||||
|
project: IProject
|
||||||
|
}
|
||||||
|
|
||||||
interface NotificationMemberAdded extends Notification {
|
interface NotificationMemberAdded extends Notification {
|
||||||
member: IUser
|
member: IUser
|
||||||
team: ITeam
|
team: ITeam
|
||||||
|
@ -43,7 +49,7 @@ interface NotificationMemberAdded extends Notification {
|
||||||
export interface INotification extends IAbstract {
|
export interface INotification extends IAbstract {
|
||||||
id: number
|
id: number
|
||||||
name: string
|
name: string
|
||||||
notification: NotificationTask | NotificationAssigned | NotificationDeleted | NotificationCreated | NotificationMemberAdded
|
notification: NotificationTask | NotificationAssigned | NotificationDeleted | NotificationCreated | NotificationMemberAdded | NotificationTaskReminder
|
||||||
read: boolean
|
read: boolean
|
||||||
readAt: Date | null
|
readAt: Date | null
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,12 @@ export default class NotificationModel extends AbstractModel<INotification> impl
|
||||||
team: new TeamModel(this.notification.team),
|
team: new TeamModel(this.notification.team),
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
case NOTIFICATION_NAMES.TASK_REMINDER:
|
||||||
|
this.notification = {
|
||||||
|
task: new TaskModel(this.notification.task),
|
||||||
|
project: new ProjectModel(this.notification.project),
|
||||||
|
}
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
this.created = new Date(this.created)
|
this.created = new Date(this.created)
|
||||||
|
@ -88,6 +94,8 @@ export default class NotificationModel extends AbstractModel<INotification> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
return `added ${who} to the ${this.notification.team.name} team`
|
return `added ${who} to the ${this.notification.team.name} team`
|
||||||
|
case NOTIFICATION_NAMES.TASK_REMINDER:
|
||||||
|
return `Reminder for ${this.notification.task.getTextIdentifier()} ${this.notification.task.title} (${this.notification.project.title})`
|
||||||
}
|
}
|
||||||
|
|
||||||
return ''
|
return ''
|
||||||
|
|
Reference in New Issue
Block a user