1
0
Fork 0
mirror of synced 2024-06-01 10:29:48 +12:00

Updated styles and removed old code

This commit is contained in:
eldadfux 2019-08-06 15:22:54 +03:00
parent e5dc377f98
commit adc4035e01
13 changed files with 96 additions and 174 deletions

View file

@ -1,4 +1,5 @@
<?php
use Utopia\Locale\Locale;
?>
<div class="cover">
@ -10,29 +11,14 @@ use Utopia\Locale\Locale;
<div class="zone xl">
<ul class="phases clear" data-ui-phases data-selected="{{router.params.tab}}">
<li data-state="/console/account">
<div class=""
data-service="account.get"
data-scope="console"
data-name="account"
data-event="load"
data-success="render"
data-error="trigger"
data-error-triggers="logout">
<div class="" data-service="account.get" data-scope="console" data-name="account" data-event="load" data-success="render" data-error="trigger" data-error-triggers="logout">
<h2><span class="number"><i class="icon-user"></i></span><?php echo Locale::getText('console.account.section.overview.title'); ?></h2>
<div class="row responsive">
<div class="col span-9">
<div class="box margin-bottom-xl">
<div>
<form name="account.update" onsubmit="return false;"
data-service="account.updateName"
data-scope="console"
data-event="submit"
data-success="trigger,alert"
data-success-alert="Your name was updated successfully"
data-success-triggers="account.update,modal-close"
data-error="alert"
data-error-alert="Failed to update your name">
<form name="account.update" onsubmit="return false;" data-service="account.updateName" data-scope="console" data-event="submit" data-success="trigger,alert" data-success-alert="Your name was updated successfully" data-success-triggers="account.update,modal-close" data-error="alert" data-error-alert="Failed to update your name">
<label for="name"><?php echo Locale::getText('console.account.section.overview.labels.name'); ?></label>
@ -52,15 +38,7 @@ use Utopia\Locale\Locale;
<hr />
<form name="update-email"
data-service="account.updateEmail"
data-scope="console"
data-event="submit"
data-success="trigger,alert"
data-success-alert="Email address updated successfully"
data-success-triggers="account.update,modal-close"
data-error="alert"
data-error-alert="Failed updating email address">
<form name="update-email" data-service="account.updateEmail" data-scope="console" data-event="submit" data-success="trigger,alert" data-success-alert="Email address updated successfully" data-success-triggers="account.update,modal-close" data-error="alert" data-error-alert="Failed updating email address">
<label><?php echo Locale::getText('console.account.section.overview.labels.email'); ?></label>
<div class="row">
@ -85,15 +63,7 @@ use Utopia\Locale\Locale;
<div data-ui-modal class="modal close width-small" data-button-text="<?php echo $this->escape(Locale::getText('console.account.section.overview.actions.update-password')); ?>" data-button-class="reverse">
<h1><?php echo Locale::getText('console.account.section.overview.actions.update-password'); ?></h1>
<form name="update-password"
data-service="account.updatePassword"
data-scope="console"
data-event="submit"
data-success="trigger,alert"
data-success-triggers="account.update,modal-close"
data-success-alert="Password updated successfully"
data-error="alert"
data-error-alert="Failed updating password">
<form name="update-password" data-service="account.updatePassword" data-scope="console" data-event="submit" data-success="trigger,alert" data-success-triggers="account.update,modal-close" data-success-alert="Password updated successfully" data-error="alert" data-error-alert="Failed updating password">
<label><?php echo Locale::getText('console.account.section.overview.labels.password1'); ?></label>
<input name="oldPassword" type="password" class="full-width" autocomplete="off" placeholder="" required>
@ -109,14 +79,7 @@ use Utopia\Locale\Locale;
<hr />
<form class="margin-top"
data-service="auth.logout"
data-scope="console"
data-event="submit"
data-success="trigger"
data-success-triggers="logout"
data-error="alert"
data-error-alert="Logout failed">
<form class="margin-top" data-service="auth.logout" data-scope="console" data-event="submit" data-success="trigger" data-success-triggers="logout" data-error="alert" data-error-alert="Logout failed">
<button class="fill danger icon fill"><i class="icon-login"></i> <?php echo Locale::getText('console.account.section.overview.actions.logout'); ?></button>
</form>
</div>
@ -124,7 +87,7 @@ use Utopia\Locale\Locale;
</div>
<div class="col span-3 text-center">
<img src="" data-ui-gravatar="{{account.email}}" data-name="{{account.name}}" data-size="300" width="150" height="150" alt="User Avatar" class="avatar huge huge margin-bottom-small" />
<img src="" data-ls-attrs="src={{account|gravatar}}" height="150" alt="User Avatar" class="avatar huge huge margin-bottom-small" />
<br />
@ -148,15 +111,7 @@ use Utopia\Locale\Locale;
<p><?php echo Locale::getText('console.account.section.overview.danger.note'); ?></p>
<form class="inline"
data-service="account.deactivate"
data-scope="console"
data-event="submit"
data-confirm="Are you sure you want to delete your account?"
data-success="trigger"
data-success-triggers="deactivated"
data-error="alert"
data-error-alert="Account deactivation failed">
<form class="inline" data-service="account.deactivate" data-scope="console" data-event="submit" data-confirm="Are you sure you want to delete your account?" data-success="trigger" data-success-triggers="deactivated" data-error="alert" data-error-alert="Account deactivation failed">
<button class="danger reverse"><?php echo Locale::getText('console.account.section.overview.danger.action'); ?></button>
</form>
</div>
@ -170,46 +125,27 @@ use Utopia\Locale\Locale;
<h3><?php echo Locale::getText('console.account.section.security.devices.title'); ?></h3>
<div class="box margin-bottom"
data-service="account.sessions"
data-scope="console"
data-name="sessions"
data-event="load">
<div class="box margin-bottom" data-service="account.getSessions" data-scope="console" data-name="sessions" data-event="load">
<ul data-ls-loop="sessions" data-ls-as="session" class="list">
<li class="clear">
<span data-ls-if="true != {{session.current}}" style="display: none;"> <!-- From remote session (-logout event) -->
<form class="pull-end"
data-service="auth.logoutById"
data-scope="console"
data-event="submit"
data-loading="<?php echo $this->escape(Locale::getText('general.loading')); ?>"
data-success="trigger"
data-success-triggers="account.update"
data-error="alert"
data-error-alert="<?php echo $this->escape(Locale::getText('console.account.section.security.devices.logout.failure')); ?>">
<span data-ls-if="true != {{session.current}}" style="display: none;">
<!-- From remote session (-logout event) -->
<form class="pull-end" data-service="auth.logoutById" data-scope="console" data-event="submit" data-loading="<?php echo $this->escape(Locale::getText('general.loading')); ?>" data-success="trigger" data-success-triggers="account.update" data-error="alert" data-error-alert="<?php echo $this->escape(Locale::getText('console.account.section.security.devices.logout.failure')); ?>">
<input type="hidden" name="userId" data-ls-bind="{{session.id}}">
<button class="danger"><?php echo Locale::getText('console.account.section.security.devices.logout'); ?></button>
</form>
</span>
<span data-ls-if="true == {{session.current}}" style="display: none;"> <!-- From current session (+logout event) -->
<form class="pull-end"
data-service="auth.logoutById"
data-scope="console"
data-event="submit"
data-loading="<?php echo $this->escape(Locale::getText('general.loading')); ?>"
data-success="trigger,redirect"
data-success-triggers="logout"
data-success-redirect-url="/"
data-error="alert"
data-error-alert="<?php echo $this->escape(Locale::getText('console.account.section.security.devices.logout.failure')); ?>">
<span data-ls-if="true == {{session.current}}" style="display: none;">
<!-- From current session (+logout event) -->
<form class="pull-end" data-service="auth.logoutById" data-scope="console" data-event="submit" data-loading="<?php echo $this->escape(Locale::getText('general.loading')); ?>" data-success="trigger,redirect" data-success-triggers="logout" data-success-redirect-url="/" data-error="alert" data-error-alert="<?php echo $this->escape(Locale::getText('console.account.section.security.devices.logout.failure')); ?>">
<input type="hidden" name="userId" data-ls-bind="{{session.id}}">
<button class="danger"><?php echo Locale::getText('console.account.section.security.devices.logout'); ?></button>
</form>
</span>
<img data-ls-attrs="src={{env.API}}/v1/avatars/browsers/{{session.client.short_name|lowerCase}}?width=120&height=120,title={{session.client.name}},alt={{session.client.name}}" class="avatar trans pull-start margin-end" />
<img data-ls-attrs="src={{env.API}}/avatars/browsers/{{session.client.short_name|lowerCase}}?width=120&height=120,title={{session.client.name}},alt={{session.client.name}}" class="avatar trans pull-start margin-end" />
<span data-ls-bind="{{session.client.name}}"></span> <span data-ls-bind="{{session.client.version}}"></span> on <span data-ls-bind="{{session.model}}"></span> <span data-ls-bind="{{session.OS.name}}"></span> <span data-ls-bind="{{session.OS.version}}"></span>
&nbsp;
@ -225,24 +161,12 @@ use Utopia\Locale\Locale;
</ul>
</div>
<form class="inline margin-bottom-large"
data-service="auth.logoutById"
data-scope="console"
data-event="submit"
data-success="trigger,redirect"
data-success-triggers="account.update"
data-success-redirect-url="/"
data-error="alert"
data-error-alert="<?php echo $this->escape(Locale::getText('console.account.section.security.devices.logout-all')); ?>">
<form class="inline margin-bottom-large" data-service="auth.logoutById" data-scope="console" data-event="submit" data-success="trigger,redirect" data-success-triggers="account.update" data-success-redirect-url="/" data-error="alert" data-error-alert="<?php echo $this->escape(Locale::getText('console.account.section.security.devices.logout-all')); ?>">
<input type="hidden" name="userId" value="0">
<button class="danger"><?php echo Locale::getText('console.account.section.security.devices.logout-all'); ?></button>
</form>
<div class="account"
data-service="account.security"
data-scope="console"
data-name="securityLogs"
data-event="load">
<div class="account" data-service="account.getSecurity" data-scope="console" data-name="securityLogs" data-event="load">
<span data-ls-bind="{{securityLogs}}"></span>
<h3><?php echo Locale::getText('console.account.section.security.recent-activity.title'); ?></h3>
@ -250,28 +174,28 @@ use Utopia\Locale\Locale;
<div class="box">
<table class="vertical small">
<thead>
<tr>
<th width="140"><?php echo Locale::getText('console.account.section.security.recent-activity.date'); ?></th>
<th width="175"><?php echo Locale::getText('console.account.section.security.recent-activity.event'); ?></th>
<th><?php echo Locale::getText('console.account.section.security.recent-activity.client'); ?></th>
<th width="90"><?php echo Locale::getText('console.account.section.security.recent-activity.location'); ?></th>
<th width="90"><?php echo Locale::getText('console.account.section.security.recent-activity.ip'); ?></th>
</tr>
<tr>
<th width="140"><?php echo Locale::getText('console.account.section.security.recent-activity.date'); ?></th>
<th width="175"><?php echo Locale::getText('console.account.section.security.recent-activity.event'); ?></th>
<th><?php echo Locale::getText('console.account.section.security.recent-activity.client'); ?></th>
<th width="90"><?php echo Locale::getText('console.account.section.security.recent-activity.location'); ?></th>
<th width="90"><?php echo Locale::getText('console.account.section.security.recent-activity.ip'); ?></th>
</tr>
</thead>
<tbody data-ls-loop="securityLogs" data-ls-as="log">
<tr>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.date')); ?>: "><span data-ls-bind="{{log.time|date-time}}"></span></td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.event')); ?>: "><span data-ls-bind="{{log.event}}"></span></td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.client')); ?>: ">
<img data-ls-attrs="src={{env.API}}/v1/avatars/browsers/{{log.client.short_name|lowerCase}}?width=80&height=80,title={{log.client.name}},alt={{log.client.name}}" class="avatar xs inline margin-end-small" />
<span data-ls-bind="{{log.client.name}} {{log.client.version}} on {{log.model}} {{log.OS.name}} {{log.OS.version}}"></span>
</td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.location')); ?>: ">
<img data-ls-attrs="src={{env.API}}/v1/avatars/flags/{{log.geo.isoCode}}?width=80&height=80" class="avatar xs inline margin-end-small" />
<span data-ls-bind="{{log.geo.country}}"></span>
</td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.ip')); ?>: "><span data-ls-bind="{{log.ip}}"></span></td>
</tr>
<tr>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.date')); ?>: "><span data-ls-bind="{{log.time|date-time}}"></span></td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.event')); ?>: "><span data-ls-bind="{{log.event}}"></span></td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.client')); ?>: ">
<img data-ls-attrs="src={{env.API}}/v1/avatars/browsers/{{log.client.short_name|lowerCase}}?width=80&height=80,title={{log.client.name}},alt={{log.client.name}}" class="avatar xs inline margin-end-small" />
<span data-ls-bind="{{log.client.name}} {{log.client.version}} on {{log.model}} {{log.OS.name}} {{log.OS.version}}"></span>
</td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.location')); ?>: ">
<img data-ls-attrs="src={{env.API}}/v1/avatars/flags/{{log.geo.isoCode}}?width=80&height=80" class="avatar xs inline margin-end-small" />
<span data-ls-bind="{{log.geo.country}}"></span>
</td>
<td data-title="<?php echo $this->escape(Locale::getText('console.account.section.security.recent-activity.ip')); ?>: "><span data-ls-bind="{{log.ip}}"></span></td>
</tr>
</tbody>
</table>
</div>

