2f55f898ed
- Implemented Spotify OAuth handling in spotify_client_manager.py to ensure valid access tokens for users. - Created helper functions in spotify_helper.py for refreshing tokens and retrieving user information. - Developed manage_spotify.html template for connecting and managing Spotify accounts, displaying connection status and token information. - Added logging for token management processes to enhance debugging and monitoring. - Introduced a debug client for Spotify interactions to facilitate easier testing and development.
49 lines
2.0 KiB
HTML
49 lines
2.0 KiB
HTML
{% extends 'base.html' %}
|
|
|
|
{% block title %}Forgot Password - Quizzical Beats{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="flex min-h-screen items-center justify-center bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">
|
|
<div class="w-full max-w-md space-y-8">
|
|
<div class="text-center">
|
|
<h2 class="mt-6 text-center text-3xl font-bold tracking-tight text-navy-800 font-montserrat">
|
|
Forgot Password
|
|
</h2>
|
|
<p class="mt-2 text-center text-sm text-gray-600">
|
|
Enter your email address and we'll send a reset link
|
|
</p>
|
|
</div>
|
|
<div class="mt-8 bg-white py-8 px-6 shadow-md rounded-lg">
|
|
<form class="space-y-6" action="{{ url_for('users.forgot_password') }}" method="POST">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
|
|
|
|
<div>
|
|
<label for="email" class="block text-sm font-medium text-gray-700">Email address</label>
|
|
<div class="mt-1">
|
|
<input id="email" name="email" type="email" autocomplete="email" required
|
|
class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-orange-500 focus:border-orange-500">
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<button type="submit" class="w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-orange-500 hover:bg-orange-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-orange-500">
|
|
Send Password Reset Link
|
|
</button>
|
|
</div>
|
|
</form>
|
|
|
|
<div class="mt-6">
|
|
<div class="text-center">
|
|
<a href="{{ url_for('users.login') }}" class="text-sm text-orange-600 hover:text-orange-500">
|
|
Remember your password? Log in
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="text-center mt-4 text-sm text-gray-500">
|
|
<p>Need help? Contact support</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |