color pick
This commit is contained in:
parent
98b7351070
commit
0cfc27f3d3
13 changed files with 358 additions and 290 deletions
|
@ -726,7 +726,8 @@ var archivePinLog = function (Env, Server, cb, data) {
|
||||||
|
|
||||||
var archiveBlock = function (Env, Server, cb, data) {
|
var archiveBlock = function (Env, Server, cb, data) {
|
||||||
var args = Array.isArray(data) && data[1];
|
var args = Array.isArray(data) && data[1];
|
||||||
if (!args) { return void cb("INVALID_ARGS"); }
|
if (!args) {
|
||||||
|
return void cb("INVALID_ARGS"); }
|
||||||
var key = args.key;
|
var key = args.key;
|
||||||
var reason = args.reason;
|
var reason = args.reason;
|
||||||
if (!isValidKey(key)) { return void cb("EINVAL"); }
|
if (!isValidKey(key)) { return void cb("EINVAL"); }
|
||||||
|
@ -748,7 +749,8 @@ var archiveBlock = function (Env, Server, cb, data) {
|
||||||
|
|
||||||
var restoreArchivedBlock = function (Env, Server, cb, data) {
|
var restoreArchivedBlock = function (Env, Server, cb, data) {
|
||||||
var args = Array.isArray(data) && data[1];
|
var args = Array.isArray(data) && data[1];
|
||||||
if (!args) { return void cb("INVALID_ARGS"); }
|
if (!args) {
|
||||||
|
return void cb("INVALID_ARGS"); }
|
||||||
var key = args.key;
|
var key = args.key;
|
||||||
var reason = args.reason;
|
var reason = args.reason;
|
||||||
if (!isValidKey(key)) { return void cb("EINVAL"); }
|
if (!isValidKey(key)) { return void cb("EINVAL"); }
|
||||||
|
@ -1012,7 +1014,7 @@ var uploadLogo = (Env, Server, cb, data, unsafeKey) => {
|
||||||
var changeColor = (Env, Server, cb, data, unsafeKey) => {
|
var changeColor = (Env, Server, cb, data, unsafeKey) => {
|
||||||
const args = Array.isArray(data) && data[1];
|
const args = Array.isArray(data) && data[1];
|
||||||
if (!args || typeof(args) !== 'object') { return void cb("EINVAL"); }
|
if (!args || typeof(args) !== 'object') { return void cb("EINVAL"); }
|
||||||
let color = args.color;
|
let color = args.color || args.selectedColor;
|
||||||
adminDecree(Env, null, function (err) {
|
adminDecree(Env, null, function (err) {
|
||||||
if (err) { return void cb(err); }
|
if (err) { return void cb(err); }
|
||||||
Env.flushCache();
|
Env.flushCache();
|
||||||
|
@ -1107,7 +1109,8 @@ Admin.addFirstAdmin = function (Env, data, cb) {
|
||||||
if (!Env.installToken) { return void cb('EINVAL'); }
|
if (!Env.installToken) { return void cb('EINVAL'); }
|
||||||
var token = data.token;
|
var token = data.token;
|
||||||
if (!token || !data.edPublic) { return void cb('MISSING_ARGS'); }
|
if (!token || !data.edPublic) { return void cb('MISSING_ARGS'); }
|
||||||
if (token.length !== 64 || data.edPublic.length !== 44) { return void cb('INVALID_ARGS'); }
|
if (token.length !== 64 || data.edPublic.length !== 44) { console.log('here21')
|
||||||
|
return void cb('INVALID_ARGS'); }
|
||||||
if (token !== Env.installToken) { return void cb('FORBIDDEN'); }
|
if (token !== Env.installToken) { return void cb('FORBIDDEN'); }
|
||||||
if (Array.isArray(Env.admins) && Env.admins.length) { return void cb('EEXISTS'); }
|
if (Array.isArray(Env.admins) && Env.admins.length) { return void cb('EEXISTS'); }
|
||||||
|
|
||||||
|
|
|
@ -167,6 +167,10 @@ var isInteger = function (n) {
|
||||||
};
|
};
|
||||||
|
|
||||||
var args_isString = function (args) {
|
var args_isString = function (args) {
|
||||||
|
console.log('args', args)
|
||||||
|
console.log(typeof args)
|
||||||
|
console.log(Array.isArray(args))
|
||||||
|
console.log(isString(args[0]))
|
||||||
return !(!Array.isArray(args) || !isString(args[0]));
|
return !(!Array.isArray(args) || !isString(args[0]));
|
||||||
};
|
};
|
||||||
var args_isInteger = function (args) {
|
var args_isInteger = function (args) {
|
||||||
|
@ -237,6 +241,7 @@ commands.DISABLE_APPS = function (Env, args) {
|
||||||
};
|
};
|
||||||
|
|
||||||
commands.CHANGE_COLOR = function (Env, args) {
|
commands.CHANGE_COLOR = function (Env, args) {
|
||||||
|
console.log('change color')
|
||||||
var color = args
|
var color = args
|
||||||
adminDecree(Env, null, function (err) {
|
adminDecree(Env, null, function (err) {
|
||||||
if (err) { return void cb(err); }
|
if (err) { return void cb(err); }
|
||||||
|
@ -310,7 +315,8 @@ commands.SET_SUPPORT_KEYS = function (Env, args) {
|
||||||
(Core.isValidPublicKey(curvePublic) || !curvePublic) &&
|
(Core.isValidPublicKey(curvePublic) || !curvePublic) &&
|
||||||
typeof(edPublic) === "string" &&
|
typeof(edPublic) === "string" &&
|
||||||
(Core.isValidPublicKey(edPublic) || !edPublic);
|
(Core.isValidPublicKey(edPublic) || !edPublic);
|
||||||
if (!validated) { throw new Error('INVALID_ARGS'); }
|
if (!validated) {
|
||||||
|
throw new Error('INVALID_ARGS'); }
|
||||||
if (Env.supportMailboxKey === curvePublic && Env.supportPinKey === edPublic) { return false; }
|
if (Env.supportMailboxKey === curvePublic && Env.supportPinKey === edPublic) { return false; }
|
||||||
Env.supportMailboxKey = curvePublic;
|
Env.supportMailboxKey = curvePublic;
|
||||||
Env.supportPinKey = edPublic;
|
Env.supportPinKey = edPublic;
|
||||||
|
@ -322,7 +328,8 @@ commands.SET_INSTANCE_PURPOSE = makeGenericSetter('instancePurpose', args_isStri
|
||||||
|
|
||||||
var makeTranslation = function (attr) {
|
var makeTranslation = function (attr) {
|
||||||
return function (Env, args) {
|
return function (Env, args) {
|
||||||
if (!Array.isArray(args)) { throw new Error("INVALID_ARGS"); }
|
if (!Array.isArray(args)) {
|
||||||
|
throw new Error("INVALID_ARGS"); }
|
||||||
var value = args[0];
|
var value = args[0];
|
||||||
var state = Env[attr];
|
var state = Env[attr];
|
||||||
|
|
||||||
|
@ -373,7 +380,7 @@ var args_isMaintenance = function (args) {
|
||||||
// whenever that happens we can relax validation a bit to support more formats
|
// whenever that happens we can relax validation a bit to support more formats
|
||||||
var makeBroadcastSetter = function (attr, validation) {
|
var makeBroadcastSetter = function (attr, validation) {
|
||||||
return function (Env, args) {
|
return function (Env, args) {
|
||||||
if ((validation && !validation(args)) && !args_isString(args)) {
|
if ((validation && !validation(args)) && !args_isString(args)) {
|
||||||
throw new Error('INVALID_ARGS');
|
throw new Error('INVALID_ARGS');
|
||||||
}
|
}
|
||||||
var str = args[0];
|
var str = args[0];
|
||||||
|
|
|
@ -370,7 +370,8 @@ commands.ADD_MAILBOX = function (meta, args) {
|
||||||
};
|
};
|
||||||
|
|
||||||
commands.RM_MAILBOX = function (meta, args) {
|
commands.RM_MAILBOX = function (meta, args) {
|
||||||
if (!Array.isArray(args)) { throw new Error("INVALID_ARGS"); }
|
if (!Array.isArray(args)) {
|
||||||
|
throw new Error("INVALID_ARGS"); }
|
||||||
if (!meta.mailbox || typeof(meta.mailbox) === 'undefined') {
|
if (!meta.mailbox || typeof(meta.mailbox) === 'undefined') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -582,7 +582,8 @@ var reportStatus = function (Env, label, safeKey, err, id, size) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const completeUpload = function (data, cb) {
|
const completeUpload = function (data, cb) {
|
||||||
if (!data) { return void cb('INVALID_ARGS'); }
|
if (!data) {
|
||||||
|
return void cb('INVALID_ARGS'); }
|
||||||
if (typeof(data.safeKey) !== 'string') { return void cb("INVALID_KEY"); }
|
if (typeof(data.safeKey) !== 'string') { return void cb("INVALID_KEY"); }
|
||||||
var owned = data.owned;
|
var owned = data.owned;
|
||||||
var safeKey = Util.escapeKeyCharacters(data.safeKey);
|
var safeKey = Util.escapeKeyCharacters(data.safeKey);
|
||||||
|
@ -606,7 +607,8 @@ const completeUpload = function (data, cb) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const getPinActivity = function (data, cb) {
|
const getPinActivity = function (data, cb) {
|
||||||
if (!data) { return void cb("INVALID_ARGS"); }
|
if (!data) {
|
||||||
|
return void cb("INVALID_ARGS"); }
|
||||||
if (typeof(data.key) !== 'string') { return void cb("INVALID_KEY"); }
|
if (typeof(data.key) !== 'string') { return void cb("INVALID_KEY"); }
|
||||||
var safeKey = Util.escapeKeyCharacters(data.key);
|
var safeKey = Util.escapeKeyCharacters(data.key);
|
||||||
var first;
|
var first;
|
||||||
|
@ -633,7 +635,8 @@ const getPinActivity = function (data, cb) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const getLastChannelTime = function (data, cb) {
|
const getLastChannelTime = function (data, cb) {
|
||||||
if (!data) { return void cb("INVALID_ARGS"); }
|
if (!data) {
|
||||||
|
return void cb("INVALID_ARGS"); }
|
||||||
var latest;
|
var latest;
|
||||||
store.getMessages(data.channel, function (line) {
|
store.getMessages(data.channel, function (line) {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -205,7 +205,8 @@ var factory = function (Util, Hash, CPNetflux, Sortify, nThen, Crypto, Feedback)
|
||||||
};
|
};
|
||||||
|
|
||||||
commands.RM = function (args, author, roster) {
|
commands.RM = function (args, author, roster) {
|
||||||
if (!Array.isArray(args)) { throw new Error("INVALID_ARGS"); }
|
if (!Array.isArray(args)) {
|
||||||
|
throw new Error("INVALID_ARGS"); }
|
||||||
|
|
||||||
if (typeof(roster.state.members) === 'undefined') {
|
if (typeof(roster.state.members) === 'undefined') {
|
||||||
throw new Error("CANNOT_RM_FROM_UNITIALIZED_ROSTER");
|
throw new Error("CANNOT_RM_FROM_UNITIALIZED_ROSTER");
|
||||||
|
@ -348,7 +349,8 @@ var factory = function (Util, Hash, CPNetflux, Sortify, nThen, Crypto, Feedback)
|
||||||
|
|
||||||
// only admin/owner can change group metadata
|
// only admin/owner can change group metadata
|
||||||
commands.METADATA = function (args, author, roster) {
|
commands.METADATA = function (args, author, roster) {
|
||||||
if (!isMap(args)) { throw new Error("INVALID_ARGS"); }
|
if (!isMap(args)) { console.log('here27')
|
||||||
|
throw new Error("INVALID_ARGS"); }
|
||||||
|
|
||||||
if (!canUpdateMetadata(author, roster.state.members)) { throw new Error("INSUFFICIENT_PERMISSIONS"); }
|
if (!canUpdateMetadata(author, roster.state.members)) { throw new Error("INSUFFICIENT_PERMISSIONS"); }
|
||||||
|
|
||||||
|
@ -386,7 +388,8 @@ var factory = function (Util, Hash, CPNetflux, Sortify, nThen, Crypto, Feedback)
|
||||||
// that key is ultimately given to the user you'd like on your team
|
// that key is ultimately given to the user you'd like on your team
|
||||||
// that user can exploit their possession of the public key to remove
|
// that user can exploit their possession of the public key to remove
|
||||||
// the pending invitation with their actual data.
|
// the pending invitation with their actual data.
|
||||||
if (!isMap(args)) { throw new Error('INVALID_ARGS'); }
|
if (!isMap(args)) {console.log('here28')
|
||||||
|
throw new Error('INVALID_ARGS'); }
|
||||||
if (!roster.internal.initialized) { throw new Error("UNINITIALIED"); }
|
if (!roster.internal.initialized) { throw new Error("UNINITIALIED"); }
|
||||||
if (typeof(roster.state.members) === 'undefined') {
|
if (typeof(roster.state.members) === 'undefined') {
|
||||||
throw new Error("CANNOT+INVITE_TO_UNINITIALIED_ROSTER");
|
throw new Error("CANNOT+INVITE_TO_UNINITIALIED_ROSTER");
|
||||||
|
@ -457,7 +460,8 @@ var factory = function (Util, Hash, CPNetflux, Sortify, nThen, Crypto, Feedback)
|
||||||
if (!members[author].pending) { throw new Error("ALREADY_PRESENT"); }
|
if (!members[author].pending) { throw new Error("ALREADY_PRESENT"); }
|
||||||
|
|
||||||
// args should be a string
|
// args should be a string
|
||||||
if (typeof(args) !== 'string') { throw new Error("INVALID_ARGS"); }
|
if (typeof(args) !== 'string') { console.log('here29')
|
||||||
|
throw new Error("INVALID_ARGS"); }
|
||||||
// ...and a valid curve key
|
// ...and a valid curve key
|
||||||
if (!isValidId(args)) { throw new Error("INVALID_CURVE_KEY"); }
|
if (!isValidId(args)) { throw new Error("INVALID_CURVE_KEY"); }
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,9 @@ define([
|
||||||
'/common/hyperscript.js',
|
'/common/hyperscript.js',
|
||||||
'css!/components/bootstrap/dist/css/bootstrap.min.css',
|
'css!/components/bootstrap/dist/css/bootstrap.min.css',
|
||||||
'css!/components/components-font-awesome/css/font-awesome.min.css',
|
'css!/components/components-font-awesome/css/font-awesome.min.css',
|
||||||
'less!/admin/app-admin.less',
|
|
||||||
'css!/install/configscreen.css'
|
// 'less!/admin/app-admin.less',
|
||||||
|
// 'css!/install/configscreen.css'
|
||||||
], function(
|
], function(
|
||||||
$,
|
$,
|
||||||
Sidebar,
|
Sidebar,
|
||||||
|
@ -19,40 +20,30 @@ define([
|
||||||
h,
|
h,
|
||||||
UI,
|
UI,
|
||||||
Util,
|
Util,
|
||||||
Instance
|
|
||||||
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
//XXX
|
//XXX
|
||||||
Messages.admin_onboardingNameTitle = 'Welcome to your CryptPad instance'
|
Messages.admin_onboardingNameTitle = 'Welcome to your CryptPad instance';
|
||||||
Messages.admin_onboardingNameHint = 'Please choose a title and description'
|
Messages.admin_onboardingNameHint = 'Please choose a title and description';
|
||||||
|
Messages.admin_onboardingAppsTitle = "Choose your applications";
|
||||||
Messages.admin_onboardingAppsTitle = "Choose your applications"
|
Messages.admin_onboardingAppsHint = "Choose which apps are available to users on your instance";
|
||||||
Messages.admin_onboardingAppsHint = "Choose which apps are available to users on your instance"
|
Messages.admin_onboardingRegistrationTitle = "Options";
|
||||||
|
Messages.admin_onboardingRegistrationHint = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In id tristique justo";
|
||||||
Messages.admin_onboardingRegistrationTitle = "Options"
|
Messages.admin_onboardingRegistration = "Visitors to the instance are not able to create accounts. Invitations can be created by administrators";
|
||||||
Messages.admin_onboardingRegistrationHint = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In id tristique justo"
|
Messages.admin_onboardingRegistration = "All accounts on the instance have to use 2-factor authentication";
|
||||||
|
|
||||||
|
|
||||||
Messages.admin_onboardingRegistration = "Visitors to the instance are not able to create accounts. Invitations can be created by administrators"
|
|
||||||
Messages.admin_onboardingRegistration = "All accounts on the instance have to use 2-factor authentication"
|
|
||||||
|
|
||||||
|
|
||||||
var AppConfigScreen = {};
|
var AppConfigScreen = {};
|
||||||
const blocks = Sidebar.blocks;
|
const blocks = Sidebar.blocks;
|
||||||
|
|
||||||
var displayForm = function(sendAdminDecree, page) {
|
var displayForm = function(sendAdminDecree, page) {
|
||||||
|
|
||||||
var pages = [AppConfigScreen.appConfig, AppConfigScreen.mfaRegistrationScreen, AppConfigScreen.titleConfig]
|
var pages = [AppConfigScreen.appConfig, AppConfigScreen.mfaRegistrationScreen, AppConfigScreen.titleConfig];
|
||||||
var nextPageFunction = pages[page]
|
var nextPageFunction = pages[page];
|
||||||
console.log('here', typeof nextPageFunction)
|
var nextPageForm = nextPageFunction(sendAdminDecree);
|
||||||
var nextPageForm = nextPageFunction(sendAdminDecree)
|
|
||||||
var elem = document.createElement('div');
|
var elem = document.createElement('div');
|
||||||
elem.setAttribute('id', 'cp-loading');
|
elem.setAttribute('id', 'cp-loading');
|
||||||
let frame = h('div.configscreen', nextPageForm)
|
let frame = h('div.configscreen', nextPageForm);
|
||||||
elem.append(frame)
|
elem.append(frame);
|
||||||
|
|
||||||
built = true;
|
|
||||||
var intr;
|
var intr;
|
||||||
var append = function () {
|
var append = function () {
|
||||||
if (!document.body) { return; }
|
if (!document.body) { return; }
|
||||||
|
@ -62,7 +53,7 @@ define([
|
||||||
intr = setInterval(append, 100);
|
intr = setInterval(append, 100);
|
||||||
append();
|
append();
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
AppConfigScreen.titleConfig = function (sendAdminDecree, sendAdminRpc) {
|
AppConfigScreen.titleConfig = function (sendAdminDecree, sendAdminRpc) {
|
||||||
|
|
||||||
|
@ -76,14 +67,17 @@ define([
|
||||||
placeholder: 'Instance title',
|
placeholder: 'Instance title',
|
||||||
'aria-labelledby': 'cp-admin-name'
|
'aria-labelledby': 'cp-admin-name'
|
||||||
});
|
});
|
||||||
var textarea = blocks.textarea({
|
|
||||||
|
var desc = blocks.textarea({
|
||||||
placeholder: 'Placeholder description text',
|
placeholder: 'Placeholder description text',
|
||||||
value: '',
|
value: '',
|
||||||
'aria-labelledby': 'cp-admin-description'
|
'aria-labelledby': 'cp-admin-description'
|
||||||
});
|
});
|
||||||
|
|
||||||
return [input, textarea]
|
$(desc).addClass('cp-onboardscreen-desc');
|
||||||
}
|
|
||||||
|
return [input, desc];
|
||||||
|
};
|
||||||
|
|
||||||
var logoBlock = function() {
|
var logoBlock = function() {
|
||||||
|
|
||||||
|
@ -96,6 +90,7 @@ define([
|
||||||
var currentContainer = blocks.block([], 'cp-admin-customize-logo');
|
var currentContainer = blocks.block([], 'cp-admin-customize-logo');
|
||||||
let redraw = () => {
|
let redraw = () => {
|
||||||
var current = h('img', {src: '/api/logo?'+(+new Date())});
|
var current = h('img', {src: '/api/logo?'+(+new Date())});
|
||||||
|
$(current).css({'max-width':'30px'});
|
||||||
$(currentContainer).empty().append(current);
|
$(currentContainer).empty().append(current);
|
||||||
};
|
};
|
||||||
redraw();
|
redraw();
|
||||||
|
@ -125,7 +120,6 @@ define([
|
||||||
let reader = new FileReader();
|
let reader = new FileReader();
|
||||||
reader.onloadend = function () {
|
reader.onloadend = function () {
|
||||||
let dataURL = this.result;
|
let dataURL = this.result;
|
||||||
console.log(dataURL, 'dataulr')
|
|
||||||
sendAdminRpc('UPLOAD_LOGO', {dataURL}, function (e, response) {
|
sendAdminRpc('UPLOAD_LOGO', {dataURL}, function (e, response) {
|
||||||
$button.removeAttr('disabled');
|
$button.removeAttr('disabled');
|
||||||
if (e || response.error) {
|
if (e || response.error) {
|
||||||
|
@ -140,7 +134,7 @@ define([
|
||||||
redraw();
|
redraw();
|
||||||
spinner.done();
|
spinner.done();
|
||||||
UI.log(Messages.saved);
|
UI.log(Messages.saved);
|
||||||
})
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
reader.readAsDataURL(files[0]);
|
reader.readAsDataURL(files[0]);
|
||||||
|
@ -152,7 +146,7 @@ define([
|
||||||
spinner.spin();
|
spinner.spin();
|
||||||
$remove.attr('disabled', 'disabled');
|
$remove.attr('disabled', 'disabled');
|
||||||
|
|
||||||
sendAdminDecree('REMOVE_LOGO', {}, function (e, response) {
|
sendAdminRpc('REMOVE_LOGO', {dataURL}, function (e, response) {
|
||||||
$remove.removeAttr('disabled');
|
$remove.removeAttr('disabled');
|
||||||
if (err) {
|
if (err) {
|
||||||
UI.warn(Messages.error);
|
UI.warn(Messages.error);
|
||||||
|
@ -166,160 +160,52 @@ define([
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
return formLogo
|
return formLogo;
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
var colorBlock = function () {
|
var colorBlock = function () {
|
||||||
|
|
||||||
// let input = blocks.input({
|
var colors;
|
||||||
// type: 'color',
|
|
||||||
// value: (Instance && Instance.color) || '#0087FF'
|
|
||||||
// });
|
|
||||||
// let label = blocks.labelledInput(Messages.admin_colorPick, input);
|
|
||||||
// let current = blocks.block([], 'cp-admin-color-current');
|
|
||||||
// let labelCurrent = blocks.labelledInput(Messages.admin_colorCurrent, current);
|
|
||||||
// let preview = blocks.block([
|
|
||||||
// blocks.block([
|
|
||||||
// blocks.link('CryptPad', '/admin/#customize'),
|
|
||||||
// blocks.button('primary', 'fa-floppy-o', Messages.settings_save),
|
|
||||||
// blocks.button('secondary', 'fa-floppy-o', Messages.settings_save)
|
|
||||||
// ], 'cp-admin-color-preview-dark cp-sidebar-flex-block'),
|
|
||||||
// blocks.block([
|
|
||||||
// blocks.link('CryptPad', '/admin/#customize'),
|
|
||||||
// blocks.button('primary', 'fa-floppy-o', Messages.settings_save),
|
|
||||||
// blocks.button('secondary', 'fa-floppy-o', Messages.settings_save)
|
|
||||||
// ], 'cp-admin-color-preview-light cp-sidebar-flex-block')
|
|
||||||
// ], 'cp-admin-color-preview');
|
|
||||||
// let labelPreview = blocks.labelledInput(Messages.admin_colorPreview, preview);
|
|
||||||
// let $preview = $(preview);
|
|
||||||
|
|
||||||
// let remove = blocks.button('danger', '', Messages.admin_logoRemoveButton);
|
|
||||||
// let $remove = $(remove);
|
|
||||||
|
|
||||||
// let setColor = (color, done) => {
|
|
||||||
// sframeCommand('CHANGE_COLOR', {color}, (err, response) => {
|
|
||||||
// if (err) {
|
|
||||||
// UI.warn(Messages.error);
|
|
||||||
// console.error(err, response);
|
|
||||||
// done(false);
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// done(true);
|
|
||||||
// UI.log(Messages.saved);
|
|
||||||
// });
|
|
||||||
// };
|
|
||||||
|
|
||||||
// let btn = blocks.activeButton('primary', '',
|
|
||||||
// Messages.admin_colorChange, (done) => {
|
|
||||||
// let color = $input.val();
|
|
||||||
// setColor(color, done);
|
|
||||||
// });
|
|
||||||
|
|
||||||
// let $input = $(input).on('change', () => {
|
|
||||||
// require(['/lib/less.min.js'], (Less) => {
|
|
||||||
// let color = $input.val();
|
|
||||||
// let lColor = Less.color(color.slice(1));
|
|
||||||
// let lighten = Less.functions.functionRegistry._data.lighten;
|
|
||||||
// let lightColor = lighten(lColor, {value:30}).toRGB();
|
|
||||||
// $preview.find('.btn-primary').css({
|
|
||||||
// 'background-color': color
|
|
||||||
// });
|
|
||||||
// $preview.find('.cp-admin-color-preview-dark .btn-secondary').css({
|
|
||||||
// 'border-color': lightColor,
|
|
||||||
// 'color': lightColor,
|
|
||||||
// });
|
|
||||||
// $preview.find('.cp-admin-color-preview-light .btn-secondary').css({
|
|
||||||
// 'border-color': color,
|
|
||||||
// 'color': color,
|
|
||||||
// });
|
|
||||||
// $preview.find('.cp-admin-color-preview-dark a').attr('style', `color: ${lightColor} !important`);
|
|
||||||
// $preview.find('.cp-admin-color-preview-light a').attr('style', `color: ${color} !important`);
|
|
||||||
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
|
|
||||||
// UI.confirmButton($remove, {
|
|
||||||
// classes: 'btn-danger',
|
|
||||||
// multiple: true
|
|
||||||
// }, function () {
|
|
||||||
// $remove.attr('disabled', 'disabled');
|
|
||||||
// setColor('', () => {});
|
|
||||||
// });
|
|
||||||
|
|
||||||
// // let form = blocks.form([
|
|
||||||
// var form = [labelCurrent,
|
|
||||||
// label]
|
|
||||||
// // ], blocks.nav([btn, remove, btn.spinner]));
|
|
||||||
// Colors
|
|
||||||
|
|
||||||
var conflicts, conflictContainer, titleInput, tagsDiv, colors, text;
|
|
||||||
var content = h('div', [
|
var content = h('div', [
|
||||||
// conflictContainer = h('div#cp-kanban-edit-conflicts', [
|
|
||||||
// h('div', Messages.kanban_conflicts),
|
|
||||||
// conflicts = h('div.cp-kanban-cursors')
|
|
||||||
// ]),
|
|
||||||
// h('label', {for:'cp-kanban-edit-title'}, Messages.kanban_title),
|
|
||||||
// titleInput = h('input#cp-kanban-edit-title'),
|
|
||||||
// h('label', {for:'cp-kanban-edit-body'}, Messages.kanban_body),
|
|
||||||
// h('div#cp-kanban-edit-body', [
|
|
||||||
// text = h('textarea')
|
|
||||||
// ]),
|
|
||||||
// h('label', {for:'cp-kanban-edit-tags'}, Messages.fm_tagsName),
|
|
||||||
// tagsDiv = h('div#cp-kanban-edit-tags'),
|
|
||||||
h('label', {for:'cp-kanban-edit-color'}, Messages.kanban_color),
|
h('label', {for:'cp-kanban-edit-color'}, Messages.kanban_color),
|
||||||
colors = h('div#cp-kanban-edit-colors'),
|
colors = h('div#cp-kanban-edit-colors'),
|
||||||
]);
|
], {style: 'padding-left:50%'});
|
||||||
|
|
||||||
var $colors = $(colors);
|
var $colors = $(colors);
|
||||||
var palette = [''];
|
var palette = [''];
|
||||||
for (var i=1; i<=8; i++) { palette.push('color'+i); }
|
for (var i=1; i<=8; i++) { palette.push('color'+i); }
|
||||||
var selectedColor = '';
|
var selectedColor = '';
|
||||||
var resetThemeClass = function () {
|
|
||||||
$colors.find('.cp-kanban-palette').each(function (i, el) {
|
|
||||||
var $c = $(el);
|
|
||||||
$c.removeClass('cp-kanban-palette-card');
|
|
||||||
$c.removeClass('cp-kanban-palette-board');
|
|
||||||
// if (isBoard) {
|
|
||||||
// $c.addClass('cp-kanban-palette-board');
|
|
||||||
// } else {
|
|
||||||
$c.addClass('cp-kanban-palette-card');
|
|
||||||
// }
|
|
||||||
});
|
|
||||||
};
|
|
||||||
palette.forEach(function (color) {
|
palette.forEach(function (color) {
|
||||||
var $color = $(h('span.cp-kanban-palette.fa'));
|
var $color = $(h('div.cp-kanban-palette.cp-kanban-palette-card.fa'), );
|
||||||
|
$color.css({'width':'30px', 'height':'30px', 'display': 'inline-block', 'border-radius': '50%', 'text-align': 'center', 'line-height': '30px', 'margin-right':'1%'})
|
||||||
$color.addClass('cp-kanban-palette-'+(color || 'nocolor'));
|
$color.addClass('cp-kanban-palette-'+(color || 'nocolor'));
|
||||||
$color.click(function () {
|
$color.click(function () {
|
||||||
if (offline) { return; }
|
|
||||||
if (color === selectedColor) { return; }
|
if (color === selectedColor) { return; }
|
||||||
selectedColor = color;
|
selectedColor = $color.css('background-color');
|
||||||
$colors.find('.cp-kanban-palette').removeClass('fa-check');
|
$colors.find('.cp-kanban-palette').removeClass('fa-check');
|
||||||
var $col = $colors.find('.cp-kanban-palette-'+(color || 'nocolor'));
|
var $col = $colors.find('.cp-kanban-palette-'+(color || 'nocolor'));
|
||||||
$col.addClass('fa-check');
|
$col.addClass('fa-check');
|
||||||
|
sendAdminRpc('CHANGE_COLOR', {selectedColor}, function (e, response) {
|
||||||
dataObject.color = color;
|
if (e || response.error) {
|
||||||
commit();
|
UI.warn(Messages.error);
|
||||||
|
console.error(e, response);
|
||||||
|
// done(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// flushCache();
|
||||||
|
// done(true);
|
||||||
|
// redraw();
|
||||||
|
// spinner.done();
|
||||||
|
UI.log(Messages.saved);
|
||||||
|
});
|
||||||
}).appendTo($colors);
|
}).appendTo($colors);
|
||||||
});
|
});
|
||||||
var color = {
|
|
||||||
getValue: function () {
|
return content;
|
||||||
return selectedColor;
|
|
||||||
},
|
|
||||||
setValue: function (color) {
|
|
||||||
resetThemeClass();
|
|
||||||
$colors.find('.cp-kanban-palette').removeClass('fa-check');
|
|
||||||
var $col = $colors.find('.cp-kanban-palette-'+(color || 'nocolor'));
|
|
||||||
$col.addClass('fa-check');
|
|
||||||
selectedColor = color;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return color
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var button = blocks.activeButton('primary', '', Messages.settings_save, function (done) {
|
var button = blocks.activeButton('primary', '', Messages.settings_save, function (done) {
|
||||||
|
|
||||||
// sendAdminDecree('SET_INSTANCE_NAME', [$(titleInput).val().trim()], function (e, response) {
|
// sendAdminDecree('SET_INSTANCE_NAME', [$(titleInput).val().trim()], function (e, response) {
|
||||||
|
@ -349,52 +235,39 @@ define([
|
||||||
|
|
||||||
// })
|
// })
|
||||||
|
|
||||||
|
displayForm(sendAdminDecree, 0);
|
||||||
// sendAdminDecree('CHANGE_COLOR', {colorPick}, function (e, response) {
|
|
||||||
// if (e || response.error) {
|
|
||||||
// UI.warn(Messages.error);
|
|
||||||
// console.error(e, response);
|
|
||||||
// done(false);
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// done(true);
|
|
||||||
// UI.log(Messages.saved);
|
|
||||||
// });
|
|
||||||
|
|
||||||
displayForm(sendAdminDecree, 0)
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var titleInput = h('div.cp-onboardscreen-name', titleDescBlock()[0])
|
var titleInput = h('div.cp-onboardscreen-name', titleDescBlock()[0]);
|
||||||
var logoInput = h('div.cp-onboardscreen-logo', logoBlock(), {style:'width:20%;height:20%'})
|
var logoInput = h('div.cp-onboardscreen-logo', logoBlock());
|
||||||
var descriptionInput = h('div.cp-onboardscreen-description', titleDescBlock()[1])
|
var desc = h('div', titleDescBlock()[1]);
|
||||||
var colorInput = h('div', colorBlock(), {style:'width:50%;height:20%;position:absolute;right:0;bottom:0;margin-right:17%;margin-bottom:10%'})
|
var colorInput = h('div.cp-onboardscreen-color', colorBlock());
|
||||||
// var colorInputLabel = h('div', colorBlock()[0], {style:'width:20%;height:20%'})
|
|
||||||
// var colorInputLabel2 = h('div', colorBlock()[1], {style:'width:20%;height:20%'})
|
|
||||||
|
|
||||||
var screenTitleDiv = h('div.cp-onboardscreen-screentitle')
|
var screenTitle = h('div.cp-onboardscreen-screentitle');
|
||||||
$(screenTitleDiv).append(h('div.cp-onboardscreen-maintitle', h('span.cp-onboardscreen-title', Messages.admin_onboardingNameTitle), h('br'), h('span', Messages.admin_onboardingNameHint)))
|
$(screenTitle).append(h('div.cp-onboardscreen-maintitle', h('span.cp-onboardscreen-title', Messages.admin_onboardingNameTitle), h('br'), h('span', Messages.admin_onboardingNameHint)));
|
||||||
var nav = blocks.nav([button]);
|
var nav = blocks.nav([button]);
|
||||||
|
$(nav).addClass('cp-onboardscreen-save');
|
||||||
|
|
||||||
var form = blocks.form([
|
var form = blocks.form([
|
||||||
screenTitleDiv,
|
screenTitle,
|
||||||
titleInput, descriptionInput,
|
titleInput,
|
||||||
|
desc,
|
||||||
logoInput,
|
logoInput,
|
||||||
colorInput,
|
colorInput,
|
||||||
], nav);
|
], nav);
|
||||||
|
|
||||||
$(form).addClass('cp-onboardscreen-form')
|
$(form).addClass('cp-onboardscreen-form');
|
||||||
|
|
||||||
var wrapper = h('div', form, {style:'width:100%'})
|
return form;
|
||||||
|
|
||||||
return wrapper
|
};
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
AppConfigScreen.mfaRegistrationScreen = function(sendAdminDecree) {
|
AppConfigScreen.mfaRegistrationScreen = function(sendAdminDecree) {
|
||||||
|
|
||||||
var restrict = blocks.activeCheckbox({
|
var restrict = blocks.activeCheckbox({
|
||||||
key: 'registration',
|
key: 'registration',
|
||||||
getState: function () {
|
getState: function () {
|
||||||
return false
|
return false;
|
||||||
},
|
},
|
||||||
query: function (val, setState) {
|
query: function (val, setState) {
|
||||||
sendAdminDecree('RESTRICT_REGISTRATION', [val], function (e, response) {
|
sendAdminDecree('RESTRICT_REGISTRATION', [val], function (e, response) {
|
||||||
|
@ -409,14 +282,14 @@ define([
|
||||||
// // done(true);
|
// // done(true);
|
||||||
// UI.log(Messages.saved);
|
// UI.log(Messages.saved);
|
||||||
|
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
var forceMFA = blocks.activeCheckbox({
|
var forceMFA = blocks.activeCheckbox({
|
||||||
key: 'forcemfa',
|
key: 'forcemfa',
|
||||||
getState: function () {
|
getState: function () {
|
||||||
return false
|
return false;
|
||||||
},
|
},
|
||||||
query: function (val, setState) {
|
query: function (val, setState) {
|
||||||
// sendAdminDecree('ENFORCE_MFA', [val], function (e, response) {
|
// sendAdminDecree('ENFORCE_MFA', [val], function (e, response) {
|
||||||
|
@ -436,37 +309,37 @@ define([
|
||||||
});
|
});
|
||||||
|
|
||||||
const grid = blocks.block([], 'cp-admin-customize-apps-grid');
|
const grid = blocks.block([], 'cp-admin-customize-apps-grid');
|
||||||
const allApps = [restrict, forceMFA];
|
const options = [restrict, forceMFA];
|
||||||
|
|
||||||
allApps.forEach(app => {
|
options.forEach(app => {
|
||||||
let appBlock = h('div.cp-bloop', {style: 'width:50%;height:20px;float:left'}, {class: 'inactive-app', id: `${app}-block`}, app)
|
let optionBlock = h('div.cp-appblock', {class: 'inactive-app', id: `${app}-block`}, app);
|
||||||
$(grid).append(appBlock);
|
$(grid).append(optionBlock);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var save = blocks.activeButton('primary', '', Messages.settings_save, function () {
|
||||||
var save = blocks.activeButton('primary', '', Messages.settings_save, function (done) {
|
|
||||||
document.location.href = '/drive/';
|
document.location.href = '/drive/';
|
||||||
return;
|
return;
|
||||||
})
|
});
|
||||||
|
|
||||||
var prev = blocks.activeButton('primary', '', Messages.settings_prev, function (done) {
|
var prev = blocks.activeButton('primary', '', Messages.settings_prev, function () {
|
||||||
|
displayForm(sendAdminDecree, 0);
|
||||||
|
});
|
||||||
|
|
||||||
displayForm(sendAdminDecree, 2)
|
var screenTitle = h('div.cp-onboardscreen-screentitle');
|
||||||
})
|
$(screenTitle).append(h('div.cp-onboardscreen-maintitle', h('span.cp-onboardscreen-title', Messages.admin_onboardingRegistrationTitle), h('br'), h('span', Messages.admin_onboardingRegistrationHint)));
|
||||||
|
var nav = blocks.nav([prev, save]);
|
||||||
var screenTitleDiv = h('div.cp-onboardscreen-screentitle')
|
$(nav).addClass('cp-onboardscreen-save');
|
||||||
$(screenTitleDiv).append(h('div.cp-onboardscreen-maintitle', h('span.cp-onboardscreen-title', Messages.admin_onboardingRegistrationTitle), h('br'), h('span', Messages.admin_onboardingRegistrationHint)))
|
|
||||||
|
|
||||||
var form = blocks.form([
|
var form = blocks.form([
|
||||||
screenTitleDiv,
|
screenTitle,
|
||||||
grid],
|
grid],
|
||||||
[prev, save])
|
);
|
||||||
|
|
||||||
$(form).addClass('cp-onboardscreen-form')
|
$(form).addClass('cp-onboardscreen-form');
|
||||||
|
|
||||||
return form
|
return form;
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
AppConfigScreen.appConfig = function (sendAdminDecree) {
|
AppConfigScreen.appConfig = function (sendAdminDecree) {
|
||||||
|
@ -474,20 +347,18 @@ define([
|
||||||
const blocks = Sidebar.blocks;
|
const blocks = Sidebar.blocks;
|
||||||
const grid = blocks.block([], 'cp-admin-customize-apps-grid');
|
const grid = blocks.block([], 'cp-admin-customize-apps-grid');
|
||||||
const allApps = ['pad', 'code', 'kanban', 'slide', 'sheet', 'form', 'whiteboard', 'diagram'];
|
const allApps = ['pad', 'code', 'kanban', 'slide', 'sheet', 'form', 'whiteboard', 'diagram'];
|
||||||
const availableApps = []
|
const availableApps = [];
|
||||||
|
|
||||||
function select(app, appBlock) {
|
function select(app, appBlock) {
|
||||||
if (availableApps.indexOf(app) === -1) {
|
if (availableApps.indexOf(app) === -1) {
|
||||||
availableApps.push(app);
|
availableApps.push(app);
|
||||||
console.log(appBlock)
|
var checkMark = h('div.cp-onboardscreen-checkmark', "V", {style:'color:white'});
|
||||||
console.log(appBlock.innerHTML)
|
appBlock.append(checkMark);
|
||||||
var checkMark = h('div.cp-onboardscreen-checkmark', "V", {style:'color:white'})
|
|
||||||
appBlock.append(checkMark)
|
|
||||||
$(`#${app}-block`).attr('class', 'active-app')
|
$(`#${app}-block`).attr('class', 'active-app')
|
||||||
} else {
|
} else {
|
||||||
availableApps.splice(availableApps.indexOf(app), 1)
|
availableApps.splice(availableApps.indexOf(app), 1);
|
||||||
$(`#${app}-block`).attr('class', 'inactive-app')
|
$(`#${app}-block`).attr('class', 'inactive-app');
|
||||||
appBlock.remove('.cp-onboardscreen-checkmark')
|
appBlock.remove('.cp-onboardscreen-checkmark');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -495,10 +366,9 @@ define([
|
||||||
let appBlock = h('div.cp-bloop', {style: 'width:50%;height:20px;'}, {class: 'inactive-app', id: `${app}-block`}, app.charAt(0).toUpperCase() + app.slice(1))
|
let appBlock = h('div.cp-bloop', {style: 'width:50%;height:20px;'}, {class: 'inactive-app', id: `${app}-block`}, app.charAt(0).toUpperCase() + app.slice(1))
|
||||||
$(appBlock).addClass('cp-app-drive-element-grid')
|
$(appBlock).addClass('cp-app-drive-element-grid')
|
||||||
$(appBlock).addClass('cp-app-drive-element-row')
|
$(appBlock).addClass('cp-app-drive-element-row')
|
||||||
$(appBlock).addClass('cp-app-drive-new-doc')
|
|
||||||
|
|
||||||
$(grid).append(appBlock);
|
$(grid).append(appBlock);
|
||||||
$(appBlock).on('click', () => select(app, $(appBlock)))
|
$(appBlock).on('click', () => select(app, $(appBlock)));
|
||||||
});
|
});
|
||||||
|
|
||||||
var save = blocks.activeButton('primary', '', Messages.settings_save, function (done) {
|
var save = blocks.activeButton('primary', '', Messages.settings_save, function (done) {
|
||||||
|
@ -519,27 +389,27 @@ define([
|
||||||
UI.log(Messages.saved);
|
UI.log(Messages.saved);
|
||||||
displayForm(sendAdminDecree, 1)
|
displayForm(sendAdminDecree, 1)
|
||||||
});
|
});
|
||||||
Messages.settings_prev = 'Back'
|
|
||||||
var prev = blocks.activeButton('primary', '', Messages.settings_prev, function (done) {
|
|
||||||
|
|
||||||
displayForm(sendAdminDecree, 2)
|
var prev = blocks.activeButton('primary', '', Messages.form_backButton, function () {
|
||||||
})
|
displayForm(sendAdminDecree, 2);
|
||||||
|
});
|
||||||
|
|
||||||
var screenTitleDiv = h('div.cp-onboardscreen-screentitle')
|
var screenTitle = h('div.cp-onboardscreen-screentitle');
|
||||||
$(screenTitleDiv).append(h('div.cp-onboardscreen-maintitle', h('span.cp-onboardscreen-title', Messages.admin_onboardingAppsTitle), h('br'), h('span', Messages.admin_onboardingAppsHint)))
|
$(screenTitle).append(h('div.cp-onboardscreen-maintitle', h('span.cp-onboardscreen-title', Messages.admin_onboardingAppsTitle), h('br'), h('span', Messages.admin_onboardingAppsHint)))
|
||||||
|
var nav = blocks.nav([prev, save]);
|
||||||
|
$(nav).addClass('cp-onboardscreen-save');
|
||||||
|
|
||||||
let form = blocks.form([
|
let form = blocks.form([
|
||||||
screenTitleDiv,
|
screenTitle,
|
||||||
grid
|
grid
|
||||||
], blocks.nav([prev, save]));
|
], nav);
|
||||||
|
|
||||||
$(form).addClass('cp-onboardscreen-form')
|
$(form).addClass('cp-onboardscreen-form');
|
||||||
|
|
||||||
return form
|
return form;
|
||||||
}
|
}
|
||||||
|
|
||||||
return AppConfigScreen
|
return AppConfigScreen;
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
3
www/install/configscreen.less
Normal file
3
www/install/configscreen.less
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,9 @@ define([
|
||||||
'appconfigscreen.js',
|
'appconfigscreen.js',
|
||||||
'/common/inner/sidebar-layout.js',
|
'/common/inner/sidebar-layout.js',
|
||||||
|
|
||||||
'css!/install/configscreen.css',
|
// 'css!/install/configscreen.css',
|
||||||
|
'less!/install/onboarding.less',
|
||||||
|
|
||||||
'css!/components/components-font-awesome/css/font-awesome.min.css',
|
'css!/components/components-font-awesome/css/font-awesome.min.css',
|
||||||
], function ($, Login, Cryptpad, /*Test,*/ Cred, UI, Util, Realtime, Constants, Feedback, LocalStore, h, Pages, Rpc, AppConfigScreen, Sidebar) {
|
], function ($, Login, Cryptpad, /*Test,*/ Cred, UI, Util, Realtime, Constants, Feedback, LocalStore, h, Pages, Rpc, AppConfigScreen, Sidebar) {
|
||||||
if (window.top !== window) { return; }
|
if (window.top !== window) { return; }
|
||||||
|
@ -59,19 +61,15 @@ define([
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var showTitleScreen = function (sendAdminDecree, sendAdminRpc) {
|
var showTitleScreen = function (sendAdminDecree, sendAdminRpc) {
|
||||||
|
|
||||||
var titleScreen = AppConfigScreen.titleConfig
|
var titleScreen = AppConfigScreen.titleConfig;
|
||||||
var form = titleScreen(sendAdminDecree, sendAdminRpc)
|
var form = titleScreen(sendAdminDecree, sendAdminRpc);
|
||||||
|
|
||||||
var elem = document.createElement('div');
|
var elem = document.createElement('div');
|
||||||
elem.setAttribute('id', 'cp-loading');
|
elem.setAttribute('id', 'cp-loading');
|
||||||
let frame = h('div.configscreen', form)
|
let frame = h('div.configscreen', form);
|
||||||
elem.append(frame)
|
elem.append(frame);
|
||||||
|
|
||||||
built = true;
|
|
||||||
var intr;
|
var intr;
|
||||||
var append = function () {
|
var append = function () {
|
||||||
if (!document.body) { return; }
|
if (!document.body) { return; }
|
||||||
|
@ -81,13 +79,10 @@ define([
|
||||||
intr = setInterval(append, 100);
|
intr = setInterval(append, 100);
|
||||||
append();
|
append();
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
var registerClick = function () {
|
var registerClick = function () {
|
||||||
showTitleScreen()
|
showTitleScreen()
|
||||||
// // document.location.href = '/drive/';
|
|
||||||
|
|
||||||
|
|
||||||
// var uname = $uname.val().trim();
|
// var uname = $uname.val().trim();
|
||||||
// // trim whitespace surrounding the username since it is otherwise included in key derivation
|
// // trim whitespace surrounding the username since it is otherwise included in key derivation
|
||||||
|
|
183
www/install/onboarding.less
Normal file
183
www/install/onboarding.less
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
@import (reference) "../../customize/src/less2/include/browser.less";
|
||||||
|
@import (reference) "../../customize/src/less2/include/framework.less";
|
||||||
|
@import (reference) "../../customize/src/less2/include/tools.less";
|
||||||
|
@import (reference) "../../customize/src/less2/include/markdown.less";
|
||||||
|
@import (reference) "../../customize/src/less2/include/avatar.less";
|
||||||
|
|
||||||
|
@cp_palette:
|
||||||
|
#FFD4D4,
|
||||||
|
#FFDECA,
|
||||||
|
#FFE69C,
|
||||||
|
#DBFFB7,
|
||||||
|
#AFFDC2,
|
||||||
|
#C9FFFE,
|
||||||
|
#C8D6FF,
|
||||||
|
#E4CAFF;
|
||||||
|
|
||||||
|
|
||||||
|
.cp_palette(@cp_palette; @index) when (@index > 0){
|
||||||
|
// loop through the @colors
|
||||||
|
.cp_palette(@cp_palette; (@index - 1));
|
||||||
|
@color: extract(@cp_palette, @index);
|
||||||
|
// make a numbered class selector for each color
|
||||||
|
.cp-kanban-palette-color@{index}{
|
||||||
|
background-color: @color !important;
|
||||||
|
&.cp-kanban-palette-board {
|
||||||
|
background-color: @color !important;
|
||||||
|
}
|
||||||
|
&.kanban-board-inner {
|
||||||
|
background-color: fade(@color, 50%) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// .kanban-colors(@kanban-colors; @index) when (@index > 0){
|
||||||
|
// // loop through the @colors
|
||||||
|
// .kanban-colors(@kanban-colors; (@index - 1));
|
||||||
|
// @color: extract(@kanban-colors, @index);
|
||||||
|
// // make a numbered class selector for each color
|
||||||
|
// .cp-kanban-palette-color@{index}{
|
||||||
|
// background-color: @color !important;
|
||||||
|
// &.cp-kanban-palette-board {
|
||||||
|
// background-color: @color !important;
|
||||||
|
// }
|
||||||
|
// &.kanban-board-inner {
|
||||||
|
// background-color: fade(@color, 50%) !important;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
.configscreen {
|
||||||
|
width: 70%;
|
||||||
|
height: 75%;
|
||||||
|
background-color: #424242 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-name {
|
||||||
|
width:70%;
|
||||||
|
float:right;
|
||||||
|
padding:10px
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-logo {
|
||||||
|
width:20%;
|
||||||
|
height:30%;
|
||||||
|
float:left;
|
||||||
|
margin-left:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-desc {
|
||||||
|
width:67% !important;
|
||||||
|
float:right !important;
|
||||||
|
padding:20px !important;
|
||||||
|
margin-right:10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-kanban-palette {
|
||||||
|
width:30px;
|
||||||
|
height:30px;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 30px;
|
||||||
|
background-color: green !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-screentitle {
|
||||||
|
margin:auto;
|
||||||
|
padding:10px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-title {
|
||||||
|
font-family: "IBM Plex Mono";
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-admin-customize-apps-grid {
|
||||||
|
width: 80%;
|
||||||
|
color: white;
|
||||||
|
height: 10px !important;
|
||||||
|
margin:auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-save {
|
||||||
|
|
||||||
|
right:0;
|
||||||
|
bottom:0;
|
||||||
|
padding-left:90%;
|
||||||
|
margin-top:5%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-app-drive-element-grid {
|
||||||
|
display: inline-block !important;
|
||||||
|
height: 60px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-appblock {
|
||||||
|
width:60% !important;
|
||||||
|
float:left !important;
|
||||||
|
padding: 5% !important;
|
||||||
|
background-color: #212121!important;
|
||||||
|
border-color:white;
|
||||||
|
height:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active-app {
|
||||||
|
background-color: #212121!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-checkmark {
|
||||||
|
text-align:right !important;
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-save {
|
||||||
|
margin-right: -2px !important;
|
||||||
|
margin-top: 5%;
|
||||||
|
right:0 !important;
|
||||||
|
bottom:0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-form-setting-title {
|
||||||
|
float:center;
|
||||||
|
padding:10px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-maintitle {
|
||||||
|
float:center;
|
||||||
|
padding:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-form {
|
||||||
|
padding:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-kanban-palette {
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 50%;
|
||||||
|
height: 30px !important;
|
||||||
|
width: 30px !important;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 30px;
|
||||||
|
/* color: @cp_kanban-fg;
|
||||||
|
border: 1px solid fade(@cp_kanban-fg, 40%);
|
||||||
|
&.fa-check { // tick on selected color
|
||||||
|
color: @cryptpad_text_col;
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
|
||||||
|
.cp-onboardscreen-color {
|
||||||
|
width:200%;
|
||||||
|
height:20%;
|
||||||
|
margin-top: 30%;
|
||||||
|
margin-left: -65%;
|
||||||
|
/* position:absolute;
|
||||||
|
right:0;
|
||||||
|
bottom:0; */
|
||||||
|
/* margin-right:17%;
|
||||||
|
margin-bottom:10% */
|
||||||
|
}
|
|
@ -384,6 +384,7 @@ define([
|
||||||
if (offline) { return; }
|
if (offline) { return; }
|
||||||
if (color === selectedColor) { return; }
|
if (color === selectedColor) { return; }
|
||||||
selectedColor = color;
|
selectedColor = color;
|
||||||
|
console.log('clodlo', selectedColor)
|
||||||
$colors.find('.cp-kanban-palette').removeClass('fa-check');
|
$colors.find('.cp-kanban-palette').removeClass('fa-check');
|
||||||
var $col = $colors.find('.cp-kanban-palette-'+(color || 'nocolor'));
|
var $col = $colors.find('.cp-kanban-palette-'+(color || 'nocolor'));
|
||||||
$col.addClass('fa-check');
|
$col.addClass('fa-check');
|
||||||
|
|
|
@ -75,7 +75,6 @@ define([
|
||||||
|
|
||||||
// Service worker
|
// Service worker
|
||||||
if ('serviceWorker' in navigator) {
|
if ('serviceWorker' in navigator) {
|
||||||
console.log('here');
|
|
||||||
var initializing = true;
|
var initializing = true;
|
||||||
var worker;
|
var worker;
|
||||||
var postMessage = function (data) {
|
var postMessage = function (data) {
|
||||||
|
|
|
@ -37,7 +37,6 @@ onconnect = function(e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
console.log(i);
|
console.log(i);
|
||||||
var port = e.ports[0];
|
var port = e.ports[0];
|
||||||
console.log('here');
|
|
||||||
//require([
|
//require([
|
||||||
// '/common/outer/async-store.js'
|
// '/common/outer/async-store.js'
|
||||||
//], function (Store) {
|
//], function (Store) {
|
||||||
|
|
Loading…
Reference in a new issue