View file

@ -4,13 +4,22 @@ use Utopia\Locale\Locale;
?>
<div class="cover margin-bottom-large">
<h1 class="zone xl margin-bottom-large margin-top">
<a data-ls-attrs="href=/console/openings/new?company={{router.params.company}}" class="button icon margin-top-tiny pull-end"><i class="icon-plus"></i> &nbsp;Upload</a>
<a data-ls-attrs="href=/console/openings/new?company={{router.params.company}}" class="button icon margin-top-tiny pull-end"><i class="icon-plus"></i> &nbsp;Collection</a>
<?php echo Locale::getText('console.database.title'); ?>
</h1>
</div>
<div class="zone xl">
<div class="box dashboard" data-service="database.list" data-event="load" data-param-search="" data-param-limit="25" data-param-offset="0" data-scope="sdk" data-name="project-users">
</div>
</div>
<div class="zone xl" data-service="database.listCollections" data-scope="sdk" data-event="load" data-name="project-collections" data-success="render,trigger" data-success-triggers="collections.load" data-error="render" data-error-rerender="">
<div class="box margin-bottom">
<ul data-ls-loop="project-collections.collections" data-ls-as="collection" class="list">
<li class="clear">
<img src="" data-ls-attrs="src={{collection.name|gravatar}}" alt="Collection Avatar" class="avatar margin-end pull-start" />
<a data-ls-bind="{{collection.name}}" data-ls-attrs="href=/console/database/collection?project={{console-project.$uid}}&id={{collection.$uid}}"></a>
<p class=" note margin-bottom-no margin-top-small"><span data-ls-bind="{{collection.rules.length}}"></span> fields</p>
</li>
</ul>
</div>
</div>

