taskforge-pro / style.css
Fadikkop's picture
Immernoch: die verschiedenen Seiten der Anwendungen werden über bzw. untereinander angezeigt, aber es soll natürlich immer nur die Aktuelle Ansicht zu sehen sein. Außerdem soll in der Timeline die aktuelle Zeit mit einer Linie markiert werden.
90c32df verified
raw
history blame
4.21 kB
/* Custom styles for TaskForge Pro */
/* Scrollbar styling */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
@apply bg-gray-800;
}
::-webkit-scrollbar-thumb {
@apply bg-gray-600 rounded-full;
}
::-webkit-scrollbar-thumb:hover {
@apply bg-gray-500;
}
/* Task hover effects */
.task-item {
@apply relative overflow-hidden;
transition: all 0.3s ease;
}
.task-item:hover {
@apply transform scale-105 shadow-lg;
}
/* Progress bar animation */
.progress-bar-fill {
transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Focus mode animations */
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.focus-pulse {
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Button focus styles */
.btn:focus {
@apply outline-none ring-2 ring-orange-500 ring-offset-2 ring-offset-gray-900;
}
/* Tag badge styles */
.tag-badge {
@apply inline-flex items-center px-2 py-1 rounded-full text-xs font-medium;
}
/* Timeline styles */
.timeline-hour {
@apply relative border-b border-gray-700;
min-height: 60px;
position: relative;
}
.timeline-task-block {
@apply absolute rounded-lg cursor-move transition-all;
transition: all 0.2s ease;
}
.timeline-task-block:hover {
@apply transform scale-105 shadow-lg;
}
.timeline-task-block.dragging {
@apply opacity-50;
}
/* Modal backdrop blur */
.modal-backdrop {
backdrop-filter: blur(4px);
}
/* Custom input styles */
input[type="text"], input[type="number"], textarea, select {
@apply bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 text-gray-100;
@apply focus:outline-none focus:ring-2 focus:ring-orange-500 focus:border-transparent;
}
input[type="color"] {
@apply cursor-pointer;
}
/* Navigation buttons */
.nav-btn {
@apply flex items-center space-x-2 px-4 py-2 rounded-lg transition;
@apply text-gray-400 hover:text-white hover:bg-gray-700;
}
.nav-btn.active {
@apply text-orange-500 bg-gray-700;
}
/* View transitions */
.view {
display: none;
}
.view.active {
display: block;
animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Drag and drop styles */
.drag-over {
@apply bg-gray-700 border-2 border-dashed border-orange-500;
}
/* Custom checkbox */
.custom-checkbox {
@apply w-5 h-5 rounded cursor-pointer appearance-none;
@apply bg-gray-700 border border-gray-600;
@apply checked:bg-emerald-500 checked:border-emerald-500;
}
.custom-checkbox:checked::after {
content: '✓';
@apply block text-white text-center leading-5;
}
/* Time display */
.time-display {
@apply font-mono text-lg tabular-nums;
}
/* Empty state */
.empty-state {
@apply text-center py-12 text-gray-500;
}
.empty-state i {
@apply w-16 h-16 mx-auto mb-4;
}
/* Responsive timeline */
@media (max-width: 768px) {
#timeline-tasks {
width: 100%;
position: static;
}
#timeline-hours {
margin-left: 0;
}
.timeline-task-block {
position: relative !important;
width: 100% !important;
left: 0 !important;
top: auto !important;
}
}
/* Loading animation */
.loading {
@apply animate-pulse;
}
.loading::after {
content: '';
@apply absolute inset-0 bg-gray-700 rounded-lg;
animation: loading 1.5s ease-in-out infinite;
}
@keyframes loading {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}
/* Task priority indicator */
.priority-high {
@apply border-l-4 border-red-500;
}
.priority-medium {
@apply border-l-4 border-yellow-500;
}
.priority-low {
@apply border-l-4 border-emerald-500;
}
/* Focus mode glass effect */
#focus-mode {
background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(17, 24, 39, 0.98) 100%);
backdrop-filter: blur(10px);
}
/* Smooth transitions for all interactive elements */
* {
transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}