Make notifications translatable
This commit is contained in:
parent
7faf93f44a
commit
ae4bcabc53
@ -0,0 +1,2 @@
|
|||||||
|
-- This file should undo anything in `up.sql`
|
||||||
|
ALTER TABLE notifications DROP COLUMN data;
|
@ -0,0 +1,2 @@
|
|||||||
|
-- Your SQL goes here
|
||||||
|
ALTER TABLE notifications ADD COLUMN data VARCHAR;
|
12
po/plume.pot
12
po/plume.pot
@ -251,3 +251,15 @@ msgstr ""
|
|||||||
|
|
||||||
msgid "By {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name }}{{ link_4 }}"
|
msgid "By {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name }}{{ link_4 }}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "{{ data }} reshared your article"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "{{ data }} started following you"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "{{ data }} liked your article"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "{{ data }} commented your article"
|
||||||
|
msgstr ""
|
||||||
|
@ -152,7 +152,8 @@ impl Notify<Note> for Comment {
|
|||||||
for author in comment.clone().get_post(conn).get_authors(conn) {
|
for author in comment.clone().get_post(conn).get_authors(conn) {
|
||||||
let comment = comment.clone();
|
let comment = comment.clone();
|
||||||
Notification::insert(conn, NewNotification {
|
Notification::insert(conn, NewNotification {
|
||||||
title: format!("{} commented your article", comment.get_author(conn).display_name.clone()),
|
title: "{{ data }} commented your article".to_string(),
|
||||||
|
data: Some(comment.get_author(conn).display_name.clone()),
|
||||||
content: Some(comment.get_post(conn).title),
|
content: Some(comment.get_post(conn).title),
|
||||||
link: comment.ap_url,
|
link: comment.ap_url,
|
||||||
user_id: author.id
|
user_id: author.id
|
||||||
|
@ -78,7 +78,8 @@ impl Notify<FollowAct> for Follow {
|
|||||||
fn notify(conn: &PgConnection, follow: FollowAct, actor: Id) {
|
fn notify(conn: &PgConnection, follow: FollowAct, actor: Id) {
|
||||||
let follower = User::from_url(conn, actor.into()).unwrap();
|
let follower = User::from_url(conn, actor.into()).unwrap();
|
||||||
Notification::insert(conn, NewNotification {
|
Notification::insert(conn, NewNotification {
|
||||||
title: format!("{} started following you", follower.display_name.clone()),
|
title: "{{ data }} started following you".to_string(),
|
||||||
|
data: Some(follower.display_name.clone()),
|
||||||
content: None,
|
content: None,
|
||||||
link: Some(follower.ap_url),
|
link: Some(follower.ap_url),
|
||||||
user_id: User::from_url(conn, follow.follow_props.object_link::<Id>().unwrap().into()).unwrap().id
|
user_id: User::from_url(conn, follow.follow_props.object_link::<Id>().unwrap().into()).unwrap().id
|
||||||
|
@ -118,7 +118,8 @@ impl Notify<activity::Like> for Like {
|
|||||||
for author in post.get_authors(conn) {
|
for author in post.get_authors(conn) {
|
||||||
let post = post.clone();
|
let post = post.clone();
|
||||||
Notification::insert(conn, NewNotification {
|
Notification::insert(conn, NewNotification {
|
||||||
title: format!("{} liked your article", liker.display_name.clone()),
|
title: "{{ data }} liked your article".to_string(),
|
||||||
|
data: Some(liker.display_name.clone()),
|
||||||
content: Some(post.title),
|
content: Some(post.title),
|
||||||
link: Some(post.ap_url),
|
link: Some(post.ap_url),
|
||||||
user_id: author.id
|
user_id: author.id
|
||||||
|
@ -11,7 +11,8 @@ pub struct Notification {
|
|||||||
pub content: Option<String>,
|
pub content: Option<String>,
|
||||||
pub link: Option<String>,
|
pub link: Option<String>,
|
||||||
pub user_id: i32,
|
pub user_id: i32,
|
||||||
pub creation_date: NaiveDateTime
|
pub creation_date: NaiveDateTime,
|
||||||
|
pub data: Option<String>
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Insertable)]
|
#[derive(Insertable)]
|
||||||
@ -20,7 +21,8 @@ pub struct NewNotification {
|
|||||||
pub title: String,
|
pub title: String,
|
||||||
pub content: Option<String>,
|
pub content: Option<String>,
|
||||||
pub link: Option<String>,
|
pub link: Option<String>,
|
||||||
pub user_id: i32
|
pub user_id: i32,
|
||||||
|
pub data: Option<String>
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Notification {
|
impl Notification {
|
||||||
|
@ -120,7 +120,8 @@ impl Notify<Announce> for Reshare {
|
|||||||
for author in post.get_authors(conn) {
|
for author in post.get_authors(conn) {
|
||||||
let post = post.clone();
|
let post = post.clone();
|
||||||
Notification::insert(conn, NewNotification {
|
Notification::insert(conn, NewNotification {
|
||||||
title: format!("{} reshared your article", actor.display_name.clone()),
|
title: "{{ data }} reshared your article".to_string(),
|
||||||
|
data: Some(actor.display_name.clone()),
|
||||||
content: Some(post.title),
|
content: Some(post.title),
|
||||||
link: Some(post.ap_url),
|
link: Some(post.ap_url),
|
||||||
user_id: author.id
|
user_id: author.id
|
||||||
|
@ -74,6 +74,7 @@ table! {
|
|||||||
link -> Nullable<Varchar>,
|
link -> Nullable<Varchar>,
|
||||||
user_id -> Int4,
|
user_id -> Int4,
|
||||||
creation_date -> Timestamp,
|
creation_date -> Timestamp,
|
||||||
|
data -> Nullable<Varchar>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<div class="list">
|
<div class="list">
|
||||||
{% for notification in notifications %}
|
{% for notification in notifications %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3><a href="{% if notification.link %}{{ notification.link }}/{% else %}#{% endif %}">{{ notification.title | _ }}</h3>
|
<h3><a href="{% if notification.link %}{{ notification.link }}/{% else %}#{% endif %}">{{ notification.title | _(data=notification.data) }}</h3>
|
||||||
{% if notification.content %}
|
{% if notification.content %}
|
||||||
<p>{{ notification.content }}</p>
|
<p>{{ notification.content }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user