feat: Enforce classic UI design principles by applying a global monospace font, refactoring the dashboard to use a basic HTML table, and stripping modern CSS from the index page.

This commit is contained in:
2026-03-03 16:22:56 +00:00
parent 626e76adba
commit aee36fa70d
4 changed files with 46 additions and 53 deletions

View File

@@ -7,7 +7,7 @@ description: Use this skill to ensure all UI designs follow a raw, text-based, t
When asked to design or update UIs under this style, you **MUST** strictly adhere to the following rules to maintain a nostalgic, purely text-based aesthetic:
## Core Rules
1. **No CSS or Styling:** Absolutely no `<style>` tags, inline `style="..."` attributes (except maybe `display:inline` for form elements), or external stylesheets. Do not use Flexbox, CSS Grid, or margins/padding.
1. **No CSS or Styling:** Absolutely no complex style tags. The **ONLY EXCEPTION** is `<style>* { font-family: monospace !important; }</style>` to enforce the monospace rule with no exceptions. Do not use inline `style="..."` attributes (except maybe `display:inline` for form elements), or external stylesheets. Do not use Flexbox, CSS Grid, or margins/padding.
2. **No Layout Tables:** Do not use `<table>`, `<tr>`, `<td>` for laying out pages, structure, or positioning items. Tables should only be used if explicitly requested for tabular data, but even then, basic text lists are preferred.
3. **No Centering or Alignment:** Do not use `<center>` tags, `align="..."` attributes, or `<div align="center">`. The entirety of the text should remain left-aligned naturally within the browser window.
4. **Pure Structural Flow:** Rely strictly on basic structural blocks:
@@ -21,6 +21,7 @@ When asked to design or update UIs under this style, you **MUST** strictly adher
- Underline: `<u>`
- Basic Colors: `<font color="red">`, `<font color="#000000">`
6. **Form Elements:** Keep `<form>`, `<input>`, `<select>`, and `<button>` elements unstyled. Use `<input type="submit">` instead of fancy buttons. Give inputs a basic `size="..."` if necessary for width.
7. **Body:** A common body tag to use is `<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="#FF0000">`. Do not include a background or surface color.
8. **Monospace Font:** All text **must** use a monospace font, no exceptions. The best way to enforce this reliably across all elements, including form tags and tables, is to include `<style>* { font-family: monospace !important; }</style>` in the `<head>` of your HTML document.
9. **Body element:** A common body tag to use is `<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="#FF0000">`. Do not include a background or surface color.
By following these constraints, you will achieve the strict, highly generic, early web (1995-1998) look.

View File

@@ -4,6 +4,11 @@
<head>
<meta charset="UTF-8">
<title>{% block title %}CMS{% endblock %}</title>
<style>
* {
font-family: monospace !important;
}
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="#FF0000">

View File

@@ -14,26 +14,36 @@
<font color="red"><b>{{ err }}</b></font><br>
{% endif %}
{% for user in users %}
<p>
ID: {{ user.id }}<br>
Username: <a href="#">{{ user.username }}</a><br>
Role: {{ user.role }}<br>
{% if current_user.role == "admin" %}
{% if user.id != current_user.id %}
<form method="POST" action="/__dungeon/users/delete/{{ user.id }}" style="display:inline;">
<input type="submit" value="Delete User">
</form>
{% endif %}
<form method="POST" action="/__dungeon/users/password/{{ user.id }}" style="display:inline;">
<input type="password" name="password" placeholder="New Password" required size="10">
<input type="submit" value="Change Password">
</form>
{% endif %}
</p>
<hr width="50%" align="left" size="1">
{% endfor %}
<table border="1" cellpadding="5" cellspacing="0">
<tr>
<th>ID</th>
<th>Username</th>
<th>Role</th>
{% if current_user.role == "admin" %}
<th>Actions</th>
{% endif %}
</tr>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td><a href="#">{{ user.username }}</a></td>
<td>{{ user.role }}</td>
{% if current_user.role == "admin" %}
<td>
{% if user.id != current_user.id %}
<form method="POST" action="/__dungeon/users/delete/{{ user.id }}" style="display:inline;">
<input type="submit" value="Delete User">
</form>
{% endif %}
<form method="POST" action="/__dungeon/users/password/{{ user.id }}" style="display:inline;">
<input type="password" name="password" placeholder="New Password" required size="10">
<input type="submit" value="Change Password">
</form>
</td>
{% endif %}
</tr>
{% endfor %}
</table>
{% if current_user.role == "admin" %}
<br>

View File

@@ -1,42 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
<style>
body {
background-color: #121212;
color: #ffffff;
font-family: 'Inter', 'Roboto', sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
overflow: hidden;
flex-direction: column;
}
h1 {
font-size: 4rem;
margin-bottom: 0.5rem;
background: linear-gradient(90deg, #ff8a00, #e52e71);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: pulse 2s infinite alternate;
}
p {
font-size: 1.5rem;
color: #b3b3b3;
}
@keyframes pulse {
0% { opacity: 0.8; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1.02); }
* {
font-family: monospace !important;
}
</style>
</head>
<body>
<h1>Coming Soon</h1>
<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="#FF0000">
<h1>{{ title }}</h1>
<p>We are working hard to build something amazing.</p>
</body>
</html>