File size: 6,274 Bytes
7d5793d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Projects - RoofPrint Wizard</title>
    <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
    <script src="https://cdn.tailwindcss.com"></script>
    <script>
        tailwind.config = {
            darkMode: 'class',
            theme: {
                extend: {
                    colors: {
                        primary: {
                            500: '#f43f5e',
                        },
                        secondary: {
                            500: '#f97316',
                        }
                    }
                }
            }
        }
    </script>
    <script src="https://unpkg.com/feather-icons"></script>
    <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
</head>
<body class="bg-gray-900 min-h-screen text-gray-100">
    <!-- Navigation -->
    <nav class="bg-gray-800 border-b border-gray-700 px-4 py-3">
        <div class="max-w-7xl mx-auto flex justify-between items-center">
            <div class="flex items-center space-x-2">
                <a href="index.html">
                    <i data-feather="home" class="text-primary-500"></i>
                </a>
                <a href="index.html" class="text-xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-primary-500 to-secondary-500">RoofPrint Wizard</a>
            </div>
            <div class="flex items-center space-x-4">
                <a href="projects.html" class="bg-gray-700 hover:bg-gray-600 text-white px-4 py-2 rounded-lg flex items-center space-x-2 transition-all">
                    <i data-feather="folder"></i>
                    <span>My Projects</span>
                </a>
                <a href="index.html" class="bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 rounded-lg flex items-center space-x-2 transition-all">
                    <i data-feather="upload"></i>
                    <span>New Upload</span>
                </a>
            </div>
        </div>
    </nav>

    <!-- Projects Content -->
    <div class="max-w-7xl mx-auto px-4 py-8">
        <div class="flex justify-between items-center mb-8">
            <h1 class="text-3xl font-bold">My Projects</h1>
            <div class="flex space-x-2">
                <div class="relative">
                    <input type="text" placeholder="Search projects..." class="bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 pl-10 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent">
                    <i data-feather="search" class="absolute left-3 top-2.5 text-gray-400"></i>
                </div>
                <button class="bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 rounded-lg flex items-center space-x-2">
                    <i data-feather="filter"></i>
                    <span>Filter</span>
                </button>
            </div>
        </div>

        <!-- Projects Grid -->
        <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
            <!-- Project cards will be generated here -->
        </div>

        <!-- Empty State -->
        <div id="emptyState" class="text-center py-12">
            <div class="mx-auto w-24 h-24 bg-gray-800 rounded-full flex items-center justify-center mb-6">
                <i data-feather="folder" class="w-12 h-12 text-gray-500"></i>
            </div>
            <h3 class="text-xl font-semibold mb-2">No projects yet</h3>
            <p class="text-gray-400 mb-6">Upload your first blueprint to get started</p>
            <a href="index.html" class="bg-primary-500 hover:bg-primary-600 text-white px-6 py-3 rounded-lg inline-flex items-center space-x-2">
                <i data-feather="upload"></i>
                <span>Upload Blueprint</span>
            </a>
        </div>
    </div>

    <script>
        document.addEventListener('DOMContentLoaded', function() {
            feather.replace();
            
            // Load projects from localStorage
            const projects = JSON.parse(localStorage.getItem('projects') || '[]');
            const projectsGrid = document.querySelector('.grid');
            const emptyState = document.getElementById('emptyState');
            
            if (projects.length > 0) {
                emptyState.classList.add('hidden');
                
                projects.forEach(project => {
                    const projectCard = document.createElement('div');
                    projectCard.className = 'bg-gray-800 rounded-xl overflow-hidden border border-gray-700 hover:border-primary-500 transition-all';
                    projectCard.innerHTML = `
                        <div class="h-48 bg-gradient-to-br from-gray-700 to-gray-800 flex items-center justify-center">
                            <i data-feather="file-text" class="w-16 h-16 text-primary-500"></i>
                        </div>
                        <div class="p-6">
                            <h3 class="text-xl font-semibold mb-2">${project.name}</h3>
                            <p class="text-gray-400 mb-4">Uploaded: ${project.date}</p>
                            <div class="flex justify-between items-center">
                                <span class="bg-gray-700 ${project.status === 'processed' ? 'text-primary-500' : 'text-secondary-500'} px-3 py-1 rounded-full text-sm font-medium">
                                    ${project.status.charAt(0).toUpperCase() + project.status.slice(1)}
                                </span>
                                <a href="estimate.html?project=${project.id}" class="text-secondary-500 hover:text-secondary-400 flex items-center space-x-1">
                                    <span>View Estimate</span>
                                    <i data-feather="arrow-right" class="w-4 h-4"></i>
                                </a>
                            </div>
                        </div>
                    `;
                    projectsGrid.appendChild(projectCard);
                });
                
                feather.replace();
            }
        });
    </script>
</body>
</html>