Changes in ow/templates/profile.pt [5cf5787:d24a64a] in OpenWorkouts-current
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ow/templates/profile.pt
r5cf5787 rd24a64a 15 15 16 16 <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 59 45 </div> 60 46 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> 62 53 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> 67 64 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> 74 128 </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> 78 151 </div> 79 152 </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> km104 </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 141 153 </div> 142 154 … … 156 168 157 169 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', 161 173 urls: {"monthly": "${request.resource_url(context, 'monthly')}", 162 174 "weekly": "${request.resource_url(context, 'weekly')}"},
Note: See TracChangeset
for help on using the changeset viewer.