View file

@ -117,6 +117,8 @@ use Utopia\Locale\Locale;
</div>
</div>
<hr />
<button class="" type="submit">Save</button>
</div>
</form>
@ -145,7 +147,8 @@ use Utopia\Locale\Locale;
</form>
</div>
<img src="" data-ui-gravatar="{{member.email}}" data-name="{{member.name}}" data-size="100" alt="User Avatar" class="avatar pull-start margin-end" />
<img src="" data-ls-attrs="src={{member|gravatar}}" alt="User Avatar" class="avatar pull-start margin-end" />
<div class="margin-bottom-small">
<span data-ls-bind="{{member.name}}"></span> &nbsp;&nbsp;<span class="tag" data-ls-bind="{{member.roles.0|id2role}}"></span> &nbsp;&nbsp;<span data-ls-if="false === {{member.confirm}}" class="tag red" style="display: none;"><?php echo Locale::getText('console.settings.section.members.labels.pending'); ?></span>
</div>

View file

@ -18,7 +18,7 @@ $providers = $this->getParam('providers', []);
<div class="row responsive force-reverse clear margin-bottom-tiny">
<div class="col span-2">
<div class="clear">
<div data-ui-modal class="modal close" data-button-text="" data-button-class="pull-end round" data-button-icon="icon-plus">
<div data-ui-modal class="box modal close" data-button-text="" data-button-class="pull-end round" data-button-icon="icon-plus">
<button type="button" class="close pull-end" data-ui-modal-close=""><i class="icon-cancel"></i></button>
<h1>Create User</h1>
@ -34,6 +34,8 @@ $providers = $this->getParam('providers', []);
<label for="user-password">Password</label>
<input type="password" class="full-width" id="user-password" name="password" required autocomplete="off" />
<hr />
<button type="submit">Create</button> &nbsp; <button data-ui-modal-close="" type="button" class="reverse">Cancel</button>
</form>
</div>
@ -45,7 +47,7 @@ $providers = $this->getParam('providers', []);
<form class="" data-forms-filter="filter-users" data-event="init">
<input type="hidden" name="offset" value="0">
<input type="hidden" name="limit" value="10">
<input name="search" id="search" type="search" autocomplete="off" placeholder="Search" class="strip margin-bottom-no">
<input name="search" id="searchUsers" type="search" autocomplete="off" placeholder="Search" class="strip margin-bottom-no">
</form>
</div>
</div>
@ -75,7 +77,7 @@ $providers = $this->getParam('providers', []);
<tbody data-ls-loop="project-users.users" data-ls-as="user">
<tr>
<td>
<img src="" data-ui-gravatar="{{user.email}}" data-name="{{user.name}}" data-size="60" alt="User Avatar" class="avatar pull-start" />
<img src="" data-ls-attrs="src={{user.email|gravatar}}" alt="User Avatar" class="avatar pull-start" />
</td>
<td data-title="Name: ">
<a data-ls-attrs="href=/console/users/view?id={{user.$uid}}&project={{router.params.project}}" data-ls-bind="{{user.name}}"></a>
@ -136,8 +138,8 @@ $providers = $this->getParam('providers', []);
<form data-service="teams.create" data-event="submit" data-success="alert,trigger,reset" data-success-alert="Created team successfully" data-success-triggers="filter-teams-changed,team.new,modal-close" data-error="alert" data-error-alert="Failed to create team">
<label for="user-name">Name</label>
<input type="text" class="full-width" id="user-name" name="name" required autocomplete="off" />
<label for="team-name">Name</label>
<input type="text" class="full-width" id="team-name" name="name" required autocomplete="off" />
<button type="submit">Create</button> &nbsp; <button data-ui-modal-close="" type="button" class="reverse">Cancel</button>
</form>
@ -149,13 +151,13 @@ $providers = $this->getParam('providers', []);
<form data-forms-filter="filter-teams" data-event="init">
<input type="hidden" name="offset" value="0">
<input type="hidden" name="limit" value="10">
<input name="search" id="search" type="search" autocomplete="off" placeholder="Search" class="strip margin-bottom-no">
<input name="search" id="searchTeams" type="search" autocomplete="off" placeholder="Search" class="strip margin-bottom-no">
</form>
</div>
</div>
</div>
<div class="zone xl" data-service="teams.list" data-scope="sdk" data-name="project-teams" data-event="filter-teams-changed" data-param-search="{{filter-teams.keys.search}}" data-param-limit="{{filter-teams.keys.limit}}" data-param-offset="{{filter-teams.keys.offset}}" data-success="trigger,render" data-error="render" data-success-rerender="team.update,team.new,filter-teams-changed" data-error-rerender="" data-success-triggers="teams.load">
<div class="zone xl" data-service="teams.listTeams" data-scope="sdk" data-name="project-teams" data-event="load" data-param-search="{{filter-teams.keys.search}}" data-param-limit="{{filter-teams.keys.limit}}" data-param-offset="{{filter-teams.keys.offset}}" data-success="trigger,render" data-error="render" data-success-rerender="team.update,team.new,filter-teams-changed" data-error-rerender="" data-success-triggers="teams.load">
<div data-ls-if="0 == {{project-teams.sum}}" class="box margin-bottom" style="display: none;">
<h3 class="margin-bottom">No Teams Found</h3>

