Antoni09 commited on
Commit
00f4802
verified
1 Parent(s): 9c4e7c0

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +280 -279
index.html CHANGED
@@ -1,15 +1,16 @@
1
- <!DOCTYPE html>
2
- <html lang="pl">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Generator faktur</title>
7
- <link rel="preconnect" href="https://fonts.googleapis.com">
8
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
- <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap" rel="stylesheet">
10
- <link rel="stylesheet" href="styles.css">
11
- </head>
12
- <body>
 
13
  <main class="container">
14
  <div class="brand-banner">
15
  <img src="small_logotyp do strony.jpg" alt="Logotyp FakturON!" class="brand-logo">
@@ -79,72 +80,72 @@
79
  </section>
80
  </div>
81
  </section>
82
-
83
- <section id="register-section" class="panel hidden">
84
- <div class="auth-card register-card">
85
- <div class="register-header">
86
- <h3>Za艂贸偶 konto</h3>
87
- <button id="back-to-login" type="button" class="link-button">Wr贸膰 do logowania</button>
88
- </div>
89
- <form id="register-form" class="form">
90
- <div class="register-fields">
91
- <div class="field-grid register-credentials">
92
- <label>
93
- Email
94
- <input type="email" name="email" autocomplete="email" required>
95
- </label>
96
- <label>
97
- Has艂o
98
- <input type="password" name="password" autocomplete="new-password" required>
99
- </label>
100
- <label>
101
  Powt贸rz has艂o
102
- <input type="password" name="confirm_password" autocomplete="new-password" required>
103
- </label>
104
- </div>
105
-
106
- <div class="field-grid register-company">
107
- <label>
108
- Nazwa firmy
109
- <input type="text" name="company_name" required>
110
- </label>
111
- <label>
112
- Imi臋 i nazwisko w艂a艣ciciela
113
- <input type="text" name="owner_name" required>
114
- </label>
115
- <label>
116
- Ulica i numer
117
- <input type="text" name="address_line" required>
118
- </label>
119
- <label>
120
- Kod pocztowy
121
- <input type="text" name="postal_code" required>
122
- </label>
123
- <label>
124
- Miejscowo艣膰
125
- <input type="text" name="city" required>
126
- </label>
127
- <label>
128
- NIP
129
- <input type="text" name="tax_id" required>
130
- </label>
131
- <label>
132
- Numer konta bankowego
133
- <input type="text" name="bank_account" required>
134
- </label>
135
- </div>
136
- </div>
137
- <div class="form-actions">
138
- <button type="submit">Utw贸rz konto</button>
139
- <button id="cancel-register" type="button" class="link-button">Anuluj</button>
140
- </div>
141
- </form>
142
  <p id="register-feedback" class="feedback"></p>
143
  <p class="hint">Wskazowka: dane firmy zaktualizujesz pozniej w sekcji "Dane sprzedawcy".</p>
144
  </div>
145
  </section>
146
-
147
- <section id="app-section" class="panel hidden">
148
  <header class="app-header">
149
  <div>
150
  <h2>Panel faktur</h2>
@@ -158,12 +159,12 @@
158
  <button type="button" class="app-nav-button" data-view="dashboard">Dashboard</button>
159
  </nav>
160
  <button id="logout-button" type="button" class="link-button">Wyloguj</button>
161
- </header>
162
-
163
- <section id="invoice-builder-section" class="app-view">
164
- <section class="business-section">
165
- <div class="business-section-header">
166
- <h3>Dane sprzedawcy</h3>
167
  <div class="business-actions">
168
  <button id="toggle-business-form" type="button" class="pill-button">Edycja danych</button>
169
  <label for="logo-input" class="pill-button secondary">
@@ -173,66 +174,66 @@
173
  <button id="remove-logo-button" type="button" class="pill-button danger hidden">Usu艅 logo</button>
174
  </div>
175
  </div>
176
- <div id="business-display" class="business-display"></div>
177
- <div id="logo-preview" class="logo-preview hidden">
178
- <span class="logo-preview-label">Logo sprzedawcy</span>
179
- <img id="logo-preview-image" alt="Logo firmy">
180
- </div>
181
- <p id="logo-feedback" class="feedback"></p>
182
- <form id="business-form" class="form hidden">
183
- <div class="field-grid">
184
- <label>
185
- Nazwa firmy
186
- <input type="text" name="company_name" required>
187
- </label>
188
- <label>
189
- Imi臋 i nazwisko w艂a艣ciciela
190
- <input type="text" name="owner_name" required>
191
- </label>
192
- <label>
193
- Ulica i numer
194
- <input type="text" name="address_line" required>
195
- </label>
196
- <label>
197
- Kod pocztowy
198
- <input type="text" name="postal_code" required>
199
- </label>
200
- <label>
201
- Miejscowo艣膰
202
- <input type="text" name="city" required>
203
- </label>
204
- <label>
205
- NIP
206
- <input type="text" name="tax_id" required>
207
- </label>
208
- <label>
209
- Numer konta bankowego
210
- <input type="text" name="bank_account" required>
211
- </label>
212
- </div>
213
- <div class="form-actions">
214
- <button type="submit">Zapisz</button>
215
- <button id="cancel-business-update" type="button" class="link-button">Anuluj</button>
216
- </div>
217
- <p id="business-feedback" class="feedback"></p>
218
- </form>
219
- </section>
220
-
221
- <form id="invoice-form" class="form">
222
- <fieldset>
223
- <legend>Informacje o fakturze</legend>
224
- <div class="field-grid">
225
- <label>
226
- Data sprzeda偶y / wykonania us艂ugi
227
- <input type="date" name="saleDate">
228
- </label>
229
- <label>
230
- Termin p艂atno艣ci (dni)
231
- <input type="number" name="paymentTerm" min="1" step="1" value="14">
232
- </label>
233
- </div>
234
- </fieldset>
235
-
236
  <fieldset>
237
  <legend>Dane nabywcy</legend>
238
  <div class="client-lookup">
@@ -247,143 +248,143 @@
247
  Nazwa / Imi臋 i nazwisko
248
  <input type="text" name="clientName">
249
  </label>
250
- <label>
251
- NIP
252
- <input type="text" name="clientTaxId">
253
- </label>
254
- <label>
255
- Ulica i numer
256
- <input type="text" name="clientAddress">
257
- </label>
258
- <label>
259
- Kod pocztowy
260
- <input type="text" name="clientPostalCode">
261
- </label>
262
- <label>
263
- Miejscowo艣膰
264
- <input type="text" name="clientCity">
265
- </label>
266
- <label>
267
- Numer telefonu
268
- <input type="tel" name="clientPhone">
269
- </label>
270
- </div>
271
- </fieldset>
272
-
273
- <section class="items-section">
274
- <header class="items-header">
275
- <h3>Pozycje faktury</h3>
276
- <button type="button" id="add-item-button">Dodaj pozycj臋</button>
277
- </header>
278
- <div class="items-table-wrapper">
279
- <table class="items-table">
280
- <thead>
281
- <tr>
282
- <th>Nazwa towaru/us艂ugi</th>
283
- <th>Ilo艣膰</th>
284
- <th>Jednostka</th>
285
- <th>Cena jedn. brutto (PLN)</th>
286
- <th>Stawka VAT</th>
287
- <th>Warto艣膰 brutto (PLN)</th>
288
- <th></th>
289
- </tr>
290
- </thead>
291
- <tbody id="items-body"></tbody>
292
- </table>
293
- </div>
294
- </section>
295
-
296
- <div id="totals-container" class="totals">
297
- <span id="total-net">Suma netto: 0.00 PLN</span>
298
- <span id="total-vat">Kwota VAT: 0.00 PLN</span>
299
- <span id="total-gross">Suma brutto: 0.00 PLN</span>
300
- </div>
301
-
302
- <section id="rate-summary" class="rate-summary"></section>
303
-
304
- <div id="exemption-note-wrapper" class="hidden">
305
- <label for="exemption-reason">Pow贸d zastosowania stawki ZW/0%</label>
306
- <select id="exemption-reason" class="form-select">
307
- <option value="">Wybierz podstaw臋 zwolnienia...</option>
308
- </select>
309
- <label for="exemption-note" id="exemption-note-label">Podstawa prawna zwolnienia</label>
310
- <textarea id="exemption-note" rows="3" placeholder="np. Art. 43 ust. 1 pkt 19 ustawy o VAT"></textarea>
311
- </div>
312
-
313
- <div class="form-actions">
314
- <button type="submit" id="save-invoice-button">Generuj faktur臋</button>
315
- <button id="cancel-edit-invoice" type="button" class="link-button hidden">Anuluj edycj臋</button>
316
- </div>
317
- </form>
318
-
319
- <section id="invoice-result" class="panel hidden">
320
- <h3>Podgl膮d faktury</h3>
321
- <div id="invoice-output" class="invoice-preview"></div>
322
- <button id="download-button" type="button">Pobierz jako plik PDF</button>
323
- </section>
324
- </section>
325
-
326
- <section id="dashboard-section" class="app-view hidden">
327
- <header class="dashboard-header">
328
- <div class="filters">
329
- <label>
330
- Od
331
- <input type="date" id="filter-start-date">
332
- </label>
333
- <label>
334
- Do
335
- <input type="date" id="filter-end-date">
336
- </label>
337
- <button type="button" id="clear-filters" class="button secondary">Wyczy艣膰</button>
338
- </div>
339
- <p id="dashboard-feedback" class="feedback"></p>
340
- </header>
341
-
342
- <section class="dashboard-summary">
343
- <div class="summary-card">
344
- <span class="summary-label">Ostatnie 30 dni</span>
345
- <span id="summary-month-count" class="summary-count">0 faktur</span>
346
- <span id="summary-month-amount" class="summary-amount">0.00 PLN</span>
347
- </div>
348
- <div class="summary-card">
349
- <span class="summary-label">Bie偶膮cy kwarta艂</span>
350
- <span id="summary-quarter-count" class="summary-count">0 faktur</span>
351
- <span id="summary-quarter-amount" class="summary-amount">0.00 PLN</span>
352
- </div>
353
- <div class="summary-card">
354
- <span class="summary-label">Bie偶膮cy rok</span>
355
- <span id="summary-year-count" class="summary-count">0 faktur</span>
356
- <span id="summary-year-amount" class="summary-amount">0.00 PLN</span>
357
- </div>
358
- </section>
359
-
360
- <section class="dashboard-chart">
361
- <canvas id="invoices-chart" aria-label="Podsumowanie faktur"></canvas>
362
- </section>
363
-
364
- <section class="dashboard-table">
365
- <div class="items-table-wrapper">
366
- <table class="items-table">
367
- <thead>
368
- <tr>
369
- <th>Numer</th>
370
- <th>Data wystawienia</th>
371
- <th>Nabywca</th>
372
- <th>Suma brutto</th>
373
- <th>Akcje</th>
374
- </tr>
375
- </thead>
376
- <tbody id="invoices-table-body"></tbody>
377
- </table>
378
- <p id="invoices-empty" class="hint hidden">Brak faktur do wy艣wietlenia.</p>
379
- </div>
380
- </section>
381
- </section>
382
- </section>
383
- </main>
384
-
385
- <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js" defer></script>
386
- <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.6/dist/chart.umd.min.js" defer></script>
387
- <script src="main.js" defer></script>
388
- </body>
389
- </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="pl"><head>
3
+
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Generator faktur</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap" rel="stylesheet">
10
+ <link rel="stylesheet" href="styles.css">
11
+
12
+
13
+ </head><body>
14
  <main class="container">
