Error: {workItem.errorMessage}
@@ -147,21 +147,21 @@ const WorkItemComponent = ({ workItem, onUpdate, onDelete }: Props) => {
diff --git a/src/index.css b/src/index.css
index 961f3c5..a19709c 100644
--- a/src/index.css
+++ b/src/index.css
@@ -9,31 +9,94 @@ body {
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
- background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
+ background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
+ background-size: 200% 200%;
+ animation: gradientShift 15s ease infinite;
min-height: 100vh;
}
+@keyframes gradientShift {
+ 0% { background-position: 0% 50%; }
+ 50% { background-position: 100% 50%; }
+ 100% { background-position: 0% 50%; }
+}
+
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}
.glass-card {
- background: rgba(255, 255, 255, 0.05);
- backdrop-filter: blur(12px);
- -webkit-backdrop-filter: blur(12px);
- border: 1px solid rgba(255, 255, 255, 0.1);
+ background: rgba(255, 255, 255, 0.03);
+ backdrop-filter: blur(16px);
+ -webkit-backdrop-filter: blur(16px);
+ border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 16px;
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.glass-card:hover {
+ background: rgba(255, 255, 255, 0.05);
+ transform: translateY(-2px);
+ box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.3);
+ border-color: rgba(255, 255, 255, 0.12);
}
.glass-btn {
- transition: all 0.2s ease;
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-btn:hover {
- transform: translateY(-1px);
+ transform: translateY(-2px);
+ box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.3);
}
.glass-btn:active {
- transform: scale(0.95);
+ transform: scale(0.98);
+}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ transform: translateY(10px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+@keyframes slideIn {
+ from {
+ opacity: 0;
+ transform: translateX(-20px);
+ }
+ to {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+
+@keyframes gradientText {
+ 0% {
+ background-position: 0% 50%;
+ }
+ 50% {
+ background-position: 100% 50%;
+ }
+ 100% {
+ background-position: 0% 50%;
+ }
+}
+
+.animate-fade-in {
+ animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.animate-slide-in {
+ animation: slideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.animate-gradient-text {
+ animation: gradientText 3s ease infinite;
}
\ No newline at end of file