Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/newsfeed/includes/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/newsfeed/includes/footer.php

        </main>

        <!-- Footer -->
        <footer class="glass-effect mt-12">
            <div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
                <div class="flex flex-col md:flex-row justify-between items-center">
                    <div class="text-cop-dark">
                        <p>&copy; <?= date('Y') ?> <?= htmlspecialchars(get_site_title()) ?>. All rights reserved.</p>
                    </div>
                    <div class="mt-4 md:mt-0">
                        <p class="text-sm text-cop-dark">Powered by COP News Portal v<?= APP_VERSION ?></p>
                    </div>
                </div>
            </div>
        </footer>
    </div>

    <!-- Vue.js App -->
    <script>
        const { createApp } = Vue;
        
        createApp({
            data() {
                return {
                    mobileMenuOpen: false,
                    loading: false,
                    notifications: []
                }
            },
            methods: {
                showNotification(message, type = 'info') {
                    const notification = {
                        id: Date.now(),
                        message,
                        type,
                        show: true
                    };
                    this.notifications.push(notification);
                    
                    setTimeout(() => {
                        this.hideNotification(notification.id);
                    }, 5000);
                },
                hideNotification(id) {
                    const index = this.notifications.findIndex(n => n.id === id);
                    if (index > -1) {
                        this.notifications.splice(index, 1);
                    }
                },
                async makeRequest(url, options = {}) {
                    this.loading = true;
                    try {
                        const response = await fetch(url, options);
                        const data = await response.json();
                        return data;
                    } catch (error) {
                        this.showNotification('An error occurred', 'error');
                        console.error('Request error:', error);
                    } finally {
                        this.loading = false;
                    }
                }
            },
            mounted() {
                // Close mobile menu when clicking outside
                document.addEventListener('click', (e) => {
                    if (!e.target.closest('.md\\:hidden') && this.mobileMenuOpen) {
                        this.mobileMenuOpen = false;
                    }
                });
            }
        }).mount('#app');
    </script>

    <style>
        .nav-link {
            @apply text-cop-dark hover:text-cop-blue px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200;
        }
        
        .mobile-nav-link {
            @apply text-cop-dark hover:text-cop-blue block px-3 py-2 rounded-md text-base font-medium transition-colors duration-200;
        }
        
        .btn {
            @apply inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm transition-all duration-200;
        }
        
        .btn-primary {
            @apply bg-cop-blue text-white hover:bg-blue-700 focus:ring-2 focus:ring-offset-2 focus:ring-cop-blue;
        }
        
        .btn-secondary {
            @apply bg-gray-600 text-white hover:bg-gray-700 focus:ring-2 focus:ring-offset-2 focus:ring-gray-500;
        }
        
        .btn-success {
            @apply bg-green-600 text-white hover:bg-green-700 focus:ring-2 focus:ring-offset-2 focus:ring-green-500;
        }
        
        .btn-danger {
            @apply bg-red-600 text-white hover:bg-red-700 focus:ring-2 focus:ring-offset-2 focus:ring-red-500;
        }
        
        .btn-outline {
            @apply bg-transparent border-cop-blue text-cop-blue hover:bg-cop-blue hover:text-white;
        }
        
        .card {
            @apply glass-effect rounded-lg shadow-lg card-hover;
        }
        
        .card-header {
            @apply px-6 py-4 border-b border-gray-200;
        }
        
        .card-body {
            @apply px-6 py-4;
        }
        
        .form-control {
            @apply block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-cop-blue focus:border-cop-blue;
        }
        
        .table {
            @apply min-w-full divide-y divide-gray-200;
        }
        
        .table th {
            @apply px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
        }
        
        .table td {
            @apply px-6 py-4 whitespace-nowrap text-sm text-gray-900;
        }
        
        .alert {
            @apply p-4 rounded-md mb-4;
        }
        
        .alert-success {
            @apply bg-green-50 text-green-800 border border-green-200;
        }
        
        .alert-error {
            @apply bg-red-50 text-red-800 border border-red-200;
        }
        
        .alert-warning {
            @apply bg-yellow-50 text-yellow-800 border border-yellow-200;
        }
        
        .alert-info {
            @apply bg-blue-50 text-blue-800 border border-blue-200;
        }
    </style>
</body>
</html>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists