mirror of
https://github.com/kbenestad/invoice.git
synced 2026-06-18 08:04:32 +00:00
Compare commits
9 commits
6127ee9dc3
...
3ee874ccee
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ee874ccee | ||
|
|
2dde3450d9 | ||
|
|
69e4ad9624 | ||
|
|
3ef2f9206c | ||
|
|
b06500512a | ||
|
|
195e61794d | ||
|
|
46b17cd154 | ||
|
|
fcd2f047e7 | ||
|
|
f717a62e11 |
9 changed files with 926 additions and 490 deletions
BIN
app/apple-touch-icon.png
Normal file
BIN
app/apple-touch-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
|
|
@ -21,6 +21,58 @@ languages:
|
||||||
name: Norsk
|
name: Norsk
|
||||||
direction: ltr
|
direction: ltr
|
||||||
|
|
||||||
|
# ── About modal ───────────────────────────────────────────────────────────────
|
||||||
|
# Optional. Remove this section entirely to hide the About link in the footer.
|
||||||
|
about:
|
||||||
|
en:
|
||||||
|
title: "About"
|
||||||
|
content: |
|
||||||
|
### Invoice Generator
|
||||||
|
A single-file browser app for generating freelance invoices as PDF.
|
||||||
|
No backend, no build step — just a browser and a config file.
|
||||||
|
|
||||||
|
**Source:** [kbenestad/invoice](https://github.com/kbenestad/invoice)
|
||||||
|
**Docs:** [docs.benestad.net/invoice](https://docs.benestad.net/invoice)
|
||||||
|
|
||||||
|
© 2026 Kristian Benestad. Licensed under the Apache 2 license.
|
||||||
|
btn-close: "Close"
|
||||||
|
de:
|
||||||
|
title: "Über"
|
||||||
|
content: |
|
||||||
|
### Rechnungsgenerator
|
||||||
|
Eine Single-File-Browser-App zur Erstellung von Freiberufler-Rechnungen als PDF.
|
||||||
|
Kein Backend, kein Build-Schritt.
|
||||||
|
|
||||||
|
**Quellcode:** [kbenestad/invoice](https://github.com/kbenestad/invoice)
|
||||||
|
**Dokumentation:** [docs.benestad.net/invoice](https://docs.benestad.net/invoice)
|
||||||
|
|
||||||
|
© 2026 Kristian Benestad. Lizenziert unter Apache 2.
|
||||||
|
btn-close: "Schließen"
|
||||||
|
fr:
|
||||||
|
title: "À propos"
|
||||||
|
content: |
|
||||||
|
### Générateur de factures
|
||||||
|
Une application de navigateur en fichier unique pour générer des factures en PDF.
|
||||||
|
Aucun backend, aucune étape de build.
|
||||||
|
|
||||||
|
**Code source :** [kbenestad/invoice](https://github.com/kbenestad/invoice)
|
||||||
|
**Documentation :** [docs.benestad.net/invoice](https://docs.benestad.net/invoice)
|
||||||
|
|
||||||
|
© 2026 Kristian Benestad. Sous licence Apache 2.
|
||||||
|
btn-close: "Fermer"
|
||||||
|
"no":
|
||||||
|
title: "Om"
|
||||||
|
content: |
|
||||||
|
### Fakturagenerator
|
||||||
|
En nettleserapp i én fil for å generere frilansfakturaer som PDF.
|
||||||
|
Ingen backend, ingen byggtrinn.
|
||||||
|
|
||||||
|
**Kildekode:** [kbenestad/invoice](https://github.com/kbenestad/invoice)
|
||||||
|
**Dokumentasjon:** [docs.benestad.net/invoice](https://docs.benestad.net/invoice)
|
||||||
|
|
||||||
|
© 2026 Kristian Benestad. Lisensiert under Apache 2.
|
||||||
|
btn-close: "Lukk"
|
||||||
|
|
||||||
# ── Payment info visibility ───────────────────────────────────────────────────
|
# ── Payment info visibility ───────────────────────────────────────────────────
|
||||||
# Set to true to hide the payment info panel entirely (useful if payment info
|
# Set to true to hide the payment info panel entirely (useful if payment info
|
||||||
# should not appear on invoices, e.g. per company policy).
|
# should not appear on invoices, e.g. per company policy).
|
||||||
|
|
@ -355,25 +407,25 @@ translations:
|
||||||
fr: Devise étrangère
|
fr: Devise étrangère
|
||||||
"no": Utenlandsk valuta
|
"no": Utenlandsk valuta
|
||||||
currency-code:
|
currency-code:
|
||||||
en: Currency code
|
en: Foreign currency code
|
||||||
de: Währungscode
|
de: Fremdwährungscode
|
||||||
fr: Code devise
|
fr: Code devise étrangère
|
||||||
"no": Valutakode
|
"no": Utenlandsk valutakode
|
||||||
exchange-rate:
|
exchange-rate:
|
||||||
en: "Exchange rate (X foreign = 1 local)"
|
en: Exchange rate
|
||||||
de: "Wechselkurs (X Fremd = 1 Inland)"
|
de: Wechselkurs
|
||||||
fr: "Taux de change (X étranger = 1 local)"
|
fr: Taux de change
|
||||||
"no": "Valutakurs (X utenlandsk = 1 lokal)"
|
"no": Valutakurs
|
||||||
per-item:
|
per-item:
|
||||||
en: Price per item (foreign currency)
|
en: Price per item in
|
||||||
de: Preis je Einheit (Fremdwährung)
|
de: Preis je Einheit in
|
||||||
fr: Prix par unité (devise étrangère)
|
fr: Prix par unité en
|
||||||
"no": Pris per enhet (utenlandsk valuta)
|
"no": Pris per enhet i
|
||||||
total-foreign:
|
total-foreign:
|
||||||
en: Line total in foreign currency
|
en: Line total in
|
||||||
de: Zeilenbetrag (Fremdwährung)
|
de: Zeilenbetrag in
|
||||||
fr: Total ligne en devise étrangère
|
fr: Total ligne en
|
||||||
"no": Linjebeløp i utenlandsk valuta
|
"no": Linjebeløp i
|
||||||
add-line:
|
add-line:
|
||||||
en: "+ Add new line"
|
en: "+ Add new line"
|
||||||
de: "+ Neue Zeile hinzufügen"
|
de: "+ Neue Zeile hinzufügen"
|
||||||
|
|
|
||||||
BIN
app/favicon-16.png
Normal file
BIN
app/favicon-16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 455 B |
BIN
app/favicon-32.png
Normal file
BIN
app/favicon-32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 786 B |
BIN
app/favicon-48.png
Normal file
BIN
app/favicon-48.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1 KiB |
8
app/favicon.svg
Normal file
8
app/favicon.svg
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48" role="img" aria-label="invoice">
|
||||||
|
<rect width="48" height="48" rx="12" fill="#2f6fed"></rect>
|
||||||
|
<path d="M14 9 H29 L34 14 V39 H14 Z" fill="none" stroke="#fff" stroke-width="3" stroke-linejoin="round"></path>
|
||||||
|
<path d="M29 9 V14 H34" fill="none" stroke="#fff" stroke-width="3" stroke-linejoin="round"></path>
|
||||||
|
<path d="M18.5 20 H27" stroke="#fff" stroke-width="2.6" stroke-linecap="round"></path>
|
||||||
|
<path d="M18.5 25 H29.5" stroke="#fff" stroke-width="2.6" stroke-linecap="round" opacity=".55"></path>
|
||||||
|
<path d="M18.5 33 H29.5" stroke="#fff" stroke-width="3.2" stroke-linecap="round"></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 684 B |
BIN
app/icon-512.png
Normal file
BIN
app/icon-512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
1289
app/index.html
1289
app/index.html
File diff suppressed because it is too large
Load diff
35
app/site.webmanifest
Normal file
35
app/site.webmanifest
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
"name": "Invoice",
|
||||||
|
"short_name": "invoice",
|
||||||
|
"theme_color": "#2f6fed",
|
||||||
|
"background_color": "#2f6fed",
|
||||||
|
"display": "standalone",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "icon-512.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "any maskable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "apple-touch-icon.png",
|
||||||
|
"sizes": "180x180",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "favicon-48.png",
|
||||||
|
"sizes": "48x48",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "favicon-32.png",
|
||||||
|
"sizes": "32x32",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "favicon-16.png",
|
||||||
|
"sizes": "16x16",
|
||||||
|
"type": "image/png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue