dmease commited on
Commit
fc12541
Β·
verified Β·
1 Parent(s): 06feeee

why do you have the site twice?

Browse files
Files changed (4) hide show
  1. README.md +8 -5
  2. index.html +192 -19
  3. script.js +56 -0
  4. style.css +57 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Mortgage Mapper Pro
3
- emoji: πŸš€
4
- colorFrom: blue
5
- colorTo: yellow
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: Mortgage Mapper Pro πŸ‘πŸ“Š
3
+ colorFrom: red
4
+ colorTo: green
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
index.html CHANGED
@@ -1,19 +1,192 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Mortgage Mapper Pro | HELOC vs Refi Comparison</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ primary: '#3b82f6',
17
+ secondary: '#10b981'
18
+ }
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+ </head>
24
+ <body class="bg-gray-50 dark:bg-gray-900 transition-colors duration-200">
25
+ <div class="min-h-screen">
26
+ <header class="bg-primary-600 text-white">
27
+ <div class="container mx-auto px-4 py-8">
28
+ <div class="flex flex-col md:flex-row justify-between items-start md:items-center gap-6">
29
+ <div>
30
+ <h1 class="text-3xl font-bold">Mortgage Mapper Pro πŸ‘πŸ“Š</h1>
31
+ <p class="mt-2 opacity-90">Turn your HELOC and refinance scenarios into clean, visual insights</p>
32
+ </div>
33
+ <div class="flex items-center space-x-4">
34
+ <div class="flex items-center">
35
+ <i data-feather="moon" class="w-5 h-5"></i>
36
+ <span class="ml-2">Dark Mode</span>
37
+ </div>
38
+ <button id="theme-toggle" class="relative inline-flex items-center h-6 rounded-full w-11 bg-gray-200 dark:bg-gray-700">
39
+ <span class="sr-only">Toggle theme</span>
40
+ <span id="theme-toggle-ball" class="inline-block w-4 h-4 transform transition translate-x-1 dark:translate-x-6 rounded-full bg-white dark:bg-gray-300"></span>
41
+ </button>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </header>
46
+
47
+ <main class="container mx-auto px-4 py-8">
48
+ <section class="bg-white dark:bg-gray-800 rounded-xl shadow-md p-6 mb-8">
49
+ <h2 class="text-2xl font-bold text-gray-800 dark:text-white mb-4">Create New Comparison</h2>
50
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
51
+ <div class="border-2 border-dashed border-primary-200 dark:border-primary-800 rounded-xl p-6 flex flex-col items-center justify-center transition hover:border-primary-400 cursor-pointer">
52
+ <i data-feather="home" class="w-12 h-12 text-primary-500"></i>
53
+ <h3 class="text-xl font-semibold mt-4 text-gray-800 dark:text-white">Add HELOC Option</h3>
54
+ <p class="text-gray-500 dark:text-gray-400 mt-2 text-center">Compare home equity line of credit offers</p>
55
+ </div>
56
+ <div class="border-2 border-dashed border-secondary-200 dark:border-secondary-800 rounded-xl p-6 flex flex-col items-center justify-center transition hover:border-secondary-400 cursor-pointer">
57
+ <i data-feather="refresh-cw" class="w-12 h-12 text-secondary-500"></i>
58
+ <h3 class="text-xl font-semibold mt-4 text-gray-800 dark:text-white">Add Refinance Option</h3>
59
+ <p class="text-gray-500 dark:text-gray-400 mt-2 text-center">Compare mortgage refinance scenarios</p>
60
+ </div>
61
+ </div>
62
+ </section>
63
+
64
+ <section class="mb-8">
65
+ <h2 class="text-2xl font-bold text-gray-800 dark:text-white mb-4">Quick Stats</h2>
66
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-4">
67
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-4 border-l-4 border-primary-500">
68
+ <h3 class="text-gray-500 dark:text-gray-400 text-sm font-medium">HELOC First-Year Cost</h3>
69
+ <p class="text-2xl font-bold mt-1">β€”</p>
70
+ <p class="text-xs text-gray-400">No HELOC options</p>
71
+ </div>
72
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-4 border-l-4 border-secondary-500">
73
+ <h3 class="text-gray-500 dark:text-gray-400 text-sm font-medium">Refi Interest Rate</h3>
74
+ <p class="text-2xl font-bold mt-1">β€”</p>
75
+ <p class="text-xs text-gray-400">No refi options</p>
76
+ </div>
77
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-4 border-l-4 border-secondary-500">
78
+ <h3 class="text-gray-500 dark:text-gray-400 text-sm font-medium">Refi Monthly Savings</h3>
79
+ <p class="text-2xl font-bold mt-1">β€”</p>
80
+ <p class="text-xs text-gray-400">No savings calculated</p>
81
+ </div>
82
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-4 border-l-4 border-primary-500">
83
+ <h3 class="text-gray-500 dark:text-gray-400 text-sm font-medium">Max Cash-Out</h3>
84
+ <p class="text-2xl font-bold mt-1">β€”</p>
85
+ <p class="text-xs text-gray-400">Add refi options</p>
86
+ </div>
87
+ <div class="bg-white dark:bg-gray-800 rounded-lg shadow p-4 border-l-4 border-gray-500">
88
+ <h3 class="text-gray-500 dark:text-gray-400 text-sm font-medium">Best Option</h3>
89
+ <p class="text-2xl font-bold mt-1">β€”</p>
90
+ <p class="text-xs text-gray-400">Add options to compare</p>
91
+ </div>
92
+ </div>
93
+ </section>
94
+
95
+ <section class="mb-8">
96
+ <div class="flex justify-between items-center mb-4">
97
+ <h2 class="text-2xl font-bold text-gray-800 dark:text-white">HELOC Options</h2>
98
+ <button class="btn-primary flex items-center">
99
+ <i data-feather="plus" class="w-4 h-4 mr-2"></i>
100
+ Add HELOC
101
+ </button>
102
+ </div>
103
+ <div class="overflow-x-auto">
104
+ <table class="w-full bg-white dark:bg-gray-800 rounded-lg overflow-hidden shadow">
105
+ <thead class="bg-gray-100 dark:bg-gray-700">
106
+ <tr>
107
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Option</th>
108
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Lender</th>
109
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Max Line</th>
110
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Draw</th>
111
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Rate</th>
112
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Upfront Cost</th>
113
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">1st Year Total</th>
114
+ </tr>
115
+ </thead>
116
+ <tbody class="divide-y divide-gray-200 dark:divide-gray-700">
117
+ <tr class="text-gray-600 dark:text-gray-400">
118
+ <td colspan="7" class="py-8 text-center">
119
+ <i data-feather="alert-circle" class="w-8 h-8 mx-auto text-gray-400"></i>
120
+ <p class="mt-2">No HELOC options added yet</p>
121
+ </td>
122
+ </tr>
123
+ </tbody>
124
+ </table>
125
+ </div>
126
+ </section>
127
+
128
+ <section>
129
+ <div class="flex justify-between items-center mb-4">
130
+ <h2 class="text-2xl font-bold text-gray-800 dark:text-white">Refinance Options</h2>
131
+ <button class="btn-secondary flex items-center">
132
+ <i data-feather="plus" class="w-4 h-4 mr-2"></i>
133
+ Add Refinance
134
+ </button>
135
+ </div>
136
+ <div class="overflow-x-auto">
137
+ <table class="w-full bg-white dark:bg-gray-800 rounded-lg overflow-hidden shadow">
138
+ <thead class="bg-gray-100 dark:bg-gray-700">
139
+ <tr>
140
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Option</th>
141
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Lender</th>
142
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Loan Amount</th>
143
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Rate</th>
144
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Term</th>
145
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Upfront Cost</th>
146
+ <th class="py-3 px-4 text-left font-medium text-gray-700 dark:text-gray-300">Monthly Payment</th>
147
+ </tr>
148
+ </thead>
149
+ <tbody class="divide-y divide-gray-200 dark:divide-gray-700">
150
+ <tr class="text-gray-600 dark:text-gray-400">
151
+ <td colspan="7" class="py-8 text-center">
152
+ <i data-feather="alert-circle" class="w-8 h-8 mx-auto text-gray-400"></i>
153
+ <p class="mt-2">No refinance options added yet</p>
154
+ </td>
155
+ </tr>
156
+ </tbody>
157
+ </table>
158
+ </div>
159
+ </section>
160
+ </main>
161
+
162
+ <footer class="bg-gray-100 dark:bg-gray-800 py-8 mt-12">
163
+ <div class="container mx-auto px-4">
164
+ <div class="flex flex-col md:flex-row justify-between items-center">
165
+ <div class="mb-4 md:mb-0">
166
+ <h2 class="text-xl font-bold text-gray-800 dark:text-white">Mortgage Mapper Pro</h2>
167
+ <p class="text-gray-600 dark:text-gray-400 mt-1">Plan your next move with clarity</p>
168
+ </div>
169
+ <div class="flex space-x-4">
170
+ <a href="#" class="text-gray-600 dark:text-gray-400 hover:text-primary-500 dark:hover:text-primary-400">
171
+ <i data-feather="github" class="w-5 h-5"></i>
172
+ </a>
173
+ <a href="#" class="text-gray-600 dark:text-gray-400 hover:text-primary-500 dark:hover:text-primary-400">
174
+ <i data-feather="twitter" class="w-5 h-5"></i>
175
+ </a>
176
+ <a href="#" class="text-gray-600 dark:text-gray-400 hover:text-primary-500 dark:hover:text-primary-400">
177
+ <i data-feather="mail" class="w-5 h-5"></i>
178
+ </a>
179
+ </div>
180
+ </div>
181
+ <div class="border-t border-gray-200 dark:border-gray-700 mt-6 pt-6 text-center text-gray-500 dark:text-gray-400 text-sm">
182
+ Β© 2023 Mortgage Mapper Pro. All rights reserved.
183
+ </div>
184
+ </div>
185
+ </footer>
186
+ </div>
187
+
188
+ <script src="script.js"></script>
189
+ <script>feather.replace();</script>
190
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
191
+ </body>
192
+ </html>
script.js ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', function() {
2
+ // Dark mode toggle functionality
3
+ const themeToggle = document.getElementById('theme-toggle');
4
+ const themeToggleBall = document.getElementById('theme-toggle-ball');
5
+
6
+ function toggleTheme() {
7
+ document.documentElement.classList.toggle('dark');
8
+ localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
9
+ }
10
+
11
+ // Check for saved theme preference
12
+ if (localStorage.getItem('theme') === 'dark') {
13
+ document.documentElement.classList.add('dark');
14
+ themeToggleBall.classList.remove('translate-x-1');
15
+ themeToggleBall.classList.add('translate-x-6');
16
+ } else {
17
+ document.documentElement.classList.remove('dark');
18
+ themeToggleBall.classList.add('translate-x-1');
19
+ themeToggleBall.classList.remove('translate-x-6');
20
+ }
21
+
22
+ // Theme toggle event
23
+ themeToggle.addEventListener('click', toggleTheme);
24
+
25
+ // Initialize tooltips when data is added
26
+ function initTooltips() {
27
+ const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
28
+ tooltipTriggerList.map(function(tooltipTriggerEl) {
29
+ return new bootstrap.Tooltip(tooltipTriggerEl);
30
+ });
31
+ }
32
+
33
+ // Feather icons replacement
34
+ feather.replace();
35
+
36
+ // Sample data for demonstration (would be replaced with real data in production)
37
+ const sampleHelocData = {
38
+ lender: "Example Bank",
39
+ maxLine: "$150,000",
40
+ draw: "$50,000",
41
+ rate: "5.25%",
42
+ closingCosts: "$1,200",
43
+ annualFee: "$75"
44
+ };
45
+
46
+ const sampleRefiData = {
47
+ lender: "Example Mortgage",
48
+ loanAmount: "$300,000",
49
+ rate: "4.99%",
50
+ term: "30 years",
51
+ points: "1%",
52
+ closingCosts: "$3,500"
53
+ };
54
+
55
+ // Would use these to populate tables when "Add" buttons are clicked
56
+ });
style.css CHANGED
@@ -1,28 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
 
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
 
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
2
+
3
+ :root {
4
+ --primary-500: #3b82f6;
5
+ --primary-600: #2563eb;
6
+ --secondary-500: #10b981;
7
+ --secondary-600: #059669;
8
+ }
9
+
10
+ * {
11
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
12
+ }
13
+
14
  body {
15
+ transition: background-color 0.2s ease;
 
16
  }
