Changes in ow/templates/profile.pt [d24a64a:5cf5787] in OpenWorkouts-current


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ow/templates/profile.pt

    rd24a64a r5cf5787  
    1515
    1616    <div class="user-profile">
    17       <div class="user-profile-account">
    18         <div>
    19           <tal:c tal:condition="getattr(context, 'picture', None)">
    20             <img tal:attributes="src request.resource_path(context, 'picture')"
    21                  width="450" />
    22           </tal:c>
    23           <div>
    24             <h2>
    25                 <tal:fullname tal:content="context.fullname"></tal:fullname>
    26             </h2>
    27             <p>
    28               <tal:has-nickname tal:condition="context.nickname">
    29                   <tal:nickname tal:content="context.nickname"></tal:nickname>
    30               </tal:has-nickname> |
    31               <span><tal:email tal:content="context.email"></tal:email></span>
    32             </p>
    33             <div class="profile-bio" tal:content="getattr(context, 'bio', '')"></div>
    34             <ul class="workout-options">
    35               <li><a href=""
    36                  tal:attributes="href request.resource_url(context, 'edit')"
    37                  i18n:translate="">edit profile</a></li>
    38               <li><a href=""
    39                  tal:attributes="href request.resource_url(context, 'passwd')"
    40                  i18n:translate="">change password</a></li>
    41             </ul>
    42           </div>
    43         </div>
    44 
     17      <tal:c tal:condition="getattr(context, 'picture', None)">
     18        <img tal:attributes="src request.resource_path(context, 'picture')"
     19             width="450" />
     20      </tal:c>
     21      <h2>
     22          <tal:fullname tal:content="context.fullname"></tal:fullname>
     23          <tal:has-nickname tal:condition="context.nickname">
     24              (<tal:nickname tal:content="context.nickname"></tal:nickname>)
     25          </tal:has-nickname>
     26      </h2>
     27      <h3>
     28        <tal:email tal:content="context.email"></tal:email>
     29      </h3>
     30      <h4>
     31        <a href=""
     32           tal:attributes="href request.resource_url(context, 'edit')"
     33           i18n:translate="">edit profile</a> |
     34        <a href=""
     35           tal:attributes="href request.resource_url(context, 'passwd')"
     36           i18n:translate="">change password</a>
     37      </h4>
     38      <div class="profile-info">
     39        <ul>
     40          <li>
     41            <tal:t i18n:translate="">Gender:</tal:t>
     42            <tal:c tal:content="getattr(context, 'gender', '-')"></tal:c>
     43          </li>
     44          <li tal:define="birth_date getattr(context, 'birth_date', None)">
     45            <tal:t i18n:translate="">Birth date:</tal:t>
     46            <tal:c tal:condition="birth_date"
     47                   tal:content="birth_date.strftime('%d/%m/%Y')"></tal:c>
     48            <tal:c tal:condition="birth_date is None">-</tal:c>
     49          </li>
     50          <li>
     51            <tal:t i18n:translate="">Height:</tal:t>
     52            <tal:c tal:content="getattr(context, 'height', '-')"></tal:c> meters
     53          </li>
     54          <li>
     55            <tal:t i18n:translate="">Weight:</tal:t>
     56            <tal:c tal:content="getattr(context, 'weight', '-')"></tal:c> kg
     57          </li>
     58        </ul>
    4559      </div>
    4660
    47       <div class="workout-content">
    48         <div class="workout-list">
    49           <div class="total-workouts">
    50             <tal:w tal:replace="context.num_workouts"></tal:w>
    51             <tal:t i18n:translate="">workouts</tal:t>
     61      <div class="profile-bio" tal:content="getattr(context, 'bio', '')"></div>
     62
     63      <div class="profile-workouts">
     64        <tal:t i18n:translate="">Total number of workouts</tal:t>:
     65        <tal:w tal:replace="context.num_workouts"></tal:w>
     66      </div>
     67
     68      <div class="month-stats js-month-stats">
     69        <svg width="600" height="300"></svg>
     70        <div class="filters js-filters">
     71          <a href="#" class="js-distance" i18n:translate="">distance</a>
     72          <a href="#" class="js-time" i18n:translate="">time</a>
     73          <a href="#" class="js-elevation" i18n:translate="">elevation</a>
     74        </div>
     75        <div class="switcher js-switcher">
     76          <a href="#" class="js-weekly" i18n:translate="">weekly</a>
     77          <a href="#" class="js-monthly" i18n:translate="">monthly</a>
     78        </div>
     79      </div>
     80
     81
     82      <tal:r tal:repeat="workout workouts">
     83
     84        <a name="workouts"></a>
     85
     86
     87        <article class="workout-resume">
     88
     89          <h2 class="workout-title">
     90            <a href="" tal:content="workout.title"
     91               tal:attributes="href request.resource_url(workout)"></a>
     92          </h2>
     93
     94          <ul class="workout-info">
     95            <li>
     96              <tal:c tal:content="workout.start_in_timezone(context.timezone)"></tal:c>
     97            </li>
     98            <li>
     99              <!--! use the properly formatted duration instead of the timedelta object -->
     100              <tal:c tal:content="workout._duration"></tal:c>
     101            </li>
     102            <li tal:condition="workout.distance">
     103              <tal:c tal:content="workout.rounded_distance"></tal:c> km
     104            </li>
     105          </ul>
     106
     107          <ul class="workout-info" tal:define="hr workout.hr; cad workout.cad">
     108            <li tal:condition="hr">
     109              <span i18n:translate="">HR (bpm)</span>:
     110              <tal:c tal:content="hr['min']"></tal:c>
     111              <tal:t i18n:translate="">Min.</tal:t>,
     112              <tal:c tal:content="hr['avg']"></tal:c>
     113              <tal:t i18n:translate="">Avg.</tal:t>,
     114              <tal:c tal:content="hr['max']"></tal:c>
     115              <tal:t i18n:translate="">Max.</tal:t>
     116            </li>
     117            <li tal:condition="cad">
     118              <span i18n:translate="">Cad</span>:
     119              <tal:c tal:content="cad['min']"></tal:c>
     120              <tal:t i18n:translate="">Min.</tal:t>,
     121              <tal:c tal:content="cad['avg']"></tal:c>
     122              <tal:t i18n:translate="">Avg.</tal:t>,
     123              <tal:c tal:content="cad['max']"></tal:c>
     124              <tal:t i18n:translate="">Max.</tal:t>
     125            </li>
     126          </ul>
     127
     128          <div class="workout-intro" tal:content="workout.notes"></div>
     129
     130          <div class="workout-map" tal:condition="workout.has_gpx">
     131            <a href="" tal:attributes="href request.resource_url(workout)">
     132              <img src="" tal:attributes="src request.static_url(workout.map_screenshot);
     133                        alt workout.title; title workout.title">
     134            </a>
    52135          </div>
    53136
    54           <div class="month-stats js-month-stats">
    55             <div class="svg-cotent">
    56               <svg width="900" height="180" viewBox="0 0 900 180"></svg>
    57             </div>
    58             <div class="center">
    59               <ul class="workout-options filters js-filters">
    60                 <li><a href="#" class="js-distance is-active" i18n:translate="">distance</a></li>
    61                 <li><a href="#" class="js-time" i18n:translate="">time</a></li>
    62                 <li><a href="#" class="js-elevation" i18n:translate="">elevation</a></li>
    63               </ul>
     137        </article>
    64138
    65               <ul class="workout-options switcher js-switcher">
    66                 <li><a href="#" class="js-weekly" i18n:translate="">weekly</a></li>
    67                 <li><a href="#" class="js-monthly is-active" i18n:translate="">monthly</a></li>
    68               </ul>
    69             </div>
    70           </div>
     139      </tal:r>
    71140
    72 
    73           <tal:r tal:repeat="workout workouts">
    74 
    75             <article class="workout-resume">
    76 
    77               <h2 class="workout-title">
    78                 <a href="" tal:content="workout.title"
    79                    tal:attributes="href request.resource_url(workout)"></a>
    80               </h2>
    81 
    82               <ul class="workout-info">
    83                 <li>
    84                   <tal:c tal:content="workout.start_in_timezone(context.timezone)"></tal:c>
    85                 </li>
    86                 <li>
    87                   <!--! use the properly formatted duration instead of the timedelta object -->
    88                   <tal:c tal:content="workout._duration"></tal:c>
    89                 </li>
    90                 <li tal:condition="workout.distance">
    91                   <tal:c tal:content="workout.rounded_distance"></tal:c> km
    92                 </li>
    93               </ul>
    94 
    95               <ul class="workout-info" tal:define="hr workout.hr; cad workout.cad">
    96                 <li tal:condition="hr">
    97                   <span i18n:translate="">HR (bpm)</span>:
    98                   <tal:c tal:content="hr['min']"></tal:c>
    99                   <tal:t i18n:translate="">Min.</tal:t>,
    100                   <tal:c tal:content="hr['avg']"></tal:c>
    101                   <tal:t i18n:translate="">Avg.</tal:t>,
    102                   <tal:c tal:content="hr['max']"></tal:c>
    103                   <tal:t i18n:translate="">Max.</tal:t>
    104                 </li>
    105                 <li tal:condition="cad">
    106                   <span i18n:translate="">Cad</span>:
    107                   <tal:c tal:content="cad['min']"></tal:c>
    108                   <tal:t i18n:translate="">Min.</tal:t>,
    109                   <tal:c tal:content="cad['avg']"></tal:c>
    110                   <tal:t i18n:translate="">Avg.</tal:t>,
    111                   <tal:c tal:content="cad['max']"></tal:c>
    112                   <tal:t i18n:translate="">Max.</tal:t>
    113                 </li>
    114               </ul>
    115 
    116               <div class="workout-intro" tal:content="workout.notes"></div>
    117 
    118               <div class="workout-map" tal:condition="workout.has_gpx">
    119                 <a href="" tal:attributes="href request.resource_url(workout)">
    120                   <img src="" tal:attributes="src request.static_url(workout.map_screenshot);
    121                             alt workout.title; title workout.title">
    122                 </a>
    123               </div>
    124 
    125             </article>
    126 
    127           </tal:r>
    128         </div>
    129 
    130         <div class="workout-aside">
    131           <ul class="profile-data">
    132             <li>
    133               <span><tal:t i18n:translate="">Gender:</tal:t></span>
    134               <tal:c tal:content="getattr(context, 'gender', '-')"></tal:c>
    135             </li>
    136             <li tal:define="birth_date getattr(context, 'birth_date', None)">
    137               <span><tal:t i18n:translate="">Birth date:</tal:t></span>
    138               <tal:c tal:condition="birth_date"
    139                      tal:content="birth_date.strftime('%d/%m/%Y')"></tal:c>
    140               <tal:c tal:condition="birth_date is None">-</tal:c>
    141             </li>
    142             <li>
    143               <span><tal:t i18n:translate="">Height:</tal:t></span>
    144               <tal:c tal:content="getattr(context, 'height', '-')"></tal:c> meters
    145             </li>
    146             <li>
    147               <span><tal:t i18n:translate="">Weight:</tal:t></span>
    148               <tal:c tal:content="getattr(context, 'weight', '-')"></tal:c> kg
    149             </li>
    150           </ul>
    151         </div>
    152       </div>
    153141    </div>
    154142
     
    168156
    169157     var year_chart = owjs.year_chart({
    170          chart_selector: '.js-month-stats svg',
    171          filters_selector: '.js-month-stats .js-filters a',
    172          switcher_selector: '.js-month-stats .js-switcher a',
     158         chart_selector: 'div.js-month-stats svg',
     159         filters_selector: 'div.js-month-stats div.js-filters a',
     160         switcher_selector: 'div.js-month-stats div.js-switcher a',
    173161         urls: {"monthly": "${request.resource_url(context, 'monthly')}",
    174162                "weekly": "${request.resource_url(context, 'weekly')}"},
Note: See TracChangeset for help on using the changeset viewer.