From e14f40232293e03539047ac757d7f5ff1f82ca26 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 31 Mar 2026 09:08:18 +0700 Subject: [PATCH] feat: integrate system notifications for enhanced messaging and theming across various pages and components --- .../Information/CourseSchedule/Index.php | 19 ++++ .../Pages/Learning/StudyGroup/Index.php | 25 +++++ .../Assignments/Pages/ListAssignments.php | 13 +++ .../Attendances/Pages/ManageAttendances.php | 36 ++++++ app/Filament/Support/SystemNotification.php | 104 ++++++++++++++++++ app/Filament/Widgets/SupportWidget.php | 6 + app/Http/Controllers/HomeController.php | 27 +++++ .../Controllers/ShareAssignmentController.php | 9 +- .../Controllers/ShareAttendanceController.php | 9 +- app/Http/Middleware/DynamicFilamentTheme.php | 35 +++++- app/Providers/AppServiceProvider.php | 6 +- .../course-schedule/index.blade.php | 7 +- .../learning/study-group/index.blade.php | 6 +- .../learning/assignments/index.blade.php | 11 +- .../learning/attendances/index.blade.php | 13 ++- .../learning/class-sessions/show.blade.php | 6 +- .../filament/widgets/support-widget.blade.php | 2 +- .../views/pages/share-assignment.blade.php | 37 ++++++- .../views/pages/share-attendance.blade.php | 37 ++++++- .../bottom-navigation.blade.php | 2 +- resources/views/welcome.blade.php | 61 +++++++--- routes/web.php | 5 +- 22 files changed, 425 insertions(+), 51 deletions(-) create mode 100644 app/Http/Controllers/HomeController.php diff --git a/app/Filament/Pages/Information/CourseSchedule/Index.php b/app/Filament/Pages/Information/CourseSchedule/Index.php index 8fdc560..c5e0a45 100644 --- a/app/Filament/Pages/Information/CourseSchedule/Index.php +++ b/app/Filament/Pages/Information/CourseSchedule/Index.php @@ -5,6 +5,7 @@ use App\Filament\Pages\Information\CourseSchedule\Actions\CreateScheduleAction; use App\Filament\Pages\Information\CourseSchedule\Actions\DeleteScheduleAction; use App\Filament\Pages\Information\CourseSchedule\Actions\EditScheduleAction; +use App\Filament\Support\SystemNotification; use App\Models\Course; use App\Models\CourseSchedule; use App\Settings\GeneralSettings; @@ -45,6 +46,24 @@ class Index extends Page implements HasActions, HasForms protected string $view = 'filament.pages.information.course-schedule.index'; + #[Computed] + public function instructions(): string + { + return SystemNotification::getMessage('Geser ke samping buat intip hari lainnya ya! 📅✨', 'Geser ke samping untuk melihat hari lainnya.'); + } + + #[Computed] + public function emptyHeading(): string + { + return SystemNotification::getMessage('Yah, Belum Ada Jadwal Nih! 📄💤', 'Tidak ada data yang ditemukan'); + } + + #[Computed] + public function emptyDescription(): string + { + return SystemNotification::getMessage('Belum ada jadwal perkuliahan yang terdaftar. Mungkin hari ini kamu bisa istirahat dulu? 😉💤', 'Belum ada jadwal perkuliahan yang terdaftar untuk kriteria ini. Hubungi administrator jika jadwal Anda belum muncul.'); + } + public ?string $search = ''; public static function getPagePermission(): string diff --git a/app/Filament/Pages/Learning/StudyGroup/Index.php b/app/Filament/Pages/Learning/StudyGroup/Index.php index cd30962..67a4122 100644 --- a/app/Filament/Pages/Learning/StudyGroup/Index.php +++ b/app/Filament/Pages/Learning/StudyGroup/Index.php @@ -6,6 +6,7 @@ use App\Filament\Pages\Learning\StudyGroup\Actions\DeleteStudyGroupAction; use App\Filament\Pages\Learning\StudyGroup\Actions\EditStudyGroupAction; use App\Filament\Pages\Learning\StudyGroup\Actions\SelectAllCoursesAction; +use App\Filament\Support\SystemNotification; use App\Models\Course; use App\Models\Student; use App\Models\StudyGroup; @@ -52,6 +53,30 @@ public static function getPagePermission(): string protected string $view = 'filament.pages.learning.study-group.index'; + #[Computed] + public function heading(): string + { + return SystemNotification::getMessage('Daftar Grup Seru! 💃🕺', 'Kelompok Belajar'); + } + + #[Computed] + public function description(): string + { + return SystemNotification::getMessage('Lihat semua kelompok belajarmu di sini. Makin kompak makin asik! 🤝📚', 'Daftar kelompok belajar Anda dan teman-teman sekelas.'); + } + + #[Computed] + public function emptyHeading(): string + { + return SystemNotification::getMessage('Wah, Belum Ada Grup! 👯‍♂️🌀', 'Tidak ada data yang ditemukan'); + } + + #[Computed] + public function emptyDescription(): string + { + return SystemNotification::getMessage('Belum ada kelompok belajar yang terdaftar. Ayo ajak teman-temanmu bikin kelompok biar makin seru belajarnya! 🤝📄', 'Belum ada kelompok belajar yang terdaftar untuk kriteria ini. Klik tombol tambah untuk memulai pembuatan kelompok.'); + } + public ?int $course_id = null; public function mount(): void diff --git a/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php b/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php index 6ddcdfb..18411b7 100644 --- a/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php +++ b/app/Filament/Resources/Learning/Assignments/Pages/ListAssignments.php @@ -8,6 +8,7 @@ use App\Filament\Resources\Learning\Assignments\Actions\EditAssignmentAction; use App\Filament\Resources\Learning\Assignments\Actions\PinAction; use App\Filament\Resources\Learning\Assignments\AssignmentResource; +use App\Filament\Support\SystemNotification; use App\Models\Assignment; use App\Models\AssignmentPin; use App\Settings\GeneralSettings; @@ -34,6 +35,18 @@ protected function getHeaderActions(): array ]; } + #[Computed] + public function heading(): string + { + return SystemNotification::getMessage('Daftar Tugas Bikin Lemes! 🤣📒', 'Tugas Saya'); + } + + #[Computed] + public function description(): string + { + return SystemNotification::getMessage('Yuk, cek dan kumpulin tugasmu biar tenang hidupnya! Klik aja di tugasnya ya. 🚀👨‍💻', 'Klik pada tugas untuk melihat detail dan mengumpulkan file.'); + } + public function pinAction(): Action { return PinAction::make(); diff --git a/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php b/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php index d9af667..e4dbc04 100644 --- a/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php +++ b/app/Filament/Resources/Learning/Attendances/Pages/ManageAttendances.php @@ -35,6 +35,42 @@ class ManageAttendances extends Page implements HasForms, HasTable protected string $view = 'filament.resources.learning.attendances.index'; + #[Computed] + public function heading(): string + { + return SystemNotification::getMessage('Ayo Presensi Dulu! 🙋‍♂️✨', 'Sesi Kuliah'); + } + + #[Computed] + public function description(): string + { + return SystemNotification::getMessage('Jangan lupa absen ya kalau kelasnya udah mulai! Biar tercatat hadir. 💪', 'Silakan melakukan presensi sesuai dengan waktu kelas.'); + } + + #[Computed] + public function historyHeading(): string + { + return SystemNotification::getMessage('Jejak Presensimu 🕰️📜', 'Riwayat Presensi'); + } + + #[Computed] + public function historyDescription(): string + { + return SystemNotification::getMessage('Di sini kamu bisa ngecek semua histori kehadiranmu sebelumnya. Rajin-rajin ya! 🎓', 'Berikut adalah riwayat kehadiran Anda pada sesi perkuliahan.'); + } + + #[Computed] + public function emptyHeading(): string + { + return SystemNotification::getMessage('Yah, Absensi Belum Muncul! 💁‍♂️🌀', 'Tidak ada data yang ditemukan'); + } + + #[Computed] + public function emptyDescription(): string + { + return SystemNotification::getMessage('Sabar ya, setelah jadwal perkuliahan kamu muncul baru bisa diabsen di sini. Pantau terus jam kuliahnya! 🕒💪', 'Setelah jadwal Anda muncul, Anda dapat melakukan presensi di sini. Pastikan Anda mengecek kembali pada jam perkuliahan.'); + } + public function getSchedules() { /** @var User|null $user */ diff --git a/app/Filament/Support/SystemNotification.php b/app/Filament/Support/SystemNotification.php index 4fe309d..759af1a 100644 --- a/app/Filament/Support/SystemNotification.php +++ b/app/Filament/Support/SystemNotification.php @@ -232,6 +232,110 @@ public static function getMessage(string $cheerful, string $formal): string return self::getNotifStyle() === NotifStyle::Cheerful ? $cheerful : $formal; } + /** + * Get the theme settings for the current user. + */ + public static function getThemeSettings(): object + { + /** @var \App\Models\User|null $user */ + $user = Auth::user(); + $settings = $user?->settings; + + return (object) [ + 'font' => $settings->font ?? 'Inter', + 'primary_color' => $settings->primary_color ?? 'amber', + 'border_radius' => match ($settings->border_radius ?? 'md') { + 'none' => '0px', + 'md' => '0.375rem', + 'lg' => '0.5rem', + 'xl' => '0.75rem', + '2xl' => '1rem', + default => '0.5rem', + }, + 'content_width' => $settings->content_width ?? 'full', + 'top_navigation' => $settings->top_navigation ?? false, + ]; + } + + /** + * Get the RGB values for the selected primary color. + */ + public static function getPrimaryColorValues(): array + { + /** @var \App\Models\User|null $user */ + $user = Auth::user(); + $colorName = $user?->settings?->primary_color ?? 'amber'; + + // Mapping from Filament base colors (these are standard Tailwind scale RGB values) + return match ($colorName) { + 'blue' => [ + 50 => '239, 246, 255', 100 => '219, 234, 254', 200 => '191, 219, 254', 300 => '147, 197, 253', + 400 => '96, 165, 250', 500 => '59, 130, 246', 600 => '37, 99, 235', 700 => '29, 78, 216', + 800 => '30, 64, 175', 900 => '30, 58, 138', 950 => '23, 37, 84', + ], + 'sky' => [ + 50 => '240, 249, 255', 100 => '224, 242, 254', 200 => '186, 230, 253', 300 => '125, 211, 252', + 400 => '56, 189, 248', 500 => '14, 165, 233', 600 => '2, 132, 199', 700 => '3, 105, 161', + 800 => '7, 89, 133', 900 => '12, 74, 110', 950 => '8, 51, 68', + ], + 'cyan' => [ + 50 => '236, 254, 255', 100 => '207, 250, 254', 200 => '165, 243, 252', 300 => '103, 232, 249', + 400 => '34, 211, 238', 500 => '6, 182, 212', 600 => '8, 145, 178', 700 => '14, 116, 144', + 800 => '21, 94, 117', 900 => '22, 78, 99', 950 => '8, 51, 68', + ], + 'emerald' => [ + 50 => '236, 253, 245', 100 => '209, 250, 229', 200 => '167, 243, 208', 300 => '110, 231, 183', + 400 => '52, 211, 153', 500 => '16, 185, 129', 600 => '5, 150, 105', 700 => '4, 120, 87', + 800 => '6, 95, 70', 900 => '6, 77, 58', 950 => '2, 44, 34', + ], + 'teal' => [ + 50 => '240, 253, 250', 100 => '204, 251, 241', 200 => '153, 246, 228', 300 => '94, 234, 212', + 400 => '45, 212, 191', 500 => '20, 184, 166', 600 => '13, 148, 136', 700 => '15, 118, 110', + 800 => '17, 94, 89', 900 => '19, 78, 74', 950 => '4, 47, 46', + ], + 'lime' => [ + 50 => '247, 254, 231', 100 => '236, 252, 203', 200 => '217, 249, 157', 300 => '190, 242, 94', + 400 => '163, 230, 53', 500 => '132, 204, 22', 600 => '101, 163, 13', 700 => '77, 124, 15', + 800 => '63, 98, 18', 900 => '54, 83, 20', 950 => '26, 46, 5', + ], + 'amber' => [ + 50 => '255, 251, 235', 100 => '254, 243, 199', 200 => '253, 230, 138', 300 => '252, 211, 77', + 400 => '251, 191, 36', 500 => '245, 158, 11', 600 => '217, 119, 6', 700 => '180, 83, 9', + 800 => '146, 64, 14', 900 => '120, 53, 15', 950 => '69, 26, 3', + ], + 'orange' => [ + 50 => '255, 247, 237', 100 => '255, 237, 213', 200 => '254, 215, 170', 300 => '253, 186, 116', + 400 => '251, 146, 60', 500 => '249, 115, 22', 600 => '234, 88, 12', 700 => '194, 65, 12', + 800 => '154, 52, 18', 900 => '124, 45, 18', 950 => '67, 20, 7', + ], + 'rose' => [ + 50 => '255, 241, 242', 100 => '255, 228, 230', 200 => '254, 205, 211', 300 => '253, 164, 175', + 400 => '251, 113, 133', 500 => '244, 63, 94', 600 => '225, 29, 72', 700 => '190, 18, 60', + 800 => '159, 18, 57', 900 => '136, 19, 55', 950 => '76, 5, 25', + ], + 'fuchsia' => [ + 50 => '253, 244, 255', 100 => '245, 208, 254', 200 => '240, 171, 252', 300 => '232, 121, 249', + 400 => '217, 70, 239', 500 => '192, 38, 211', 600 => '162, 28, 175', 700 => '134, 25, 143', + 800 => '112, 26, 117', 900 => '86, 28, 94', 950 => '70, 10, 73', + ], + 'violet' => [ + 50 => '245, 243, 255', 100 => '237, 233, 254', 200 => '221, 214, 254', 300 => '196, 181, 253', + 400 => '167, 139, 250', 500 => '139, 92, 246', 600 => '124, 58, 237', 700 => '109, 40, 217', + 800 => '91, 33, 182', 900 => '76, 29, 149', 950 => '46, 16, 101', + ], + 'indigo' => [ + 50 => '238, 242, 255', 100 => '224, 231, 255', 200 => '199, 210, 254', 300 => '165, 180, 252', + 400 => '129, 140, 248', 500 => '99, 102, 241', 600 => '79, 70, 229', 700 => '67, 56, 202', + 800 => '55, 48, 163', 900 => '49, 46, 129', 950 => '30, 27, 75', + ], + default => [ + 50 => '255, 251, 235', 100 => '254, 243, 199', 200 => '253, 230, 138', 300 => '252, 211, 77', + 400 => '251, 191, 36', 500 => '245, 158, 11', 600 => '217, 119, 6', 700 => '180, 83, 9', + 800 => '146, 64, 14', 900 => '120, 53, 15', 950 => '69, 26, 3', + ], + }; + } + /** * Strip emojis if the notification style is formal. */ diff --git a/app/Filament/Widgets/SupportWidget.php b/app/Filament/Widgets/SupportWidget.php index 7864864..b6510a1 100644 --- a/app/Filament/Widgets/SupportWidget.php +++ b/app/Filament/Widgets/SupportWidget.php @@ -2,6 +2,7 @@ namespace App\Filament\Widgets; +use App\Filament\Support\SystemNotification; use Filament\Widgets\Widget; class SupportWidget extends Widget @@ -11,4 +12,9 @@ class SupportWidget extends Widget protected int|string|array $columnSpan = 'full'; protected string $view = 'filament.widgets.support-widget'; + + public function getHeading(): string + { + return SystemNotification::getMessage('Butuh Bantuan? Tanya Saja! 💬✨', 'Informasi & Bantuan'); + } } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..e5fb1a8 --- /dev/null +++ b/app/Http/Controllers/HomeController.php @@ -0,0 +1,27 @@ + SystemNotification::getMessage('Kuliah Jadi Makin Simpel! 🚀📚', 'Sistem Manajemen Kelas'), + 'hero_subtitle' => SystemNotification::getMessage('Gak Ribet Lagi.', 'Sederhana & Terintegrasi.'), + 'feature_session' => SystemNotification::getMessage('Info Sesi Kuliah 🏢📅', 'Manajemen Sesi'), + 'feature_session_desc' => SystemNotification::getMessage('Pantau jadwal kelasmu biar nggak ketinggalan info penting ya! 🕒✨', 'Pemantauan kelas dan penjadwalan terstruktur dan mudah dilihat.'), + 'feature_task' => SystemNotification::getMessage('Tugas & Materi 📝📚', 'Tugas & Materi'), + 'feature_task_desc' => SystemNotification::getMessage('Ambil materi dan kumpulin tugas dalam satu tempat, praktis banget! 🚀📂', 'Pengelolaan repositori perkuliahan dan pengumpulan tugas.'), + 'feature_attendance' => SystemNotification::getMessage('Presensi Digital 🙋‍♂️✅', 'Presensi Digital'), + 'feature_attendance_desc' => SystemNotification::getMessage('Absen makin gampang, tinggal klik langsung tercatat hadir. Gapake lama! 🔥⚡', 'Sistem pendataan kehadiran yang praktis, cepat, dan real-time.'), + 'feature_group' => SystemNotification::getMessage('Grup Belajar 👯‍♀️💬', 'Grup Belajar'), + 'feature_group_desc' => SystemNotification::getMessage('Bikin kelompok biar belajar bareng temen makin asik dan seru! 🌈✨', 'Ruang kolaborasi, diskusi, dan obrolan untuk saling terhubung.'), + ]; + + return view('welcome', compact('headings')); + } +} diff --git a/app/Http/Controllers/ShareAssignmentController.php b/app/Http/Controllers/ShareAssignmentController.php index 0806c2b..f2c2a05 100644 --- a/app/Http/Controllers/ShareAssignmentController.php +++ b/app/Http/Controllers/ShareAssignmentController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Enums\AssignmentType; +use App\Filament\Support\SystemNotification; use App\Models\Assignment; use App\Models\AssignmentSubmission; use App\Models\Course; @@ -62,6 +63,11 @@ public function show(Request $request, Course $course): View ? Carbon::parse($assignment->due_date)->translatedFormat('l, d F Y H:i') : '-'; + $headings = [ + 'list' => SystemNotification::getMessage('Daftar Pengumpulan 🚀✨', 'Daftar Pengumpulan'), + 'info' => SystemNotification::getMessage('Informasi Tugas 📚✨', 'Informasi Tugas'), + ]; + return view('pages.share-assignment', compact( 'course', 'assignment', @@ -72,7 +78,8 @@ public function show(Request $request, Course $course): View 'submittedCount', 'submissionPercentage', 'formattedDeadline', - 'isGroup' + 'isGroup', + 'headings' )); } } diff --git a/app/Http/Controllers/ShareAttendanceController.php b/app/Http/Controllers/ShareAttendanceController.php index ba13dde..c3f3879 100644 --- a/app/Http/Controllers/ShareAttendanceController.php +++ b/app/Http/Controllers/ShareAttendanceController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Filament\Support\SystemNotification; use App\Models\Assignment; use App\Models\Attendance; use App\Models\ClassSession; @@ -55,6 +56,11 @@ public function show(Request $request, Course $course): View ? Carbon::parse($sessionInfo->start_time)->format('H:i').' - '.Carbon::parse($sessionInfo->end_time)->format('H:i') : '-'; + $headings = [ + 'list' => SystemNotification::getMessage('Daftar Kehadiran 📝✨', 'Daftar Kehadiran'), + 'info' => SystemNotification::getMessage('Informasi Sesi 🏢✨', 'Informasi Sesi'), + ]; + return view('pages.share-attendance', compact( 'course', 'attendances', @@ -65,7 +71,8 @@ public function show(Request $request, Course $course): View 'totalStudents', 'presentCount', 'attendancePercentage', - 'formattedTime' + 'formattedTime', + 'headings' )); } } diff --git a/app/Http/Middleware/DynamicFilamentTheme.php b/app/Http/Middleware/DynamicFilamentTheme.php index 51b996c..5e0468a 100644 --- a/app/Http/Middleware/DynamicFilamentTheme.php +++ b/app/Http/Middleware/DynamicFilamentTheme.php @@ -75,6 +75,12 @@ public function handle(Request $request, Closure $next): Response :root { --font-family: '{$font}', sans-serif; --c-border-radius: {$radius}; + + /* Global Tailwind V4 Radius Overrides */ + --radius-md: {$radius} !important; + --radius-lg: {$radius} !important; + --radius-xl: {$radius} !important; + --radius-2xl: {$radius} !important; } body { @@ -88,9 +94,32 @@ public function handle(Request $request, Closure $next): Response margin-right: auto !important; } - /* Apply border radius to common elements */ - .fi-section, .fi-btn, .fi-input, .fi-card, .fi-modal-window { - border-radius: {$radius} !important; + /* Apply border radius to common elements and custom containers */ + .fi-section, .fi-btn, .fi-input, .fi-card, .fi-modal-window, + .rounded-lg, .rounded-md, .rounded-xl, .rounded-2xl { + border-radius: var(--c-border-radius) !important; + } + + /* Target specific buttons and areas in custom views */ + .fi-main input[type='file']::file-selector-button { + border-radius: var(--c-border-radius) !important; + } + + /* Ensure primary color for custom views (Tailwind Custom Colors mapping) */ + @media screen { + :root { + --color-primary-50: rgb(var(--primary-50)) !important; + --color-primary-100: rgb(var(--primary-100)) !important; + --color-primary-200: rgb(var(--primary-200)) !important; + --color-primary-300: rgb(var(--primary-300)) !important; + --color-primary-400: rgb(var(--primary-400)) !important; + --color-primary-500: rgb(var(--primary-500)) !important; + --color-primary-600: rgb(var(--primary-600)) !important; + --color-primary-700: rgb(var(--primary-700)) !important; + --color-primary-800: rgb(var(--primary-800)) !important; + --color-primary-900: rgb(var(--primary-900)) !important; + --color-primary-950: rgb(var(--primary-950)) !important; + } } ") diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 452e6b6..eb1df7c 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,7 @@ namespace App\Providers; +use App\Filament\Support\SystemNotification; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -19,6 +20,9 @@ public function register(): void */ public function boot(): void { - // + view()->composer('*', function ($view) { + $view->with('userTheme', SystemNotification::getThemeSettings()); + $view->with('primaryColors', SystemNotification::getPrimaryColorValues()); + }); } } diff --git a/resources/views/filament/pages/information/course-schedule/index.blade.php b/resources/views/filament/pages/information/course-schedule/index.blade.php index 814ce21..7b4736e 100644 --- a/resources/views/filament/pages/information/course-schedule/index.blade.php +++ b/resources/views/filament/pages/information/course-schedule/index.blade.php @@ -6,7 +6,7 @@ class="fi-section-content rounded-xl border border-info-200 bg-info-50 dark:bg-i
- Geser ke samping untuk melihat hari lainnya. + {{ $this->instructions }}
@@ -108,8 +108,9 @@ class="flex items-center justify-end gap-1 pt-3 border-t border-gray-100 dark:bo @empty
-
diff --git a/resources/views/filament/pages/learning/study-group/index.blade.php b/resources/views/filament/pages/learning/study-group/index.blade.php index fafd5f6..b3127b5 100644 --- a/resources/views/filament/pages/learning/study-group/index.blade.php +++ b/resources/views/filament/pages/learning/study-group/index.blade.php @@ -147,8 +147,10 @@ class="text-[10px] font-bold px-1.5 py-0.5 rounded bg-violet-50 dark:bg-violet-5 @endforeach @else - + @endif diff --git a/resources/views/filament/resources/learning/assignments/index.blade.php b/resources/views/filament/resources/learning/assignments/index.blade.php index ca22774..d946567 100644 --- a/resources/views/filament/resources/learning/assignments/index.blade.php +++ b/resources/views/filament/resources/learning/assignments/index.blade.php @@ -3,15 +3,14 @@ icon="{{ \App\Filament\Support\SystemNotification::getNotifStyle() === \App\Enums\NotifStyle::Cheerful ? 'heroicon-o-pencil-square' : 'heroicon-o-briefcase' }}" icon-color="primary" > - {{ \App\Filament\Support\SystemNotification::getMessage('Daftar Tugas Bikin Lemes! 🤣📒', 'Tugas Saya') }} - {{ \App\Filament\Support\SystemNotification::getMessage('Yuk, cek dan kumpulin tugasmu biar tenang hidupnya! Klik aja di tugasnya ya. 🚀👨‍💻', 'Klik pada tugas untuk melihat detail dan mengumpulkan file.') }} + {{ $this->heading }} + {{ $this->description }}
@forelse ($this->assignmentCards as $card) @empty - @endforelse diff --git a/resources/views/filament/resources/learning/attendances/index.blade.php b/resources/views/filament/resources/learning/attendances/index.blade.php index e9e50a0..9ef597f 100644 --- a/resources/views/filament/resources/learning/attendances/index.blade.php +++ b/resources/views/filament/resources/learning/attendances/index.blade.php @@ -3,8 +3,8 @@ icon="{{ \App\Filament\Support\SystemNotification::getNotifStyle() === \App\Enums\NotifStyle::Cheerful ? 'heroicon-o-hand-raised' : 'heroicon-o-clipboard-document-check' }}" icon-color="primary" > - {{ \App\Filament\Support\SystemNotification::getMessage('Ayo Presensi Dulu! 🙋‍♂️✨', 'Sesi Kuliah') }} - {{ \App\Filament\Support\SystemNotification::getMessage('Jangan lupa absen ya kalau kelasnya udah mulai! Biar tercatat hadir. 💪', 'Silakan melakukan presensi sesuai dengan waktu kelas.') }} + {{ $this->heading }} + {{ $this->description }} @if (count($this->scheduleCards))
@@ -102,8 +102,9 @@ class="text-[10px] font-bold text-gray-400 uppercase tracking-widest leading-non @endforeach
@else - @endif @@ -114,8 +115,8 @@ class="text-[10px] font-bold text-gray-400 uppercase tracking-widest leading-non icon="{{ \App\Filament\Support\SystemNotification::getNotifStyle() === \App\Enums\NotifStyle::Cheerful ? 'heroicon-o-clock' : 'heroicon-o-archive-box' }}" icon-color="gray" > - {{ \App\Filament\Support\SystemNotification::getMessage('Jejak Presensimu 🕰️📜', 'Riwayat Presensi') }} - {{ \App\Filament\Support\SystemNotification::getMessage('Di sini kamu bisa ngecek semua histori kehadiranmu sebelumnya. Rajin-rajin ya! 🎓', 'Berikut adalah riwayat kehadiran Anda pada sesi perkuliahan.') }} + {{ $this->historyHeading }} + {{ $this->historyDescription }} {{ $this->table }} diff --git a/resources/views/filament/resources/learning/class-sessions/show.blade.php b/resources/views/filament/resources/learning/class-sessions/show.blade.php index 659d2b6..9fbb386 100644 --- a/resources/views/filament/resources/learning/class-sessions/show.blade.php +++ b/resources/views/filament/resources/learning/class-sessions/show.blade.php @@ -61,9 +61,9 @@
@empty - @endforelse diff --git a/resources/views/filament/widgets/support-widget.blade.php b/resources/views/filament/widgets/support-widget.blade.php index 086731b..7d34bdc 100644 --- a/resources/views/filament/widgets/support-widget.blade.php +++ b/resources/views/filament/widgets/support-widget.blade.php @@ -18,7 +18,7 @@ class="w-7 h-7 text-primary-600 dark:text-primary-400 group-hover:animate-pulse"