17
 
18
+ .btn-primary {
19
+ background-color: var(--primary-500);
20
+ color: white;
21
+ padding: 0.5rem 1rem;
22
+ border-radius: 0.375rem;
23
+ font-weight: 500;
24
+ transition: background-color 0.2s ease;
25
  }
26
 
27
+ .btn-primary:hover {
28
+ background-color: var(--primary-600);
 
 
 
29
  }
30
 
31
+ .btn-secondary {
32
+ background-color: var(--secondary-500);
33
+ color: white;
34
+ padding: 0.5rem 1rem;
35
+ border-radius: 0.375rem;
36
+ font-weight: 500;
37
+ transition: background-color 0.2s ease;
38
  }
39
 
40
+ .btn-secondary:hover {
41
+ background-color: var(--secondary-600);
42
  }
43
+
44
+ /* Dark mode styles */
45
+ @media (prefers-color-scheme: dark) {
46
+ body {
47
+ color: #e5e7eb;
48
+ }
49
+
50
+ .btn-primary {
51
+ background-color: var(--primary-600);
52
+ }
53
+
54
+ .btn-secondary {
55
+ background-color: var(--secondary-600);
56
+ }
57
+ }
58
+
59
+ /* Table responsive styles */
60
+ @media (max-width: 768px) {
61
+ table {
62
+ display: block;
63
+ width: 100%;
64
+ overflow-x: auto;
65
+ -webkit-overflow-scrolling: touch;
66
+ }
67
+ }