|
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | 6 | <title>whatismyip</title> |
7 | 7 | <link rel="icon" href="{{ url_for('logo') }}" type="image/x-icon"> |
8 | | - |
9 | 8 | <style> |
10 | 9 | body { |
11 | 10 | background-color: #121212; |
|
20 | 19 | min-height: 100vh; |
21 | 20 | text-align: center; |
22 | 21 | } |
23 | | - |
24 | 22 | h1 { |
25 | 23 | color: #1db954; |
26 | 24 | margin-bottom: 20px; |
27 | 25 | font-size: 2rem; |
28 | 26 | } |
29 | | - |
30 | 27 | .info-card { |
31 | | - background-color: #1e1e1e; |
32 | | - border: 1px solid #333; |
33 | | - border-radius: 8px; |
| 28 | + background: linear-gradient(135deg, #1e1e1e, #292929); |
| 29 | + border-radius: 12px; |
34 | 30 | padding: 20px; |
35 | 31 | width: 90%; |
36 | 32 | max-width: 600px; |
37 | | - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); |
38 | | - text-align: center; |
| 33 | + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); |
| 34 | + margin-bottom: 20px; |
| 35 | + text-align: left; |
39 | 36 | } |
40 | | - |
41 | 37 | .info-item { |
42 | 38 | margin-bottom: 15px; |
43 | 39 | font-size: 1rem; |
| 40 | + padding: 10px; |
| 41 | + border-bottom: 1px solid #333; |
| 42 | + } |
| 43 | + .info-item:last-child { |
| 44 | + border-bottom: none; |
44 | 45 | } |
45 | | - |
46 | 46 | .info-item span { |
47 | 47 | font-weight: bold; |
48 | 48 | color: #1db954; |
49 | 49 | } |
50 | | - |
| 50 | + .input-container { |
| 51 | + display: flex; |
| 52 | + gap: 12px; |
| 53 | + width: 85%; |
| 54 | + max-width: 550px; |
| 55 | + align-items: center; |
| 56 | + justify-content: space-between; |
| 57 | + } |
| 58 | + input { |
| 59 | + padding: 12px; |
| 60 | + border-radius: 8px; |
| 61 | + border: none; |
| 62 | + background-color: #1e1e1e; |
| 63 | + color: #ffffff; |
| 64 | + outline: none; |
| 65 | + font-size: 1rem; |
| 66 | + text-align: center; |
| 67 | + flex-grow: 1; |
| 68 | + } |
| 69 | + input::placeholder { |
| 70 | + color: #888; |
| 71 | + } |
| 72 | + button { |
| 73 | + padding: 12px; |
| 74 | + border: none; |
| 75 | + border-radius: 8px; |
| 76 | + background: linear-gradient(135deg, #1db954, #17a74a); |
| 77 | + color: white; |
| 78 | + font-size: 1rem; |
| 79 | + cursor: pointer; |
| 80 | + flex-shrink: 0; |
| 81 | + min-width: 120px; |
| 82 | + } |
| 83 | + button:hover { |
| 84 | + background: linear-gradient(135deg, #17a74a, #1db954); |
| 85 | + } |
51 | 86 | footer { |
52 | 87 | margin-top: 20px; |
53 | 88 | font-size: 0.9rem; |
54 | 89 | color: #777; |
55 | 90 | } |
56 | | - |
57 | 91 | footer a { |
58 | 92 | text-decoration: none; |
59 | | - } |
60 | | - |
61 | | - footer a:first-of-type { |
62 | 93 | color: #c5c5c5; |
63 | 94 | } |
64 | | - |
65 | | - footer a:last-of-type { |
66 | | - color: #1db954; |
67 | | - } |
68 | | - |
69 | | - footer a:hover { |
70 | | - text-decoration: underline; |
71 | | - } |
72 | | - |
73 | | - @media (min-width: 1024px) { |
| 95 | + @media (max-width: 480px) { |
74 | 96 | body { |
75 | 97 | padding: 20px; |
76 | 98 | } |
77 | | - |
78 | 99 | h1 { |
79 | | - font-size: 2.5rem; |
80 | | - } |
81 | | - |
82 | | - .info-card { |
83 | | - padding: 30px; |
84 | | - max-width: 400px; |
85 | | - } |
86 | | - |
87 | | - .info-item { |
88 | | - font-size: 1.2rem; |
89 | | - } |
90 | | - |
91 | | - footer { |
92 | | - font-size: 1rem; |
| 100 | + font-size: 1.5rem; |
93 | 101 | } |
94 | | - } |
95 | | - |
96 | | - @media (max-width: 480px) { |
97 | 102 | .info-card { |
98 | | - padding: 10px; |
| 103 | + padding: 15px; |
| 104 | + width: 90%; |
| 105 | + border-radius: 15px; |
| 106 | + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); |
99 | 107 | } |
100 | | - |
101 | 108 | .info-item { |
102 | 109 | font-size: 0.9rem; |
| 110 | + padding: 8px; |
103 | 111 | } |
104 | | - |
105 | | - h1 { |
106 | | - font-size: 1.5rem; |
| 112 | + .input-container { |
| 113 | + flex-direction: column; |
| 114 | + gap: 8px; |
| 115 | + width: 100%; |
| 116 | + } |
| 117 | + input, button { |
| 118 | + width: 90%; |
| 119 | + font-size: 1rem; |
107 | 120 | } |
108 | 121 | } |
109 | 122 | </style> |
110 | 123 | </head> |
111 | 124 | <body> |
112 | | - <h1>Your Information</h1> |
| 125 | + <h1>WHAT IS MY IP</h1> |
113 | 126 | <div class="info-card"> |
114 | | - <div class="info-item"> |
115 | | - <span>IP Address:</span> <span id="ip">{{ip}}</span> |
116 | | - </div> |
117 | | - <div class="info-item"> |
118 | | - <span>Country:</span> <span id="location">{{country}}</span> |
119 | | - </div> |
120 | | - <div class="info-item"> |
121 | | - <span>City:</span> <span id="isp">{{city}}</span> |
122 | | - </div> |
123 | | - <div class="info-item"> |
124 | | - <span>ISP:</span> <span id="browser">{{isp}}</span> |
125 | | - </div> |
| 127 | + <form action="{{ url_for('whatismyip') }}" method="POST" class="input-container"> |
| 128 | + <input type="text" name="ip" placeholder="Enter IP Address"> |
| 129 | + <button type="submit">Check</button> |
| 130 | + </form> |
| 131 | + <div class="info-item"><span>IP Address:</span> <span id="ip">{{ip}}</span></div> |
| 132 | + <div class="info-item"><span>Country:</span> <span id="location">{{country}}</span></div> |
| 133 | + <div class="info-item"><span>City:</span> <span id="city">{{city}}</span></div> |
| 134 | + <div class="info-item"><span>ISP:</span> <span id="isp">{{isp}}</span></div> |
126 | 135 | </div> |
127 | 136 | <footer> |
128 | | - Made with ❤️ By <a href="https://github.com/mateo-rfz">Mateo</a> | <a href="https://github.com/mateo-rfz/whatismyip">Learn More</a> |
| 137 | + Made with ❤️ By <a href="https://github.com/mateo-rfz">Mateo</a> |
129 | 138 | </footer> |
130 | 139 | </body> |
131 | 140 | </html> |
0 commit comments