Compare commits
15
Commits
0a881c0c5d
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b812a4d7d4 | ||
|
|
eed06508a0 | ||
|
|
0ebbb49db0 | ||
|
|
44cb84ad9b | ||
|
|
2224c74398 | ||
|
|
85feca9a92 | ||
|
|
a84cb5826a | ||
|
|
663c16e094 | ||
|
|
f85558e374 | ||
|
|
f7cc2f88e5 | ||
|
|
caf6ec5b2d | ||
|
|
eef16b2a2a | ||
|
|
970145bd4e | ||
|
|
b74d2f968d | ||
|
|
a3b826a054 |
@@ -0,0 +1,33 @@
|
||||
name: kalite-kontrol
|
||||
on: [push]
|
||||
jobs:
|
||||
kontrol:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Kodu indir
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
github-server-url: https://gitea.twinpay.one
|
||||
|
||||
- name: Çakışma işareti kalmamış olmalı
|
||||
run: |
|
||||
if grep -rn '^<<<<<<< ' --include='*.js' --include='*.html' --include='*.md' .; then
|
||||
echo 'HATA: çözülmemiş çakışma işareti var!'; exit 1
|
||||
fi
|
||||
echo 'temiz: çakışma işareti yok'
|
||||
|
||||
- name: Sessiz bozulma dersi — tanımsız çağrı olmasın
|
||||
run: |
|
||||
grep -q 'function sonFiyat' fiyat.js
|
||||
if grep -rn 'indirimliFiyat(' --include='*.js' .; then
|
||||
echo 'HATA: tanımsız fonksiyon çağrısı (indirimliFiyat)'; exit 1
|
||||
fi
|
||||
echo 'temiz: tüm çağrılar tanımlı'
|
||||
|
||||
- name: Çöp tarihe girmemiş olmalı
|
||||
run: |
|
||||
if git ls-files | grep -E '^(node_modules/|.*\.log$)'; then
|
||||
echo 'HATA: izlenmemesi gereken dosya izleniyor!'; exit 1
|
||||
fi
|
||||
echo 'temiz: node_modules ve loglar izlenmiyor'
|
||||
@@ -8,3 +8,21 @@ Sayfadaki "Atölye" bölümü bu deponun her adımını kod kod gösterir.
|
||||
## Nasıl çalışır?
|
||||
|
||||
fiyat.js fiyatı hesaplar, sepet.js ürünleri toplar. index.html ikisini yükler.
|
||||
|
||||
## SSS
|
||||
|
||||
- Fiyatlar KDV dahil mi? kdvliFiyat() ile evet.
|
||||
|
||||
## Canlı adres ve zincir
|
||||
|
||||
Bu depo Gitea'ya bağlıdır ve Coolify tarafından yayınlanır:
|
||||
push → robot testler (CI) → deploy → bekçi (push-denetim) PASS.
|
||||
|
||||
## Saha Defteri töresi (bu projeye özel tek fark)
|
||||
|
||||
Bu projede edit yapan HER AI (hangi bilgisayar/araç olursa olsun) işi bitince
|
||||
ortak sayfaya (Projelerimiz/.ai-ortak/kod-yolculugu-3d.html) bir SAHA DEFTERİ
|
||||
kaydı ekler: kim, hangi makine/araç, ne yaptı, ne yaşadı. Yöntem: önce ai-ortak
|
||||
ışığını al, sayfadaki SAHA_DEFTERI dizisine tek nesne ekle, ışığı bırak.
|
||||
Ayrıca HERHANGİ bir projede o sayfadaki bir vaatle ilgili sorun yaşayan AI da
|
||||
tur:"sorun" kaydı düşer. Pasif özellik kontrolü: .ai-ortak/pasif-ozellikler.json
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Raf etiketi — fiyatı etikete yazar
|
||||
function etiketFiyati(fiyat) {
|
||||
return "TL " + sonFiyat(fiyat).toFixed(2); // düzeltildi: güncel fonksiyon
|
||||
}
|
||||
@@ -5,7 +5,7 @@ function sonFiyat(fiyat) {
|
||||
return fiyat - (fiyat * INDIRIM / 100);
|
||||
}
|
||||
|
||||
const KDV = 20; // yüzde
|
||||
const KDV = 10; // yüzde — gıda indirimi kaldı (rebase çözümü: dalın niyeti korundu)
|
||||
|
||||
function kdvliFiyat(fiyat) {
|
||||
return fiyat + (fiyat * KDV / 100);
|
||||
|
||||
@@ -13,5 +13,6 @@
|
||||
</div>
|
||||
<script src="fiyat.js"></script>
|
||||
<script src="sepet.js"></script>
|
||||
<footer>Atölye Dükkânı — eğitim amaçlı örnek · etiket özelliği PR #1 ile geldi</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Kargo hesabı
|
||||
const KARGO_UCRETI = 0; // TL — HERKESE BEDAVA! (yanlışlıkla)
|
||||
const KARGO_UCRETI = 49.90; // TL
|
||||
const KARGO_BEDAVA_SINIRI = 500; // TL üzeri bedava
|
||||
|
||||
function kargoUcreti(sepetTutari) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// Sepet — ürünleri toplar
|
||||
const sepet = [];
|
||||
const KUPON_INDIRIMI = 50; // TL — SEPET50 kuponu
|
||||
const HEDIYE_CEKI = 100; // TL — hediye çeki bakiyesi
|
||||
|
||||
function sepeteEkle(urun, fiyat) {
|
||||
sepet.push({ urun: urun, fiyat: fiyat });
|
||||
@@ -10,5 +12,5 @@ function sepetToplami() {
|
||||
}
|
||||
|
||||
function sepetIndirimliToplam() {
|
||||
return sonFiyat(sepetToplami());
|
||||
return sonFiyat(sepetToplami()) - HEDIYE_CEKI - KUPON_INDIRIMI; // harman: önce çeki, sonra kupon
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user