also update viewer info when updating counters
This commit is contained in:
parent
578ffb750e
commit
ed574c530f
|
@ -57,7 +57,7 @@
|
|||
backoff_level += 1;
|
||||
backoff_level = Math.min(backoff_level, 5);
|
||||
});
|
||||
promise.then(fetch_counters).then(update_counters);
|
||||
promise.then(fetch_viewer).then(update_viewer);
|
||||
|
||||
// remove server-rendered banner
|
||||
let banner = settings_section.querySelector('.banner');
|
||||
|
@ -109,7 +109,7 @@
|
|||
// silently send_settings in case the user changed settings while the page was loading
|
||||
send_settings(get_all_inputs());
|
||||
|
||||
function fetch_counters(){
|
||||
function fetch_viewer(){
|
||||
return fetch('/api/viewer', {
|
||||
credentials: 'same-origin',
|
||||
})
|
||||
|
@ -117,10 +117,12 @@
|
|||
.then(resp => resp.json());
|
||||
}
|
||||
|
||||
function update_counters(counters){
|
||||
document.querySelector('#post-count').textContent = counters.post_count;
|
||||
document.querySelector('#eligible-estimate').textContent = counters.eligible_for_delete_estimate;
|
||||
function update_viewer(viewer){
|
||||
document.querySelector('#post-count').textContent = viewer.post_count;
|
||||
document.querySelector('#eligible-estimate').textContent = viewer.eligible_for_delete_estimate;
|
||||
document.querySelector('#display-name').textContent = viewer.display_name;
|
||||
document.querySelector('#avatar').src = viewer.avatar_url;
|
||||
}
|
||||
|
||||
setInterval(() => fetch_counters().then(update_counters), 1000 * 20)
|
||||
setInterval(() => fetch_viewer().then(update_viewer), 1000 * 20)
|
||||
})();
|
||||
|
|
19
routes.py
19
routes.py
|
@ -112,14 +112,15 @@ def upload_tweet_archive():
|
|||
@app.route('/settings', methods=('POST',))
|
||||
@require_auth
|
||||
def settings():
|
||||
for attr in lib.settings.attrs:
|
||||
try:
|
||||
viewer = get_viewer()
|
||||
try:
|
||||
for attr in lib.settings.attrs:
|
||||
if attr in request.form:
|
||||
setattr(g.viewer.account, attr, request.form[attr])
|
||||
except ValueError:
|
||||
return redirect(url_for('index', settings_error=''))
|
||||
setattr(viewer, attr, request.form[attr])
|
||||
db.session.commit()
|
||||
except ValueError:
|
||||
return 400
|
||||
|
||||
db.session.commit()
|
||||
|
||||
return redirect(url_for('index', settings_saved=''))
|
||||
|
||||
|
@ -184,5 +185,9 @@ def api_viewer_post_counts():
|
|||
return jsonify(
|
||||
post_count=viewer.post_count(),
|
||||
eligible_for_delete_estimate=viewer.estimate_eligible_for_delete(),
|
||||
# more? maybe later
|
||||
display_name=viewer.display_name,
|
||||
screen_name=viewer.screen_name,
|
||||
avatar_url=viewer.avatar_url,
|
||||
id=viewer.id,
|
||||
service=viewer.service,
|
||||
)
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
<section class=viewer>
|
||||
<p>Hello,
|
||||
<img class=avatar src="{{g.viewer.account.avatar_url}}"/>
|
||||
{{g.viewer.account.display_name}}!
|
||||
<img class=avatar id=avatar src="{{g.viewer.account.avatar_url}}"/>
|
||||
<span id='display-name'>{{g.viewer.account.display_name}}</span>!
|
||||
<a href="{{url_for('logout')}}">Log out</a>
|
||||
</p>
|
||||
{% set enabled_disabled = "enabled" if g.viewer.account.policy_enabled else "disabled" %}
|
||||
|
|
Loading…
Reference in New Issue