From d41ff7671ea6f59ff7f4b4ab9f42417938bdb04d Mon Sep 17 00:00:00 2001 From: salvacybersec Date: Mon, 10 Nov 2025 21:03:17 +0300 Subject: [PATCH] feat: Complete phishing panel with MUI v7 Grid fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ✅ Full backend implementation (Auth, Companies, Tokens, Templates, Tracking) - ✅ Complete frontend with Material-UI v7 - ✅ Fixed MUI Grid syntax for v7 (xs/sm/md -> size prop) - ✅ Domain configuration (single/dual domain support with CORS) - ✅ Gmail integration with App Password - ✅ Telegram notifications - ✅ Mail template management with HTML editor - ✅ Security features (bcrypt, session-based auth, CORS) - ✅ Deployment scripts and comprehensive documentation - ✅ Admin user management scripts - 📚 7 detailed documentation files (DEPLOYMENT, SECURITY, DOMAIN_SETUP, etc.) Backend: Node.js + Express + SQLite + Sequelize Frontend: React + Vite + MUI v7 Features: Token tracking, IP/GeoIP logging, company management, mail templates --- frontend/src/pages/Companies.jsx | 4 ++-- frontend/src/pages/CompanyDetail.jsx | 12 ++++++------ frontend/src/pages/Dashboard.jsx | 14 +++++++------- frontend/src/pages/Settings.jsx | 11 ++++++----- frontend/src/pages/TokenDetail.jsx | 20 ++++++++++---------- 5 files changed, 31 insertions(+), 30 deletions(-) diff --git a/frontend/src/pages/Companies.jsx b/frontend/src/pages/Companies.jsx index 076c906..9dc2036 100644 --- a/frontend/src/pages/Companies.jsx +++ b/frontend/src/pages/Companies.jsx @@ -5,7 +5,6 @@ import { Button, Card, CardContent, - Grid, Typography, Chip, CircularProgress, @@ -14,6 +13,7 @@ import { DialogContent, DialogActions, TextField, + Grid, } from '@mui/material'; import { Add, TrendingUp } from '@mui/icons-material'; import { companyService } from '../services/companyService'; @@ -79,7 +79,7 @@ function Companies() { {companies.map((company) => ( - + navigate(`/companies/${company.id}`)} diff --git a/frontend/src/pages/CompanyDetail.jsx b/frontend/src/pages/CompanyDetail.jsx index 86e20f5..6c805c7 100644 --- a/frontend/src/pages/CompanyDetail.jsx +++ b/frontend/src/pages/CompanyDetail.jsx @@ -134,7 +134,7 @@ function CompanyDetail() { {/* Stats Cards */} - + @@ -149,7 +149,7 @@ function CompanyDetail() { - + @@ -164,7 +164,7 @@ function CompanyDetail() { - + @@ -190,7 +190,7 @@ function CompanyDetail() { Şirket Bilgileri - + Sektör @@ -198,7 +198,7 @@ function CompanyDetail() { {company.industry || 'Belirtilmemiş'} - + Oluşturulma Tarihi @@ -207,7 +207,7 @@ function CompanyDetail() { {company.description && ( - + Açıklama diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx index 8936782..1cb118c 100644 --- a/frontend/src/pages/Dashboard.jsx +++ b/frontend/src/pages/Dashboard.jsx @@ -1,6 +1,5 @@ import { useState, useEffect } from 'react'; import { - Grid, Paper, Typography, Box, @@ -14,6 +13,7 @@ import { TableRow, Chip, CircularProgress, + Grid, } from '@mui/material'; import { Business, @@ -89,7 +89,7 @@ function Dashboard() { - + - + - + - + - + Şirket Performansı @@ -160,7 +160,7 @@ function Dashboard() { - + Son Tıklamalar diff --git a/frontend/src/pages/Settings.jsx b/frontend/src/pages/Settings.jsx index 60e709e..cf74fbb 100644 --- a/frontend/src/pages/Settings.jsx +++ b/frontend/src/pages/Settings.jsx @@ -5,13 +5,14 @@ import { Typography, TextField, Button, - Grid, Alert, CircularProgress, Divider, + FormControlLabel, + Checkbox, + Grid, } from '@mui/material'; import { Save, Send } from '@mui/icons-material'; -import { FormControlLabel, Checkbox } from '@mui/material'; import axios from 'axios'; const API_URL = import.meta.env.VITE_API_URL; @@ -149,7 +150,7 @@ function Settings() { {/* System Settings */} - + 🌐 Genel Ayarlar @@ -210,7 +211,7 @@ function Settings() { {/* Gmail Settings */} - + 📧 Gmail Ayarları @@ -278,7 +279,7 @@ function Settings() { - + Telegram Ayarları diff --git a/frontend/src/pages/TokenDetail.jsx b/frontend/src/pages/TokenDetail.jsx index 010a6e9..a486fc8 100644 --- a/frontend/src/pages/TokenDetail.jsx +++ b/frontend/src/pages/TokenDetail.jsx @@ -5,7 +5,6 @@ import { Button, Paper, Typography, - Grid, Card, CardContent, Table, @@ -21,6 +20,7 @@ import { DialogTitle, DialogContent, DialogActions, + Grid, } from '@mui/material'; import { ArrowBack, @@ -128,7 +128,7 @@ function TokenDetail() { {/* Stats Cards */} - + @@ -149,7 +149,7 @@ function TokenDetail() { - + @@ -164,7 +164,7 @@ function TokenDetail() { - + @@ -181,7 +181,7 @@ function TokenDetail() { - + @@ -214,7 +214,7 @@ function TokenDetail() { Token Bilgileri - + Token @@ -222,7 +222,7 @@ function TokenDetail() { {token.token} - + Tracking URL @@ -233,7 +233,7 @@ function TokenDetail() { {`${window.location.origin.replace('5173', '3000')}/t/${token.token}`} - + Şablon Tipi @@ -241,13 +241,13 @@ function TokenDetail() { {token.template_type || 'Belirtilmemiş'} - + Şirket {token.company?.name} - + Gönderen Adı