# Constructor seçenekleri

> new Entase() tarafından kabul edilen her seçenek, varsayılan değeri ve etkisiyle birlikte. Tüm seçenekler isteğe bağlıdır ve çoğu, her rezervasyon için ayrı ayrı geçersiz kılınabilir.

Her seçenek isteğe bağlıdır. Aşağıdaki değerler, birini belirtmediğinizde istemcinin uyguladığı varsayılan değerlerdir.

```js
const entase = new Entase({
  pk: null,
  locale: 'auto',
  checkoutMode: 'auto',
  collectConsent: true,
  backdrop: true,
  backdropColor: '#000000',
  tprm: {},
  pane:  { width: 800, height: '100%' },
  popup: { width: 800, height: 1000 }
});
```

## Seçenekler

| Ad | Tür | Varsayılan | Açıklama |
|---|---|---|---|
| `pk` | string | `null` | Yayınlanabilir anahtarınız. İstemci, alan adınızın satır içi ödeme kullanmasına izin verilip verilmediğini kontrol ederken bunu gönderir. Bu olmadan tüm ödemeler açılır pencere olarak açılır. |
| `locale` | string | `'auto'` | Ödemenin dili. `'auto'`, `<html>` öğenizin `lang` özniteliğini okur. |
| `checkoutMode` | string | `'auto'` | `'auto'`, `'pane'` veya `'popup'`. Bkz. [Ödeme modları](/developers/js-client/checkout-modes.md). Tanınmayan bir değer `'auto'` olarak kullanılır. |
| `collectConsent` | boolean | `true` | Ödemenin ziyaretçiden şartlar bildirimini kabul etmesini isteyip istemediği. Kabul edildikten sonra yanıt bir çerezde hatırlanır ve bu adım atlanır. |
| `backdrop` | boolean | `true` | Ödemenin arkasındaki sayfanın karartılıp karartılmayacağı. `false`, sayfa kaydırma kilidini de devre dışı bırakır. |
| `backdropColor` | string | `'#000000'` | CSS renk değeri olarak karartılan alanın rengi. |
| `tprm` | object | `{}` | Sorgu parametreleri olarak ödeme URL'sine eklenen izleme parametreleri. Bkz. [İzleme ve onay](/developers/js-client/tracking-and-consent.md). |
| `pane` | object | `{ width: 800, height: '100%' }` | Satır içi panelin boyutu. Açılır pencere modunda yok sayılır. |
| `popup` | object | `{ width: 800, height: 1000 }` | Açılır pencerenin piksel cinsinden boyutu. Panel modunda yok sayılır. |

## Panel ve açılır pencere boyutlandırması

`pane.width`, bir sayı (piksel) veya herhangi bir CSS uzunluk değeri kabul eder – `'720px'`, `'50%'`, `'40vw'` ya da bir `calc()` ifadesi. Yalın bir sayı piksel olarak değerlendirilir.

Panel, masaüstünde bu genişlikle sınırlandırılır; mobilde ise tam genişliği kaplar ve bunun yerine `pane.height` uygulanır. Görüntü alanı yapılandırılan genişlikten daha dar olduğunda bu ikisi arasında geçiş yapılır; genişlik göreli bir birim olarak verildiğinde geçiş 800 pikselde gerçekleşir.

`popup.width` ve `popup.height` yalnızca piksel sayısı olabilir ve pencere ziyaretçinin ekranında ortalanır. Ekran istenen yükseklik için yeterince uzun değilse pencere sığacak şekilde küçültülür.

## Arka plan

Açılır pencerenin arkasındaki arka plan, panelin arkasındakine göre daha fazla karartılır; çünkü açılır pencerenin, altındaki sayfanın etkin olmadığını göstermesi gerekir. Karartmayı tamamen kaldırmak için `backdrop: false` ayarlayın – bu, sayfanın ödeme ekranının arkasında kaydırılabilir kalmasını da sağlar.

`backdropColor` olduğu gibi uygulanır; dolayısıyla geçerli herhangi bir CSS rengi olabilir. Bunu arka planı gizlemek için değil, koyu veya markalı bir siteyle eşleştirmek için kullanın; arka planı gizlemek için doğru seçenek `backdrop: false` olur.

## Rezervasyon bazında geçersiz kılmalar

`checkoutMode`, `collectConsent`, `backdrop`, `backdropColor`, `pane` ve `popup`, `book()` işlevine iletilerek tek bir rezervasyon için geçersiz kılınabilir. Örnek düzeyindeki değer sonraki çağrılar için değişmeden kalır:

```js
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });

// Bu tek rezervasyon daha geniş ve karartma olmadan açılır.
entase.book('EVENT_ID', {
  pane: { width: '60vw' },
  backdrop: false
});
```

`pk` ve `tprm`, rezervasyon bazında kullanılabilen seçenekler değildir – `pk` tüm sayfa için hesabı tanımlar ve izleme parametreleri farklı olması gerektiğinde `setTracking()` ile değiştirilir.
