added avatar and simplify crypto on sharing profile

This commit is contained in:
koplenov 2025-08-19 01:34:07 +03:00
parent 5f627ca77c
commit 546a97dff7
26 changed files with 944 additions and 907 deletions

447
-/node.js
View file

@ -15529,6 +15529,99 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_avatar) = class $mol_avatar extends ($.$mol_icon) {
view_box(){
return "0 0 24 24";
}
id(){
return "";
}
path(){
return "M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0";
}
};
;
"use strict";
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
class $mol_avatar extends $.$mol_avatar {
path() {
const id = $mol_hash_string(this.id());
const p = 2.1;
const m = 2.7;
let path = '';
for (let x = 0; x < 4; ++x) {
for (let y = 0; y < 8; ++y) {
if ((id >> (x + y * 7)) & 1) {
const mxp = Math.ceil(m * x + p);
const myp = Math.ceil(m * y + p);
path += `M ${mxp} ${myp} l 0 0 ` + `M ${24 - mxp} ${myp} l 0 0 `;
}
}
}
return path;
}
}
__decorate([
$mol_mem
], $mol_avatar.prototype, "path", null);
$$.$mol_avatar = $mol_avatar;
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/avatar/avatar.view.css", "[mol_avatar] {\n\tstroke-linecap: round;\n\tstroke-width: 3.5px;\n\tfill: none;\n\tstroke: currentColor;\n\t/* width: 1.5rem;\n\theight: 1.5rem;\n\tmargin: 0 -.25rem; */\n\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\n}\n");
})($ || ($ = {}));
;
($.$mol_labeler) = class $mol_labeler extends ($.$mol_list) {
label(){
return [(this.title())];
}
Label(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (32);
(obj.sub) = () => ((this.label()));
return obj;
}
content(){
return [];
}
Content(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (24);
(obj.sub) = () => ((this.content()));
return obj;
}
rows(){
return [(this.Label()), (this.Content())];
}
};
($mol_mem(($.$mol_labeler.prototype), "Label"));
($mol_mem(($.$mol_labeler.prototype), "Content"));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/labeler/labeler.view.css", "[mol_labeler] {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tcursor: inherit;\n}\n\n[mol_labeler_label] {\n\tmin-height: 2rem;\n\tcolor: var(--mol_theme_shade);\n\tpadding: .5rem .75rem 0;\n\tgap: 0 var(--mol_gap_block);\n\tflex-wrap: wrap;\n}\n\n[mol_labeler_content] {\n\tdisplay: flex;\n\tpadding: var(--mol_gap_text);\n}\n");
})($ || ($ = {}));
;
"use strict";
; ;
($.$mol_stack) = class $mol_stack extends ($.$mol_view) {}; ($.$mol_stack) = class $mol_stack extends ($.$mol_view) {};
@ -18189,44 +18282,6 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_labeler) = class $mol_labeler extends ($.$mol_list) {
label(){
return [(this.title())];
}
Label(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (32);
(obj.sub) = () => ((this.label()));
return obj;
}
content(){
return [];
}
Content(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (24);
(obj.sub) = () => ((this.content()));
return obj;
}
rows(){
return [(this.Label()), (this.Content())];
}
};
($mol_mem(($.$mol_labeler.prototype), "Label"));
($mol_mem(($.$mol_labeler.prototype), "Content"));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/labeler/labeler.view.css", "[mol_labeler] {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tcursor: inherit;\n}\n\n[mol_labeler_label] {\n\tmin-height: 2rem;\n\tcolor: var(--mol_theme_shade);\n\tpadding: .5rem .75rem 0;\n\tgap: 0 var(--mol_gap_block);\n\tflex-wrap: wrap;\n}\n\n[mol_labeler_content] {\n\tdisplay: flex;\n\tpadding: var(--mol_gap_text);\n}\n");
})($ || ($ = {}));
;
"use strict";
; ;
($.$mol_form_field) = class $mol_form_field extends ($.$mol_labeler) { ($.$mol_form_field) = class $mol_form_field extends ($.$mol_labeler) {
name(){ name(){
@ -18284,61 +18339,6 @@ var $;
$mol_style_attach("mol/form/field/field.view.css", "[mol_form_field] {\n\talign-items: stretch;\n}\n\n[mol_form_field_bid] {\n\tcolor: var(--mol_theme_focus);\n\tdisplay: inline-block;\n\ttext-shadow: 0 0;\n}\n\n[mol_form_field_content] {\n\tborder-radius: var(--mol_gap_round);\n}\n"); $mol_style_attach("mol/form/field/field.view.css", "[mol_form_field] {\n\talign-items: stretch;\n}\n\n[mol_form_field_bid] {\n\tcolor: var(--mol_theme_focus);\n\tdisplay: inline-block;\n\ttext-shadow: 0 0;\n}\n\n[mol_form_field_content] {\n\tborder-radius: var(--mol_gap_round);\n}\n");
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_avatar) = class $mol_avatar extends ($.$mol_icon) {
view_box(){
return "0 0 24 24";
}
id(){
return "";
}
path(){
return "M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0";
}
};
;
"use strict";
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
class $mol_avatar extends $.$mol_avatar {
path() {
const id = $mol_hash_string(this.id());
const p = 2.1;
const m = 2.7;
let path = '';
for (let x = 0; x < 4; ++x) {
for (let y = 0; y < 8; ++y) {
if ((id >> (x + y * 7)) & 1) {
const mxp = Math.ceil(m * x + p);
const myp = Math.ceil(m * y + p);
path += `M ${mxp} ${myp} l 0 0 ` + `M ${24 - mxp} ${myp} l 0 0 `;
}
}
}
return path;
}
}
__decorate([
$mol_mem
], $mol_avatar.prototype, "path", null);
$$.$mol_avatar = $mol_avatar;
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/avatar/avatar.view.css", "[mol_avatar] {\n\tstroke-linecap: round;\n\tstroke-width: 3.5px;\n\tfill: none;\n\tstroke: currentColor;\n\t/* width: 1.5rem;\n\theight: 1.5rem;\n\tmargin: 0 -.25rem; */\n\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\n}\n");
})($ || ($ = {}));
; ;
($.$mol_text_list) = class $mol_text_list extends ($.$mol_text) { ($.$mol_text_list) = class $mol_text_list extends ($.$mol_text) {
type(){ type(){
@ -18487,6 +18487,41 @@ var $;
; ;
($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) { ($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) {
current_peer(){
return "";
}
Current_peer_avatar(){
const obj = new this.$.$mol_avatar();
(obj.id) = () => ((this.current_peer()));
return obj;
}
Current_profile_avatar_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш аватар:");
(obj.content) = () => ([(this.Current_peer_avatar())]);
return obj;
}
Current_peer_string(){
const obj = new this.$.$mol_string();
(obj.value) = () => ((this.current_peer()));
(obj.enabled) = () => (false);
return obj;
}
Current_profile_peer_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш id:");
(obj.content) = () => ([(this.Current_peer_string())]);
return obj;
}
Current_profile(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Текущий профиль");
(obj.content) = () => ([(this.Current_profile_avatar_labeler()), (this.Current_profile_peer_labeler())]);
return obj;
}
auth_title(){
return "Авторизация";
}
Expot_bid(){ Expot_bid(){
const obj = new this.$.$mol_text(); const obj = new this.$.$mol_text();
(obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text"))); (obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text")));
@ -18590,7 +18625,7 @@ var $;
} }
Auth_block(){ Auth_block(){
const obj = new this.$.$mol_labeler(); const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Авторизация"); (obj.title) = () => ((this.auth_title()));
(obj.content) = () => ([(this.Content())]); (obj.content) = () => ([(this.Content())]);
return obj; return obj;
} }
@ -18607,9 +18642,14 @@ var $;
return {...(super.attr()), "mol_theme": "$mol_theme_special"}; return {...(super.attr()), "mol_theme": "$mol_theme_special"};
} }
body(){ body(){
return [(this.Auth_block())]; return [(this.Current_profile()), (this.Auth_block())];
} }
}; };
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_avatar"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_avatar_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_string"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_peer_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid"));
($mol_mem(($.$hd_canary_app_profile.prototype), "password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "password"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Password"));
@ -18627,182 +18667,6 @@ var $;
($mol_mem(($.$hd_canary_app_profile.prototype), "Auth_block")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Auth_block"));
;
"use strict";
var $;
(function ($) {
function $mol_int62_string_ensure(str) {
if (typeof str !== 'string')
return null;
return $mol_int62_from_string(str) && str;
}
$.$mol_int62_string_ensure = $mol_int62_string_ensure;
$.$mol_int62_max = (2 ** 30) - 1;
$.$mol_int62_min = -(2 ** 30);
$.$mol_int62_range = $.$mol_int62_max - $.$mol_int62_min + 1;
function $mol_int62_to_string({ lo, hi }) {
lo = (lo + $.$mol_int62_range) % $.$mol_int62_range;
hi = (hi + $.$mol_int62_range) % $.$mol_int62_range;
return lo.toString(36) + '_' + hi.toString(36);
}
$.$mol_int62_to_string = $mol_int62_to_string;
function $mol_int62_from_string(str) {
const [str_lo, str_hi] = str.split('_');
const int_lo = parseInt(str_lo, 36);
const int_hi = parseInt(str_hi, 36);
if (int_lo.toString(36) !== str_lo || int_hi.toString(36) !== str_hi) {
return null;
}
return {
lo: (int_lo - $.$mol_int62_min) % $.$mol_int62_range + $.$mol_int62_min,
hi: (int_hi - $.$mol_int62_min) % $.$mol_int62_range + $.$mol_int62_min,
};
}
$.$mol_int62_from_string = $mol_int62_from_string;
function $mol_int62_compare(left_lo, left_hi, right_lo, right_hi) {
return (right_hi - left_hi) || (right_lo - left_lo);
}
$.$mol_int62_compare = $mol_int62_compare;
function $mol_int62_inc(lo, hi, max = $.$mol_int62_max) {
if (lo === max) {
return { lo: -max, hi: hi + 1 };
}
else {
return { lo: lo + 1, hi };
}
}
$.$mol_int62_inc = $mol_int62_inc;
function $mol_int62_random() {
return {
lo: Math.floor(Math.random() * $.$mol_int62_range + $.$mol_int62_min),
hi: Math.floor(Math.random() * $.$mol_int62_range + $.$mol_int62_min),
};
}
$.$mol_int62_random = $mol_int62_random;
function $mol_int62_hash_string(str) {
return $mol_int62_to_string($mol_int62_hash_buffer($mol_charset_encode(str)));
}
$.$mol_int62_hash_string = $mol_int62_hash_string;
function $mol_int62_hash_buffer(buf, seed = { lo: 0, hi: 0 }) {
let h1 = 0xdeadbeef ^ seed.lo;
let h2 = 0x41c6ce57 ^ seed.hi;
for (const byte of buf) {
h1 = Math.imul(h1 ^ byte, 2654435761);
h2 = Math.imul(h2 ^ byte, 1597334677);
}
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
return { lo: h1 << 1 >> 1, hi: h2 << 1 >> 1 };
}
$.$mol_int62_hash_buffer = $mol_int62_hash_buffer;
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
const algorithm = {
name: 'ECDSA',
hash: 'SHA-256',
namedCurve: "P-256",
};
async function $mol_crypto_auditor_pair() {
const pair = await $mol_crypto_native.subtle.generateKey(algorithm, true, ['sign', 'verify']);
return {
public: new $mol_crypto_auditor_public(pair.publicKey),
private: new $mol_crypto_auditor_private(pair.privateKey),
};
}
$.$mol_crypto_auditor_pair = $mol_crypto_auditor_pair;
class $mol_crypto_auditor_public extends Object {
native;
static size_str = 86;
static size_bin = 64;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['verify'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
}, algorithm, true, ['verify']));
}
async serial() {
const { x, y } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
]);
}
async verify(data, sign) {
return await $mol_crypto_native.subtle.verify(algorithm, this.native, sign, data);
}
}
$.$mol_crypto_auditor_public = $mol_crypto_auditor_public;
class $mol_crypto_auditor_private extends Object {
native;
static size_str = 129;
static size_bin = 96;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64))
+ $mol_base64_url_encode(serial.subarray(64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['sign'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
d: serial.slice(86, 129),
}, algorithm, true, ['sign']));
}
async serial() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y + d;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
...$mol_base64_url_decode(d),
]);
}
async sign(data) {
return await $mol_crypto_native.subtle.sign(algorithm, this.native, data);
}
async public() {
return await $mol_crypto_auditor_public.from($mol_crypto_auditor_private_to_public(await this.serial()));
}
}
$.$mol_crypto_auditor_private = $mol_crypto_auditor_private;
$.$mol_crypto_auditor_sign_size = 64;
function $mol_crypto_auditor_private_to_public(serial) {
return serial.slice(0, 86);
}
$.$mol_crypto_auditor_private_to_public = $mol_crypto_auditor_private_to_public;
})($ || ($ = {}));
; ;
"use strict"; "use strict";
var $; var $;
@ -18840,6 +18704,11 @@ var $;
: this.Export_block() : this.Export_block()
]; ];
} }
auth_title() {
return this.key_import()
? "Войти в профиль"
: "Поделиться профилем";
}
export_link() { export_link() {
return this.$.$mol_state_arg.link({ return this.$.$mol_state_arg.link({
auth: this.key_export(), auth: this.key_export(),
@ -18849,7 +18718,10 @@ var $;
return this.$.$mol_state_arg.value('auth', next) ?? null; return this.$.$mol_state_arg.value('auth', next) ?? null;
} }
peer_new() { peer_new() {
return $mol_int62_hash_string(this.$.$mol_crypto_auditor_private_to_public(this.key_new())); return $hyoo_crus_auth.from(this.key_new()).peer();
}
current_peer() {
return this.$.$hyoo_crus_auth.current().peer();
} }
import_switch() { import_switch() {
this.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new())); this.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new()));
@ -18884,10 +18756,10 @@ var $;
const password = this.password(); const password = this.password();
const app = $mol_crypto_hash($mol_charset_encode("hd_canary")); const app = $mol_crypto_hash($mol_charset_encode("hd_canary"));
const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app); const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app);
const data = $mol_base64_decode(serial); const data = $mol_base64_url_decode(serial);
const salt = $mol_crypto_hash(app).slice(0, 16); const salt = $mol_crypto_hash(app).slice(0, 16);
const closed = $mol_wire_sync(secret).decrypt(data, salt); const closed = $mol_wire_sync(secret).decrypt(data, salt);
return $mol_charset_decode(closed); return closed;
} }
catch (error) { catch (error) {
$mol_fail_log(error); $mol_fail_log(error);
@ -18898,21 +18770,26 @@ var $;
const password = this.password(); const password = this.password();
const app = $mol_crypto_hash($mol_charset_encode("hd_canary")); const app = $mol_crypto_hash($mol_charset_encode("hd_canary"));
const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app); const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app);
const data = this.$.$mol_charset_encode(this.$.$hyoo_crus_auth.current().toString());
const salt = $mol_crypto_hash(app).slice(0, 16); const salt = $mol_crypto_hash(app).slice(0, 16);
const closed = $mol_wire_sync(secret).encrypt(data, salt); const closed = $mol_wire_sync(secret).encrypt(this.$.$hyoo_crus_auth.current(), salt);
return $mol_base64_encode(closed); return $mol_base64_url_encode(closed);
} }
} }
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "content", null); ], $hd_canary_app_profile.prototype, "content", null);
__decorate([
$mol_mem
], $hd_canary_app_profile.prototype, "auth_title", null);
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "export_link", null); ], $hd_canary_app_profile.prototype, "export_link", null);
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "peer_new", null); ], $hd_canary_app_profile.prototype, "peer_new", null);
__decorate([
$mol_mem
], $hd_canary_app_profile.prototype, "current_peer", null);
__decorate([ __decorate([
$mol_action $mol_action
], $hd_canary_app_profile.prototype, "import_switch", null); ], $hd_canary_app_profile.prototype, "import_switch", null);
@ -18930,6 +18807,22 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
const { rem } = $mol_style_unit;
$mol_style_define($hd_canary_app_profile, {
Current_peer_avatar: {
width: rem(2),
height: rem(2)
}
});
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
; ;
($.$mol_icon_bird) = class $mol_icon_bird extends ($.$mol_icon) { ($.$mol_icon_bird) = class $mol_icon_bird extends ($.$mol_icon) {
path(){ path(){

File diff suppressed because one or more lines are too long

View file

@ -15520,6 +15520,99 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_avatar) = class $mol_avatar extends ($.$mol_icon) {
view_box(){
return "0 0 24 24";
}
id(){
return "";
}
path(){
return "M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0";
}
};
;
"use strict";
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
class $mol_avatar extends $.$mol_avatar {
path() {
const id = $mol_hash_string(this.id());
const p = 2.1;
const m = 2.7;
let path = '';
for (let x = 0; x < 4; ++x) {
for (let y = 0; y < 8; ++y) {
if ((id >> (x + y * 7)) & 1) {
const mxp = Math.ceil(m * x + p);
const myp = Math.ceil(m * y + p);
path += `M ${mxp} ${myp} l 0 0 ` + `M ${24 - mxp} ${myp} l 0 0 `;
}
}
}
return path;
}
}
__decorate([
$mol_mem
], $mol_avatar.prototype, "path", null);
$$.$mol_avatar = $mol_avatar;
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/avatar/avatar.view.css", "[mol_avatar] {\n\tstroke-linecap: round;\n\tstroke-width: 3.5px;\n\tfill: none;\n\tstroke: currentColor;\n\t/* width: 1.5rem;\n\theight: 1.5rem;\n\tmargin: 0 -.25rem; */\n\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\n}\n");
})($ || ($ = {}));
;
($.$mol_labeler) = class $mol_labeler extends ($.$mol_list) {
label(){
return [(this.title())];
}
Label(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (32);
(obj.sub) = () => ((this.label()));
return obj;
}
content(){
return [];
}
Content(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (24);
(obj.sub) = () => ((this.content()));
return obj;
}
rows(){
return [(this.Label()), (this.Content())];
}
};
($mol_mem(($.$mol_labeler.prototype), "Label"));
($mol_mem(($.$mol_labeler.prototype), "Content"));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/labeler/labeler.view.css", "[mol_labeler] {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tcursor: inherit;\n}\n\n[mol_labeler_label] {\n\tmin-height: 2rem;\n\tcolor: var(--mol_theme_shade);\n\tpadding: .5rem .75rem 0;\n\tgap: 0 var(--mol_gap_block);\n\tflex-wrap: wrap;\n}\n\n[mol_labeler_content] {\n\tdisplay: flex;\n\tpadding: var(--mol_gap_text);\n}\n");
})($ || ($ = {}));
;
"use strict";
; ;
($.$mol_stack) = class $mol_stack extends ($.$mol_view) {}; ($.$mol_stack) = class $mol_stack extends ($.$mol_view) {};
@ -18180,44 +18273,6 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_labeler) = class $mol_labeler extends ($.$mol_list) {
label(){
return [(this.title())];
}
Label(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (32);
(obj.sub) = () => ((this.label()));
return obj;
}
content(){
return [];
}
Content(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (24);
(obj.sub) = () => ((this.content()));
return obj;
}
rows(){
return [(this.Label()), (this.Content())];
}
};
($mol_mem(($.$mol_labeler.prototype), "Label"));
($mol_mem(($.$mol_labeler.prototype), "Content"));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/labeler/labeler.view.css", "[mol_labeler] {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tcursor: inherit;\n}\n\n[mol_labeler_label] {\n\tmin-height: 2rem;\n\tcolor: var(--mol_theme_shade);\n\tpadding: .5rem .75rem 0;\n\tgap: 0 var(--mol_gap_block);\n\tflex-wrap: wrap;\n}\n\n[mol_labeler_content] {\n\tdisplay: flex;\n\tpadding: var(--mol_gap_text);\n}\n");
})($ || ($ = {}));
;
"use strict";
; ;
($.$mol_form_field) = class $mol_form_field extends ($.$mol_labeler) { ($.$mol_form_field) = class $mol_form_field extends ($.$mol_labeler) {
name(){ name(){
@ -18275,61 +18330,6 @@ var $;
$mol_style_attach("mol/form/field/field.view.css", "[mol_form_field] {\n\talign-items: stretch;\n}\n\n[mol_form_field_bid] {\n\tcolor: var(--mol_theme_focus);\n\tdisplay: inline-block;\n\ttext-shadow: 0 0;\n}\n\n[mol_form_field_content] {\n\tborder-radius: var(--mol_gap_round);\n}\n"); $mol_style_attach("mol/form/field/field.view.css", "[mol_form_field] {\n\talign-items: stretch;\n}\n\n[mol_form_field_bid] {\n\tcolor: var(--mol_theme_focus);\n\tdisplay: inline-block;\n\ttext-shadow: 0 0;\n}\n\n[mol_form_field_content] {\n\tborder-radius: var(--mol_gap_round);\n}\n");
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_avatar) = class $mol_avatar extends ($.$mol_icon) {
view_box(){
return "0 0 24 24";
}
id(){
return "";
}
path(){
return "M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0";
}
};
;
"use strict";
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
class $mol_avatar extends $.$mol_avatar {
path() {
const id = $mol_hash_string(this.id());
const p = 2.1;
const m = 2.7;
let path = '';
for (let x = 0; x < 4; ++x) {
for (let y = 0; y < 8; ++y) {
if ((id >> (x + y * 7)) & 1) {
const mxp = Math.ceil(m * x + p);
const myp = Math.ceil(m * y + p);
path += `M ${mxp} ${myp} l 0 0 ` + `M ${24 - mxp} ${myp} l 0 0 `;
}
}
}
return path;
}
}
__decorate([
$mol_mem
], $mol_avatar.prototype, "path", null);
$$.$mol_avatar = $mol_avatar;
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/avatar/avatar.view.css", "[mol_avatar] {\n\tstroke-linecap: round;\n\tstroke-width: 3.5px;\n\tfill: none;\n\tstroke: currentColor;\n\t/* width: 1.5rem;\n\theight: 1.5rem;\n\tmargin: 0 -.25rem; */\n\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\n}\n");
})($ || ($ = {}));
; ;
($.$mol_text_list) = class $mol_text_list extends ($.$mol_text) { ($.$mol_text_list) = class $mol_text_list extends ($.$mol_text) {
type(){ type(){
@ -18478,6 +18478,41 @@ var $;
; ;
($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) { ($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) {
current_peer(){
return "";
}
Current_peer_avatar(){
const obj = new this.$.$mol_avatar();
(obj.id) = () => ((this.current_peer()));
return obj;
}
Current_profile_avatar_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш аватар:");
(obj.content) = () => ([(this.Current_peer_avatar())]);
return obj;
}
Current_peer_string(){
const obj = new this.$.$mol_string();
(obj.value) = () => ((this.current_peer()));
(obj.enabled) = () => (false);
return obj;
}
Current_profile_peer_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш id:");
(obj.content) = () => ([(this.Current_peer_string())]);
return obj;
}
Current_profile(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Текущий профиль");
(obj.content) = () => ([(this.Current_profile_avatar_labeler()), (this.Current_profile_peer_labeler())]);
return obj;
}
auth_title(){
return "Авторизация";
}
Expot_bid(){ Expot_bid(){
const obj = new this.$.$mol_text(); const obj = new this.$.$mol_text();
(obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text"))); (obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text")));
@ -18581,7 +18616,7 @@ var $;
} }
Auth_block(){ Auth_block(){
const obj = new this.$.$mol_labeler(); const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Авторизация"); (obj.title) = () => ((this.auth_title()));
(obj.content) = () => ([(this.Content())]); (obj.content) = () => ([(this.Content())]);
return obj; return obj;
} }
@ -18598,9 +18633,14 @@ var $;
return {...(super.attr()), "mol_theme": "$mol_theme_special"}; return {...(super.attr()), "mol_theme": "$mol_theme_special"};
} }
body(){ body(){
return [(this.Auth_block())]; return [(this.Current_profile()), (this.Auth_block())];
} }
}; };
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_avatar"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_avatar_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_string"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_peer_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid"));
($mol_mem(($.$hd_canary_app_profile.prototype), "password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "password"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Password"));
@ -18618,182 +18658,6 @@ var $;
($mol_mem(($.$hd_canary_app_profile.prototype), "Auth_block")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Auth_block"));
;
"use strict";
var $;
(function ($) {
function $mol_int62_string_ensure(str) {
if (typeof str !== 'string')
return null;
return $mol_int62_from_string(str) && str;
}
$.$mol_int62_string_ensure = $mol_int62_string_ensure;
$.$mol_int62_max = (2 ** 30) - 1;
$.$mol_int62_min = -(2 ** 30);
$.$mol_int62_range = $.$mol_int62_max - $.$mol_int62_min + 1;
function $mol_int62_to_string({ lo, hi }) {
lo = (lo + $.$mol_int62_range) % $.$mol_int62_range;
hi = (hi + $.$mol_int62_range) % $.$mol_int62_range;
return lo.toString(36) + '_' + hi.toString(36);
}
$.$mol_int62_to_string = $mol_int62_to_string;
function $mol_int62_from_string(str) {
const [str_lo, str_hi] = str.split('_');
const int_lo = parseInt(str_lo, 36);
const int_hi = parseInt(str_hi, 36);
if (int_lo.toString(36) !== str_lo || int_hi.toString(36) !== str_hi) {
return null;
}
return {
lo: (int_lo - $.$mol_int62_min) % $.$mol_int62_range + $.$mol_int62_min,
hi: (int_hi - $.$mol_int62_min) % $.$mol_int62_range + $.$mol_int62_min,
};
}
$.$mol_int62_from_string = $mol_int62_from_string;
function $mol_int62_compare(left_lo, left_hi, right_lo, right_hi) {
return (right_hi - left_hi) || (right_lo - left_lo);
}
$.$mol_int62_compare = $mol_int62_compare;
function $mol_int62_inc(lo, hi, max = $.$mol_int62_max) {
if (lo === max) {
return { lo: -max, hi: hi + 1 };
}
else {
return { lo: lo + 1, hi };
}
}
$.$mol_int62_inc = $mol_int62_inc;
function $mol_int62_random() {
return {
lo: Math.floor(Math.random() * $.$mol_int62_range + $.$mol_int62_min),
hi: Math.floor(Math.random() * $.$mol_int62_range + $.$mol_int62_min),
};
}
$.$mol_int62_random = $mol_int62_random;
function $mol_int62_hash_string(str) {
return $mol_int62_to_string($mol_int62_hash_buffer($mol_charset_encode(str)));
}
$.$mol_int62_hash_string = $mol_int62_hash_string;
function $mol_int62_hash_buffer(buf, seed = { lo: 0, hi: 0 }) {
let h1 = 0xdeadbeef ^ seed.lo;
let h2 = 0x41c6ce57 ^ seed.hi;
for (const byte of buf) {
h1 = Math.imul(h1 ^ byte, 2654435761);
h2 = Math.imul(h2 ^ byte, 1597334677);
}
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
return { lo: h1 << 1 >> 1, hi: h2 << 1 >> 1 };
}
$.$mol_int62_hash_buffer = $mol_int62_hash_buffer;
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
const algorithm = {
name: 'ECDSA',
hash: 'SHA-256',
namedCurve: "P-256",
};
async function $mol_crypto_auditor_pair() {
const pair = await $mol_crypto_native.subtle.generateKey(algorithm, true, ['sign', 'verify']);
return {
public: new $mol_crypto_auditor_public(pair.publicKey),
private: new $mol_crypto_auditor_private(pair.privateKey),
};
}
$.$mol_crypto_auditor_pair = $mol_crypto_auditor_pair;
class $mol_crypto_auditor_public extends Object {
native;
static size_str = 86;
static size_bin = 64;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['verify'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
}, algorithm, true, ['verify']));
}
async serial() {
const { x, y } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
]);
}
async verify(data, sign) {
return await $mol_crypto_native.subtle.verify(algorithm, this.native, sign, data);
}
}
$.$mol_crypto_auditor_public = $mol_crypto_auditor_public;
class $mol_crypto_auditor_private extends Object {
native;
static size_str = 129;
static size_bin = 96;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64))
+ $mol_base64_url_encode(serial.subarray(64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['sign'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
d: serial.slice(86, 129),
}, algorithm, true, ['sign']));
}
async serial() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y + d;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
...$mol_base64_url_decode(d),
]);
}
async sign(data) {
return await $mol_crypto_native.subtle.sign(algorithm, this.native, data);
}
async public() {
return await $mol_crypto_auditor_public.from($mol_crypto_auditor_private_to_public(await this.serial()));
}
}
$.$mol_crypto_auditor_private = $mol_crypto_auditor_private;
$.$mol_crypto_auditor_sign_size = 64;
function $mol_crypto_auditor_private_to_public(serial) {
return serial.slice(0, 86);
}
$.$mol_crypto_auditor_private_to_public = $mol_crypto_auditor_private_to_public;
})($ || ($ = {}));
; ;
"use strict"; "use strict";
var $; var $;
@ -18831,6 +18695,11 @@ var $;
: this.Export_block() : this.Export_block()
]; ];
} }
auth_title() {
return this.key_import()
? "Войти в профиль"
: "Поделиться профилем";
}
export_link() { export_link() {
return this.$.$mol_state_arg.link({ return this.$.$mol_state_arg.link({
auth: this.key_export(), auth: this.key_export(),
@ -18840,7 +18709,10 @@ var $;
return this.$.$mol_state_arg.value('auth', next) ?? null; return this.$.$mol_state_arg.value('auth', next) ?? null;
} }
peer_new() { peer_new() {
return $mol_int62_hash_string(this.$.$mol_crypto_auditor_private_to_public(this.key_new())); return $hyoo_crus_auth.from(this.key_new()).peer();
}
current_peer() {
return this.$.$hyoo_crus_auth.current().peer();
} }
import_switch() { import_switch() {
this.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new())); this.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new()));
@ -18875,10 +18747,10 @@ var $;
const password = this.password(); const password = this.password();
const app = $mol_crypto_hash($mol_charset_encode("hd_canary")); const app = $mol_crypto_hash($mol_charset_encode("hd_canary"));
const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app); const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app);
const data = $mol_base64_decode(serial); const data = $mol_base64_url_decode(serial);
const salt = $mol_crypto_hash(app).slice(0, 16); const salt = $mol_crypto_hash(app).slice(0, 16);
const closed = $mol_wire_sync(secret).decrypt(data, salt); const closed = $mol_wire_sync(secret).decrypt(data, salt);
return $mol_charset_decode(closed); return closed;
} }
catch (error) { catch (error) {
$mol_fail_log(error); $mol_fail_log(error);
@ -18889,21 +18761,26 @@ var $;
const password = this.password(); const password = this.password();
const app = $mol_crypto_hash($mol_charset_encode("hd_canary")); const app = $mol_crypto_hash($mol_charset_encode("hd_canary"));
const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app); const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app);
const data = this.$.$mol_charset_encode(this.$.$hyoo_crus_auth.current().toString());
const salt = $mol_crypto_hash(app).slice(0, 16); const salt = $mol_crypto_hash(app).slice(0, 16);
const closed = $mol_wire_sync(secret).encrypt(data, salt); const closed = $mol_wire_sync(secret).encrypt(this.$.$hyoo_crus_auth.current(), salt);
return $mol_base64_encode(closed); return $mol_base64_url_encode(closed);
} }
} }
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "content", null); ], $hd_canary_app_profile.prototype, "content", null);
__decorate([
$mol_mem
], $hd_canary_app_profile.prototype, "auth_title", null);
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "export_link", null); ], $hd_canary_app_profile.prototype, "export_link", null);
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "peer_new", null); ], $hd_canary_app_profile.prototype, "peer_new", null);
__decorate([
$mol_mem
], $hd_canary_app_profile.prototype, "current_peer", null);
__decorate([ __decorate([
$mol_action $mol_action
], $hd_canary_app_profile.prototype, "import_switch", null); ], $hd_canary_app_profile.prototype, "import_switch", null);
@ -18921,6 +18798,22 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
const { rem } = $mol_style_unit;
$mol_style_define($hd_canary_app_profile, {
Current_peer_avatar: {
width: rem(2),
height: rem(2)
}
});
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
; ;
($.$mol_icon_bird) = class $mol_icon_bird extends ($.$mol_icon) { ($.$mol_icon_bird) = class $mol_icon_bird extends ($.$mol_icon) {
path(){ path(){
@ -22894,6 +22787,112 @@ var $;
}); });
})($ || ($ = {})); })($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
const algorithm = {
name: 'ECDSA',
hash: 'SHA-256',
namedCurve: "P-256",
};
async function $mol_crypto_auditor_pair() {
const pair = await $mol_crypto_native.subtle.generateKey(algorithm, true, ['sign', 'verify']);
return {
public: new $mol_crypto_auditor_public(pair.publicKey),
private: new $mol_crypto_auditor_private(pair.privateKey),
};
}
$.$mol_crypto_auditor_pair = $mol_crypto_auditor_pair;
class $mol_crypto_auditor_public extends Object {
native;
static size_str = 86;
static size_bin = 64;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['verify'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
}, algorithm, true, ['verify']));
}
async serial() {
const { x, y } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
]);
}
async verify(data, sign) {
return await $mol_crypto_native.subtle.verify(algorithm, this.native, sign, data);
}
}
$.$mol_crypto_auditor_public = $mol_crypto_auditor_public;
class $mol_crypto_auditor_private extends Object {
native;
static size_str = 129;
static size_bin = 96;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64))
+ $mol_base64_url_encode(serial.subarray(64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['sign'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
d: serial.slice(86, 129),
}, algorithm, true, ['sign']));
}
async serial() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y + d;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
...$mol_base64_url_decode(d),
]);
}
async sign(data) {
return await $mol_crypto_native.subtle.sign(algorithm, this.native, data);
}
async public() {
return await $mol_crypto_auditor_public.from($mol_crypto_auditor_private_to_public(await this.serial()));
}
}
$.$mol_crypto_auditor_private = $mol_crypto_auditor_private;
$.$mol_crypto_auditor_sign_size = 64;
function $mol_crypto_auditor_private_to_public(serial) {
return serial.slice(0, 86);
}
$.$mol_crypto_auditor_private_to_public = $mol_crypto_auditor_private_to_public;
})($ || ($ = {}));
; ;
"use strict"; "use strict";
var $; var $;

