Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
595 changes: 595 additions & 0 deletions CLAUDE.md

Large diffs are not rendered by default.

132 changes: 131 additions & 1 deletion messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -739,5 +739,135 @@
"contest_user_stats_task_failed": "Failed",
"contest_user_stats_task_not_attempted": "Not Attempted",
"contest_user_stats_expand_details": "Click to expand task breakdown",
"contest_user_stats_collapse_details": "Click to collapse task breakdown"
"contest_user_stats_collapse_details": "Click to collapse task breakdown",
"groups_management_title": "Group Management",
"groups_all_groups": "All Groups",
"groups_loading": "Loading groups...",
"groups_load_error_title": "Failed to load groups",
"groups_no_groups_title": "No groups yet",
"groups_no_groups_description": "Create your first group to get started",
"groups_create_title": "Create Group",
"groups_create_description": "Create a new user group",
"groups_create_dialog_title": "Create New Group",
"groups_create_dialog_description": "Enter a name for the new group.",
"groups_create_success": "Group created successfully!",
"groups_create_error": "Failed to create group",
"groups_edit_button": "Edit Group",
"groups_edit_dialog_title": "Edit Group",
"groups_edit_dialog_description": "Update the group name.",
"groups_edit_success": "Group updated successfully!",
"groups_edit_error": "Failed to update group",
"groups_form_name_label": "Group Name",
"groups_form_name_placeholder": "e.g., CS101 Spring 2024",
"groups_form_name_required": "Group name is required",
"groups_form_name_min_length": "Group name must be at least 3 characters",
"groups_form_name_max_length": "Group name must be at most 50 characters",
"groups_form_cancel": "Cancel",
"groups_form_create": "Create Group",
"groups_form_update": "Update Group",
"group_card_id": "ID",
"group_card_created": "Created",
"group_card_members": "Members",
"group_card_view_details": "View Details",
"group_details_subtitle": "Group #{groupId} Details",
"group_members_title": "Group Members",
"group_members_loading": "Loading members...",
"group_members_load_error": "Failed to load group members",
"group_members_no_members_title": "No members",
"group_members_no_members_description": "This group has no members yet",
"group_members_add_title": "Add Users to Group",
"group_members_add_description": "Add new members to this group",
"group_members_add_dialog_title": "Add Users",
"group_members_add_dialog_description": "Select users to add to this group.",
"group_members_add_search_label": "Search Users",
"group_members_add_search_placeholder": "Search by username or email...",
"group_members_add_select_all": "Select All",
"group_members_add_deselect_all": "Deselect All",
"group_members_add_selected_count": "{count} selected",
"group_members_add_cancel": "Cancel",
"group_members_add_submit": "Add Users",
"group_members_add_success": "Users added successfully!",
"group_members_add_error": "Failed to add users",
"group_members_users_load_error": "Failed to load users",
"group_members_no_users_found": "No users found",
"group_members_remove_title": "Remove User",
"group_members_remove_confirm_title": "Confirm Removal",
"group_members_remove_confirm_description": "Are you sure you want to remove {userName} from this group? This action cannot be undone.",
"group_members_remove_confirm": "Remove",
"group_members_remove_cancel": "Cancel",
"group_members_remove_success": "User removed successfully!",
"group_members_remove_error": "Failed to remove user",
"group_manage_collaborators_title": "Manage Collaborators",
"group_manage_collaborators_description": "Control who can manage this group",
"group_collaborators_title": "Group Collaborators",
"group_collaborators_page_title": "Collaborators for Group #{groupId}",
"group_collaborators_loading": "Loading collaborators...",
"group_collaborators_load_error": "Failed to load collaborators",
"group_collaborators_no_collaborators_title": "No collaborators",
"group_collaborators_no_collaborators_description": "This group has no collaborators yet",
"group_collaborators_name": "Name",
"group_collaborators_email": "Email",
"group_collaborators_permission": "Permission",
"group_collaborators_added": "Added",
"group_collaborators_permission_edit": "Edit",
"group_collaborators_permission_manage": "Manage",
"group_collaborators_permission_owner": "Owner",
"group_collaborators_add_title": "Add Collaborator",
"group_collaborators_add_description": "Add a new collaborator to this group",
"group_collaborators_add_dialog_title": "Add Collaborator",
"group_collaborators_add_dialog_description": "Select a user and assign a permission level.",
"group_collaborators_add_user_label": "Select User",
"group_collaborators_add_user_placeholder": "Search by username or email...",
"group_collaborators_add_permission_label": "Permission Level",
"group_collaborators_add_permission_placeholder": "Select permission",
"group_collaborators_add_cancel": "Cancel",
"group_collaborators_add_submit": "Add Collaborator",
"group_collaborators_add_success": "Collaborator added successfully!",
"group_collaborators_add_error": "Failed to add collaborator",
"group_collaborators_users_load_error": "Failed to load users",
"group_collaborators_no_users_found": "No users found",
"group_collaborators_update_title": "Change Permission",
"group_collaborators_update_confirm_title": "Confirm Permission Change",
"group_collaborators_update_confirm_description": "Are you sure you want to change the permission for {userName} from {currentPermission} to {newPermission}?",
"group_collaborators_update_confirm": "Confirm",
"group_collaborators_update_cancel": "Cancel",
"group_collaborators_update_success": "Permission updated successfully!",
"group_collaborators_update_error": "Failed to update permission",
"group_collaborators_remove_title": "Remove Collaborator",
"group_collaborators_remove_confirm_title": "Confirm Removal",
"group_collaborators_remove_confirm_description": "Are you sure you want to remove {userName} from this group? This action cannot be undone.",
"group_collaborators_remove_confirm": "Remove",
"group_collaborators_remove_cancel": "Cancel",
"group_collaborators_remove_success": "Collaborator removed successfully!",
"group_collaborators_remove_error": "Failed to remove collaborator",
"contest_groups_title": "Contest Groups",
"contest_groups_page_title": "Groups for Contest #{contestId}",
"contest_groups_loading": "Loading groups...",
"contest_groups_load_error": "Failed to load contest groups",
"contest_groups_no_groups_title": "No groups",
"contest_groups_no_groups_description": "This contest has no groups assigned yet",
"contest_groups_add_title": "Add Groups to Contest",
"contest_groups_add_description": "Add participant groups to this contest",
"contest_groups_add_dialog_title": "Add Groups",
"contest_groups_add_dialog_description": "Select groups to add to this contest.",
"contest_groups_add_search_label": "Search Groups",
"contest_groups_add_search_placeholder": "Search by group name...",
"contest_groups_add_select_all": "Select All",
"contest_groups_add_deselect_all": "Deselect All",
"contest_groups_add_selected_count": "{count} selected",
"contest_groups_add_cancel": "Cancel",
"contest_groups_add_submit": "Add Groups",
"contest_groups_add_success": "Groups added successfully!",
"contest_groups_add_error": "Failed to add groups",
"contest_groups_groups_load_error": "Failed to load groups",
"contest_groups_no_groups_available": "No groups available",
"contest_groups_remove_title": "Remove Group",
"contest_groups_remove_confirm_title": "Confirm Removal",
"contest_groups_remove_confirm_description": "Are you sure you want to remove the group \"{groupName}\" from this contest? This will remove all group members from contest participants.",
"contest_groups_remove_confirm": "Remove",
"contest_groups_remove_cancel": "Cancel",
"contest_groups_remove_success": "Group removed successfully!",
"contest_groups_remove_error": "Failed to remove group",
"admin_contests_card_view_groups": "Manage Groups",
"sidebar_groups": "Groups"
}
132 changes: 131 additions & 1 deletion messages/pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -739,5 +739,135 @@
"contest_user_stats_task_failed": "Nieudane",
"contest_user_stats_task_not_attempted": "Nie próbowano",
"contest_user_stats_expand_details": "Kliknij, aby rozwinąć rozbicie na zadania",
"contest_user_stats_collapse_details": "Kliknij, aby zwinąć rozbicie na zadania"
"contest_user_stats_collapse_details": "Kliknij, aby zwinąć rozbicie na zadania",
"groups_management_title": "Zarządzanie Grupami",
"groups_all_groups": "Wszystkie Grupy",
"groups_loading": "Ładowanie grup...",
"groups_load_error_title": "Nie udało się załadować grup",
"groups_no_groups_title": "Brak grup",
"groups_no_groups_description": "Utwórz swoją pierwszą grupę, aby zacząć",
"groups_create_title": "Utwórz Grupę",
"groups_create_description": "Utwórz nową grupę użytkowników",
"groups_create_dialog_title": "Utwórz Nową Grupę",
"groups_create_dialog_description": "Wprowadź nazwę nowej grupy.",
"groups_create_success": "Grupa została utworzona pomyślnie!",
"groups_create_error": "Nie udało się utworzyć grupy",
"groups_edit_button": "Edytuj Grupę",
"groups_edit_dialog_title": "Edytuj Grupę",
"groups_edit_dialog_description": "Zaktualizuj nazwę grupy.",
"groups_edit_success": "Grupa została zaktualizowana pomyślnie!",
"groups_edit_error": "Nie udało się zaktualizować grupy",
"groups_form_name_label": "Nazwa Grupy",
"groups_form_name_placeholder": "np. Informatyka 101 Wiosna 2024",
"groups_form_name_required": "Nazwa grupy jest wymagana",
"groups_form_name_min_length": "Nazwa grupy musi mieć co najmniej 3 znaki",
"groups_form_name_max_length": "Nazwa grupy może mieć maksymalnie 50 znaków",
"groups_form_cancel": "Anuluj",
"groups_form_create": "Utwórz Grupę",
"groups_form_update": "Zaktualizuj Grupę",
"group_card_id": "ID",
"group_card_created": "Utworzono",
"group_card_members": "Członkowie",
"group_card_view_details": "Zobacz Szczegóły",
"group_details_subtitle": "Szczegóły Grupy #{groupId}",
"group_members_title": "Członkowie Grupy",
"group_members_loading": "Ładowanie członków...",
"group_members_load_error": "Nie udało się załadować członków grupy",
"group_members_no_members_title": "Brak członków",
"group_members_no_members_description": "Ta grupa nie ma jeszcze członków",
"group_members_add_title": "Dodaj Użytkowników do Grupy",
"group_members_add_description": "Dodaj nowych członków do tej grupy",
"group_members_add_dialog_title": "Dodaj Użytkowników",
"group_members_add_dialog_description": "Wybierz użytkowników do dodania do tej grupy.",
"group_members_add_search_label": "Szukaj Użytkowników",
"group_members_add_search_placeholder": "Szukaj według nazwy użytkownika lub emaila...",
"group_members_add_select_all": "Zaznacz Wszystkich",
"group_members_add_deselect_all": "Odznacz Wszystkich",
"group_members_add_selected_count": "Zaznaczono: {count}",
"group_members_add_cancel": "Anuluj",
"group_members_add_submit": "Dodaj Użytkowników",
"group_members_add_success": "Użytkownicy zostali dodani pomyślnie!",
"group_members_add_error": "Nie udało się dodać użytkowników",
"group_members_users_load_error": "Nie udało się załadować użytkowników",
"group_members_no_users_found": "Nie znaleziono użytkowników",
"group_members_remove_title": "Usuń Użytkownika",
"group_members_remove_confirm_title": "Potwierdź Usunięcie",
"group_members_remove_confirm_description": "Czy na pewno chcesz usunąć użytkownika {userName} z tej grupy? Ta akcja jest nieodwracalna.",
"group_members_remove_confirm": "Usuń",
"group_members_remove_cancel": "Anuluj",
"group_members_remove_success": "Użytkownik został usunięty pomyślnie!",
"group_members_remove_error": "Nie udało się usunąć użytkownika",
"group_manage_collaborators_title": "Zarządzaj Współpracownikami",
"group_manage_collaborators_description": "Kontroluj, kto może zarządzać tą grupą",
"group_collaborators_title": "Współpracownicy Grupy",
"group_collaborators_page_title": "Współpracownicy dla Grupy #{groupId}",
"group_collaborators_loading": "Ładowanie współpracowników...",
"group_collaborators_load_error": "Nie udało się załadować współpracowników",
"group_collaborators_no_collaborators_title": "Brak współpracowników",
"group_collaborators_no_collaborators_description": "Ta grupa nie ma jeszcze współpracowników",
"group_collaborators_name": "Nazwa",
"group_collaborators_email": "Email",
"group_collaborators_permission": "Uprawnienia",
"group_collaborators_added": "Dodano",
"group_collaborators_permission_edit": "Edycja",
"group_collaborators_permission_manage": "Zarządzanie",
"group_collaborators_permission_owner": "Właściciel",
"group_collaborators_add_title": "Dodaj Współpracownika",
"group_collaborators_add_description": "Dodaj nowego współpracownika do tej grupy",
"group_collaborators_add_dialog_title": "Dodaj Współpracownika",
"group_collaborators_add_dialog_description": "Wybierz użytkownika i przypisz poziom uprawnień.",
"group_collaborators_add_user_label": "Wybierz Użytkownika",
"group_collaborators_add_user_placeholder": "Szukaj po nazwie użytkownika lub emailu...",
"group_collaborators_add_permission_label": "Poziom Uprawnień",
"group_collaborators_add_permission_placeholder": "Wybierz uprawnienia",
"group_collaborators_add_cancel": "Anuluj",
"group_collaborators_add_submit": "Dodaj Współpracownika",
"group_collaborators_add_success": "Współpracownik został dodany pomyślnie!",
"group_collaborators_add_error": "Nie udało się dodać współpracownika",
"group_collaborators_users_load_error": "Nie udało się załadować użytkowników",
"group_collaborators_no_users_found": "Nie znaleziono użytkowników",
"group_collaborators_update_title": "Zmień Uprawnienia",
"group_collaborators_update_confirm_title": "Potwierdź Zmianę Uprawnień",
"group_collaborators_update_confirm_description": "Czy na pewno chcesz zmienić uprawnienia użytkownika {userName} z {currentPermission} na {newPermission}?",
"group_collaborators_update_confirm": "Potwierdź",
"group_collaborators_update_cancel": "Anuluj",
"group_collaborators_update_success": "Uprawnienia zostały zaktualizowane pomyślnie!",
"group_collaborators_update_error": "Nie udało się zaktualizować uprawnień",
"group_collaborators_remove_title": "Usuń Współpracownika",
"group_collaborators_remove_confirm_title": "Potwierdź Usunięcie",
"group_collaborators_remove_confirm_description": "Czy na pewno chcesz usunąć użytkownika {userName} z tej grupy? Ta akcja jest nieodwracalna.",
"group_collaborators_remove_confirm": "Usuń",
"group_collaborators_remove_cancel": "Anuluj",
"group_collaborators_remove_success": "Współpracownik został usunięty pomyślnie!",
"group_collaborators_remove_error": "Nie udało się usunąć współpracownika",
"contest_groups_title": "Grupy Konkursu",
"contest_groups_page_title": "Grupy dla Konkursu #{contestId}",
"contest_groups_loading": "Ładowanie grup...",
"contest_groups_load_error": "Nie udało się załadować grup konkursu",
"contest_groups_no_groups_title": "Brak grup",
"contest_groups_no_groups_description": "Ten konkurs nie ma jeszcze przypisanych grup",
"contest_groups_add_title": "Dodaj Grupy do Konkursu",
"contest_groups_add_description": "Dodaj grupy uczestników do tego konkursu",
"contest_groups_add_dialog_title": "Dodaj Grupy",
"contest_groups_add_dialog_description": "Wybierz grupy do dodania do tego konkursu.",
"contest_groups_add_search_label": "Szukaj Grup",
"contest_groups_add_search_placeholder": "Szukaj według nazwy grupy...",
"contest_groups_add_select_all": "Zaznacz Wszystkie",
"contest_groups_add_deselect_all": "Odznacz Wszystkie",
"contest_groups_add_selected_count": "Zaznaczono: {count}",
"contest_groups_add_cancel": "Anuluj",
"contest_groups_add_submit": "Dodaj Grupy",
"contest_groups_add_success": "Grupy zostały dodane pomyślnie!",
"contest_groups_add_error": "Nie udało się dodać grup",
"contest_groups_groups_load_error": "Nie udało się załadować grup",
"contest_groups_no_groups_available": "Brak dostępnych grup",
"contest_groups_remove_title": "Usuń Grupę",
"contest_groups_remove_confirm_title": "Potwierdź Usunięcie",
"contest_groups_remove_confirm_description": "Czy na pewno chcesz usunąć grupę \"{groupName}\" z tego konkursu? To usunie wszystkich członków grupy z uczestników konkursu.",
"contest_groups_remove_confirm": "Usuń",
"contest_groups_remove_cancel": "Anuluj",
"contest_groups_remove_success": "Grupa została usunięta pomyślnie!",
"contest_groups_remove_error": "Nie udało się usunąć grupy",
"admin_contests_card_view_groups": "Zarządzaj Grupami",
"sidebar_groups": "Grupy"
}
5 changes: 5 additions & 0 deletions src/lib/components/dashboard/DashboardSidebar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@
href: localizeHref(AppRoutes.TeacherContests),
icon: Trophy
},
{
title: () => m.sidebar_groups(),
href: localizeHref(AppRoutes.TeacherGroups),
icon: Users
},
{
title: () => m.sidebar_admin_tasks(),
href: localizeHref(AppRoutes.TeacherTasks),
Expand Down
Loading