First refactor without AI

This commit is contained in:
Your Name
2025-03-15 18:32:10 -04:00
commit ab5380a399
25 changed files with 1661 additions and 0 deletions
Binary file not shown.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

+12
View File
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en" style="height: 100%; margin: 0; padding: 0;">
<head>
<meta charset="UTF-8">
<title>New Tab</title>
<link rel="stylesheet" href="styles.css">
</head>
<body style="height: 100%; margin: 0; padding: 0;">
<div id="root"></div>
<script src="index.js"></script>
</body>
</html>
+307
View File
@@ -0,0 +1,307 @@
/* Define the IBM Plex Mono font */
@font-face {
font-family: 'IBM Plex Mono';
src: url('/fonts/IBMPlexMono-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}
body {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
}
/* Base styles for widget containers */
.container {
position: absolute;
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 5px;
padding: 10px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
/* Styles for the close button */
.close-button {
position: absolute;
top: 5px;
right: 5px;
width: 16px;
height: 16px;
padding: 0;
border: none;
border-radius: 50%;
background: #ccc;
color: #fff;
font-size: 12px;
line-height: 16px;
text-align: center;
cursor: pointer;
transition: background 0.2s;
}
.close-button:hover {
background: #ff4444;
}
.close-button:active {
background: #cc0000;
}
/* Styles for the settings button */
.settings-button {
position: absolute;
top: 5px;
right: 25px;
width: 16px;
height: 16px;
padding: 0;
border: none;
border-radius: 50%;
background: #ccc;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background 0.2s;
}
.settings-button:hover {
background: #666;
}
.settings-button:active {
background: #333;
}
/* Ensure container contents don't overlap the buttons */
.container > *:not(.close-button):not(.settings-button) {
margin-top: 20px;
}
/* Styles for ClockWidget time display */
.clock-time {
color: #ffffff;
font-size: 48px;
font-family: 'IBM Plex Mono', monospace;
text-align: center;
margin-bottom: 10px;
}
/* SearchWidget form */
.container form {
display: flex;
justify-content: center;
}
.container form input[type="text"] {
width: 100%;
padding: 5px;
border: 1px solid rgba(255, 255, 255, 0.5);
border-radius: 4px;
background: rgba(255, 255, 255, 0.1);
color: #fff;
}
/* Widget settings modal */
.widget-settings-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
}
.widget-modal-content {
position: relative;
background: rgba(255, 255, 255, 0.9);
padding: 20px;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
max-width: 300px;
width: 90%;
text-align: center;
}
.widget-modal-content label {
display: block;
margin: 10px 0;
color: #333;
}
.widget-modal-content select,
.widget-modal-content input[type="number"] {
width: 100%;
padding: 5px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 4px;
}
.widget-modal-content button {
margin-top: 10px;
padding: 5px 10px;
background: #007bff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
}
.widget-modal-content button:hover {
background: #0056b3;
}
.widget-modal-content .seconds-toggle,
.widget-modal-content .hours-toggle {
text-align: left;
color: #333;
}
.widget-modal-content input[type="checkbox"] {
margin-right: 5px;
vertical-align: middle;
}
/* Settings toggle (cogwheel for main settings) */
.settings-toggle {
position: fixed;
top: 10px;
left: 10px;
background: rgba(255, 255, 255, 0.2);
border: none;
border-radius: 50%;
width: 40px;
height: 40px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.2s;
}
.settings-toggle:hover {
background: rgba(255, 255, 255, 0.4);
}
/* Main settings modal */
.settings-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
}
.modal-content {
background: rgba(255, 255, 255, 0.9);
padding: 20px;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
max-width: 400px;
width: 90%;
text-align: center;
}
.modal-content h2 {
margin-top: 0;
color: #333;
}
.modal-content label {
display: block;
margin: 15px 0;
color: #333;
}
.modal-content input[type="text"] {
width: 100%;
padding: 5px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 4px;
}
.modal-content .slider {
display: block;
margin: 10px auto;
}
.modal-content input[type="checkbox"] {
margin-left: 10px;
vertical-align: middle;
}
.widget-buttons {
margin: 15px 0;
}
.widget-buttons button {
margin: 5px;
padding: 5px 10px;
background: #007bff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
}
.widget-buttons button:hover {
background: #0056b3;
}
.close-modal {
padding: 5px 10px;
background: #ccc;
border: none;
border-radius: 4px;
cursor: pointer;
}
.close-modal:hover {
background: #999;
}
/* Grid overlay */
.grid-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 500;
}
.grid-line {
position: absolute;
background: rgba(255, 255, 255, 0.3);
}
.grid-line.vertical {
width: 1px;
height: 100%;
}
.grid-line.horizontal {
width: 100%;
height: 1px;
}