File diff suppressed because one or more lines are too long

447
-/web.js
View file

@ -14326,6 +14326,99 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_avatar) = class $mol_avatar extends ($.$mol_icon) {
view_box(){
return "0 0 24 24";
}
id(){
return "";
}
path(){
return "M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0";
}
};
;
"use strict";
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
class $mol_avatar extends $.$mol_avatar {
path() {
const id = $mol_hash_string(this.id());
const p = 2.1;
const m = 2.7;
let path = '';
for (let x = 0; x < 4; ++x) {
for (let y = 0; y < 8; ++y) {
if ((id >> (x + y * 7)) & 1) {
const mxp = Math.ceil(m * x + p);
const myp = Math.ceil(m * y + p);
path += `M ${mxp} ${myp} l 0 0 ` + `M ${24 - mxp} ${myp} l 0 0 `;
}
}
}
return path;
}
}
__decorate([
$mol_mem
], $mol_avatar.prototype, "path", null);
$$.$mol_avatar = $mol_avatar;
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/avatar/avatar.view.css", "[mol_avatar] {\n\tstroke-linecap: round;\n\tstroke-width: 3.5px;\n\tfill: none;\n\tstroke: currentColor;\n\t/* width: 1.5rem;\n\theight: 1.5rem;\n\tmargin: 0 -.25rem; */\n\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\n}\n");
})($ || ($ = {}));
;
($.$mol_labeler) = class $mol_labeler extends ($.$mol_list) {
label(){
return [(this.title())];
}
Label(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (32);
(obj.sub) = () => ((this.label()));
return obj;
}
content(){
return [];
}
Content(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (24);
(obj.sub) = () => ((this.content()));
return obj;
}
rows(){
return [(this.Label()), (this.Content())];
}
};
($mol_mem(($.$mol_labeler.prototype), "Label"));
($mol_mem(($.$mol_labeler.prototype), "Content"));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/labeler/labeler.view.css", "[mol_labeler] {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tcursor: inherit;\n}\n\n[mol_labeler_label] {\n\tmin-height: 2rem;\n\tcolor: var(--mol_theme_shade);\n\tpadding: .5rem .75rem 0;\n\tgap: 0 var(--mol_gap_block);\n\tflex-wrap: wrap;\n}\n\n[mol_labeler_content] {\n\tdisplay: flex;\n\tpadding: var(--mol_gap_text);\n}\n");
})($ || ($ = {}));
;
"use strict";
; ;
($.$mol_stack) = class $mol_stack extends ($.$mol_view) {}; ($.$mol_stack) = class $mol_stack extends ($.$mol_view) {};
@ -16986,44 +17079,6 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_labeler) = class $mol_labeler extends ($.$mol_list) {
label(){
return [(this.title())];
}
Label(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (32);
(obj.sub) = () => ((this.label()));
return obj;
}
content(){
return [];
}
Content(){
const obj = new this.$.$mol_view();
(obj.minimal_height) = () => (24);
(obj.sub) = () => ((this.content()));
return obj;
}
rows(){
return [(this.Label()), (this.Content())];
}
};
($mol_mem(($.$mol_labeler.prototype), "Label"));
($mol_mem(($.$mol_labeler.prototype), "Content"));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/labeler/labeler.view.css", "[mol_labeler] {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tcursor: inherit;\n}\n\n[mol_labeler_label] {\n\tmin-height: 2rem;\n\tcolor: var(--mol_theme_shade);\n\tpadding: .5rem .75rem 0;\n\tgap: 0 var(--mol_gap_block);\n\tflex-wrap: wrap;\n}\n\n[mol_labeler_content] {\n\tdisplay: flex;\n\tpadding: var(--mol_gap_text);\n}\n");
})($ || ($ = {}));
;
"use strict";
; ;
($.$mol_form_field) = class $mol_form_field extends ($.$mol_labeler) { ($.$mol_form_field) = class $mol_form_field extends ($.$mol_labeler) {
name(){ name(){
@ -17081,61 +17136,6 @@ var $;
$mol_style_attach("mol/form/field/field.view.css", "[mol_form_field] {\n\talign-items: stretch;\n}\n\n[mol_form_field_bid] {\n\tcolor: var(--mol_theme_focus);\n\tdisplay: inline-block;\n\ttext-shadow: 0 0;\n}\n\n[mol_form_field_content] {\n\tborder-radius: var(--mol_gap_round);\n}\n"); $mol_style_attach("mol/form/field/field.view.css", "[mol_form_field] {\n\talign-items: stretch;\n}\n\n[mol_form_field_bid] {\n\tcolor: var(--mol_theme_focus);\n\tdisplay: inline-block;\n\ttext-shadow: 0 0;\n}\n\n[mol_form_field_content] {\n\tborder-radius: var(--mol_gap_round);\n}\n");
})($ || ($ = {})); })($ || ($ = {}));
;
($.$mol_avatar) = class $mol_avatar extends ($.$mol_icon) {
view_box(){
return "0 0 24 24";
}
id(){
return "";
}
path(){
return "M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0";
}
};
;
"use strict";
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
class $mol_avatar extends $.$mol_avatar {
path() {
const id = $mol_hash_string(this.id());
const p = 2.1;
const m = 2.7;
let path = '';
for (let x = 0; x < 4; ++x) {
for (let y = 0; y < 8; ++y) {
if ((id >> (x + y * 7)) & 1) {
const mxp = Math.ceil(m * x + p);
const myp = Math.ceil(m * y + p);
path += `M ${mxp} ${myp} l 0 0 ` + `M ${24 - mxp} ${myp} l 0 0 `;
}
}
}
return path;
}
}
__decorate([
$mol_mem
], $mol_avatar.prototype, "path", null);
$$.$mol_avatar = $mol_avatar;
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
$mol_style_attach("mol/avatar/avatar.view.css", "[mol_avatar] {\n\tstroke-linecap: round;\n\tstroke-width: 3.5px;\n\tfill: none;\n\tstroke: currentColor;\n\t/* width: 1.5rem;\n\theight: 1.5rem;\n\tmargin: 0 -.25rem; */\n\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\n}\n");
})($ || ($ = {}));
; ;
($.$mol_text_list) = class $mol_text_list extends ($.$mol_text) { ($.$mol_text_list) = class $mol_text_list extends ($.$mol_text) {
type(){ type(){
@ -17284,6 +17284,41 @@ var $;
; ;
($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) { ($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) {
current_peer(){
return "";
}
Current_peer_avatar(){
const obj = new this.$.$mol_avatar();
(obj.id) = () => ((this.current_peer()));
return obj;
}
Current_profile_avatar_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш аватар:");
(obj.content) = () => ([(this.Current_peer_avatar())]);
return obj;
}
Current_peer_string(){
const obj = new this.$.$mol_string();
(obj.value) = () => ((this.current_peer()));
(obj.enabled) = () => (false);
return obj;
}
Current_profile_peer_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш id:");
(obj.content) = () => ([(this.Current_peer_string())]);
return obj;
}
Current_profile(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Текущий профиль");
(obj.content) = () => ([(this.Current_profile_avatar_labeler()), (this.Current_profile_peer_labeler())]);
return obj;
}
auth_title(){
return "Авторизация";
}
Expot_bid(){ Expot_bid(){
const obj = new this.$.$mol_text(); const obj = new this.$.$mol_text();
(obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text"))); (obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text")));
@ -17387,7 +17422,7 @@ var $;
} }
Auth_block(){ Auth_block(){
const obj = new this.$.$mol_labeler(); const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Авторизация"); (obj.title) = () => ((this.auth_title()));
(obj.content) = () => ([(this.Content())]); (obj.content) = () => ([(this.Content())]);
return obj; return obj;
} }
@ -17404,9 +17439,14 @@ var $;
return {...(super.attr()), "mol_theme": "$mol_theme_special"}; return {...(super.attr()), "mol_theme": "$mol_theme_special"};
} }
body(){ body(){
return [(this.Auth_block())]; return [(this.Current_profile()), (this.Auth_block())];
} }
}; };
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_avatar"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_avatar_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_string"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_peer_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid"));
($mol_mem(($.$hd_canary_app_profile.prototype), "password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "password"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Password"));
@ -17424,182 +17464,6 @@ var $;
($mol_mem(($.$hd_canary_app_profile.prototype), "Auth_block")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Auth_block"));
;
"use strict";
var $;
(function ($) {
function $mol_int62_string_ensure(str) {
if (typeof str !== 'string')
return null;
return $mol_int62_from_string(str) && str;
}
$.$mol_int62_string_ensure = $mol_int62_string_ensure;
$.$mol_int62_max = (2 ** 30) - 1;
$.$mol_int62_min = -(2 ** 30);
$.$mol_int62_range = $.$mol_int62_max - $.$mol_int62_min + 1;
function $mol_int62_to_string({ lo, hi }) {
lo = (lo + $.$mol_int62_range) % $.$mol_int62_range;
hi = (hi + $.$mol_int62_range) % $.$mol_int62_range;
return lo.toString(36) + '_' + hi.toString(36);
}
$.$mol_int62_to_string = $mol_int62_to_string;
function $mol_int62_from_string(str) {
const [str_lo, str_hi] = str.split('_');
const int_lo = parseInt(str_lo, 36);
const int_hi = parseInt(str_hi, 36);
if (int_lo.toString(36) !== str_lo || int_hi.toString(36) !== str_hi) {
return null;
}
return {
lo: (int_lo - $.$mol_int62_min) % $.$mol_int62_range + $.$mol_int62_min,
hi: (int_hi - $.$mol_int62_min) % $.$mol_int62_range + $.$mol_int62_min,
};
}
$.$mol_int62_from_string = $mol_int62_from_string;
function $mol_int62_compare(left_lo, left_hi, right_lo, right_hi) {
return (right_hi - left_hi) || (right_lo - left_lo);
}
$.$mol_int62_compare = $mol_int62_compare;
function $mol_int62_inc(lo, hi, max = $.$mol_int62_max) {
if (lo === max) {
return { lo: -max, hi: hi + 1 };
}
else {
return { lo: lo + 1, hi };
}
}
$.$mol_int62_inc = $mol_int62_inc;
function $mol_int62_random() {
return {
lo: Math.floor(Math.random() * $.$mol_int62_range + $.$mol_int62_min),
hi: Math.floor(Math.random() * $.$mol_int62_range + $.$mol_int62_min),
};
}
$.$mol_int62_random = $mol_int62_random;
function $mol_int62_hash_string(str) {
return $mol_int62_to_string($mol_int62_hash_buffer($mol_charset_encode(str)));
}
$.$mol_int62_hash_string = $mol_int62_hash_string;
function $mol_int62_hash_buffer(buf, seed = { lo: 0, hi: 0 }) {
let h1 = 0xdeadbeef ^ seed.lo;
let h2 = 0x41c6ce57 ^ seed.hi;
for (const byte of buf) {
h1 = Math.imul(h1 ^ byte, 2654435761);
h2 = Math.imul(h2 ^ byte, 1597334677);
}
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
return { lo: h1 << 1 >> 1, hi: h2 << 1 >> 1 };
}
$.$mol_int62_hash_buffer = $mol_int62_hash_buffer;
})($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
const algorithm = {
name: 'ECDSA',
hash: 'SHA-256',
namedCurve: "P-256",
};
async function $mol_crypto_auditor_pair() {
const pair = await $mol_crypto_native.subtle.generateKey(algorithm, true, ['sign', 'verify']);
return {
public: new $mol_crypto_auditor_public(pair.publicKey),
private: new $mol_crypto_auditor_private(pair.privateKey),
};
}
$.$mol_crypto_auditor_pair = $mol_crypto_auditor_pair;
class $mol_crypto_auditor_public extends Object {
native;
static size_str = 86;
static size_bin = 64;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['verify'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
}, algorithm, true, ['verify']));
}
async serial() {
const { x, y } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
]);
}
async verify(data, sign) {
return await $mol_crypto_native.subtle.verify(algorithm, this.native, sign, data);
}
}
$.$mol_crypto_auditor_public = $mol_crypto_auditor_public;
class $mol_crypto_auditor_private extends Object {
native;
static size_str = 129;
static size_bin = 96;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64))
+ $mol_base64_url_encode(serial.subarray(64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['sign'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
d: serial.slice(86, 129),
}, algorithm, true, ['sign']));
}
async serial() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y + d;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
...$mol_base64_url_decode(d),
]);
}
async sign(data) {
return await $mol_crypto_native.subtle.sign(algorithm, this.native, data);
}
async public() {
return await $mol_crypto_auditor_public.from($mol_crypto_auditor_private_to_public(await this.serial()));
}
}
$.$mol_crypto_auditor_private = $mol_crypto_auditor_private;
$.$mol_crypto_auditor_sign_size = 64;
function $mol_crypto_auditor_private_to_public(serial) {
return serial.slice(0, 86);
}
$.$mol_crypto_auditor_private_to_public = $mol_crypto_auditor_private_to_public;
})($ || ($ = {}));
; ;
"use strict"; "use strict";
var $; var $;
@ -17637,6 +17501,11 @@ var $;
: this.Export_block() : this.Export_block()
]; ];
} }
auth_title() {
return this.key_import()
? "Войти в профиль"
: "Поделиться профилем";
}
export_link() { export_link() {
return this.$.$mol_state_arg.link({ return this.$.$mol_state_arg.link({
auth: this.key_export(), auth: this.key_export(),
@ -17646,7 +17515,10 @@ var $;
return this.$.$mol_state_arg.value('auth', next) ?? null; return this.$.$mol_state_arg.value('auth', next) ?? null;
} }
peer_new() { peer_new() {
return $mol_int62_hash_string(this.$.$mol_crypto_auditor_private_to_public(this.key_new())); return $hyoo_crus_auth.from(this.key_new()).peer();
}
current_peer() {
return this.$.$hyoo_crus_auth.current().peer();
} }
import_switch() { import_switch() {
this.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new())); this.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new()));
@ -17681,10 +17553,10 @@ var $;
const password = this.password(); const password = this.password();
const app = $mol_crypto_hash($mol_charset_encode("hd_canary")); const app = $mol_crypto_hash($mol_charset_encode("hd_canary"));
const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app); const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app);
const data = $mol_base64_decode(serial); const data = $mol_base64_url_decode(serial);
const salt = $mol_crypto_hash(app).slice(0, 16); const salt = $mol_crypto_hash(app).slice(0, 16);
const closed = $mol_wire_sync(secret).decrypt(data, salt); const closed = $mol_wire_sync(secret).decrypt(data, salt);
return $mol_charset_decode(closed); return closed;
} }
catch (error) { catch (error) {
$mol_fail_log(error); $mol_fail_log(error);
@ -17695,21 +17567,26 @@ var $;
const password = this.password(); const password = this.password();
const app = $mol_crypto_hash($mol_charset_encode("hd_canary")); const app = $mol_crypto_hash($mol_charset_encode("hd_canary"));
const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app); const secret = $mol_wire_sync($mol_crypto_sacred_pass)(password, app);
const data = this.$.$mol_charset_encode(this.$.$hyoo_crus_auth.current().toString());
const salt = $mol_crypto_hash(app).slice(0, 16); const salt = $mol_crypto_hash(app).slice(0, 16);
const closed = $mol_wire_sync(secret).encrypt(data, salt); const closed = $mol_wire_sync(secret).encrypt(this.$.$hyoo_crus_auth.current(), salt);
return $mol_base64_encode(closed); return $mol_base64_url_encode(closed);
} }
} }
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "content", null); ], $hd_canary_app_profile.prototype, "content", null);
__decorate([
$mol_mem
], $hd_canary_app_profile.prototype, "auth_title", null);
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "export_link", null); ], $hd_canary_app_profile.prototype, "export_link", null);
__decorate([ __decorate([
$mol_mem $mol_mem
], $hd_canary_app_profile.prototype, "peer_new", null); ], $hd_canary_app_profile.prototype, "peer_new", null);
__decorate([
$mol_mem
], $hd_canary_app_profile.prototype, "current_peer", null);
__decorate([ __decorate([
$mol_action $mol_action
], $hd_canary_app_profile.prototype, "import_switch", null); ], $hd_canary_app_profile.prototype, "import_switch", null);
@ -17727,6 +17604,22 @@ var $;
})($$ = $.$$ || ($.$$ = {})); })($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {})); })($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
var $$;
(function ($$) {
const { rem } = $mol_style_unit;
$mol_style_define($hd_canary_app_profile, {
Current_peer_avatar: {
width: rem(2),
height: rem(2)
}
});
})($$ = $.$$ || ($.$$ = {}));
})($ || ($ = {}));
; ;
($.$mol_icon_bird) = class $mol_icon_bird extends ($.$mol_icon) { ($.$mol_icon_bird) = class $mol_icon_bird extends ($.$mol_icon) {
path(){ path(){

File diff suppressed because one or more lines are too long

View file

@ -4674,6 +4674,112 @@ var $;
}); });
})($ || ($ = {})); })($ || ($ = {}));
;
"use strict";
var $;
(function ($) {
const algorithm = {
name: 'ECDSA',
hash: 'SHA-256',
namedCurve: "P-256",
};
async function $mol_crypto_auditor_pair() {
const pair = await $mol_crypto_native.subtle.generateKey(algorithm, true, ['sign', 'verify']);
return {
public: new $mol_crypto_auditor_public(pair.publicKey),
private: new $mol_crypto_auditor_private(pair.privateKey),
};
}
$.$mol_crypto_auditor_pair = $mol_crypto_auditor_pair;
class $mol_crypto_auditor_public extends Object {
native;
static size_str = 86;
static size_bin = 64;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['verify'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
}, algorithm, true, ['verify']));
}
async serial() {
const { x, y } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
]);
}
async verify(data, sign) {
return await $mol_crypto_native.subtle.verify(algorithm, this.native, sign, data);
}
}
$.$mol_crypto_auditor_public = $mol_crypto_auditor_public;
class $mol_crypto_auditor_private extends Object {
native;
static size_str = 129;
static size_bin = 96;
constructor(native) {
super();
this.native = native;
}
static async from(serial) {
if (typeof serial !== 'string') {
serial = $mol_base64_url_encode(serial.subarray(0, 32))
+ $mol_base64_url_encode(serial.subarray(32, 64))
+ $mol_base64_url_encode(serial.subarray(64));
}
return new this(await $mol_crypto_native.subtle.importKey('jwk', {
crv: "P-256",
ext: true,
key_ops: ['sign'],
kty: "EC",
x: serial.slice(0, 43),
y: serial.slice(43, 86),
d: serial.slice(86, 129),
}, algorithm, true, ['sign']));
}
async serial() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return x + y + d;
}
async toArray() {
const { x, y, d } = await $mol_crypto_native.subtle.exportKey('jwk', this.native);
return new Uint8Array([
...$mol_base64_url_decode(x),
...$mol_base64_url_decode(y),
...$mol_base64_url_decode(d),
]);
}
async sign(data) {
return await $mol_crypto_native.subtle.sign(algorithm, this.native, data);
}
async public() {
return await $mol_crypto_auditor_public.from($mol_crypto_auditor_private_to_public(await this.serial()));
}
}
$.$mol_crypto_auditor_private = $mol_crypto_auditor_private;
$.$mol_crypto_auditor_sign_size = 64;
function $mol_crypto_auditor_private_to_public(serial) {
return serial.slice(0, 86);
}
$.$mol_crypto_auditor_private_to_public = $mol_crypto_auditor_private_to_public;
})($ || ($ = {}));
; ;
"use strict"; "use strict";
var $; var $;

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,13 @@
declare namespace $ { declare namespace $ {
export class $hd_canary_app extends $mol_book2_catalog { export class $hd_canary_app extends $mol_book2_catalog {
Theme( ): $mol_theme_auto
Lighter( ): $mol_lights_toggle
List( ): $hd_canary_app_monitor List( ): $hd_canary_app_monitor
Profile( ): $hd_canary_app_profile Profile( ): $hd_canary_app_profile
plugins( ): readonly(any)[]
Menu_logo( ): $mol_icon_bird
menu_tools( ): readonly(any)[]
menu_title( ): string menu_title( ): string
spreads( ): Record<string, $mol_view> spreads( ): Record<string, $mol_view>
} }

View file

@ -3,7 +3,7 @@
"sources": [ "sources": [
"hd/canary/app/app.view.tree" "hd/canary/app/app.view.tree"
], ],
"mappings": "AAAA;AAAA;AAAA,AAAA,4BAAe,2BAAf;AAGa,AAAA,WAAK;AACL,AAAA,cAAQ;AAHpB,AAAA,iBAAc;AACd,AAAA,cAAQ;AAFT;AAAA;AAAA;", "mappings": "AAAA;AAAA;AAAA,AAAA,4BAAe,2BAAf;AAEK,AAAA,YAAM;AAGN,AAAA,cAAQ;AAGA,AAAA,WAAK;AACL,AAAA,cAAQ;AARpB,AAAA,cAAQ;AAER,AAAA,gBAAU;AACV,AAAA,iBAAW;AAEX,AAAA,iBAAc;AACd,AAAA,cAAQ;AAPT;AAAA;AAAA;",
"file": "app.view.tree.d.ts", "file": "app.view.tree.d.ts",
"sourceRoot": "../../../.." "sourceRoot": "../../../.."
} }

