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


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ow/templates/profile.pt

    r5cf5787 rd24a64a  
    1515
    1616    <div class="user-profile">
    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>
     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
    5945      </div>
    6046
    61       <div class="profile-bio" tal:content="getattr(context, 'bio', '')"></div>
     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>
     52          </div>
    6253
    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>
     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>
    6764
    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>
     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>
     71
     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>
    74128        </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>
     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>
    78151        </div>
    79152      </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>
    135           </div>
    136 
    137         </article>
    138 
    139       </tal:r>
    140 
    141153    </div>
    142154
     
    156168
    157169     var year_chart = owjs.year_chart({
    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',
     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',
    161173         urls: {"monthly": "${request.resource_url(context, 'monthly')}",
    162174                "weekly": "${request.resource_url(context, 'weekly')}"},
Note: See TracChangeset for help on using the changeset viewer.