Changes in ow/templates/profile.pt [d24a64a:5cf5787] in OpenWorkouts-current
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ow/templates/profile.pt
rd24a64a r5cf5787 15 15 16 16 <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> 45 59 </div> 46 60 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> 52 135 </div> 53 136 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> 64 138 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> 71 140 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> km92 </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> meters145 </li>146 <li>147 <span><tal:t i18n:translate="">Weight:</tal:t></span>148 <tal:c tal:content="getattr(context, 'weight', '-')"></tal:c> kg149 </li>150 </ul>151 </div>152 </div>153 141 </div> 154 142 … … 168 156 169 157 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', 173 161 urls: {"monthly": "${request.resource_url(context, 'monthly')}", 174 162 "weekly": "${request.resource_url(context, 'weekly')}"},
Note: See TracChangeset
for help on using the changeset viewer.