View file

@ -1,4 +1,12 @@
($.$hd_canary_app) = class $hd_canary_app extends ($.$mol_book2_catalog) { ($.$hd_canary_app) = class $hd_canary_app extends ($.$mol_book2_catalog) {
Theme(){
const obj = new this.$.$mol_theme_auto();
return obj;
}
Lighter(){
const obj = new this.$.$mol_lights_toggle();
return obj;
}
List(){ List(){
const obj = new this.$.$hd_canary_app_monitor(); const obj = new this.$.$hd_canary_app_monitor();
return obj; return obj;
@ -7,6 +15,16 @@
const obj = new this.$.$hd_canary_app_profile(); const obj = new this.$.$hd_canary_app_profile();
return obj; return obj;
} }
plugins(){
return [(this.Theme())];
}
Menu_logo(){
const obj = new this.$.$mol_icon_bird();
return obj;
}
menu_tools(){
return [(this.Lighter())];
}
menu_title(){ menu_title(){
return (this.$.$mol_locale.text("$hd_canary_app_menu_title")); return (this.$.$mol_locale.text("$hd_canary_app_menu_title"));
} }
@ -14,7 +32,10 @@
return {"monitor": (this.List()), "profile": (this.Profile())}; return {"monitor": (this.List()), "profile": (this.Profile())};
} }
}; };
($mol_mem(($.$hd_canary_app.prototype), "Theme"));
($mol_mem(($.$hd_canary_app.prototype), "Lighter"));
($mol_mem(($.$hd_canary_app.prototype), "List")); ($mol_mem(($.$hd_canary_app.prototype), "List"));
($mol_mem(($.$hd_canary_app.prototype), "Profile")); ($mol_mem(($.$hd_canary_app.prototype), "Profile"));
($mol_mem(($.$hd_canary_app.prototype), "Menu_logo"));
//# sourceMappingURL=app.view.tree.js.map //# sourceMappingURL=app.view.tree.js.map

