@@ -17,6 +17,7 @@ use lemmy_db_schema::{
1717 instance:: Instance ,
1818 instance_block:: { InstanceBlock , InstanceBlockForm } ,
1919 local_user:: { LocalUser , LocalUserUpdateForm } ,
20+ local_user_vote_display_mode:: { LocalUserVoteDisplayMode , LocalUserVoteDisplayModeUpdateForm } ,
2021 person:: { Person , PersonUpdateForm } ,
2122 person_block:: { PersonBlock , PersonBlockForm } ,
2223 post:: { PostSaved , PostSavedForm } ,
@@ -50,6 +51,7 @@ pub struct UserSettingsBackup {
5051 // TODO: might be worth making a separate struct for settings backup, to avoid breakage in case
5152 // fields are renamed, and to avoid storing unnecessary fields like person_id or email
5253 pub settings : Option < LocalUser > ,
54+ pub vote_display_mode_settings : Option < LocalUserVoteDisplayMode > ,
5355 #[ serde( default ) ]
5456 pub followed_communities : Vec < ObjectId < ApubCommunity > > ,
5557 #[ serde( default ) ]
@@ -80,6 +82,7 @@ pub async fn export_settings(
8082 matrix_id : local_user_view. person . matrix_user_id ,
8183 bot_account : local_user_view. person . bot_account . into ( ) ,
8284 settings : Some ( local_user_view. local_user ) ,
85+ vote_display_mode_settings : Some ( local_user_view. local_user_vote_display_mode ) ,
8386 followed_communities : vec_into ( lists. followed_communities ) ,
8487 blocked_communities : vec_into ( lists. blocked_communities ) ,
8588 blocked_instances : lists. blocked_instances ,
@@ -132,6 +135,27 @@ pub async fn import_settings(
132135 )
133136 . await ?;
134137
138+ // Update the vote display mode settings
139+ let vote_display_mode_form = LocalUserVoteDisplayModeUpdateForm {
140+ score : data. vote_display_mode_settings . as_ref ( ) . map ( |s| s. score ) ,
141+ upvotes : data. vote_display_mode_settings . as_ref ( ) . map ( |s| s. upvotes ) ,
142+ downvotes : data
143+ . vote_display_mode_settings
144+ . as_ref ( )
145+ . map ( |s| s. downvotes ) ,
146+ upvote_percentage : data
147+ . vote_display_mode_settings
148+ . as_ref ( )
149+ . map ( |s| s. upvote_percentage ) ,
150+ } ;
151+
152+ LocalUserVoteDisplayMode :: update (
153+ & mut context. pool ( ) ,
154+ local_user_view. local_user . id ,
155+ & vote_display_mode_form,
156+ )
157+ . await ?;
158+
135159 let url_count = data. followed_communities . len ( )
136160 + data. blocked_communities . len ( )
137161 + data. blocked_users . len ( )
0 commit comments