Settings
Route
/ayarlar
Page Purpose
Manage platform modules: create a new module, edit/delete existing ones, and set and save the modules' display order.
Fields on the Page
- A header card: "Ayarlar" title, a view selector (Edit / Order), a "Platformlarda ara" (Search platforms) search box (works in either view).
- Edit view: a form for adding a new platform module (name + URL).
- Order view: a "Platform Sıralaması" (Platform Ordering) subheading, a sort-mode selector (By Edit Date / Alphabetical / Manual), all modules shown as a 3-column card grid; in Manual mode, each card gets a position selector (1..N), changes are flagged as "unsaved," and a "Sıralamayı Kaydet" (Save Ordering) button (disabled until there's something to save).
- Search (either view): matching modules are shown as full
ModuleCards, including an edit pencil and navigation arrow (unlike the pared-down card on the Platforms page).
User Actions
- Switch between Edit/Order via the view selector.
- (Edit) create a module by entering a name and URL.
- Click a search result card's edit (pencil) icon to update the module, or delete it with confirmation.
- (Order/Manual) change ordering by picking a position for each card, then save with "Sıralamayı Kaydet"; switching views with unsaved changes prompts a confirmation.
- Click a card's body to navigate to its address (same behavior as the Platforms page).
Data Used
- The platform module list (id, name, url, created date).
- The saved platform ordering (queue record), if one exists.
Access and Visibility
Users with the user role cannot reach this page — even a direct URL visit is caught by RequirePlatformAccess, which redirects to /platform before the page renders. Every other logged-in user has full access.
Components Used
dashboard/src/components/settings/index.tsx— the page component.dashboard/src/components/platform/index.tsx— theModuleCardcomponent is reused from here.dashboard/src/components/platform/ModuleFormModal.tsx— the create/edit module form (modal).
API Communication
| Action | Method | Endpoint | Purpose |
|---|---|---|---|
| Fetch module list | GET | /iqv_platform_modulleri |
List all modules |
| Create module | POST | /iqv_platform_modul_ekle |
Add a new platform module |
| Update module | PUT | /iqv_platform_modul_guncelle |
Update an existing module |
| Delete module | DELETE | /iqv_platform_sil |
Delete a module |
| Fetch saved ordering | POST | /platform-queue-list |
Load the current ordering |
| Save ordering | POST | /platform-queue-create |
Save the new ordering |
For details, see API Documentation › Platform Modules.
State Management
- Module list: the shared cache in
platformService.tsx(the same cache source as the Platforms page); invalidated after creating/updating/deleting a module. - View selection, search text, sort mode, an "unsaved changes" flag: local React state.
- Client-side validation runs before saving the ordering (non-empty, no duplicate modules, exact membership match, unique contiguous positions 1..N) — this validation never hits the network.