Mobile one board per row. Board zoom size percent. Board toggle mobile/desktop mode. In Progress.

Thanks to xet7 !

Related #5902
This commit is contained in:
Lauri Ojansivu 2025-10-09 05:48:41 +03:00
parent 339ca581ab
commit 752699d1c2
18 changed files with 3019 additions and 55 deletions

View file

@ -465,6 +465,22 @@ Users.attachSchema(
type: Boolean,
defaultValue: true,
},
'profile.zoomLevel': {
/**
* User-specified zoom level for board view (1.0 = 100%, 1.5 = 150%, etc.)
*/
type: Number,
defaultValue: 1.0,
min: 0.5,
max: 3.0,
},
'profile.mobileMode': {
/**
* User-specified mobile/desktop mode toggle
*/
type: Boolean,
defaultValue: false,
},
services: {
/**
* services field of the user
@ -612,6 +628,8 @@ Users.safeFields = {
'profile.fullname': 1,
'profile.avatarUrl': 1,
'profile.initials': 1,
'profile.zoomLevel': 1,
'profile.mobileMode': 1,
orgs: 1,
teams: 1,
authenticationMethod: 1,
@ -1277,6 +1295,22 @@ Users.mutations({
},
};
},
setZoomLevel(level) {
return {
$set: {
'profile.zoomLevel': level,
},
};
},
setMobileMode(enabled) {
return {
$set: {
'profile.mobileMode': enabled,
},
};
},
});
Meteor.methods({
@ -1332,6 +1366,16 @@ Meteor.methods({
const user = ReactiveCache.getCurrentUser();
user.setSwimlaneHeight(boardId, swimlaneId, height);
},
setZoomLevel(level) {
check(level, Number);
const user = ReactiveCache.getCurrentUser();
user.setZoomLevel(level);
},
setMobileMode(enabled) {
check(enabled, Boolean);
const user = ReactiveCache.getCurrentUser();
user.setMobileMode(enabled);
},
});
if (Meteor.isServer) {