File size: 5,684 Bytes
ed0b977
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <meta content="width=device-width, initial-scale=1.0" name="viewport" />
  <title>Admin Login - SWIFT QUERY</title>
  <link href="https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap" rel="stylesheet" />
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet" />
  <script src="https://cdn.tailwindcss.com?plugins=forms,typography"></script>
  <script>
    tailwind.config = {
      darkMode: "class",
      theme: {
        extend: {
          colors: {
            primary: "#e67e22",
            "background-light": "#fef3e9",
            "background-dark": "#3c2a1a",
          },
          fontFamily: {
            display: ["Lora", "serif"],
          },
          borderRadius: {
            DEFAULT: "1rem",
          },
        },
      },
    };
  </script>
  <style>
    .glass-effect {
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px)
    }

    .bg-gradient-warm {
      background-image: linear-gradient(to right, #f8a65c, #d97706)
    }

    .bg-gradient-warm:hover {
      background-image: linear-gradient(to right, #f9b170, #e67e22)
    }

    body {
      background-image: url(https://images.unsplash.com/photo-1576091160550-2173dba999ef?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);
      background-size: cover;
      background-position: center
    }
  </style>
</head>

<body
  class="font-display bg-background-light dark:bg-background-dark text-slate-700 dark:text-slate-300 min-h-screen flex flex-col items-center justify-between p-4">

  <header
    class="w-full max-w-7xl mx-auto p-4 glass-effect bg-white/30 dark:bg-black/20 rounded-xl border border-white/20 dark:border-white/10 shadow-lg">
    <nav class="flex justify-between items-center">
      <div class="flex items-center gap-3">
        <div class="bg-white/40 dark:bg-white/20 p-2 rounded-lg">
          <img alt="SWIFT QUERY logo" class="h-6 w-6"
            src="https://lh3.googleusercontent.com/aida-public/AB6AXuAo-0VjrEABAroA7y5_lx9DaLNKygExss7Nm-JDYOskVgALV9qdaAPI5i-PZTURZZgEjLr4rtqVCuuFvo2lxrhcPFo5rzzmjEBkaHow8xuV6nOcIWrotNl5ObyyAPl_SXiJf_z6PYLVARd_eU5xPHZZkkrOyx-HUjixqFKF3U_Mso6NjNK16mUpN9HcmNHUPFD1ZbvGwtvyAahfGscP0U9TG7sOTE9543xi7_Fsj819eadeslFzYJzPsdXDFzBMNa_8dNSvC_ka-HY" />
        </div>
        <span class="font-semibold text-slate-800 dark:text-white text-lg">Swift Query</span>
      </div>
      <div>
        <a href="/" class="text-slate-800 dark:text-white font-medium hover:text-primary transition-colors">Back to
          Home</a>
      </div>
    </nav>
  </header>

  <main class="flex-grow flex items-center justify-center w-full">
    <div
      class="w-full max-w-md mx-auto p-8 glass-effect bg-white/40 dark:bg-black/30 rounded-2xl border border-white/30 dark:border-white/10 shadow-2xl">
      <div class="text-center mb-8">
        <h1 class="text-3xl font-bold text-slate-900 dark:text-white">Admin Login</h1>
        <p class="text-slate-700 dark:text-slate-300 mt-2">Access the admin dashboard.</p>
      </div>
      <form action="{{ url_for('admin.login') }}" class="space-y-6" method="POST">
        <div>
          <div class="relative">
            <span
              class="material-icons-outlined absolute left-4 top-1/2 -translate-y-1/2 text-slate-500 dark:text-slate-400">person_outline</span>
            <input
              class="w-full pl-12 pr-4 py-3 rounded-lg bg-white/50 dark:bg-black/20 border border-white/30 dark:border-white/10 focus:ring-2 focus:ring-primary focus:border-primary transition-all placeholder-slate-500 dark:placeholder-slate-400 text-slate-800 dark:text-white shadow-sm"
              id="username" name="username" placeholder="Username" required="" type="text" />
          </div>
        </div>
        <div>
          <div class="relative">
            <span
              class="material-icons-outlined absolute left-4 top-1/2 -translate-y-1/2 text-slate-500 dark:text-slate-400">lock_outline</span>
            <input
              class="w-full pl-12 pr-12 py-3 rounded-lg bg-white/50 dark:bg-black/20 border border-white/30 dark:border-white/10 focus:ring-2 focus:ring-primary focus:border-primary transition-all placeholder-slate-500 dark:placeholder-slate-400 text-slate-800 dark:text-white shadow-sm"
              id="password" name="password" placeholder="Password" required="" type="password" />
            <button class="absolute right-4 top-1/2 -translate-y-1/2 text-slate-500 dark:text-slate-400" type="button">
              <span class="material-icons-outlined">visibility_off</span>
            </button>
          </div>
        </div>
        <div>
          <button
            class="w-full bg-gradient-warm text-white font-bold py-3 px-4 rounded-full shadow-lg hover:shadow-xl transition-all text-lg focus:outline-none focus:ring-4 focus:ring-orange-300 dark:focus:ring-orange-800"
            type="submit">
            Login
          </button>
        </div>
      </form>
      {% with messages = get_flashed_messages() %}
      {% if messages %}
      <ul class="text-red-500">
        {% for message in messages %}
        <li>{{ message }}</li>
        {% endfor %}
      </ul>
      {% endif %}
      {% endwith %}
    </div>
  </main>

  <footer
    class="w-full max-w-7xl mx-auto p-4 text-center glass-effect bg-white/20 dark:bg-black/20 rounded-xl border border-white/20 dark:border-white/10 shadow-lg">
    <p class="text-sm text-slate-800 dark:text-slate-200">Copyright © 2025 SWIFT QUERY. All rights reserved.</p>
  </footer>

</body>

</html>