- Informasi & Bantuan

+ {{ $this->getHeading() }}

Jika Anda menemukan masalah dalam penggunaan aplikasi, membutuhkan bantuan, atau memiliki ide diff --git a/resources/views/pages/share-assignment.blade.php b/resources/views/pages/share-assignment.blade.php index d471ea0..a181a52 100644 --- a/resources/views/pages/share-assignment.blade.php +++ b/resources/views/pages/share-assignment.blade.php @@ -7,6 +7,26 @@ Tugas {{ $course->name }} - {{ config('app.name', 'MyClass') }} @vite(['resources/css/app.css', 'resources/js/app.js']) + @if($userTheme->font !== 'Inter') + + + + @endif @@ -62,8 +92,9 @@ class="inline-flex items-center rounded-md bg-zinc-100 dark:bg-zinc-800 px-2 py-

-

Daftar - Pengumpulan

+

+ {{ $headings['list'] }} +

- Informasi Tugas

+ {{ $headings['info'] }}
diff --git a/resources/views/pages/share-attendance.blade.php b/resources/views/pages/share-attendance.blade.php index 82c35ee..0f688e6 100644 --- a/resources/views/pages/share-attendance.blade.php +++ b/resources/views/pages/share-attendance.blade.php @@ -7,6 +7,26 @@ Presensi {{ $course->name }} - {{ config('app.name', 'MyClass') }} @vite(['resources/css/app.css', 'resources/js/app.js']) + @if($userTheme->font !== 'Inter') + + + + @endif
-