View file

@ -5,8 +5,8 @@
"localized_string" "localized_string"
], ],
"sourcesContent": [ "sourcesContent": [
"$hd_canary_app $mol_book2_catalog\n\tmenu_title @ \\Hyper Canary\n\tspreads *$mol_view\n\t\tmonitor <= List $hd_canary_app_monitor\n\t\tprofile <= Profile $hd_canary_app_profile\n", "$hd_canary_app $mol_book2_catalog\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\tMenu_logo $mol_icon_bird\n\tmenu_tools /\n\t\t<= Lighter $mol_lights_toggle\n\tmenu_title @ \\Hyper Canary\n\tspreads *$mol_view\n\t\tmonitor <= List $hd_canary_app_monitor\n\t\tprofile <= Profile $hd_canary_app_profile\n",
"\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t" "\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t"
], ],
"mappings": "AAAA,AAAA,2CAAe,+BAAf;AAAA,AAGa;AAAA,AAAK,kDAAL;AAAA,UAAK,GAAL;AAAA;AACA;AAAA,AAAQ,kDAAR;AAAA,UAAQ,GAAR;AAAA;AAHZ;AAAA,AAAA,UCAC,CACC,IACA,EACA,YACA,KACA,CDLS,2BCKT,CALD,CDAD;AAAA;AACA;AAAA,AAAA,UAAQ,CACP,WAAQ,KAAG,OAAH,CADD,EAEP,WAAQ,KAAG,UAAH,CAFD,CAAR;AAAA;AAFD,CAAA;AAGa,YAHb,CAGa,oCAHb;AAIa,YAJb,CAIa,uCAJb;" "mappings": "AAAA,AAAA,2CAAe,+BAAf;AAAA,AAEK;AAAA,AAAM,2CAAN;AAAA,UAAM,GAAN;AAAA;AAGA;AAAA,AAAQ,8CAAR;AAAA,UAAQ,GAAR;AAAA;AAGQ;AAAA,AAAK,kDAAL;AAAA,UAAK,GAAL;AAAA;AACA;AAAA,AAAQ,kDAAR;AAAA,UAAQ,GAAR;AAAA;AARZ;AAAA,AAAA,UAAQ,CACP,KAAG,QAAH,CADO,CAAR;AAAA;AAEA;AAAA,AAAU,0CAAV;AAAA,UAAU,GAAV;AAAA;AACA;AAAA,AAAA,UAAW,CACV,KAAG,UAAH,CADU,CAAX;AAAA;AAEA;AAAA,AAAA,UCLC,CACC,IACA,EACA,YACA,KACA,CDAS,2BCAT,CALD,CDKD;AAAA;AACA;AAAA,AAAA,UAAQ,CACP,WAAQ,KAAG,OAAH,CADD,EAEP,WAAQ,KAAG,UAAH,CAFD,CAAR;AAAA;AAPD,CAAA;AAEK,YAFL,CAEK,qCAFL;AAKK,YALL,CAKK,uCALL;AAQa,YARb,CAQa,oCARb;AASa,YATb,CASa,uCATb;AAGC,YAHD,CAGC,yCAHD;"
} }

