Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 2 additions & 4 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -1606,8 +1606,6 @@ def export_achievement(achievement_id):
return redirect(url_for("student-achievements"))


if __name__ == "__main__":
init_db()
add_profile_picture_column()
app.run(debug=True)
if __name__ == '__main__':
app.run(debug=True, host='127.0.0.1', port=5001)

81 changes: 39 additions & 42 deletions templates/student.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Student Login - Achievement Management System</title>
<link rel="stylesheet" href="{{ url_for('static', filename = 'styles.css') }}" />
<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}?v=1" />

<script src="{{ url_for('static', filename = 'script.js') }}"></script>
<style> /* ===== Theme Toggle (Top Right) ===== */
Expand All @@ -16,60 +16,67 @@
width: 42px;
height: 42px;
border-radius: 50%;
border: none;
border: none;}
<script src="{{ url_for('static', filename = 'script.js') }}" defer></script>
<style>
/* =========================================
Modern Auth Layout Overrides
========================================= */
body {
display: flex;
flex-direction: column;
align-items: center;
min-height: 100vh;
margin: 0;
padding: 0;
}
:root {
--primary-color: #ff1c1c;
--primary-hover: #e01515;
--bg-color: #050505;
--glass-bg: rgba(255, 255, 255, 0.04);
--border-color: rgba(255, 255, 255, 0.1);
--text-color: #ffffff;
--text-secondary: #94a3b8;
}

/* Base resets */
body {
margin: 0;
padding: 0;
min-height: 100vh;
background-color: var(--bg-color);
font-family: 'Inter', system-ui, sans-serif;
color: var(--text-color);
}

.auth-nav {
position: fixed;
top: 0;
left: 0;

width: 100%;
padding: 16px 40px;
display: flex;
justify-content: space-between;
justify-content: center;
align-items: center;
z-index: 9999;
box-sizing: border-box;

background: var(--glass-bg);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-bottom: 1px solid var(--border-color);
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

.auth-brand {
.auth-brand {
display: flex;
align-items: center;
gap: 12px;
font-size: 1.25rem;
font-size: 2.5rem;
font-weight: 700;
color: var(--text-color);
color: white;
text-decoration: none;
letter-spacing: -0.5px;
margin-left:100px;
}


.auth-brand svg {
width: 28px;
height: 28px;
color: var(--primary-color);
}

.nav-actions {
display: flex;
align-items: center;
gap: 24px;
gap: 30px;
padding-left:25px;
}

.nav-back {
Expand All @@ -92,8 +99,7 @@
justify-content: center;
align-items: center;
width: 100%;
max-width: 1100px;
margin: auto 0;

padding: 120px 20px 40px 20px;
/* Space for absolute nav */
box-sizing: border-box;
Expand Down Expand Up @@ -219,7 +225,7 @@
background: var(--bg-color);
}

.auth-header {
.auth-header {
margin-bottom: 2.5rem;
}

Expand Down Expand Up @@ -522,33 +528,24 @@
padding: 80px 16px 40px 16px;
}
}


</style>
</head>

<body>
<!-- Professional Navbar -->
<div class="auth-nav">
<a href="{{ url_for('home') }}" class="auth-brand">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 7L12 12L22 7L12 2Z" fill="currentColor" />
<path d="M2 17L12 22L22 17" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round" />
<path d="M2 12L12 17L22 12" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round" />
</svg>
<span>Achievement Management System</span>
</a>

<div class="nav-actions">
<a href="{{ url_for('home') }}" class="nav-back">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path d="M19 12H5M12 19l-7-7 7-7" />
</svg>
Back to Home

<u>Back to Home</u>
</a>
<!-- Theme Toggle -->
<button id="mode-toggle" class="theme-toggle" title="Toggle theme"></button>

</div>
</div>

Expand Down
6 changes: 3 additions & 3 deletions venv1/Lib/site-packages/pip/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from __future__ import annotations
from typing import List, Optional

__version__ = "25.3"
__version__ = "23.1.2"


def main(args: list[str] | None = None) -> int:
def main(args: Optional[List[str]] = None) -> int:
"""This is an internal API only meant for use by pip's own console scripts.

For additional details, see https://github.com/pypa/pip/issues/7498.
Expand Down
7 changes: 7 additions & 0 deletions venv1/Lib/site-packages/pip/__main__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import os
import sys
import warnings

# Remove '' and current working directory from the first entry
# of sys.path, if present to avoid using current directory
Expand All @@ -19,6 +20,12 @@
sys.path.insert(0, path)

if __name__ == "__main__":
# Work around the error reported in #9540, pending a proper fix.
# Note: It is essential the warning filter is set *before* importing
# pip, as the deprecation happens at import time, not runtime.
warnings.filterwarnings(
"ignore", category=DeprecationWarning, module=".*packaging\\.version"
)
from pip._internal.cli.main import main as _main

sys.exit(_main())
4 changes: 2 additions & 2 deletions venv1/Lib/site-packages/pip/__pip-runner__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

import sys

# Copied from pyproject.toml
PYTHON_REQUIRES = (3, 9)
# Copied from setup.py
PYTHON_REQUIRES = (3, 7)


def version_str(version): # type: ignore
Expand Down
5 changes: 3 additions & 2 deletions venv1/Lib/site-packages/pip/_internal/__init__.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from __future__ import annotations
from typing import List, Optional

import pip._internal.utils.inject_securetransport # noqa
from pip._internal.utils import _log

# init_logging() must be called before any call to logging.getLogger()
# which happens at import of most modules.
_log.init_logging()


def main(args: list[str] | None = None) -> int:
def main(args: (Optional[List[str]]) = None) -> int:
"""This is preserved for old console scripts that may still be referencing
it.

Expand Down
Loading
Loading