Daftar - Kehadiran

+

+ {{ $headings['list'] }} +

{{ $attendances->count() }} Terdata @@ -139,7 +170,7 @@ class="h-6 w-6 text-gray-400 dark:text-gray-500" />

- Informasi Sesi {{ $sessionInfo ? 'Ke-' . $sessionInfo->session_number : '' }}

+ {{ $headings['info'] }} {{ $sessionInfo ? 'Ke-' . $sessionInfo->session_number : '' }}
diff --git a/resources/views/vendor/mobile-bottom-nav/bottom-navigation.blade.php b/resources/views/vendor/mobile-bottom-nav/bottom-navigation.blade.php index 552d06c..3362bc1 100644 --- a/resources/views/vendor/mobile-bottom-nav/bottom-navigation.blade.php +++ b/resources/views/vendor/mobile-bottom-nav/bottom-navigation.blade.php @@ -22,7 +22,7 @@ padding: 0 0.75rem; padding-bottom: env(safe-area-inset-bottom, 0px); - border-radius: 1.75rem; + border-radius: {{ $userTheme->border_radius === '0px' ? '0px' : '1.75rem' }}; backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 1c24cf6..239d7fa 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -7,6 +7,26 @@ {{ config('app.name', 'MyClass') }} - Sistem Informasi Manajemen @vite(['resources/css/app.css', 'resources/js/app.js']) + @if($userTheme->font !== 'Inter') + + + + @endif - Sistem Manajemen
Kelas - Sederhana. + {{ $headings['hero_title'] }}
{{ $headings['hero_subtitle'] }}

