diff --git a/frontend/src/App.vue b/frontend/src/App.vue index d53fe92..71ae692 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -94,9 +94,13 @@ if (savedSchema) { currentSchema.value = savedSchema } -watch(currentSchema, (val) => { - localStorage.setItem(SCHEMA_STORAGE_KEY, JSON.stringify(val)) -}, { deep: true }) +watch( + currentSchema, + (val) => { + localStorage.setItem(SCHEMA_STORAGE_KEY, JSON.stringify(val)) + }, + { deep: true }, +) // --- Sample Invoice Data --- @@ -125,10 +129,38 @@ const sampleData: Record = { telefon: '+90 216 444 0018', }, kalemler: [ - { siraNo: 1, adi: 'Web Uygulama Gelistirme', miktar: 1, birim: 'Adet', birimFiyat: 45000, tutar: 45000 }, - { siraNo: 2, adi: 'Mobil Uygulama Gelistirme', miktar: 1, birim: 'Adet', birimFiyat: 35000, tutar: 35000 }, - { siraNo: 3, adi: 'UI/UX Tasarim Hizmeti', miktar: 40, birim: 'Saat', birimFiyat: 750, tutar: 30000 }, - { siraNo: 4, adi: 'Sunucu Bakim Sozlesmesi (Yillik)', miktar: 1, birim: 'Adet', birimFiyat: 12000, tutar: 12000 }, + { + siraNo: 1, + adi: 'Web Uygulama Gelistirme', + miktar: 1, + birim: 'Adet', + birimFiyat: 45000, + tutar: 45000, + }, + { + siraNo: 2, + adi: 'Mobil Uygulama Gelistirme', + miktar: 1, + birim: 'Adet', + birimFiyat: 35000, + tutar: 35000, + }, + { + siraNo: 3, + adi: 'UI/UX Tasarim Hizmeti', + miktar: 40, + birim: 'Saat', + birimFiyat: 750, + tutar: 30000, + }, + { + siraNo: 4, + adi: 'Sunucu Bakim Sozlesmesi (Yillik)', + miktar: 1, + birim: 'Adet', + birimFiyat: 12000, + tutar: 12000, + }, { siraNo: 5, adi: 'SSL Sertifikasi', miktar: 3, birim: 'Adet', birimFiyat: 500, tutar: 1500 }, ], toplamlar: { @@ -370,10 +402,30 @@ const defaultInvoiceTemplate: Template = { columns: [ { id: 'col_sira', field: 'siraNo', title: '#', width: sz.fixed(10), align: 'center' }, { id: 'col_adi', field: 'adi', title: 'Urun / Hizmet', width: sz.fr(), align: 'left' }, - { id: 'col_miktar', field: 'miktar', title: 'Miktar', width: sz.fixed(18), align: 'right' }, + { + id: 'col_miktar', + field: 'miktar', + title: 'Miktar', + width: sz.fixed(18), + align: 'right', + }, { id: 'col_birim', field: 'birim', title: 'Birim', width: sz.fixed(18), align: 'center' }, - { id: 'col_fiyat', field: 'birimFiyat', title: 'Birim Fiyat', width: sz.fixed(28), align: 'right', format: 'currency' as const }, - { id: 'col_tutar', field: 'tutar', title: 'Tutar', width: sz.fixed(28), align: 'right', format: 'currency' as const }, + { + id: 'col_fiyat', + field: 'birimFiyat', + title: 'Birim Fiyat', + width: sz.fixed(28), + align: 'right', + format: 'currency' as const, + }, + { + id: 'col_tutar', + field: 'tutar', + title: 'Tutar', + width: sz.fixed(28), + align: 'right', + format: 'currency' as const, + }, ], style: { fontSize: 9, @@ -486,12 +538,16 @@ function loadFromLocalStorage(): Template | null { const template = ref diff --git a/frontend/src/components/properties/TextProperties.vue b/frontend/src/components/properties/TextProperties.vue index 7f7dc2f..f4a5542 100644 --- a/frontend/src/components/properties/TextProperties.vue +++ b/frontend/src/components/properties/TextProperties.vue @@ -25,37 +25,54 @@ function updateStyle(key: string, value: unknown) {
- + @input="(e) => update({ content: (e.target as HTMLInputElement).value } as any)" + />
- + @input=" + (e) => updateStyle('fontSize', parseFloat((e.target as HTMLInputElement).value) || 11) + " + />
-
- + @input="(e) => updateStyle('color', (e.target as HTMLInputElement).value)" + />
-