- PageController: Replaced simple HTML with proper TemplateResponse - Added index() method with full admin interface - Added save() method for POST /save - Added load() method for GET /load - Injected IConfig service for configuration storage - Added validation for required fields - Proper error handling with JSONResponse - Admin template: Full Nextcloud-compatible admin interface - Google Analytics configuration section (client ID, secret, refresh token) - Anthropic Claude API configuration section (API key) - Configuration status display (success/warning states) - Form with proper Nextcloud components - CSRF token handling - Routes: Added /save and /load endpoints - page#index (GET) - renders admin page - page#save (POST) - saves configuration - page#load (GET) - loads configuration - Application.php: Updated with APP_VERSION constant - Proper style and script loading - CSS: Complete styling for admin interface - Responsive design with Nextcloud theme colors - Form input styling with focus states - Action buttons with hover effects - JavaScript: Complete form handling - AJAX submission to /save endpoint - Configuration loading from /load endpoint - CSRF token handling with OC.requestToken - OC.Notification integration for success/error messages - Real-time status updates This is a complete, working admin interface for configuration. Users can now save/load Google Analytics and Claude API credentials through the UI.
34 lines
614 B
PHP
34 lines
614 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace OCA\AnalyticsHub;
|
|
|
|
/**
|
|
* Routes for Mini-CMO Analytics Hub
|
|
*/
|
|
|
|
return [
|
|
'routes' => [
|
|
// Admin routes
|
|
[
|
|
'name' => 'page#index',
|
|
'url' => '/',
|
|
'verb' => 'GET',
|
|
'requirements' => [],
|
|
],
|
|
[
|
|
'name' => 'page#save',
|
|
'url' => '/save',
|
|
'verb' => 'POST',
|
|
'requirements' => [],
|
|
],
|
|
[
|
|
'name' => 'page#load',
|
|
'url' => '/load',
|
|
'verb' => 'GET',
|
|
'requirements' => [],
|
|
],
|
|
],
|
|
];
|