Kelola jadwal kelas, daftar presensi, pengumpulan tugas, hingga materi belajar dalam satu @@ -78,9 +107,10 @@ class="w-12 h-12 rounded-lg bg-primary-50 dark:bg-primary-500/10 flex items-cent

-

Manajemen Sesi

-

Pemantauan kelas dan penjadwalan terstruktur - dan mudah dilihat.

+

+ {{ $headings['feature_session'] }}

+

+ {{ $headings['feature_session_desc'] }}

@@ -92,9 +122,10 @@ class="w-12 h-12 rounded-lg bg-primary-50 dark:bg-primary-500/10 flex items-cent
-

Tugas & Materi

-

Pengelolaan repositori perkuliahan dan - pengumpulan tugas.

+

+ {{ $headings['feature_task'] }}

+

+ {{ $headings['feature_task_desc'] }}

@@ -105,9 +136,10 @@ class="w-12 h-12 rounded-lg bg-primary-50 dark:bg-primary-500/10 flex items-cent d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z">
-

Presensi Digital

-

Sistem pendataan kehadiran yang praktis, - cepat, dan real-time.

+

+ {{ $headings['feature_attendance'] }}

+

+ {{ $headings['feature_attendance_desc'] }}

@@ -119,9 +151,10 @@ class="w-12 h-12 rounded-lg bg-primary-50 dark:bg-primary-500/10 flex items-cent
-

Grup Belajar

-

Ruang kolaborasi, diskusi, dan obrolan untuk - saling terhubung.

+

+ {{ $headings['feature_group'] }}

+

+ {{ $headings['feature_group_desc'] }}

diff --git a/routes/web.php b/routes/web.php index 8417b2b..89f2f3a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,12 +1,11 @@ name('share.attendance')->middleware('signed'); Route::get('/share/assignment/{course}', [ShareAssignmentController::class, 'show'])->name('share.assignment')->middleware('signed');