FEATURE: Allow overriding text size from a different device (#6955)
This brings the feature in line with the theme selection system
This commit is contained in:
@@ -126,13 +126,8 @@ export default Ember.Controller.extend(PreferencesTabController, {
|
||||
this.get("model.user_option.theme_key_seq")
|
||||
);
|
||||
}
|
||||
if (
|
||||
makeTextSizeDefault ||
|
||||
this.get("model.user_option.text_size") === $.cookie("text_size")
|
||||
) {
|
||||
$.removeCookie("text_size");
|
||||
} else {
|
||||
$.cookie("text_size", this.get("textSize"));
|
||||
if (!makeTextSizeDefault) {
|
||||
this.get("model").updateTextSizeCookie(this.get("textSize"));
|
||||
}
|
||||
|
||||
this.homeChanged();
|
||||
|
||||
@@ -705,6 +705,25 @@ const User = RestModel.extend({
|
||||
});
|
||||
|
||||
return _.uniq(titles).sort();
|
||||
},
|
||||
|
||||
@computed("user_option.text_size_seq", "user_option.text_size")
|
||||
currentTextSize(serverSeq, serverSize) {
|
||||
if ($.cookie("text_size")) {
|
||||
const [cookieSize, cookieSeq] = $.cookie("text_size").split("|");
|
||||
if (cookieSeq >= serverSeq) {
|
||||
return cookieSize;
|
||||
}
|
||||
}
|
||||
return serverSize;
|
||||
},
|
||||
|
||||
updateTextSizeCookie(newSize) {
|
||||
const seq = this.get("user_option.text_size_seq");
|
||||
$.cookie("text_size", `${newSize}|${seq}`, {
|
||||
path: "/",
|
||||
expires: 9999
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -4,10 +4,9 @@ export default RestrictedUserRoute.extend({
|
||||
showFooter: true,
|
||||
|
||||
setupController(controller, user) {
|
||||
const textSize = $.cookie("text_size") || user.get("user_option.text_size");
|
||||
controller.setProperties({
|
||||
model: user,
|
||||
textSize
|
||||
textSize: user.get("currentTextSize")
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user