View file

@ -1,4 +1,9 @@
$hd_canary_app $mol_book2_catalog $hd_canary_app $mol_book2_catalog
plugins /
<= Theme $mol_theme_auto
Menu_logo $mol_icon_bird
menu_tools /
<= Lighter $mol_lights_toggle
menu_title @ \Hyper Canary menu_title @ \Hyper Canary
spreads *$mol_view spreads *$mol_view
monitor <= List $hd_canary_app_monitor monitor <= List $hd_canary_app_monitor

View file

@ -117,7 +117,6 @@ declare namespace $ {
Add_submit_icon( ): $mol_icon_plus Add_submit_icon( ): $mol_icon_plus
Add_submit( ): $mol_button_minor Add_submit( ): $mol_button_minor
Add( ): $mol_view Add( ): $mol_view
Lights( ): $mol_lights_toggle
target_status( id: any): string target_status( id: any): string
Target_status( id: any): $mol_view Target_status( id: any): $mol_view
target_title( id: any): string target_title( id: any): string
@ -141,7 +140,6 @@ declare namespace $ {
target_result( id: any, next?: number ): number target_result( id: any, next?: number ): number
plugins( ): readonly(any)[] plugins( ): readonly(any)[]
head( ): readonly(any)[] head( ): readonly(any)[]
tools( ): readonly(any)[]
body( ): readonly(any)[] body( ): readonly(any)[]
} }

View file