15
  <div class="brand-banner">
16
  <img src="small_logotyp do strony.jpg" alt="Logotyp FakturON!" class="brand-logo">
 
80
  </section>
81
  </div>
82
  </section>
83
+
84
+ <section id="register-section" class="panel hidden">
85
+ <div class="auth-card register-card">
86
+ <div class="register-header">
87
+ <h3>Za艂贸偶 konto</h3>
88
+ <button id="back-to-login" type="button" class="link-button">Wr贸膰 do logowania</button>
89
+ </div>
90
+ <form id="register-form" class="form">
91
+ <div class="register-fields">
92
+ <div class="field-grid register-credentials">
93
+ <label>
94
+ Email
95
+ <input type="email" name="email" autocomplete="email" required>
96
+ </label>
97
+ <label>
98
+ Has艂o
99
+ <input type="password" name="password" autocomplete="new-password" required>
100
+ </label>
101
+ <label>
102
  Powt贸rz has艂o
103
+ <input type="password" name="confirm_password" autocomplete="new-password" required>
104
+ </label>
105
+ </div>
106
+
107
+ <div class="field-grid register-company">
108
+ <label>
109
+ Nazwa firmy
110
+ <input type="text" name="company_name" required>
111
+ </label>
112
+ <label>
113
+ Imi臋 i nazwisko w艂a艣ciciela
114
+ <input type="text" name="owner_name" required>
115
+ </label>
116
+ <label>
117
+ Ulica i numer
118
+ <input type="text" name="address_line" required>
119
+ </label>
120
+ <label>
121
+ Kod pocztowy
122
+ <input type="text" name="postal_code" required>
123
+ </label>
124
+ <label>
125
+ Miejscowo艣膰
126
+ <input type="text" name="city" required>
127
+ </label>
128
+ <label>
129
+ NIP
130
+ <input type="text" name="tax_id" required>
131
+ </label>
132
+ <label>
133
+ Numer konta bankowego
134
+ <input type="text" name="bank_account" required>
135
+ </label>
136
+ </div>
137
+ </div>
138
+ <div class="form-actions">
139
+ <button type="submit">Utw贸rz konto</button>
140
+ <button id="cancel-register" type="button" class="link-button">Anuluj</button>
141
+ </div>
142
+ </form>
143
  <p id="register-feedback" class="feedback"></p>
144
  <p class="hint">Wskazowka: dane firmy zaktualizujesz pozniej w sekcji "Dane sprzedawcy".</p>
145
  </div>
146
  </section>
147
+
148
+ <section id="app-section" class="panel hidden">
149
  <header class="app-header">
150
  <div>
151
  <h2>Panel faktur</h2>
 
159
  <button type="button" class="app-nav-button" data-view="dashboard">Dashboard</button>
160
  </nav>
161
  <button id="logout-button" type="button" class="link-button">Wyloguj</button>
162
+ </header>
163
+
164
+ <section id="invoice-builder-section" class="app-view">
165
+ <section class="business-section">
166
+ <div class="business-section-header">
167
+ <h3>Dane sprzedawcy</h3>
168
  <div class="business-actions">
169
  <button id="toggle-business-form" type="button" class="pill-button">Edycja danych</button>
170
  <label for="logo-input" class="pill-button secondary">
 
174
  <button id="remove-logo-button" type="button" class="pill-button danger hidden">Usu艅 logo</button>
175
  </div>
176
  </div>
