Spaces:
Sleeping
Sleeping
| import os | |
| import glob | |
| nav_extension = """ | |
| <div class="nav-auth" id="nav-auth" style="display: none; align-items: center; gap: 0.5rem; margin-left: 1rem;"> | |
| <a href="/login" class="btn btn-outline" style="padding: 0.4rem 1rem;">Sign In</a> | |
| <a href="/register" class="btn btn-primary" style="padding: 0.4rem 1rem;">Sign Up</a> | |
| </div> | |
| <div class="nav-profile" id="nav-profile" style="display: none; align-items: center; margin-left: 1rem; position: relative;"> | |
| <div class="profile-trigger" id="profile-trigger" style="cursor: pointer; display: flex; align-items: center; gap: 0.5rem;"> | |
| <img src="/static/default-avatar.svg" alt="Profile" style="width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--border-color); background: #f1f5f9;"> | |
| <span id="nav-user-name" style="font-weight: 500; font-size: 0.9rem;">User</span> | |
| </div> | |
| <div class="profile-dropdown" id="profile-dropdown" style="display: none; position: absolute; top: 120%; right: 0; background: white; border: 1px solid var(--border-color); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); min-width: 220px; z-index: 100;"> | |
| <div style="padding: 1rem; border-bottom: 1px solid var(--border-color);"> | |
| <strong id="dropdown-name" style="display: block; color: var(--text-dark); margin-bottom: 0.25rem;">User</strong> | |
| <span id="dropdown-email" style="font-size: 0.8rem; color: var(--text-light); word-break: break-all;">user@example.com</span> | |
| </div> | |
| <div style="padding: 0.5rem;"> | |
| <a href="/history" style="display: block; padding: 0.5rem 1rem; color: var(--text-color); text-decoration: none; border-radius: 4px; font-size: 0.9rem; transition: background 0.2s;" onmouseover="this.style.background='var(--bg-light)'" onmouseout="this.style.background='transparent'">My Analyses</a> | |
| <a href="#" style="display: block; padding: 0.5rem 1rem; color: var(--text-color); text-decoration: none; border-radius: 4px; font-size: 0.9rem; transition: background 0.2s;" onmouseover="this.style.background='var(--bg-light)'" onmouseout="this.style.background='transparent'">Account Settings</a> | |
| <div style="height: 1px; background: var(--border-color); margin: 0.5rem 0;"></div> | |
| <button id="logout-btn" style="display: block; width: 100%; text-align: left; padding: 0.5rem 1rem; color: #ef4444; border: none; background: transparent; cursor: pointer; border-radius: 4px; font-size: 0.9rem; transition: background 0.2s;" onmouseover="this.style.background='#fef2f2'" onmouseout="this.style.background='transparent'">Sign Out</button> | |
| </div> | |
| </div> | |
| </div>""" | |
| for f in glob.glob('templates/*.html'): | |
| if 'login.html' in f or 'register.html' in f: | |
| continue | |
| with open(f, 'r', encoding='utf-8') as file: | |
| content = file.read() | |
| if 'id="nav-auth"' not in content: | |
| content = content.replace('</div>\\n <div class="nav-status">', '</div>\\n' + nav_extension + '\\n <div class="nav-status">') | |
| with open(f, 'w', encoding='utf-8') as file: | |
| file.write(content) | |
| print(f"Updated {f}") | |