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 }}" | ||||
| 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) { | ||||
|                     let comment = comment.clone(); | ||||
|                     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), | ||||
|                         link: comment.ap_url, | ||||
|                         user_id: author.id | ||||
|  | ||||
| @ -78,7 +78,8 @@ impl Notify<FollowAct> for Follow { | ||||
|     fn notify(conn: &PgConnection, follow: FollowAct, actor: Id) { | ||||
|         let follower = User::from_url(conn, actor.into()).unwrap(); | ||||
|         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, | ||||
|             link: Some(follower.ap_url), | ||||
|             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) { | ||||
|             let post = post.clone(); | ||||
|             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), | ||||
|                 link: Some(post.ap_url), | ||||
|                 user_id: author.id | ||||
|  | ||||
| @ -11,7 +11,8 @@ pub struct Notification { | ||||
|     pub content: Option<String>, | ||||
|     pub link: Option<String>, | ||||
|     pub user_id: i32, | ||||
|     pub creation_date: NaiveDateTime | ||||
|     pub creation_date: NaiveDateTime, | ||||
|     pub data: Option<String> | ||||
| } | ||||
| 
 | ||||
| #[derive(Insertable)] | ||||
| @ -20,7 +21,8 @@ pub struct NewNotification { | ||||
|     pub title: String, | ||||
|     pub content: Option<String>, | ||||
|     pub link: Option<String>, | ||||
|     pub user_id: i32 | ||||
|     pub user_id: i32, | ||||
|     pub data: Option<String> | ||||
| } | ||||
| 
 | ||||
| impl Notification { | ||||
|  | ||||
| @ -120,7 +120,8 @@ impl Notify<Announce> for Reshare { | ||||
|         for author in post.get_authors(conn) { | ||||
|             let post = post.clone(); | ||||
|             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), | ||||
|                 link: Some(post.ap_url), | ||||
|                 user_id: author.id | ||||
|  | ||||
| @ -74,6 +74,7 @@ table! { | ||||
|         link -> Nullable<Varchar>, | ||||
|         user_id -> Int4, | ||||
|         creation_date -> Timestamp, | ||||
|         data -> Nullable<Varchar>, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
|     <div class="list"> | ||||
|         {% for notification in notifications %} | ||||
|             <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 %} | ||||
|                     <p>{{ notification.content }}</p> | ||||
|                 {% endif %} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user