177
+ <div id="business-display" class="business-display"></div>
178
+ <div id="logo-preview" class="logo-preview hidden">
179
+ <span class="logo-preview-label">Logo sprzedawcy</span>
180
+ <img id="logo-preview-image" alt="Logo firmy">
181
+ </div>
182
+ <p id="logo-feedback" class="feedback"></p>
183
+ <form id="business-form" class="form hidden">
184
+ <div class="field-grid">
185
+ <label>
186
+ Nazwa firmy
187
+ <input type="text" name="company_name" required>
188
+ </label>
189
+ <label>
190
+ Imi臋 i nazwisko w艂a艣ciciela
191
+ <input type="text" name="owner_name" required>
192
+ </label>
193
+ <label>
194
+ Ulica i numer
195
+ <input type="text" name="address_line" required>
196
+ </label>
197
+ <label>
198
+ Kod pocztowy
199
+ <input type="text" name="postal_code" required>
200
+ </label>
201
+ <label>
202
+ Miejscowo艣膰
203
+ <input type="text" name="city" required>
204
+ </label>
205
+ <label>
206
+ NIP
207
+ <input type="text" name="tax_id" required>
208
+ </label>
209
+ <label>
210
+ Numer konta bankowego
211
+ <input type="text" name="bank_account" required>
212
+ </label>
213
+ </div>
214
+ <div class="form-actions">
215
+ <button type="submit">Zapisz</button>
216
+ <button id="cancel-business-update" type="button" class="link-button">Anuluj</button>
217
+ </div>
218
+ <p id="business-feedback" class="feedback"></p>
219
+ </form>
220
+ </section>
221
+
222
+ <form id="invoice-form" class="form">
223
+ <fieldset>
224
+ <legend>Informacje o fakturze</legend>
225
+ <div class="field-grid">
226
+ <label>
227
+ Data sprzeda偶y / wykonania us艂ugi
228
+ <input type="date" name="saleDate">
229
+ </label>
230
+ <label>
231
+ Termin p艂atno艣ci (dni)
232
+ <input type="number" name="paymentTerm" min="1" step="1" value="14">
233
+ </label>
234
+ </div>
235
+ </fieldset>
236
+
237
  <fieldset>
238
  <legend>Dane nabywcy</legend>
239
  <div class="client-lookup">
 
248
  Nazwa / Imi臋 i nazwisko
249
  <input type="text" name="clientName">
250
  </label>
