# Επιλογές του κατασκευαστή

> Κάθε επιλογή που δέχεται το new Entase(), μαζί με την προεπιλεγμένη τιμή και την επίδρασή της. Όλες οι επιλογές είναι προαιρετικές και οι περισσότερες μπορούν να παρακαμφθούν για κάθε κράτηση.

Κάθε επιλογή είναι προαιρετική. Οι παρακάτω τιμές είναι οι προεπιλογές που εφαρμόζει ο client όταν παραλείπετε κάποια.

```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 }
});
```

## Επιλογές

| Όνομα | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|
| `pk` | string | `null` | Το δημοσιεύσιμο κλειδί σας. Ο client το στέλνει όταν ελέγχει αν ο τομέας σας επιτρέπεται να χρησιμοποιεί ενσωματωμένη ολοκλήρωση κράτησης. Χωρίς αυτό, κάθε ολοκλήρωση κράτησης ανοίγει ως αναδυόμενο παράθυρο. |
| `locale` | string | `'auto'` | Γλώσσα της ολοκλήρωσης κράτησης. Η τιμή `'auto'` διαβάζει το χαρακτηριστικό `lang` του στοιχείου `<html>`. |
| `checkoutMode` | string | `'auto'` | `'auto'`, `'pane'` ή `'popup'`. Δείτε τις [Λειτουργίες ολοκλήρωσης κράτησης](/developers/js-client/checkout-modes.md). Μια μη αναγνωρισμένη τιμή επιστρέφει στην `'auto'`. |
| `collectConsent` | boolean | `true` | Αν η ολοκλήρωση κράτησης ζητά από τον επισκέπτη να αποδεχτεί την ειδοποίηση όρων. Μόλις γίνει αποδοχή, η απάντηση αποθηκεύεται σε cookie και το βήμα παραλείπεται. |
| `backdrop` | boolean | `true` | Αν θα σκουραίνει η σελίδα πίσω από την ολοκλήρωση κράτησης. Η τιμή `false` απενεργοποιεί επίσης το κλείδωμα κύλισης της σελίδας. |
| `backdropColor` | string | `'#000000'` | Χρώμα της σκουρόχρωμης περιοχής, ως τιμή χρώματος CSS. |
| `tprm` | object | `{}` | Παράμετροι παρακολούθησης που προστίθενται στο URL της ολοκλήρωσης κράτησης ως παράμετροι ερωτήματος. Δείτε τις [Παρακολούθηση και συγκατάθεση](/developers/js-client/tracking-and-consent.md). |
| `pane` | object | `{ width: 800, height: '100%' }` | Μέγεθος του ενσωματωμένου πλαισίου. Αγνοείται στη λειτουργία αναδυόμενου παραθύρου. |
| `popup` | object | `{ width: 800, height: 1000 }` | Μέγεθος του αναδυόμενου παραθύρου, σε pixel. Αγνοείται στη λειτουργία pane. |

## Διαστασιολόγηση pane και popup

Το `pane.width` δέχεται έναν αριθμό (pixel) ή οποιοδήποτε μήκος CSS – `'720px'`, `'50%'`, `'40vw'` ή μια έκφραση `calc()`. Ένας απλός αριθμός αντιμετωπίζεται ως pixel.

Το πλαίσιο περιορίζεται σε αυτό το πλάτος σε υπολογιστές και καταλαμβάνει όλο το πλάτος σε κινητά, όπου εφαρμόζεται αντί γι’ αυτό το `pane.height`. Η εναλλαγή μεταξύ των δύο γίνεται όταν το viewport είναι στενότερο από το διαμορφωμένο πλάτος· όταν το πλάτος δίνεται ως σχετική μονάδα, η εναλλαγή γίνεται στα 800px.

Τα `popup.width` και `popup.height` δέχονται μόνο αριθμούς σε pixel και το παράθυρο κεντράρεται στην οθόνη του επισκέπτη. Αν η οθόνη δεν είναι αρκετά ψηλή για το ζητούμενο ύψος, το παράθυρο μειώνεται ώστε να χωράει.

## Φόντο επικάλυψης

Το φόντο επικάλυψης σκουραίνει περισσότερο πίσω από ένα αναδυόμενο παράθυρο απ’ ό,τι πίσω από ένα πλαίσιο, επειδή ένα αναδυόμενο παράθυρο χρειάζεται η υποκείμενη σελίδα να φαίνεται ανενεργή. Ορίστε `backdrop: false` για να αφαιρέσετε εντελώς τη σκίαση – αυτό αφήνει επίσης τη σελίδα να κάνει κύλιση πίσω από την ολοκλήρωση κράτησης.

Το `backdropColor` εφαρμόζεται ως έχει, επομένως μπορεί να είναι οποιοδήποτε έγκυρο χρώμα CSS. Χρησιμοποιήστε το για να ταιριάξετε με έναν σκούρο ιστότοπο ή με την ταυτότητα της επωνυμίας σας, αντί να αποκρύψετε το φόντο επικάλυψης· γι’ αυτό, η σωστή επιλογή είναι `backdrop: false`.

## Παρακάμψεις ανά κράτηση

Τα `checkoutMode`, `collectConsent`, `backdrop`, `backdropColor`, `pane` και `popup` μπορούν όλα να παρακαμφθούν για μία μόνο κράτηση, περνώντας τα στη `book()`. Η τιμή σε επίπεδο στιγμιότυπου παραμένει αμετάβλητη για επόμενες κλήσεις:

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

// This one booking opens wider, with no dimming.
entase.book('EVENT_ID', {
  pane: { width: '60vw' },
  backdrop: false
});
```

Τα `pk` και `tprm` δεν είναι επιλογές ανά κράτηση – το `pk` αναγνωρίζει τον λογαριασμό για ολόκληρη τη σελίδα και οι παράμετροι παρακολούθησης αλλάζουν με το `setTracking()` όταν χρειάζεται να διαφέρουν.