@ -3,7 +3,7 @@
"sources": [ "sources": [
"hd/canary/app/monitor/monitor.view.tree" "hd/canary/app/monitor/monitor.view.tree"
], ],
"mappings": "AAAA;AAAA;AAAA,AAO4B;AAAA,AAAS,cAPrC,sBAOqC;AAAA;AAAT,cAAV,SAAU;AAAA;AAIxB;AAAA,AAAQ;AAAA;AAAR,cADU,WACV;AAAA;AACA;AAAA,AAAW,cAZf,sBAYe;AAAA;AAAX,cAFU,WAEV;AAAA;AACA;AAAA,AAAY,cAbhB,sBAagB;AAAA;AAAZ,cAHU,WAGV;AAAA;AAEA;AAAA,AAAQ;AAAA;AAAR,cADY,WACZ;AAAA;AACA;AAAA,AAAW,cAhBf,sBAgBe;AAAA;AAAX,cAFY,WAEZ;AAAA;AACA;AAAA,AAAY,cAjBhB,sBAiBgB;AAAA;AAAZ,cAHY,WAGZ;AAAA;AAEA;AAAA,AAAQ;AAAA;AAAR,cADa,iBACb;AAAA;AACA;AAAA,AAAW,cApBf,sBAoBe;AAAA;AAAX,cAFa,iBAEb;AAAA;AACA;AAAA,AAAI;AAAA;AAAJ,cAHa,iBAGb;AAAA;AAZe;AAAA,AAAI;AAAA;AAAJ,cAAV,SAAU;AAAA;AAsBb;AAAA,AAAI;AAAA;AAAJ,cADiB,SACjB;AAAA;AAEA;AAAA,AAAS,cAjCf,sBAiCe;AAAA;AAAT,cADc,SACd;AAAA;AACA;AAAA,AAAO,cAlCb,sBAkCa;AAAA;AAAP,cAFc,SAEd;AAAA;AAEA;AAAA,AAAU,cApChB,sBAoCgB;AAAA;AAAV,cADiB,iBACjB;AAAA;AACA;AAAA,AAAI;AAAA;AAAJ,cAFiB,iBAEjB;AAAA;AARwB;AAAA,AAAI;AAAA;AAAJ,cAAV,SAAU;AAAA;AAUzB;AAAA,AAAI;AAAA;AAAJ,cADkB,SAClB;AAAA;AAEA;AAAA,AAAI;AAAA;AAAJ,cADiB,SACjB;AAAA;AAboB;AAAA,AAAQ,cA5BjC,sBA4BiC;AAAA;AAAR,cAAV,SAAU;AAAA;AADK;AAAA,AAAS,cA3BvC,sBA2BuC;AAAA;AAAT,cAAb,YAAa;AAAA;AA3B9B,oCAAuB,kBAAvB;AAKK,AAAA,YAAM;AAE0B,AAAA,mBAAc;AAA9C,AAAA,mBAAa;AAKH,AAAA,kBAAU,MAAV,IAAU;AAQV,AAAA,qBAAY,GAAZ,IAAY;AAVrB,AAAA,cAAQ;AAMC,AAAA,oBAAY,MAAZ,IAAY;AAFrB,AAAA,gBAAU;AAQR,AAAA,sBAAgB;AAJlB,AAAA,iBAAW;AATZ,AAAA,UAAI;AAgBJ,AAAA,aAAO;AAMG,AAAA,2BAAgB;AADvB,AAAA,2BAAe;AAGR,AAAA,0BAAe;AACjB,AAAA,wBAAa;AAFlB,AAAA,wBAAY;AAIJ,AAAA,2BAAe;AAChB,AAAA,gCAAoB;AAF3B,AAAA,2BAAe;AANhB,AAAA,yBAAa;AAUN,AAAA,kCAAkB,MAAlB,IAAkB;AADzB,AAAA,4BAAgB;AAGU,AAAA,mBAAgB;AAAnC,AAAA,iCAAmB,YAzCjC,sBAyCiC,kBAAnB,IAAmB,YAzCjC,sBAyCiC;AAD1B,AAAA,2BAAe;AAZW,AAAA,yBAAa;AAAxC,AAAA,oBAAS;AADwB,AAAA,kBAAY;AAA9C,AAAA,kBAAY;AA1BhB,AAAA,YAAS;AACT,AAAA,kBAAS,mBAAT,IAAS;AACT,AAAA,iCAAgB,MAAhB,IAAgB;AAChB,AAAA,cAAQ;AAER,AAAA,WAAK;AAkBL,AAAA,YAAM;AAEN,AAAA,WAAK;AA1BN;AAAA;AAAA;", "mappings": "AAAA;AAAA;AAAA,AAO4B;AAAA,AAAS,cAPrC,sBAOqC;AAAA;AAAT,cAAV,SAAU;AAAA;AAIxB;AAAA,AAAQ;AAAA;AAAR,cADU,WACV;AAAA;AACA;AAAA,AAAW,cAZf,sBAYe;AAAA;AAAX,cAFU,WAEV;AAAA;AACA;AAAA,AAAY,cAbhB,sBAagB;AAAA;AAAZ,cAHU,WAGV;AAAA;AAEA;AAAA,AAAQ;AAAA;AAAR,cADY,WACZ;AAAA;AACA;AAAA,AAAW,cAhBf,sBAgBe;AAAA;AAAX,cAFY,WAEZ;AAAA;AACA;AAAA,AAAY,cAjBhB,sBAiBgB;AAAA;AAAZ,cAHY,WAGZ;AAAA;AAEA;AAAA,AAAQ;AAAA;AAAR,cADa,iBACb;AAAA;AACA;AAAA,AAAW,cApBf,sBAoBe;AAAA;AAAX,cAFa,iBAEb;AAAA;AACA;AAAA,AAAI;AAAA;AAAJ,cAHa,iBAGb;AAAA;AAZe;AAAA,AAAI;AAAA;AAAJ,cAAV,SAAU;AAAA;AAoBb;AAAA,AAAI;AAAA;AAAJ,cADiB,SACjB;AAAA;AAEA;AAAA,AAAS,cA/Bf,sBA+Be;AAAA;AAAT,cADc,SACd;AAAA;AACA;AAAA,AAAO,cAhCb,sBAgCa;AAAA;AAAP,cAFc,SAEd;AAAA;AAEA;AAAA,AAAU,cAlChB,sBAkCgB;AAAA;AAAV,cADiB,iBACjB;AAAA;AACA;AAAA,AAAI;AAAA;AAAJ,cAFiB,iBAEjB;AAAA;AARwB;AAAA,AAAI;AAAA;AAAJ,cAAV,SAAU;AAAA;AAUzB;AAAA,AAAI;AAAA;AAAJ,cADkB,SAClB;AAAA;AAEA;AAAA,AAAI;AAAA;AAAJ,cADiB,SACjB;AAAA;AAboB;AAAA,AAAQ,cA1BjC,sBA0BiC;AAAA;AAAR,cAAV,SAAU;AAAA;AADK;AAAA,AAAS,cAzBvC,sBAyBuC;AAAA;AAAT,cAAb,YAAa;AAAA;AAzB9B,oCAAuB,kBAAvB;AAKK,AAAA,YAAM;AAE0B,AAAA,mBAAc;AAA9C,AAAA,mBAAa;AAKH,AAAA,kBAAU,MAAV,IAAU;AAQV,AAAA,qBAAY,GAAZ,IAAY;AAVrB,AAAA,cAAQ;AAMC,AAAA,oBAAY,MAAZ,IAAY;AAFrB,AAAA,gBAAU;AAQR,AAAA,sBAAgB;AAJlB,AAAA,iBAAW;AATZ,AAAA,UAAI;AAoBM,AAAA,2BAAgB;AADvB,AAAA,2BAAe;AAGR,AAAA,0BAAe;AACjB,AAAA,wBAAa;AAFlB,AAAA,wBAAY;AAIJ,AAAA,2BAAe;AAChB,AAAA,gCAAoB;AAF3B,AAAA,2BAAe;AANhB,AAAA,yBAAa;AAUN,AAAA,kCAAkB,MAAlB,IAAkB;AADzB,AAAA,4BAAgB;AAGU,AAAA,mBAAgB;AAAnC,AAAA,iCAAmB,YAvCjC,sBAuCiC,kBAAnB,IAAmB,YAvCjC,sBAuCiC;AAD1B,AAAA,2BAAe;AAZW,AAAA,yBAAa;AAAxC,AAAA,oBAAS;AADwB,AAAA,kBAAY;AAA9C,AAAA,kBAAY;AAxBhB,AAAA,YAAS;AACT,AAAA,kBAAS,mBAAT,IAAS;AACT,AAAA,iCAAgB,MAAhB,IAAgB;AAChB,AAAA,cAAQ;AAER,AAAA,WAAK;AAkBL,AAAA,WAAK;AAxBN;AAAA;AAAA;",
"file": "monitor.view.tree.d.ts", "file": "monitor.view.tree.d.ts",
"sourceRoot": "../../../../.." "sourceRoot": "../../../../.."
} }

View file

@ -57,10 +57,6 @@
]); ]);
return obj; return obj;
} }
Lights(){
const obj = new this.$.$mol_lights_toggle();
return obj;
}
target_status(id){ target_status(id){
return ""; return "";
} }
@ -166,9 +162,6 @@
(this.Tools()) (this.Tools())
]; ];
} }
tools(){
return [(this.Lights())];
}
body(){ body(){
return [(this.Target_list())]; return [(this.Target_list())];
} }
@ -183,7 +176,6 @@
($mol_mem(($.$hd_canary_app_monitor.prototype), "Add_submit_icon")); ($mol_mem(($.$hd_canary_app_monitor.prototype), "Add_submit_icon"));
($mol_mem(($.$hd_canary_app_monitor.prototype), "Add_submit")); ($mol_mem(($.$hd_canary_app_monitor.prototype), "Add_submit"));
($mol_mem(($.$hd_canary_app_monitor.prototype), "Add")); ($mol_mem(($.$hd_canary_app_monitor.prototype), "Add"));
($mol_mem(($.$hd_canary_app_monitor.prototype), "Lights"));
($mol_mem_key(($.$hd_canary_app_monitor.prototype), "Target_status")); ($mol_mem_key(($.$hd_canary_app_monitor.prototype), "Target_status"));
($mol_mem_key(($.$hd_canary_app_monitor.prototype), "Target_url")); ($mol_mem_key(($.$hd_canary_app_monitor.prototype), "Target_url"));
($mol_mem_key(($.$hd_canary_app_monitor.prototype), "Target_remove_icon")); ($mol_mem_key(($.$hd_canary_app_monitor.prototype), "Target_remove_icon"));

View file

@ -5,8 +5,8 @@
"localized_string" "localized_string"
], ],
"sourcesContent": [ "sourcesContent": [
"$hd_canary_app_monitor $mol_page\n\ttitle @ \\Мониторы\n\ttargets? *\n\ttarget_result*? 1\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\thead /\n\t\t<= Status_total $mol_chip title <= status_total \\\n\t\t<= Title\n\t\t<= Add $mol_view sub /\n\t\t\t<= Add_url $mol_string\n\t\t\t\thint @ \\URL\n\t\t\t\tvalue? <=> add_url? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_title $mol_string\n\t\t\t\thint @ \\Title\n\t\t\t\tvalue? <=> add_title? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_submit $mol_button_minor\n\t\t\t\thint @ \\Add\n\t\t\t\tclick? <=> add_submit? null\n\t\t\t\tsub /\n\t\t\t\t\t<= Add_submit_icon $mol_icon_plus\n\t\t<= Tools\n\ttools /\n\t\t<= Lights $mol_lights_toggle\n\tbody /\n\t\t<= Target_list $mol_gallery items <= target_list /\n\t\t\t<= Target*0 $mol_list rows <= target_rows* /\n\t\t\t\t<= Target_main* $mol_view sub /\n\t\t\t\t\t<= Target_status* $mol_view\n\t\t\t\t\t\tsub / <= target_status* \\\n\t\t\t\t\t<= Target_url* $mol_link\n\t\t\t\t\t\ttitle <= target_title* \\\n\t\t\t\t\t\turi <= target_url* \\\n\t\t\t\t\t<= Target_remove* $mol_button_minor\n\t\t\t\t\t\tclick <=> target_remove* null\n\t\t\t\t\t\tsub / <= Target_remove_icon* $mol_icon_close\n\t\t\t\t<= Target_message* $mol_view\n\t\t\t\t\tsub / <= target_message*? \\\n\t\t\t\t<= Target_moment* $mol_view\n\t\t\t\t\tsub / <= target_moment*? <= waiting_hint @ \\Waiting...\n", "$hd_canary_app_monitor $mol_page\n\ttitle @ \\Мониторы\n\ttargets? *\n\ttarget_result*? 1\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\thead /\n\t\t<= Status_total $mol_chip title <= status_total \\\n\t\t<= Title\n\t\t<= Add $mol_view sub /\n\t\t\t<= Add_url $mol_string\n\t\t\t\thint @ \\URL\n\t\t\t\tvalue? <=> add_url? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_title $mol_string\n\t\t\t\thint @ \\Title\n\t\t\t\tvalue? <=> add_title? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_submit $mol_button_minor\n\t\t\t\thint @ \\Add\n\t\t\t\tclick? <=> add_submit? null\n\t\t\t\tsub /\n\t\t\t\t\t<= Add_submit_icon $mol_icon_plus\n\t\t<= Tools\n\tbody /\n\t\t<= Target_list $mol_gallery items <= target_list /\n\t\t\t<= Target*0 $mol_list rows <= target_rows* /\n\t\t\t\t<= Target_main* $mol_view sub /\n\t\t\t\t\t<= Target_status* $mol_view\n\t\t\t\t\t\tsub / <= target_status* \\\n\t\t\t\t\t<= Target_url* $mol_link\n\t\t\t\t\t\ttitle <= target_title* \\\n\t\t\t\t\t\turi <= target_url* \\\n\t\t\t\t\t<= Target_remove* $mol_button_minor\n\t\t\t\t\t\tclick <=> target_remove* null\n\t\t\t\t\t\tsub / <= Target_remove_icon* $mol_icon_close\n\t\t\t\t<= Target_message* $mol_view\n\t\t\t\t\tsub / <= target_message*? \\\n\t\t\t\t<= Target_moment* $mol_view\n\t\t\t\t\tsub / <= target_moment*? <= waiting_hint @ \\Waiting...\n",
"\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t" "\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t"
], ],
"mappings": "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" "mappings": "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"
} }

View file

@ -22,8 +22,6 @@ $hd_canary_app_monitor $mol_page
sub / sub /
<= Add_submit_icon $mol_icon_plus <= Add_submit_icon $mol_icon_plus
<= Tools <= Tools
tools /
<= Lights $mol_lights_toggle
body / body /
<= Target_list $mol_gallery items <= target_list / <= Target_list $mol_gallery items <= target_list /
<= Target*0 $mol_list rows <= target_rows* / <= Target*0 $mol_list rows <= target_rows* /

View file