251
+ <label>
252
+ NIP
253
+ <input type="text" name="clientTaxId">
254
+ </label>
255
+ <label>
256
+ Ulica i numer
257
+ <input type="text" name="clientAddress">
258
+ </label>
259
+ <label>
260
+ Kod pocztowy
261
+ <input type="text" name="clientPostalCode">
262
+ </label>
263
+ <label>
264
+ Miejscowo艣膰
265
+ <input type="text" name="clientCity">
266
+ </label>
267
+ <label>
268
+ Numer telefonu
269
+ <input type="tel" name="clientPhone">
270
+ </label>
271
+ </div>
272
+ </fieldset>
273
+
274
+ <section class="items-section">
275
+ <header class="items-header">
276
+ <h3>Pozycje faktury</h3>
277
+ <button type="button" id="add-item-button">Dodaj pozycj臋</button>
278
+ </header>
279
+ <div class="items-table-wrapper">
280
+ <table class="items-table">
281
+ <thead>
282
+ <tr>
283
+ <th>Nazwa towaru/us艂ugi</th>
284
+ <th>Ilo艣膰</th>
285
+ <th>Jednostka</th>
286
+ <th>Cena jedn. brutto (PLN)</th>
287
+ <th>Stawka VAT</th>
288
+ <th>Warto艣膰 brutto (PLN)</th>
289
+ <th></th>
290
+ </tr>
291
+ </thead>
292
+ <tbody id="items-body"></tbody>
293
+ </table>
294
+ </div>
295
+ </section>
296
+
297
+ <div id="totals-container" class="totals">
298
+ <span id="total-net">Suma netto: 0.00 PLN</span>
299
+ <span id="total-vat">Kwota VAT: 0.00 PLN</span>
300
+ <span id="total-gross">Suma brutto: 0.00 PLN</span>
301
+ </div>
302
+
303
+ <section id="rate-summary" class="rate-summary"></section>
304
+
305
+ <div id="exemption-note-wrapper" class="hidden">
306
+ <label for="exemption-reason">Pow贸d zastosowania stawki ZW/0%</label>
307
+ <select id="exemption-reason" class="form-select">
308
+ <option value="">Wybierz podstaw臋 zwolnienia...</option>
309
+ </select>
310
+ <label for="exemption-note" id="exemption-note-label">Podstawa prawna zwolnienia</label>
311
+ <textarea id="exemption-note" rows="3" placeholder="np. Art. 43 ust. 1 pkt 19 ustawy o VAT"></textarea>
312
+ </div>
313
+
314
+ <div class="form-actions">
315
+ <button type="submit" id="save-invoice-button">Generuj faktur臋</button>
316
+ <button id="cancel-edit-invoice" type="button" class="link-button hidden">Anuluj edycj臋</button>
317
+ </div>
318
+ </form>
319
+
320
+ <section id="invoice-result" class="panel hidden">
321
+ <h3>Podgl膮d faktury</h3>
322
+ <div id="invoice-output" class="invoice-preview"></div>
323
+ <button id="download-button" type="button">Pobierz jako plik PDF</button>
324
+ </section>
325
+ </section>
326
+
327
+ <section id="dashboard-section" class="app-view hidden">
328
+ <header class="dashboard-header">
329
+ <div class="filters">
330
+ <label>
331
+ Od
332
+ <input type="date" id="filter-start-date">
333
+ </label>
334
+ <label>
335
+ Do
336
+ <input type="date" id="filter-end-date">
337
+ </label>
338
+ <button type="button" id="clear-filters" class="button secondary">Wyczy艣膰</button>
339
+ </div>
340
+ <p id="dashboard-feedback" class="feedback"></p>
341
+ </header>
342
+
343
+ <section class="dashboard-summary">
344
+ <div class="summary-card">
345
+ <span class="summary-label">Ostatnie 30 dni</span>
346
+ <span id="summary-month-count" class="summary-count">0 faktur</span>
347
+ <span id="summary-month-amount" class="summary-amount">0.00 PLN</span>
348
+ </div>
349
+ <div class="summary-card">
350
+ <span class="summary-label">Bie偶膮cy kwarta艂</span>
351
+ <span id="summary-quarter-count" class="summary-count">0 faktur</span>
352
+ <span id="summary-quarter-amount" class="summary-amount">0.00 PLN</span>
353
+ </div>
354
+ <div class="summary-card">
355
+ <span class="summary-label">Bie偶膮cy rok</span>
356
+ <span id="summary-year-count" class="summary-count">0 faktur</span>
357
+ <span id="summary-year-amount" class="summary-amount">0.00 PLN</span>
358
+ </div>
359
+ </section>
360
+
361
+ <section class="dashboard-chart">
362
+ <canvas id="invoices-chart" aria-label="Podsumowanie faktur"></canvas>
363
+ </section>
364
+
365
+ <section class="dashboard-table">
366
+ <div class="items-table-wrapper">
367
+ <table class="items-table">
368
+ <thead>
369
+ <tr>
370
+ <th>Numer</th>
371
+ <th>Data wystawienia</th>
372
+ <th>Nabywca</th>
373
+ <th>Suma brutto</th>
374
+ <th>Akcje</th>
375
+ </tr>
376
+ </thead>
377
+ <tbody id="invoices-table-body"></tbody>
378
+ </table>
379
+ <p id="invoices-empty" class="hint hidden">Brak faktur do wy艣wietlenia.</p>
380
+ </div>
381
+ </section>
382
+ </section>
383
+ </section>
384
+ </main>
385
+
386
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js" defer></script>
387
+ <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.6/dist/chart.umd.min.js" defer></script>
388
+ <script src="main.js" defer></script>
389
+ </body>
390
+ </html>