View file

@ -55,7 +55,6 @@ const configApp = {
'public/scripts/views/general/setup.js',
'public/scripts/views/general/switch.js',
'public/scripts/views/ui/gravatar.js',
'public/scripts/views/ui/highlight.js',
'public/scripts/views/ui/modal.js',
'public/scripts/views/ui/open.js',

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -4,8 +4,21 @@ window.ls.filter
// MD5 (Message-Digest Algorithm) by WebToolkit
let MD5 = function(s){function L(k,d){return(k<<d)|(k>>>(32-d))}function K(G,k){let I,d,F,H,x;F=(G&2147483648);H=(k&2147483648);I=(G&1073741824);d=(k&1073741824);x=(G&1073741823)+(k&1073741823);if(I&d){return(x^2147483648^F^H)}if(I|d){if(x&1073741824){return(x^3221225472^F^H)}else{return(x^1073741824^F^H)}}else{return(x^F^H)}}function r(d,F,k){return(d&F)|((~d)&k)}function q(d,F,k){return(d&k)|(F&(~k))}function p(d,F,k){return(d^F^k)}function n(d,F,k){return(F^(d|(~k)))}function u(G,F,aa,Z,k,H,I){G=K(G,K(K(r(F,aa,Z),k),I));return K(L(G,H),F)}function f(G,F,aa,Z,k,H,I){G=K(G,K(K(q(F,aa,Z),k),I));return K(L(G,H),F)}function D(G,F,aa,Z,k,H,I){G=K(G,K(K(p(F,aa,Z),k),I));return K(L(G,H),F)}function t(G,F,aa,Z,k,H,I){G=K(G,K(K(n(F,aa,Z),k),I));return K(L(G,H),F)}function e(G){let Z;let F=G.length;let x=F+8;let k=(x-(x%64))/64;let I=(k+1)*16;let aa=Array(I-1);let d=0;let H=0;while(H<F){Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=(aa[Z]|(G.charCodeAt(H)<<d));H++}Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=aa[Z]|(128<<d);aa[I-2]=F<<3;aa[I-1]=F>>>29;return aa}function B(x){let k="",F="",G,d;for(d=0;d<=3;d++){G=(x>>>(d*8))&255;F="0"+G.toString(16);k=k+F.substr(F.length-2,2)}return k}function J(k){k=k.replace(/rn/g,"n");let d="";for(let F=0;F<k.length;F++){let x=k.charCodeAt(F);if(x<128){d+=String.fromCharCode(x)}else{if((x>127)&&(x<2048)){d+=String.fromCharCode((x>>6)|192);d+=String.fromCharCode((x&63)|128)}else{d+=String.fromCharCode((x>>12)|224);d+=String.fromCharCode(((x>>6)&63)|128);d+=String.fromCharCode((x&63)|128)}}}return d}let C=Array();let P,h,E,v,g,Y,X,W,V;let S=7,Q=12,N=17,M=22;let A=5,z=9,y=14,w=20;let o=4,m=11,l=16,j=23;let U=6,T=10,R=15,O=21;s=J(s);C=e(s);Y=1732584193;X=4023233417;W=2562383102;V=271733878;for(P=0;P<C.length;P+=16){h=Y;E=X;v=W;g=V;Y=u(Y,X,W,V,C[P+0],S,3614090360);V=u(V,Y,X,W,C[P+1],Q,3905402710);W=u(W,V,Y,X,C[P+2],N,606105819);X=u(X,W,V,Y,C[P+3],M,3250441966);Y=u(Y,X,W,V,C[P+4],S,4118548399);V=u(V,Y,X,W,C[P+5],Q,1200080426);W=u(W,V,Y,X,C[P+6],N,2821735955);X=u(X,W,V,Y,C[P+7],M,4249261313);Y=u(Y,X,W,V,C[P+8],S,1770035416);V=u(V,Y,X,W,C[P+9],Q,2336552879);W=u(W,V,Y,X,C[P+10],N,4294925233);X=u(X,W,V,Y,C[P+11],M,2304563134);Y=u(Y,X,W,V,C[P+12],S,1804603682);V=u(V,Y,X,W,C[P+13],Q,4254626195);W=u(W,V,Y,X,C[P+14],N,2792965006);X=u(X,W,V,Y,C[P+15],M,1236535329);Y=f(Y,X,W,V,C[P+1],A,4129170786);V=f(V,Y,X,W,C[P+6],z,3225465664);W=f(W,V,Y,X,C[P+11],y,643717713);X=f(X,W,V,Y,C[P+0],w,3921069994);Y=f(Y,X,W,V,C[P+5],A,3593408605);V=f(V,Y,X,W,C[P+10],z,38016083);W=f(W,V,Y,X,C[P+15],y,3634488961);X=f(X,W,V,Y,C[P+4],w,3889429448);Y=f(Y,X,W,V,C[P+9],A,568446438);V=f(V,Y,X,W,C[P+14],z,3275163606);W=f(W,V,Y,X,C[P+3],y,4107603335);X=f(X,W,V,Y,C[P+8],w,1163531501);Y=f(Y,X,W,V,C[P+13],A,2850285829);V=f(V,Y,X,W,C[P+2],z,4243563512);W=f(W,V,Y,X,C[P+7],y,1735328473);X=f(X,W,V,Y,C[P+12],w,2368359562);Y=D(Y,X,W,V,C[P+5],o,4294588738);V=D(V,Y,X,W,C[P+8],m,2272392833);W=D(W,V,Y,X,C[P+11],l,1839030562);X=D(X,W,V,Y,C[P+14],j,4259657740);Y=D(Y,X,W,V,C[P+1],o,2763975236);V=D(V,Y,X,W,C[P+4],m,1272893353);W=D(W,V,Y,X,C[P+7],l,4139469664);X=D(X,W,V,Y,C[P+10],j,3200236656);Y=D(Y,X,W,V,C[P+13],o,681279174);V=D(V,Y,X,W,C[P+0],m,3936430074);W=D(W,V,Y,X,C[P+3],l,3572445317);X=D(X,W,V,Y,C[P+6],j,76029189);Y=D(Y,X,W,V,C[P+9],o,3654602809);V=D(V,Y,X,W,C[P+12],m,3873151461);W=D(W,V,Y,X,C[P+15],l,530742520);X=D(X,W,V,Y,C[P+2],j,3299628645);Y=t(Y,X,W,V,C[P+0],U,4096336452);V=t(V,Y,X,W,C[P+7],T,1126891415);W=t(W,V,Y,X,C[P+14],R,2878612391);X=t(X,W,V,Y,C[P+5],O,4237533241);Y=t(Y,X,W,V,C[P+12],U,1700485571);V=t(V,Y,X,W,C[P+3],T,2399980690);W=t(W,V,Y,X,C[P+10],R,4293915773);X=t(X,W,V,Y,C[P+1],O,2240044497);Y=t(Y,X,W,V,C[P+8],U,1873313359);V=t(V,Y,X,W,C[P+15],T,4264355552);W=t(W,V,Y,X,C[P+6],R,2734768916);X=t(X,W,V,Y,C[P+13],O,1309151649);Y=t(Y,X,W,V,C[P+4],U,4149444226);V=t(V,Y,X,W,C[P+11],T,3174756917);W=t(W,V,Y,X,C[P+2],R,718787259);X=t(X,W,V,Y,C[P+9],O,3951481745);Y=K(Y,h);X=K(X,E);W=K(W,v);V=K(V,g)}let i=B(Y)+B(X)+B(W)+B(V);return i.toLowerCase()};
let size = 80;
let email = $value.email || '';
let name = $value.name || '';
let email = $value.email || $value || '';
let name = $value.name || $value || '';
let theme = name.split('').map(char => char.charCodeAt(0)).reduce((a, b) => a + b, 0).toString();
let themes = [
{ color: '27005e', background: 'e1d2f6' }, // VIOLET
{ color: '5e2700', background: 'f3d9c6' }, // ORANGE
{ color: '006128', background: 'c9f3c6' }, // GREEN
{ color: '580061', background: 'f2d1f5' }, // FUSCHIA
{ color: '00365d', background: 'c6e1f3' }, // BLUE
{ color: '00075c', background: 'd2d5f6' }, // INDIGO
{ color: '610038', background: 'f5d1e6' }, // PINK
{ color: '386100', background: 'dcf1bd' }, // LIME
{ color: '615800', background: 'f1ecba' }, // YELLOW
{ color: '610008', background: 'f6d2d5' }, // RED
];
name = name.split(' ').map(function (n) {
if(!isNaN(parseFloat(n)) && isFinite(n)) {
@ -14,8 +27,11 @@ window.ls.filter
return n[0];
}).join('') || '--';
let background = themes[theme[theme.length -1]]['background'];
let color = themes[theme[theme.length -1]]['color'];
let def = 'https://ui-avatars.com/api/' + encodeURIComponent(name) + '/' + size + '';
let def = 'https://ui-avatars.com/api/' + encodeURIComponent(name) + '/' + size + '/' + encodeURIComponent(background) + '/' + encodeURIComponent(color);
return '//www.gravatar.com/avatar/' + MD5(email) + '.jpg?s=' + size + '&d=' + encodeURIComponent(def);
})

