feat: Implemented fetching and a lot of other stuff

This commit is contained in:
2026-05-29 09:30:17 +02:00
parent 19ecbf1955
commit c0feda4ba8
24 changed files with 1129 additions and 82 deletions
+124
View File
@@ -0,0 +1,124 @@
/* Dashboard styles: modern cards and header */
.title-2.text-light {
-fx-text-fill: white;
-fx-font-size: 18px;
-fx-font-weight: 600;
}
.text-light {
-fx-text-fill: rgba(255,255,255,0.8);
}
.card {
-fx-background-color: rgba(255,255,255,0.06);
-fx-text-fill: white;
-fx-padding: 20 24 20 24;
-fx-background-radius: 12;
-fx-font-size: 14px;
-fx-pref-width: 220px;
-fx-pref-height: 120px;
-fx-alignment: CENTER;
-fx-effect: dropshadow(two-pass-box, rgba(0,0,0,0.4), 6, 0.0, 0, 2);
}
.card:hover {
-fx-background-color: linear-gradient(to bottom right, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
-fx-cursor: hand;
-fx-scale-x: 1.02;
-fx-scale-y: 1.02;
}
.accent {
-fx-background-color: linear-gradient(#3b82f6, #06b6d4);
-fx-text-fill: white;
}
.danger {
-fx-background-color: #ef4444;
-fx-text-fill: white;
}
.danger.small {
-fx-font-size: 11px;
-fx-padding: 6 10 6 10;
}
.skeleton-text {
-fx-background-color: rgba(255, 255, 255, 0.1);
-fx-background-radius: 4;
-fx-min-width: 100px;
-fx-min-height: 16px;
-fx-text-fill: transparent;
}
/* Grades Styling */
.subject-card {
-fx-background-color: rgba(30, 40, 56, 0.7);
-fx-border-color: rgba(255, 255, 255, 0.05);
-fx-border-radius: 8px;
-fx-background-radius: 8px;
-fx-padding: 15px 20px;
}
.grade-badge {
-fx-background-radius: 5px;
-fx-min-width: 32px;
-fx-min-height: 32px;
-fx-alignment: center;
-fx-padding: 2px 8px;
}
.grade-small {
-fx-min-height: 20px;
-fx-max-height: 20px;
-fx-min-width: 32px;
-fx-opacity: 0.85;
-fx-padding: 0px 8px;
}
.grade-predicted {
-fx-background-color: transparent !important;
-fx-border-style: dashed;
-fx-border-width: 1px;
-fx-border-radius: 4px;
-fx-opacity: 1.0;
}
.grade-predicted.grade-1 { -fx-border-color: #2ea043; }
.grade-predicted.grade-1 .grade-text { -fx-text-fill: #2ea043; }
.grade-predicted.grade-2 { -fx-border-color: #8957e5; }
.grade-predicted.grade-2 .grade-text { -fx-text-fill: #8957e5; }
.grade-predicted.grade-3 { -fx-border-color: #d29922; }
.grade-predicted.grade-3 .grade-text { -fx-text-fill: #d29922; }
.grade-predicted.grade-4 { -fx-border-color: #f85149; }
.grade-predicted.grade-4 .grade-text { -fx-text-fill: #f85149; }
.grade-predicted.grade-5 { -fx-border-color: #da3633; }
.grade-predicted.grade-5 .grade-text { -fx-text-fill: #da3633; }
.grade-predicted.grade-other { -fx-border-color: #6e7681; }
.grade-predicted.grade-other .grade-text { -fx-text-fill: #6e7681; }
.grade-add-btn {
-fx-background-color: rgba(255, 255, 255, 0.02);
-fx-border-color: rgba(255, 255, 255, 0.2);
-fx-border-style: dashed;
-fx-border-radius: 5px;
-fx-cursor: hand;
}
.grade-add-btn:hover {
-fx-background-color: rgba(255, 255, 255, 0.08);
}
.grade-small .grade-text {
-fx-font-size: 0.85em;
}
.grade-text {
-fx-font-weight: bold;
-fx-text-fill: #ffffff;
}
.grade-1 { -fx-background-color: #2ea043; } /* Primer Green */
.grade-2 { -fx-background-color: #8957e5; } /* Primer Purple */
.grade-3 { -fx-background-color: #d29922; } /* Primer Yellow */
.grade-4 { -fx-background-color: #f85149; } /* Primer Red */
.grade-5 { -fx-background-color: #da3633; -fx-border-color: #ff7b72; -fx-border-width: 1px; -fx-border-radius: 4px; } /* Darker Red */
.grade-other { -fx-background-color: #6e7681; } /* Primer Gray */