@ -81,6 +81,7 @@ namespace $.$$ {
home() { home() {
// берем свой уголок // берем свой уголок
const home = this.$.$hyoo_crus_glob.home( $hd_canary_app_home ) const home = this.$.$hyoo_crus_glob.home( $hd_canary_app_home )
home.land().join()
// проверяем есть ли он в базе // проверяем есть ли он в базе

View file

@ -1,96 +1,148 @@
declare namespace $ { declare namespace $ {
type $mol_text__text_hd_canary_app_profile_1 = $mol_type_enforce< type $mol_avatar__id_hd_canary_app_profile_1 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['current_peer'] >
,
ReturnType< $mol_avatar['id'] >
>
type $mol_labeler__title_hd_canary_app_profile_2 = $mol_type_enforce<
string string
, ,
ReturnType< $mol_text['text'] > ReturnType< $mol_labeler['title'] >
> >
type $mol_password__value_hd_canary_app_profile_2 = $mol_type_enforce< type $mol_labeler__content_hd_canary_app_profile_3 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['password'] >
,
ReturnType< $mol_password['value'] >
>
type $mol_form_field__name_hd_canary_app_profile_3 = $mol_type_enforce<
string
,
ReturnType< $mol_form_field['name'] >
>
type $mol_form_field__bids_hd_canary_app_profile_4 = $mol_type_enforce<
readonly(any)[] readonly(any)[]
, ,
ReturnType< $mol_form_field['bids'] > ReturnType< $mol_labeler['content'] >
> >
type $mol_form_field__Content_hd_canary_app_profile_5 = $mol_type_enforce< type $mol_string__value_hd_canary_app_profile_4 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['Password'] > ReturnType< $hd_canary_app_profile['current_peer'] >
, ,
ReturnType< $mol_form_field['Content'] > ReturnType< $mol_string['value'] >
> >
type $mol_list__rows_hd_canary_app_profile_6 = $mol_type_enforce< type $mol_string__enabled_hd_canary_app_profile_5 = $mol_type_enforce<
readonly(any)[] boolean
, ,
ReturnType< $mol_list['rows'] > ReturnType< $mol_string['enabled'] >
> >
type $mol_link__uri_hd_canary_app_profile_7 = $mol_type_enforce< type $mol_labeler__title_hd_canary_app_profile_6 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['export_link'] >
,
ReturnType< $mol_link['uri'] >
>
type $mol_link__title_hd_canary_app_profile_8 = $mol_type_enforce<
string string
, ,
ReturnType< $mol_link['title'] > ReturnType< $mol_labeler['title'] >
> >
type $mol_list__rows_hd_canary_app_profile_9 = $mol_type_enforce< type $mol_labeler__content_hd_canary_app_profile_7 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['export_rows'] > readonly(any)[]
, ,
ReturnType< $mol_list['rows'] > ReturnType< $mol_labeler['content'] >
>
type $mol_labeler__title_hd_canary_app_profile_8 = $mol_type_enforce<
string
,
ReturnType< $mol_labeler['title'] >
>
type $mol_labeler__content_hd_canary_app_profile_9 = $mol_type_enforce<
readonly(any)[]
,
ReturnType< $mol_labeler['content'] >
> >
type $mol_text__text_hd_canary_app_profile_10 = $mol_type_enforce< type $mol_text__text_hd_canary_app_profile_10 = $mol_type_enforce<
string string
, ,
ReturnType< $mol_text['text'] > ReturnType< $mol_text['text'] >
> >
type $mol_list__rows_hd_canary_app_profile_11 = $mol_type_enforce< type $mol_password__value_hd_canary_app_profile_11 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['password'] >
,
ReturnType< $mol_password['value'] >
>
type $mol_form_field__name_hd_canary_app_profile_12 = $mol_type_enforce<
string
,
ReturnType< $mol_form_field['name'] >
>
type $mol_form_field__bids_hd_canary_app_profile_13 = $mol_type_enforce<
readonly(any)[]
,
ReturnType< $mol_form_field['bids'] >
>
type $mol_form_field__Content_hd_canary_app_profile_14 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['Password'] >
,
ReturnType< $mol_form_field['Content'] >
>
type $mol_list__rows_hd_canary_app_profile_15 = $mol_type_enforce<
readonly(any)[] readonly(any)[]
, ,
ReturnType< $mol_list['rows'] > ReturnType< $mol_list['rows'] >
> >
type $mol_avatar__id_hd_canary_app_profile_12 = $mol_type_enforce< type $mol_link__uri_hd_canary_app_profile_16 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['export_link'] >
,
ReturnType< $mol_link['uri'] >
>
type $mol_link__title_hd_canary_app_profile_17 = $mol_type_enforce<
string
,
ReturnType< $mol_link['title'] >
>
type $mol_list__rows_hd_canary_app_profile_18 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['export_rows'] >
,
ReturnType< $mol_list['rows'] >
>
type $mol_text__text_hd_canary_app_profile_19 = $mol_type_enforce<
string
,
ReturnType< $mol_text['text'] >
>
type $mol_list__rows_hd_canary_app_profile_20 = $mol_type_enforce<
readonly(any)[]
,
ReturnType< $mol_list['rows'] >
>
type $mol_avatar__id_hd_canary_app_profile_21 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['peer_new'] > ReturnType< $hd_canary_app_profile['peer_new'] >
, ,
ReturnType< $mol_avatar['id'] > ReturnType< $mol_avatar['id'] >
> >
type $mol_button_minor__click_hd_canary_app_profile_13 = $mol_type_enforce< type $mol_button_minor__click_hd_canary_app_profile_22 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['import_switch'] > ReturnType< $hd_canary_app_profile['import_switch'] >
, ,
ReturnType< $mol_button_minor['click'] > ReturnType< $mol_button_minor['click'] >
> >
type $mol_button_minor__sub_hd_canary_app_profile_14 = $mol_type_enforce< type $mol_button_minor__sub_hd_canary_app_profile_23 = $mol_type_enforce<
readonly(any)[] readonly(any)[]
, ,
ReturnType< $mol_button_minor['sub'] > ReturnType< $mol_button_minor['sub'] >
> >
type $mol_list__rows_hd_canary_app_profile_15 = $mol_type_enforce< type $mol_list__rows_hd_canary_app_profile_24 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['import_rows'] > ReturnType< $hd_canary_app_profile['import_rows'] >
, ,
ReturnType< $mol_list['rows'] > ReturnType< $mol_list['rows'] >
> >
type $mol_list__rows_hd_canary_app_profile_16 = $mol_type_enforce< type $mol_list__rows_hd_canary_app_profile_25 = $mol_type_enforce<
ReturnType< $hd_canary_app_profile['content'] > ReturnType< $hd_canary_app_profile['content'] >
, ,
ReturnType< $mol_list['rows'] > ReturnType< $mol_list['rows'] >
> >
type $mol_labeler__title_hd_canary_app_profile_17 = $mol_type_enforce< type $mol_labeler__title_hd_canary_app_profile_26 = $mol_type_enforce<
string ReturnType< $hd_canary_app_profile['auth_title'] >
, ,
ReturnType< $mol_labeler['title'] > ReturnType< $mol_labeler['title'] >
> >
type $mol_labeler__content_hd_canary_app_profile_18 = $mol_type_enforce< type $mol_labeler__content_hd_canary_app_profile_27 = $mol_type_enforce<
readonly(any)[] readonly(any)[]
, ,
ReturnType< $mol_labeler['content'] > ReturnType< $mol_labeler['content'] >
> >
export class $hd_canary_app_profile extends $mol_page { export class $hd_canary_app_profile extends $mol_page {
current_peer( ): string
Current_peer_avatar( ): $mol_avatar
Current_profile_avatar_labeler( ): $mol_labeler
Current_peer_string( ): $mol_string
Current_profile_peer_labeler( ): $mol_labeler
Current_profile( ): $mol_labeler
auth_title( ): string
Expot_bid( ): $mol_text Expot_bid( ): $mol_text
password_bid( ): string password_bid( ): string
password( next?: string ): string password( next?: string ): string

View file

@ -3,7 +3,7 @@
"sources": [ "sources": [
"hd/canary/app/profile/profile.view.tree" "hd/canary/app/profile/profile.view.tree"
], ],
"mappings": "AAAA;AAAA;AAAA,AAa6B;AAAA,AAAQ;AAAA;AAAR,cAAV,SAAU;AAAA;AAMpB;AAAA,AAAW,cAnBpB,sBAmBoB;AAAA;AAAX,cADmB,aACnB;AAAA;AAHD;AAAA,AAAQ;AAAA;AAAR,cADiB,eACjB;AAAA;AACA;AAAA,AAAK;AAAA;AAAL,cAFiB,eAEjB;AAAA;AACA;AAAA,AAAW,cAlBnB,sBAkBmB;AAAA;AAAX,cAHiB,eAGjB;AAAA;AAJuB;AAAA,AAAK;AAAA;AAAL,cAAV,SAAU;AAAA;AAOxB;AAAA,AAAO,cArBd,sBAqBc;AAAA;AAAP,cADc,SACd;AAAA;AACA;AAAA,AAAS;AAAA;AAAT,cAFc,SAEd;AAAA;AAVwB;AAAA,AAAQ,cAZvC,sBAYuC;AAAA;AAAR,cAAV,SAAU;AAAA;AAYA;AAAA,AAAQ;AAAA;AAAR,cAAV,SAAU;AAAA;AAGA;AAAA,AAAK;AAAA;AAAL,cAAV,SAAU;AAAA;AAKC;AAAA,AAAM,cAhCtC,sBAgCsC;AAAA;AAAN,cAAZ,WAAY;AAAA;AAFzB;AAAA,AAAW,cA9BlB,sBA8BkB;AAAA;AAAX,cADgB,iBAChB;AAAA;AACA;AAAA,AAAI;AAAA;AAAJ,cAFgB,iBAEhB;AAAA;AARwB;AAAA,AAAQ,cAvBvC,sBAuBuC;AAAA;AAAR,cAAV,SAAU;AAAA;AAZN;AAAA,AAAQ,cAXjC,sBAWiC;AAAA;AAAR,cAAV,SAAU;AAAA;AAFtB;AAAA,AAAO;AAAA;AAAP,cADa,YACb;AAAA;AACA;AAAA,AAAQ;AAAA;AAAR,cAFa,YAEb;AAAA;AAVH,oCAAuB,kBAAvB;AAaS,AAAA,gBAAU;AAID,AAAA,mBAAc;AAEZ,AAAA,mBAAW,MAAX,IAAW;AADZ,AAAA,eAAS;AAHlB,AAAA,qBAAe;AADhB,AAAA,kBAAY;AAOP,AAAA,kBAAa;AADlB,AAAA,kBAAY;AARkB,AAAA,kBAAY;AAA3C,AAAA,mBAAa;AAYZ,AAAA,kBAAY;AAGZ,AAAA,kBAAY;AAGH,AAAA,wBAAe,GAAf,IAAe;AAEK,AAAA,eAAU;AAArC,AAAA,eAAS;AACT,AAAA,yBAAsB;AAJxB,AAAA,oBAAc;AANgB,AAAA,kBAAY;AAA3C,AAAA,mBAAa;AAZY,AAAA,cAAQ;AAAlC,AAAA,cAAQ;AAHV,AAAA,iBAAW;AAPf,AAAA,YAAS;AACT,AAAA,eAAS;AACT,AAAA,oBAAiB;AACjB,AAAA,WAAK;AAAA,AAEJ,gBAAW,MAAX;AAFI,GACJ,GADD,YAJsB,SAItB;AAGA,AAAA,WAAK;AAPN;AAAA;AAAA;", "mappings": "AAAA;AAAA;AAAA,AAcyC;AAAA,AAAM,cAd/C,sBAc+C;AAAA;AAAN,cAAZ,WAAY;AAAA;AAFpC;AAAA,AAAO;AAAA;AAAP,cADiC,YACjC;AAAA;AACA;AAAA,AAAQ;AAAA;AAAR,cAFiC,YAEjC;AAAA;AAME;AAAA,AAAS,cAnBhB,sBAmBgB;AAAA;AAAT,cADsB,WACtB;AAAA;AACA;AAAA,AAAQ;AAAA;AAAR,cAFsB,WAEtB;AAAA;AAJF;AAAA,AAAO;AAAA;AAAP,cAD+B,YAC/B;AAAA;AACA;AAAA,AAAQ;AAAA;AAAR,cAF+B,YAE/B;AAAA;AARF;AAAA,AAAO;AAAA;AAAP,cADkB,YAClB;AAAA;AACA;AAAA,AAAQ;AAAA;AAAR,cAFkB,YAElB;AAAA;AAgB0B;AAAA,AAAQ;AAAA;AAAR,cAAV,SAAU;AAAA;AAMpB;AAAA,AAAW,cAhCpB,sBAgCoB;AAAA;AAAX,cADmB,aACnB;AAAA;AAHD;AAAA,AAAQ;AAAA;AAAR,cADiB,eACjB;AAAA;AACA;AAAA,AAAK;AAAA;AAAL,cAFiB,eAEjB;AAAA;AACA;AAAA,AAAW,cA/BnB,sBA+BmB;AAAA;AAAX,cAHiB,eAGjB;AAAA;AAJuB;AAAA,AAAK;AAAA;AAAL,cAAV,SAAU;AAAA;AAOxB;AAAA,AAAO,cAlCd,sBAkCc;AAAA;AAAP,cADc,SACd;AAAA;AACA;AAAA,AAAS;AAAA;AAAT,cAFc,SAEd;AAAA;AAVwB;AAAA,AAAQ,cAzBvC,sBAyBuC;AAAA;AAAR,cAAV,SAAU;AAAA;AAYA;AAAA,AAAQ;AAAA;AAAR,cAAV,SAAU;AAAA;AAGA;AAAA,AAAK;AAAA;AAAL,cAAV,SAAU;AAAA;AAKC;AAAA,AAAM,cA7CtC,sBA6CsC;AAAA;AAAN,cAAZ,WAAY;AAAA;AAFzB;AAAA,AAAW,cA3ClB,sBA2CkB;AAAA;AAAX,cADgB,iBAChB;AAAA;AACA;AAAA,AAAI;AAAA;AAAJ,cAFgB,iBAEhB;AAAA;AARwB;AAAA,AAAQ,cApCvC,sBAoCuC;AAAA;AAAR,cAAV,SAAU;AAAA;AAZN;AAAA,AAAQ,cAxBjC,sBAwBiC;AAAA;AAAR,cAAV,SAAU;AAAA;AAFtB;AAAA,AAAS,cAtBZ,sBAsBY;AAAA;AAAT,cADa,YACb;AAAA;AACA;AAAA,AAAQ;AAAA;AAAR,cAFa,YAEb;AAAA;AAvBH,oCAAuB,kBAAvB;AAc+C,AAAA,mBAAc;AAApD,AAAA,0BAAoB;AAHtB,AAAA,qCAA+B;AAO7B,AAAA,0BAAoB;AAHtB,AAAA,mCAA6B;AAP/B,AAAA,sBAAgB;AAcT,AAAA,iBAAY;AAIf,AAAA,gBAAU;AAID,AAAA,mBAAc;AAEZ,AAAA,mBAAW,MAAX,IAAW;AADZ,AAAA,eAAS;AAHlB,AAAA,qBAAe;AADhB,AAAA,kBAAY;AAOP,AAAA,kBAAa;AADlB,AAAA,kBAAY;AARkB,AAAA,kBAAY;AAA3C,AAAA,mBAAa;AAYZ,AAAA,kBAAY;AAGZ,AAAA,kBAAY;AAGH,AAAA,wBAAe,GAAf,IAAe;AAEK,AAAA,eAAU;AAArC,AAAA,eAAS;AACT,AAAA,yBAAsB;AAJxB,AAAA,oBAAc;AANgB,AAAA,kBAAY;AAA3C,AAAA,mBAAa;AAZY,AAAA,cAAQ;AAAlC,AAAA,cAAQ;AAHV,AAAA,iBAAW;AApBf,AAAA,YAAS;AACT,AAAA,eAAS;AACT,AAAA,oBAAiB;AACjB,AAAA,WAAK;AAAA,AAEJ,gBAAW,MAAX;AAFI,GACJ,GADD,YAJsB,SAItB;AAGA,AAAA,WAAK;AAPN;AAAA;AAAA;",
"file": "profile.view.tree.d.ts", "file": "profile.view.tree.d.ts",
"sourceRoot": "../../../../.." "sourceRoot": "../../../../.."
} }

View file

@ -1,4 +1,39 @@
($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) { ($.$hd_canary_app_profile) = class $hd_canary_app_profile extends ($.$mol_page) {
current_peer(){
return "";
}
Current_peer_avatar(){
const obj = new this.$.$mol_avatar();
(obj.id) = () => ((this.current_peer()));
return obj;
}
Current_profile_avatar_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш аватар:");
(obj.content) = () => ([(this.Current_peer_avatar())]);
return obj;
}
Current_peer_string(){
const obj = new this.$.$mol_string();
(obj.value) = () => ((this.current_peer()));
(obj.enabled) = () => (false);
return obj;
}
Current_profile_peer_labeler(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Ваш id:");
(obj.content) = () => ([(this.Current_peer_string())]);
return obj;
}
Current_profile(){
const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Текущий профиль");
(obj.content) = () => ([(this.Current_profile_avatar_labeler()), (this.Current_profile_peer_labeler())]);
return obj;
}
auth_title(){
return "Авторизация";
}
Expot_bid(){ Expot_bid(){
const obj = new this.$.$mol_text(); const obj = new this.$.$mol_text();
(obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text"))); (obj.text) = () => ((this.$.$mol_locale.text("$hd_canary_app_profile_Expot_bid_text")));
@ -102,7 +137,7 @@
} }
Auth_block(){ Auth_block(){
const obj = new this.$.$mol_labeler(); const obj = new this.$.$mol_labeler();
(obj.title) = () => ("Авторизация"); (obj.title) = () => ((this.auth_title()));
(obj.content) = () => ([(this.Content())]); (obj.content) = () => ([(this.Content())]);
return obj; return obj;
} }
@ -119,9 +154,14 @@
return {...(super.attr()), "mol_theme": "$mol_theme_special"}; return {...(super.attr()), "mol_theme": "$mol_theme_special"};
} }
body(){ body(){
return [(this.Auth_block())]; return [(this.Current_profile()), (this.Auth_block())];
} }
}; };
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_avatar"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_avatar_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_peer_string"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile_peer_labeler"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Current_profile"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Expot_bid"));
($mol_mem(($.$hd_canary_app_profile.prototype), "password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "password"));
($mol_mem(($.$hd_canary_app_profile.prototype), "Password")); ($mol_mem(($.$hd_canary_app_profile.prototype), "Password"));

View file

@ -5,8 +5,8 @@
"localized_string" "localized_string"
], ],
"sourcesContent": [ "sourcesContent": [
"$hd_canary_app_profile $mol_page\n\ttitle @ \\Private keys\n\tkey_size 144\n\tbid_pass_long @ \\> 7 letters\n\tattr *\n\t\t^\n\t\tmol_theme \\$mol_theme_special\n\tbody /\n\t\t<= Auth_block $mol_labeler\n\t\t\ttitle \\Авторизация\n\t\t\tcontent /\n\t\t\t\t<= Content $mol_list rows <= content /\n\t\t\t\t\t<= Export_block $mol_list rows <= export_rows /\n\t\t\t\t\t\t<= Expot_bid $mol_text text @ \\Your private access keys are stored in the browser. In order not to lose them or transfer to another device, it is recommended to come up with a strong password for exporting them.\n\t\t\t\t\t\t<= Export_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field $mol_form_field\n\t\t\t\t\t\t\t\tname @ \\Password\n\t\t\t\t\t\t\t\tbids / <= password_bid \\\n\t\t\t\t\t\t\t\tContent <= Password $mol_password\n\t\t\t\t\t\t\t\t\tvalue? <=> password? \\\n\t\t\t\t\t\t<= Export_link $mol_link\n\t\t\t\t\t\t\turi <= export_link \\\n\t\t\t\t\t\t\ttitle @ \\This link contains your encrypted prvate keys. Save it to a secure place on another physical device. Using this link you can \n\t\t\t\t\t<= Import_block $mol_list rows <= import_rows /\n\t\t\t\t\t\t<= Iport_descr $mol_text text @ \\\n\t\t\t\t\t\t\t\\To import a private key, you must enter the password from it.\n\t\t\t\t\t\t\t\\**If the current key is not saved, it will be lost forever.**\n\t\t\t\t\t\t<= Import_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field\n\t\t\t\t\t\t<= Import_switch $mol_button_minor\n\t\t\t\t\t\t\tclick? <=> import_switch? null\n\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t<= Peer_new $mol_avatar id <= peer_new \\\n\t\t\t\t\t\t\t\t<= impot_switch_title @ \\Switch\n\t\t- <= Id_block $mol_labeler\n\t\t\ttitle \\Ваш ID профиля чтобы можно было поделиться\n\t\t\tcontent /\n", "$hd_canary_app_profile $mol_page\n\ttitle @ \\Private keys\n\tkey_size 144\n\tbid_pass_long @ \\> 7 letters\n\tattr *\n\t\t^\n\t\tmol_theme \\$mol_theme_special\n\tbody /\n\t\t<= Current_profile $mol_labeler\n\t\t\ttitle \\Текущий профиль\n\t\t\tcontent /\n\t\t\t\t<= Current_profile_avatar_labeler $mol_labeler\n\t\t\t\t\ttitle \\Ваш аватар:\n\t\t\t\t\tcontent /\n\t\t\t\t\t\t<= Current_peer_avatar $mol_avatar id <= current_peer \\\n\t\t\t\t<= Current_profile_peer_labeler $mol_labeler\n\t\t\t\t\ttitle \\Ваш id:\n\t\t\t\t\tcontent /\n\t\t\t\t\t\t<= Current_peer_string $mol_string\n\t\t\t\t\t\t\tvalue <= current_peer\n\t\t\t\t\t\t\tenabled false\n\t\t<= Auth_block $mol_labeler\n\t\t\ttitle <= auth_title \\Авторизация\n\t\t\tcontent /\n\t\t\t\t<= Content $mol_list rows <= content /\n\t\t\t\t\t<= Export_block $mol_list rows <= export_rows /\n\t\t\t\t\t\t<= Expot_bid $mol_text text @ \\Your private access keys are stored in the browser. In order not to lose them or transfer to another device, it is recommended to come up with a strong password for exporting them.\n\t\t\t\t\t\t<= Export_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field $mol_form_field\n\t\t\t\t\t\t\t\tname @ \\Password\n\t\t\t\t\t\t\t\tbids / <= password_bid \\\n\t\t\t\t\t\t\t\tContent <= Password $mol_password\n\t\t\t\t\t\t\t\t\tvalue? <=> password? \\\n\t\t\t\t\t\t<= Export_link $mol_link\n\t\t\t\t\t\t\turi <= export_link \\\n\t\t\t\t\t\t\ttitle @ \\This link contains your encrypted prvate keys. Save it to a secure place on another physical device. Using this link you can \n\t\t\t\t\t<= Import_block $mol_list rows <= import_rows /\n\t\t\t\t\t\t<= Iport_descr $mol_text text @ \\\n\t\t\t\t\t\t\t\\To import a private key, you must enter the password from it.\n\t\t\t\t\t\t\t\\**If the current key is not saved, it will be lost forever.**\n\t\t\t\t\t\t<= Import_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field\n\t\t\t\t\t\t<= Import_switch $mol_button_minor\n\t\t\t\t\t\t\tclick? <=> import_switch? null\n\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t<= Peer_new $mol_avatar id <= peer_new \\\n\t\t\t\t\t\t\t\t<= impot_switch_title @ \\Switch\n\t\t- <= Id_block $mol_labeler\n\t\t\ttitle \\Ваш ID профиля чтобы можно было поделиться\n\t\t\tcontent /\n",
"\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t" "\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t"
], ],
"mappings": "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" "mappings": "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"
} }

View file

@ -0,0 +1,12 @@
namespace $.$$ {
const { rem } = $mol_style_unit
$mol_style_define( $hd_canary_app_profile , {
Current_peer_avatar: {
width: rem( 2 ),
height: rem( 2 )
}
} )
}

View file

@ -6,8 +6,21 @@ $hd_canary_app_profile $mol_page
^ ^
mol_theme \$mol_theme_special mol_theme \$mol_theme_special
body / body /
<= Current_profile $mol_labeler
title \Текущий профиль
content /
<= Current_profile_avatar_labeler $mol_labeler
title \Ваш аватар:
content /
<= Current_peer_avatar $mol_avatar id <= current_peer \
<= Current_profile_peer_labeler $mol_labeler
title \Ваш id:
content /
<= Current_peer_string $mol_string
value <= current_peer
enabled false
<= Auth_block $mol_labeler <= Auth_block $mol_labeler
title \Авторизация title <= auth_title \Авторизация
content / content /
<= Content $mol_list rows <= content / <= Content $mol_list rows <= content /
<= Export_block $mol_list rows <= export_rows / <= Export_block $mol_list rows <= export_rows /

View file

@ -10,6 +10,13 @@ namespace $.$$ {
] ]
} }
@ $mol_mem
auth_title() {
return this.key_import()
? "Войти в профиль"
: "Поделиться профилем"
}
@ $mol_mem @ $mol_mem
export_link() { export_link() {
return this.$.$mol_state_arg.link({ return this.$.$mol_state_arg.link({
@ -23,7 +30,12 @@ namespace $.$$ {
@ $mol_mem @ $mol_mem
peer_new() { peer_new() {
return $mol_int62_hash_string( this.$.$mol_crypto_auditor_private_to_public( this.key_new()! ) ) return $hyoo_crus_auth.from(this.key_new()!).peer()
}
@ $mol_mem
current_peer() {
return this.$.$hyoo_crus_auth.current().peer()
} }
@ $mol_action @ $mol_action
@ -67,12 +79,11 @@ namespace $.$$ {
const app = $mol_crypto_hash( $mol_charset_encode( "hd_canary" ) ) // 20 B const app = $mol_crypto_hash( $mol_charset_encode( "hd_canary" ) ) // 20 B
const secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B const secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B
const data = $mol_base64_decode( serial ) const data = $mol_base64_url_decode( serial )
const salt = $mol_crypto_hash( app ).slice( 0, 16 ) const salt = $mol_crypto_hash( app ).slice( 0, 16 )
const closed = $mol_wire_sync( secret ).decrypt( data, salt ) // 16x B const closed = $mol_wire_sync( secret ).decrypt( data, salt ) // 16x B
return closed
return $mol_charset_decode( closed )
} catch( error ) { } catch( error ) {
$mol_fail_log( error ) $mol_fail_log( error )
@ -89,12 +100,10 @@ namespace $.$$ {
const app = $mol_crypto_hash( $mol_charset_encode( "hd_canary" ) ) // 20 B const app = $mol_crypto_hash( $mol_charset_encode( "hd_canary" ) ) // 20 B
const secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B const secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B
const data = this.$.$mol_charset_encode( this.$.$hyoo_crus_auth.current().toString() )
const salt = $mol_crypto_hash( app ).slice( 0, 16 ) const salt = $mol_crypto_hash( app ).slice( 0, 16 )
const closed = $mol_wire_sync( secret ).encrypt( this.$.$hyoo_crus_auth.current(), salt ) // 16x B
const closed = $mol_wire_sync( secret ).encrypt( data, salt ) // 16x B return $mol_base64_url_encode( closed )
return $mol_base64_encode( closed )
} }