View file

@ -87,7 +87,6 @@
}
let result = resolve(method);
console.log(result);
if(!result) {
return;

View file

@ -1,29 +0,0 @@
(function (window) {
window.ls.container.get('view').add(
{
repeat: true,
selector: 'data-ui-gravatar',
controller: function(element, document, expression) {
// MD5 (Message-Digest Algorithm) by WebToolkit
let MD5 = function(s){function L(k,d){return(k<<d)|(k>>>(32-d))}function K(G,k){let I,d,F,H,x;F=(G&2147483648);H=(k&2147483648);I=(G&1073741824);d=(k&1073741824);x=(G&1073741823)+(k&1073741823);if(I&d){return(x^2147483648^F^H)}if(I|d){if(x&1073741824){return(x^3221225472^F^H)}else{return(x^1073741824^F^H)}}else{return(x^F^H)}}function r(d,F,k){return(d&F)|((~d)&k)}function q(d,F,k){return(d&k)|(F&(~k))}function p(d,F,k){return(d^F^k)}function n(d,F,k){return(F^(d|(~k)))}function u(G,F,aa,Z,k,H,I){G=K(G,K(K(r(F,aa,Z),k),I));return K(L(G,H),F)}function f(G,F,aa,Z,k,H,I){G=K(G,K(K(q(F,aa,Z),k),I));return K(L(G,H),F)}function D(G,F,aa,Z,k,H,I){G=K(G,K(K(p(F,aa,Z),k),I));return K(L(G,H),F)}function t(G,F,aa,Z,k,H,I){G=K(G,K(K(n(F,aa,Z),k),I));return K(L(G,H),F)}function e(G){let Z;let F=G.length;let x=F+8;let k=(x-(x%64))/64;let I=(k+1)*16;let aa=Array(I-1);let d=0;let H=0;while(H<F){Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=(aa[Z]|(G.charCodeAt(H)<<d));H++}Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=aa[Z]|(128<<d);aa[I-2]=F<<3;aa[I-1]=F>>>29;return aa}function B(x){let k="",F="",G,d;for(d=0;d<=3;d++){G=(x>>>(d*8))&255;F="0"+G.toString(16);k=k+F.substr(F.length-2,2)}return k}function J(k){k=k.replace(/rn/g,"n");let d="";for(let F=0;F<k.length;F++){let x=k.charCodeAt(F);if(x<128){d+=String.fromCharCode(x)}else{if((x>127)&&(x<2048)){d+=String.fromCharCode((x>>6)|192);d+=String.fromCharCode((x&63)|128)}else{d+=String.fromCharCode((x>>12)|224);d+=String.fromCharCode(((x>>6)&63)|128);d+=String.fromCharCode((x&63)|128)}}}return d}let C=Array();let P,h,E,v,g,Y,X,W,V;let S=7,Q=12,N=17,M=22;let A=5,z=9,y=14,w=20;let o=4,m=11,l=16,j=23;let U=6,T=10,R=15,O=21;s=J(s);C=e(s);Y=1732584193;X=4023233417;W=2562383102;V=271733878;for(P=0;P<C.length;P+=16){h=Y;E=X;v=W;g=V;Y=u(Y,X,W,V,C[P+0],S,3614090360);V=u(V,Y,X,W,C[P+1],Q,3905402710);W=u(W,V,Y,X,C[P+2],N,606105819);X=u(X,W,V,Y,C[P+3],M,3250441966);Y=u(Y,X,W,V,C[P+4],S,4118548399);V=u(V,Y,X,W,C[P+5],Q,1200080426);W=u(W,V,Y,X,C[P+6],N,2821735955);X=u(X,W,V,Y,C[P+7],M,4249261313);Y=u(Y,X,W,V,C[P+8],S,1770035416);V=u(V,Y,X,W,C[P+9],Q,2336552879);W=u(W,V,Y,X,C[P+10],N,4294925233);X=u(X,W,V,Y,C[P+11],M,2304563134);Y=u(Y,X,W,V,C[P+12],S,1804603682);V=u(V,Y,X,W,C[P+13],Q,4254626195);W=u(W,V,Y,X,C[P+14],N,2792965006);X=u(X,W,V,Y,C[P+15],M,1236535329);Y=f(Y,X,W,V,C[P+1],A,4129170786);V=f(V,Y,X,W,C[P+6],z,3225465664);W=f(W,V,Y,X,C[P+11],y,643717713);X=f(X,W,V,Y,C[P+0],w,3921069994);Y=f(Y,X,W,V,C[P+5],A,3593408605);V=f(V,Y,X,W,C[P+10],z,38016083);W=f(W,V,Y,X,C[P+15],y,3634488961);X=f(X,W,V,Y,C[P+4],w,3889429448);Y=f(Y,X,W,V,C[P+9],A,568446438);V=f(V,Y,X,W,C[P+14],z,3275163606);W=f(W,V,Y,X,C[P+3],y,4107603335);X=f(X,W,V,Y,C[P+8],w,1163531501);Y=f(Y,X,W,V,C[P+13],A,2850285829);V=f(V,Y,X,W,C[P+2],z,4243563512);W=f(W,V,Y,X,C[P+7],y,1735328473);X=f(X,W,V,Y,C[P+12],w,2368359562);Y=D(Y,X,W,V,C[P+5],o,4294588738);V=D(V,Y,X,W,C[P+8],m,2272392833);W=D(W,V,Y,X,C[P+11],l,1839030562);X=D(X,W,V,Y,C[P+14],j,4259657740);Y=D(Y,X,W,V,C[P+1],o,2763975236);V=D(V,Y,X,W,C[P+4],m,1272893353);W=D(W,V,Y,X,C[P+7],l,4139469664);X=D(X,W,V,Y,C[P+10],j,3200236656);Y=D(Y,X,W,V,C[P+13],o,681279174);V=D(V,Y,X,W,C[P+0],m,3936430074);W=D(W,V,Y,X,C[P+3],l,3572445317);X=D(X,W,V,Y,C[P+6],j,76029189);Y=D(Y,X,W,V,C[P+9],o,3654602809);V=D(V,Y,X,W,C[P+12],m,3873151461);W=D(W,V,Y,X,C[P+15],l,530742520);X=D(X,W,V,Y,C[P+2],j,3299628645);Y=t(Y,X,W,V,C[P+0],U,4096336452);V=t(V,Y,X,W,C[P+7],T,1126891415);W=t(W,V,Y,X,C[P+14],R,2878612391);X=t(X,W,V,Y,C[P+5],O,4237533241);Y=t(Y,X,W,V,C[P+12],U,1700485571);V=t(V,Y,X,W,C[P+3],T,2399980690);W=t(W,V,Y,X,C[P+10],R,4293915773);X=t(X,W,V,Y,C[P+1],O,2240044497);Y=t(Y,X,W,V,C[P+8],U,1873313359);V=t(V,Y,X,W,C[P+15],T,4264355552);W=t(W,V,Y,X,C[P+6],R,2734768916);X=t(X,W,V,Y,C[P+13],O,1309151649);Y=t(Y,X,W,V,C[P+4],U,4149444226);V=t(V,Y,X,W,C[P+11],T,3174756917);W=t(W,V,Y,X,C[P+2],R,718787259);X=t(X,W,V,Y,C[P+9],O,3951481745);Y=K(Y,h);X=K(X,E);W=K(W,v);V=K(V,g)}let i=B(Y)+B(X)+B(W)+B(V);return i.toLowerCase()};
let size = expression.parse(element.dataset['size'] || '80');
let empty = expression.parse(element.dataset['empty'] || '');
let email = expression.parse(element.dataset['uiGravatar'] || empty);
let name = expression.parse(element.dataset['name'] || email);
name = name.split(' ').map(function (n) {
if(!isNaN(parseFloat(n)) && isFinite(n)) {
return '';
}
return n[0];
}).join('') || '--';
let def = 'https://ui-avatars.com/api/' + encodeURIComponent(name) + '/' + size + '';
element.src = '//www.gravatar.com/avatar/' + MD5(email) + '.jpg?s=' + size + '&d=' + encodeURIComponent(def);
}
}
);
})(window);

View file

@ -12,7 +12,7 @@
.title {
color: @config-color-focus;
font-weight: 600;
margin-bottom: 30px !important;
margin-bottom: 40px !important;
font-size: 28px;
}

View file

@ -18,12 +18,12 @@
background: #f6f9fc;
.project-only {
visibility: hidden !important;
display: none !important;
}
&.show-nav {
.project-only {
visibility: visible !important;
display: inline-block !important;
}
}
@ -190,6 +190,7 @@
overflow: scroll;
height: ~"calc(100% - 183px)";
padding-bottom: 50px;
width: 100%;
}
.project-box {