Skip to content

Commit

Permalink
gsuiComProfile: attr avatar
Browse files Browse the repository at this point in the history
  • Loading branch information
mr21 committed Nov 1, 2024
1 parent 8c9a2d8 commit d05ba6f
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 5 deletions.
7 changes: 4 additions & 3 deletions gsuiComProfile/gsuiComProfile.css
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ gsui-com-profile[ itsme ] .gsuiComProfile-main {
.gsuiComProfile-main-avatar img {
width: 100%;
height: 100%;
border-radius: inherit;
object-fit: cover;
border-radius: 0;
}
.gsuiComProfile-main-avatar:not( .userAvatarHas ) img,
.gsuiComProfile-main-avatar.userAvatarHas .gsuiIcon {
Expand Down Expand Up @@ -232,7 +233,7 @@ gsui-com-profile:not( [ editing ] ) .gsuiComProfile-form {
grid-template-columns: var( --gsuiComProfile-height ) 1fr;
grid-template-rows: var( --gsuiComProfile-height ) 34px;
}
.gsuiComProfile-main-avatar {
border-radius: 4px;
.gsuiComProfile-main-avatar img {
border-radius: 6px;
}
}
2 changes: 1 addition & 1 deletion gsuiComProfile/gsuiComProfile.html.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
GSUsetTemplate( "gsui-com-profile", () => [
GSUcreateDiv( { class: "gsuiComProfile-main" },
GSUcreateDiv( { class: "gsuiComProfile-main-avatar" },
GSUcreateElement( "img" ),
GSUcreateElement( "img", { src: "" } ),
GSUcreateI( { class: "gsuiIcon", "data-icon": "musician" } ),
),
GSUcreateDiv( { class: "gsuiComProfile-main-info" },
Expand Down
8 changes: 7 additions & 1 deletion gsuiComProfile/gsuiComProfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ class gsuiComProfile extends gsui0ne {
$cmpName: "gsuiComProfile",
$tagName: "gsui-com-profile",
$elements: {
$avatar: ".gsuiComProfile-main-avatar img",
$email: ".gsuiComProfile-main-email-addr span",
$emailpub: ".gsuiComProfile-main-email-addr .gsuiIcon",
$username: ".gsuiComProfile-main-username",
Expand All @@ -22,6 +23,7 @@ class gsuiComProfile extends gsui0ne {
},
} );
Object.seal( this );
this.$elements.$avatar.onload = () => GSUsetAttribute( this, "hasavatar", true );
this.$elements.$form.onsubmit = e => {
const tar = e.target;

Expand Down Expand Up @@ -52,7 +54,7 @@ class gsuiComProfile extends gsui0ne {

// .........................................................................
static get observedAttributes() {
return [ "email", "emailpublic", "username", "lastname", "firstname", "emailtoverify" ];
return [ "email", "emailpublic", "username", "lastname", "firstname", "emailtoverify", "avatar" ];
}
$attributeChanged( prop, val ) {
switch ( prop ) {
Expand All @@ -61,6 +63,10 @@ class gsuiComProfile extends gsui0ne {
case "username": this.$elements.$username.textContent = val; break;
case "lastname": this.$elements.$lastname.textContent = val; break;
case "firstname": this.$elements.$firstname.textContent = val; break;
case "avatar":
GSUsetAttribute( this, "hasavatar", false );
this.$elements.$avatar.src = val || "";
break;
}
}
}
Expand Down
4 changes: 4 additions & 0 deletions gsuiComProfile/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
</div>
<div id="TEST-CTRLS">
<div><label><input id="itsme" type="checkbox" /> itsme</label></div>
<div><label><input id="avatar" type="checkbox" /> avatar</label></div>
<div><label><input id="email" type="checkbox" /> email</label></div>
<div><label><input id="emailpublic" type="checkbox" /> email public</label></div>
<div><label><input id="emailtoverify" type="checkbox" /> email to verify</label></div>
Expand All @@ -58,6 +59,7 @@
const elCmp = document.querySelector( "gsui-com-profile" );
const itsme = document.querySelector( "#itsme" );
const email = document.querySelector( "#email" );
const avatar = document.querySelector( "#avatar" );
const emailpublic = document.querySelector( "#emailpublic" );
const emailtoverify = document.querySelector( "#emailtoverify" );
const emailsending = document.querySelector( "#emailsending" );
Expand All @@ -69,11 +71,13 @@
emailtoverify.onchange = () => GSUtoggleAttribute( elCmp, "emailtoverify" );
emailsending.onchange = () => GSUtoggleAttribute( elCmp, "emailsending" );
emailsent.onchange = () => GSUtoggleAttribute( elCmp, "emailsent" );
avatar.onchange = () => GSUtoggleAttribute( elCmp, "avatar", "../test-assets/avatar.jpg" );

itsme.click();
email.click();
emailpublic.click();
emailtoverify.click();
avatar.click();
document.querySelector( ".gsuiComProfile-main-edit" ).click();
</script>
</body>
Expand Down

0 comments on commit d05ba6f

Please sign in to comment.