Implement anonymous account mode (Issue #2)

- Modified index route to allow browsing without login
- Set default user_settings for anonymous users with safe defaults
- Added anonymous flag to dashboard template
- Updated navigation to show Login/Sign Up buttons for anonymous users
- Changed feed header to "Public Feed" for anonymous browsing
- Hide Customize button for anonymous users

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-11 18:42:28 -05:00
parent 36bb905f99
commit a1d8c9d373
2 changed files with 40 additions and 21 deletions

14
app.py
View File

@@ -276,8 +276,18 @@ def index():
return render_template('dashboard.html', user_settings=user_settings)
else:
# Redirect non-authenticated users to login
return redirect(url_for('login'))
# Anonymous mode - allow browsing with default settings
user_settings = {
'filter_set': 'no_filter',
'communities': [],
'experience': {
'infinite_scroll': False,
'auto_refresh': False,
'push_notifications': False,
'dark_patterns_opt_in': False
}
}
return render_template('dashboard.html', user_settings=user_settings, anonymous=True)
@app.route('/feed/<filterset>')

View File

@@ -21,6 +21,12 @@
</div>
<div class="nav-right">
{% if anonymous %}
<div class="anonymous-actions">
<a href="{{ url_for('login') }}" class="login-btn">🔑 Login</a>
<a href="{{ url_for('register') }}" class="register-btn">📝 Sign Up</a>
</div>
{% else %}
<div class="user-menu">
<div class="user-info">
<div class="user-avatar">
@@ -40,6 +46,7 @@
<a href="{{ url_for('logout') }}" class="dropdown-item">🚪 Logout</a>
</div>
</div>
{% endif %}
</div>
</div>
</nav>
@@ -90,10 +97,12 @@
<!-- Content Feed -->
<section class="content-section">
<div class="content-header">
<h1>Your Feed</h1>
<h1>{% if anonymous %}Public Feed{% else %}Your Feed{% endif %}</h1>
<div class="content-actions">
<button class="refresh-btn" onclick="refreshFeed()">🔄 Refresh</button>
{% if not anonymous %}
<a href="{{ url_for('settings_filters') }}" class="filter-btn">🔧 Customize</a>
{% endif %}
</div>
</div>