/*! elementor - v3.27.0 - 03-02-2025 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../assets/dev/js/utils/react.js": /*!***************************************!*\ !*** ../assets/dev/js/utils/react.js ***! \***************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom")); var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * Support conditional rendering of a React App to the DOM, based on the React version. * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions. * * @param { React.ReactElement } app The app to render. * @param { HTMLElement } domElement The DOM element to render the app into. * * @return {{ unmount: () => void }} The unmount function. */ function render(app, domElement) { var unmountFunction; try { var root = (0, _client.createRoot)(domElement); root.render(app); unmountFunction = function unmountFunction() { root.unmount(); }; } catch (e) { // eslint-disable-next-line react/no-deprecated ReactDOM.render(app, domElement); unmountFunction = function unmountFunction() { // eslint-disable-next-line react/no-deprecated ReactDOM.unmountComponentAtNode(domElement); }; } return { unmount: unmountFunction }; } var _default = exports["default"] = { render: render }; /***/ }), /***/ "../modules/home/assets/js/components/addons-section.js": /*!**************************************************************!*\ !*** ../modules/home/assets/js/components/addons-section.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _Link = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Link */ "@elementor/ui/Link")); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _Card = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Card */ "@elementor/ui/Card")); var _CardActions = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardActions */ "@elementor/ui/CardActions")); var _CardContent = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardContent */ "@elementor/ui/CardContent")); var _CardMedia = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardMedia */ "@elementor/ui/CardMedia")); var Addons = function Addons(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); var domain = props.adminUrl.replace('wp-admin/', ''); var addonsArray = props.addonsData.repeater; var cardsPerRow = 3 === addonsArray.length ? 3 : 2; return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { p: 3, display: 'flex', flexDirection: 'column', gap: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "h6" }, props.addonsData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, props.addonsData.header.description)), /*#__PURE__*/_react.default.createElement(_List.default, { sx: { display: 'grid', gridTemplateColumns: { md: "repeat(".concat(cardsPerRow, ", 1fr)"), xs: 'repeat(1, 1fr)' }, gap: 2 } }, addonsArray.map(function (item) { var linkTarget = item.hasOwnProperty('target') ? item.target : '_blank'; return /*#__PURE__*/_react.default.createElement(_Card.default, { key: item.title, elevation: 0, sx: { display: 'flex', border: 1, borderRadius: 1, borderColor: 'action.focus' } }, /*#__PURE__*/_react.default.createElement(_CardContent.default, { sx: { display: 'flex', flexDirection: 'column', justifyContent: 'space-between', gap: 3, p: 3 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_CardMedia.default, { image: item.image, sx: { height: '58px', width: '58px', mb: 2 } }), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "subtitle2" }, item.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, item.description))), /*#__PURE__*/_react.default.createElement(_CardActions.default, { sx: { p: 0 } }, /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "outlined", size: "small", color: "promotion", href: item.url, target: linkTarget }, item.button_label)))); })), /*#__PURE__*/_react.default.createElement(_Link.default, { variant: "body2", color: "info.main", underline: "none", href: "".concat(domain).concat(props.addonsData.footer.file_path) }, props.addonsData.footer.label)); }; var _default = exports["default"] = Addons; Addons.propTypes = { addonsData: PropTypes.object.isRequired, adminUrl: PropTypes.string.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/create-new-page-dialog.js": /*!**********************************************************************!*\ !*** ../modules/home/assets/js/components/create-new-page-dialog.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _DialogHeader = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogHeader */ "@elementor/ui/DialogHeader")); var _DialogHeaderGroup = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogHeaderGroup */ "@elementor/ui/DialogHeaderGroup")); var _DialogTitle = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogTitle */ "@elementor/ui/DialogTitle")); var _DialogContent = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogContent */ "@elementor/ui/DialogContent")); var _DialogContentText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogContentText */ "@elementor/ui/DialogContentText")); var _TextField = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/TextField */ "@elementor/ui/TextField")); var _DialogActions = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogActions */ "@elementor/ui/DialogActions")); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _Dialog = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Dialog */ "@elementor/ui/Dialog")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var CreateNewPageDialog = function CreateNewPageDialog(_ref) { var url = _ref.url, isOpen = _ref.isOpen, closedDialogCallback = _ref.closedDialogCallback; var _React$useState = _react.default.useState(false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), open = _React$useState2[0], setOpen = _React$useState2[1]; var _React$useState3 = _react.default.useState(''), _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2), pageName = _React$useState4[0], setPageName = _React$useState4[1]; (0, _react.useEffect)(function () { setOpen(isOpen); }, [isOpen]); var handleDialogClose = function handleDialogClose() { setOpen(false); closedDialogCallback(); }; var handleChange = function handleChange(event) { var urlParams = new URLSearchParams(); urlParams.append('post_data[post_title]', event.target.value); setPageName(urlParams.toString()); }; return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleDialogClose, maxWidth: "xs", width: "xs", fullWidth: true }, /*#__PURE__*/_react.default.createElement(_DialogHeader.default, null, /*#__PURE__*/_react.default.createElement(_DialogHeaderGroup.default, null, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, __('Name your page', 'elementor')))), /*#__PURE__*/_react.default.createElement(_DialogContent.default, { dividers: true }, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, { sx: { mb: 2 } }, __('To proceed, please name your first page,', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), __('or rename it later.', 'elementor')), /*#__PURE__*/_react.default.createElement(_TextField.default, { onChange: handleChange, fullWidth: true, placeholder: __('New Page', 'elementor') })), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, /*#__PURE__*/_react.default.createElement(_Button.default, { onClick: handleDialogClose, color: "secondary" }, __('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "contained", href: pageName ? url + '&' + pageName : url, target: "_blank" }, __('Save', 'elementor')))); }; var _default = exports["default"] = CreateNewPageDialog; CreateNewPageDialog.propTypes = { url: PropTypes.string.isRequired, isOpen: PropTypes.bool.isRequired, closedDialogCallback: PropTypes.func.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/external-links-section.js": /*!**********************************************************************!*\ !*** ../modules/home/assets/js/components/external-links-section.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _ListItemButton = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemButton */ "@elementor/ui/ListItemButton")); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText")); var _Divider = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Divider */ "@elementor/ui/Divider")); var ExternalLinksSection = function ExternalLinksSection(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { px: 3 } }, /*#__PURE__*/_react.default.createElement(_List.default, null, props.externalLinksData.map(function (item, index) { return /*#__PURE__*/_react.default.createElement(_ui.Box, { key: item.label }, /*#__PURE__*/_react.default.createElement(_ListItemButton.default, { href: item.url, target: "_blank", sx: { '&:hover': { backgroundColor: 'initial' }, gap: 2, px: 0, py: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "img", src: item.image, sx: { width: '38px' } }), /*#__PURE__*/_react.default.createElement(_ListItemText.default, { sx: { color: 'text.secondary' }, primary: item.label })), index < props.externalLinksData.length - 1 && /*#__PURE__*/_react.default.createElement(_Divider.default, null)); }))); }; var _default = exports["default"] = ExternalLinksSection; ExternalLinksSection.propTypes = { externalLinksData: PropTypes.array.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/get-started-list-item.js": /*!*********************************************************************!*\ !*** ../modules/home/assets/js/components/get-started-list-item.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _ListItem = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItem */ "@elementor/ui/ListItem")); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText")); var _Link = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Link */ "@elementor/ui/Link")); var _Box = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Box */ "@elementor/ui/Box")); var _createNewPageDialog = _interopRequireDefault(__webpack_require__(/*! ./create-new-page-dialog */ "../modules/home/assets/js/components/create-new-page-dialog.js")); var GetStartedListItem = function GetStartedListItem(_ref) { var item = _ref.item, image = _ref.image, adminUrl = _ref.adminUrl; var url = item.is_relative_url ? adminUrl + item.url : item.url; var _React$useState = _react.default.useState(false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), isOpen = _React$useState2[0], openDialog = _React$useState2[1]; var handleLinkClick = function handleLinkClick(event) { if (!item.new_page) { return; } event.preventDefault(); openDialog(true); }; return /*#__PURE__*/_react.default.createElement(_ListItem.default, { alignItems: "flex-start", sx: { gap: 1, p: 0, maxWidth: '150px' } }, /*#__PURE__*/_react.default.createElement(_Box.default, { component: "img", src: image }), /*#__PURE__*/_react.default.createElement(_Box.default, null, /*#__PURE__*/_react.default.createElement(_ListItemText.default, { primary: item.title, primaryTypographyProps: { variant: 'subtitle1' }, sx: { my: 0 } }), /*#__PURE__*/_react.default.createElement(_Link.default, { variant: "body2", color: item.title_small_color ? item.title_small_color : 'text.tertiary', underline: "hover", href: url, target: "_blank", onClick: handleLinkClick }, item.title_small)), item.new_page && /*#__PURE__*/_react.default.createElement(_createNewPageDialog.default, { url: url, isOpen: isOpen, closedDialogCallback: function closedDialogCallback() { return openDialog(false); } })); }; var _default = exports["default"] = GetStartedListItem; GetStartedListItem.propTypes = { item: PropTypes.shape({ title: PropTypes.string.isRequired, title_small: PropTypes.string.isRequired, url: PropTypes.string.isRequired, new_page: PropTypes.bool, is_relative_url: PropTypes.bool, title_small_color: PropTypes.string }).isRequired, adminUrl: PropTypes.string.isRequired, image: PropTypes.string }; /***/ }), /***/ "../modules/home/assets/js/components/get-started-section.js": /*!*******************************************************************!*\ !*** ../modules/home/assets/js/components/get-started-section.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _getStartedListItem = _interopRequireDefault(__webpack_require__(/*! ./get-started-list-item */ "../modules/home/assets/js/components/get-started-list-item.js")); var GetStarted = function GetStarted(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { p: 3, display: 'flex', flexDirection: 'column', gap: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "h6" }, props.getStartedData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, props.getStartedData.header.description)), /*#__PURE__*/_react.default.createElement(_List.default, { sx: { display: 'grid', gridTemplateColumns: { md: 'repeat(4, 1fr)', xs: 'repeat(2, 1fr)' }, columnGap: { md: 9, xs: 7 }, rowGap: 3 } }, props.getStartedData.repeater.map(function (item) { return /*#__PURE__*/_react.default.createElement(_getStartedListItem.default, { key: item.title, item: item, image: item.image, adminUrl: props.adminUrl }); }))); }; var _default = exports["default"] = GetStarted; GetStarted.propTypes = { getStartedData: PropTypes.object.isRequired, adminUrl: PropTypes.string.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/home-screen.js": /*!***********************************************************!*\ !*** ../modules/home/assets/js/components/home-screen.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _topSection = _interopRequireDefault(__webpack_require__(/*! ./top-section */ "../modules/home/assets/js/components/top-section.js")); var _sidebarPromotion = _interopRequireDefault(__webpack_require__(/*! ./sidebar-promotion */ "../modules/home/assets/js/components/sidebar-promotion.js")); var _addonsSection = _interopRequireDefault(__webpack_require__(/*! ./addons-section */ "../modules/home/assets/js/components/addons-section.js")); var _externalLinksSection = _interopRequireDefault(__webpack_require__(/*! ./external-links-section */ "../modules/home/assets/js/components/external-links-section.js")); var _getStartedSection = _interopRequireDefault(__webpack_require__(/*! ./get-started-section */ "../modules/home/assets/js/components/get-started-section.js")); var HomeScreen = function HomeScreen(props) { var hasSidebarUpgrade = props.homeScreenData.hasOwnProperty('sidebar_upgrade'); return /*#__PURE__*/ /* Box wrapper around the Container is needed to neutralize wp-content area left-padding */_react.default.createElement(_ui.Box, { sx: { pr: 1 } }, /*#__PURE__*/_react.default.createElement(_ui.Container, { disableGutters: true, maxWidth: "lg", sx: { display: 'flex', flexDirection: 'column', gap: { xs: 1, md: 3 }, pt: { xs: 2, md: 6 }, pb: 2 } }, /*#__PURE__*/_react.default.createElement(_topSection.default, { topData: props.homeScreenData.top_with_licences, createNewPageUrl: props.homeScreenData.create_new_page_url }), /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { display: 'flex', flexDirection: { xs: 'column', sm: 'row' }, justifyContent: 'space-between', gap: 3 } }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { sx: { flex: 1, gap: 3 } }, /*#__PURE__*/_react.default.createElement(_getStartedSection.default, { getStartedData: props.homeScreenData.get_started, adminUrl: props.adminUrl }), /*#__PURE__*/_react.default.createElement(_addonsSection.default, { addonsData: props.homeScreenData.add_ons, adminUrl: props.adminUrl })), /*#__PURE__*/_react.default.createElement(_ui.Container, { maxWidth: "xs", disableGutters: true, sx: { width: { sm: '305px' }, display: 'flex', flexDirection: 'column', gap: 3 } }, hasSidebarUpgrade && /*#__PURE__*/_react.default.createElement(_sidebarPromotion.default, { sideData: props.homeScreenData.sidebar_upgrade }), /*#__PURE__*/_react.default.createElement(_externalLinksSection.default, { externalLinksData: props.homeScreenData.external_links }))))); }; HomeScreen.propTypes = { homeScreenData: PropTypes.object, adminUrl: PropTypes.string }; var _default = exports["default"] = HomeScreen; /***/ }), /***/ "../modules/home/assets/js/components/sidebar-promotion.js": /*!*****************************************************************!*\ !*** ../modules/home/assets/js/components/sidebar-promotion.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _ListItem = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItem */ "@elementor/ui/ListItem")); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText")); var _sideBarCheckIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/side-bar-check-icon */ "../modules/home/assets/js/icons/side-bar-check-icon.js")); var SideBarPromotion = function SideBarPromotion(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { p: 3 } }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { gap: 1.5, sx: { alignItems: 'center', textAlign: 'center', pb: 4 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "img", src: props.sideData.header.image }), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "h6" }, props.sideData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, props.sideData.header.description)), /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "contained", size: "medium", color: "promotion", href: props.sideData.cta.url, startIcon: /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "img", src: props.sideData.cta.image, sx: { width: '16px' } }), target: "_blank", sx: { maxWidth: 'fit-content' } }, props.sideData.cta.label)), /*#__PURE__*/_react.default.createElement(_List.default, { sx: { p: 0 } }, props.sideData.repeater.map(function (item, index) { return /*#__PURE__*/_react.default.createElement(_ListItem.default, { key: index, sx: { p: 0, gap: 1 } }, /*#__PURE__*/_react.default.createElement(_sideBarCheckIcon.default, null), /*#__PURE__*/_react.default.createElement(_ListItemText.default, { primaryTypographyProps: { variant: 'body2' }, primary: item.title })); }))); }; var _default = exports["default"] = SideBarPromotion; SideBarPromotion.propTypes = { sideData: PropTypes.object.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/top-section.js": /*!***********************************************************!*\ !*** ../modules/home/assets/js/components/top-section.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _Typography = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Typography */ "@elementor/ui/Typography")); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _youtubeIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/youtube-icon */ "../modules/home/assets/js/icons/youtube-icon.js")); var TopSection = function TopSection(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { display: 'flex', flexDirection: { xs: 'column', sm: 'row' }, justifyContent: 'space-between', py: { xs: 3, md: 3 }, px: { xs: 3, md: 4 }, gap: { xs: 2, sm: 3, lg: 22 } } }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { gap: 3, justifyContent: "center" }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "h6" }, props.topData.title), /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "body2", color: "secondary" }, props.topData.description)), /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { display: 'flex', gap: 1 } }, /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "contained", size: "small", href: props.createNewPageUrl, target: "_blank" }, props.topData.button_create_page_title), /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "outlined", color: "secondary", size: "small", startIcon: /*#__PURE__*/_react.default.createElement(_youtubeIcon.default, null), href: props.topData.button_watch_url, target: "_blank" }, props.topData.button_watch_title))), /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "iframe", src: "https://www.youtube.com/embed/".concat(props.topData.youtube_embed_id), title: "YouTube video player", frameBorder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share", allowFullScreen: true, sx: { aspectRatio: '16/9', borderRadius: 1, display: 'flex', width: '100%', maxWidth: '365px' } })); }; TopSection.propTypes = { topData: PropTypes.object.isRequired, createNewPageUrl: PropTypes.string.isRequired }; var _default = exports["default"] = TopSection; /***/ }), /***/ "../modules/home/assets/js/icons/side-bar-check-icon.js": /*!**************************************************************!*\ !*** ../modules/home/assets/js/icons/side-bar-check-icon.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var SideBarCheckIcon = function SideBarCheckIcon(props) { return /*#__PURE__*/React.createElement(_ui.SvgIcon, (0, _extends2.default)({ viewBox: "0 0 24 24" }, props), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.09013 3.69078C10.273 3.2008 11.5409 2.94861 12.8213 2.94861C14.1017 2.94861 15.3695 3.2008 16.5525 3.69078C17.7354 4.18077 18.8102 4.89895 19.7156 5.80432C20.621 6.70969 21.3391 7.78452 21.8291 8.96744C22.3191 10.1504 22.5713 11.4182 22.5713 12.6986C22.5713 13.979 22.3191 15.2468 21.8291 16.4298C21.3391 17.6127 20.621 18.6875 19.7156 19.5929C18.8102 20.4983 17.7354 21.2165 16.5525 21.7064C15.3695 22.1964 14.1017 22.4486 12.8213 22.4486C11.5409 22.4486 10.2731 22.1964 9.09013 21.7064C7.9072 21.2165 6.83237 20.4983 5.927 19.5929C5.02163 18.6875 4.30345 17.6127 3.81346 16.4298C3.32348 15.2468 3.07129 13.979 3.07129 12.6986C3.07129 11.4182 3.32348 10.1504 3.81346 8.96744C4.30345 7.78452 5.02163 6.70969 5.927 5.80432C6.83237 4.89895 7.9072 4.18077 9.09013 3.69078ZM12.8213 4.44861C11.7379 4.44861 10.6651 4.662 9.66415 5.0766C8.66321 5.4912 7.75374 6.09889 6.98766 6.86498C6.22157 7.63106 5.61388 8.54053 5.19928 9.54147C4.78468 10.5424 4.57129 11.6152 4.57129 12.6986C4.57129 13.782 4.78468 14.8548 5.19928 15.8557C5.61388 16.8567 6.22157 17.7662 6.98766 18.5322C7.75374 19.2983 8.66322 19.906 9.66415 20.3206C10.6651 20.7352 11.7379 20.9486 12.8213 20.9486C13.9047 20.9486 14.9775 20.7352 15.9784 20.3206C16.9794 19.906 17.8888 19.2983 18.6549 18.5322C19.421 17.7662 20.0287 16.8567 20.4433 15.8557C20.8579 14.8548 21.0713 13.782 21.0713 12.6986C21.0713 11.6152 20.8579 10.5424 20.4433 9.54147C20.0287 8.54053 19.421 7.63106 18.6549 6.86498C17.8888 6.09889 16.9794 5.4912 15.9784 5.0766C14.9775 4.662 13.9047 4.44861 12.8213 4.44861Z", fill: "#93003F" }), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M17.3213 9.69424C17.6142 9.98713 17.6142 10.462 17.3213 10.7549L12.3732 15.703C12.0803 15.9959 11.6054 15.9959 11.3125 15.703L8.83851 13.2289C8.54562 12.936 8.54562 12.4612 8.83851 12.1683C9.1314 11.8754 9.60628 11.8754 9.89917 12.1683L11.8429 14.112L16.2606 9.69424C16.5535 9.40135 17.0284 9.40135 17.3213 9.69424Z", fill: "#93003F" })); }; var _default = exports["default"] = SideBarCheckIcon; /***/ }), /***/ "../modules/home/assets/js/icons/youtube-icon.js": /*!*******************************************************!*\ !*** ../modules/home/assets/js/icons/youtube-icon.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var YoutubeIcon = function YoutubeIcon(props) { return /*#__PURE__*/React.createElement(_ui.SvgIcon, (0, _extends2.default)({ viewBox: "0 0 24 24" }, props), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7 5.75C5.20507 5.75 3.75 7.20507 3.75 9V15C3.75 16.7949 5.20507 18.25 7 18.25H17C18.7949 18.25 20.25 16.7949 20.25 15V9C20.25 7.20507 18.7949 5.75 17 5.75H7ZM2.25 9C2.25 6.37665 4.37665 4.25 7 4.25H17C19.6234 4.25 21.75 6.37665 21.75 9V15C21.75 17.6234 19.6234 19.75 17 19.75H7C4.37665 19.75 2.25 17.6234 2.25 15V9ZM9.63048 8.34735C9.86561 8.21422 10.1542 8.21786 10.3859 8.35688L15.3859 11.3569C15.6118 11.4924 15.75 11.7366 15.75 12C15.75 12.2634 15.6118 12.5076 15.3859 12.6431L10.3859 15.6431C10.1542 15.7821 9.86561 15.7858 9.63048 15.6526C9.39534 15.5195 9.25 15.2702 9.25 15V9C9.25 8.7298 9.39534 8.48048 9.63048 8.34735ZM10.75 10.3246V13.6754L13.5423 12L10.75 10.3246Z" })); }; var _default = exports["default"] = YoutubeIcon; /***/ }), /***/ "../node_modules/object-assign/index.js": /*!**********************************************!*\ !*** ../node_modules/object-assign/index.js ***! \**********************************************/ /***/ ((module) => { "use strict"; /* object-assign (c) Sindre Sorhus @license MIT */ /* eslint-disable no-unused-vars */ var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }), /***/ "../node_modules/prop-types/checkPropTypes.js": /*!****************************************************!*\ !*** ../node_modules/prop-types/checkPropTypes.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var printWarning = function() {}; if (true) { var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js"); var loggedTypeFailures = {}; var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js"); printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) { /**/ } }; } /** * Assert that the values match with the type specs. * Error messages are memorized and will only be shown once. * * @param {object} typeSpecs Map of name to a ReactPropType * @param {object} values Runtime values that need to be type-checked * @param {string} location e.g. "prop", "context", "child context" * @param {string} componentName Name of the component for error messages. * @param {?Function} getStack Returns the component stack. * @private */ function checkPropTypes(typeSpecs, values, location, componentName, getStack) { if (true) { for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. if (typeof typeSpecs[typeSpecName] !== 'function') { var err = Error( (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.' ); err.name = 'Invariant Violation'; throw err; } error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; } if (error && !(error instanceof Error)) { printWarning( (componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).' ); } if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var stack = getStack ? getStack() : ''; printWarning( 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') ); } } } } } /** * Resets warning cache when testing. * * @private */ checkPropTypes.resetWarningCache = function() { if (true) { loggedTypeFailures = {}; } } module.exports = checkPropTypes; /***/ }), /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js": /*!*************************************************************!*\ !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js"); var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js"); var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js"); var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js"); var printWarning = function() {}; if (true) { printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} }; } function emptyFunctionThatReturnsNull() { return null; } module.exports = function(isValidElement, throwOnDirectAccess) { /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; // Important! // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bigint: createPrimitiveTypeChecker('bigint'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), symbol: createPrimitiveTypeChecker('symbol'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), elementType: createElementTypeTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker, exact: createStrictShapeTypeChecker, }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ /** * We use an Error-like object for backward compatibility as people may call * PropTypes directly and inspect their output. However, we don't use real * Errors anymore. We don't inspect their stack anyway, and creating them * is prohibitively expensive if they are created too often, such as what * happens in oneOfType() for any type before the one that matched. */ function PropTypeError(message, data) { this.message = message; this.data = data && typeof data === 'object' ? data: {}; this.stack = ''; } // Make `instanceof Error` still work for returned errors. PropTypeError.prototype = Error.prototype; function createChainableTypeChecker(validate) { if (true) { var manualPropTypeCallCache = {}; var manualPropTypeWarningCount = 0; } function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { // New behavior only for users of `prop-types` package var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; } else if ( true && typeof console !== 'undefined') { // Old behavior for people using React.PropTypes var cacheKey = componentName + ':' + propName; if ( !manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors manualPropTypeWarningCount < 3 ) { printWarning( 'You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; } } } if (props[propName] == null) { if (isRequired) { if (props[propName] === null) { return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); } return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {expectedType: expectedType} ); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!isValidElement(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createElementTypeTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!ReactIs.isValidElementType(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { if (true) { if (arguments.length > 1) { printWarning( 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' ); } else { printWarning('Invalid argument supplied to oneOf, expected an array.'); } } return emptyFunctionThatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { var type = getPreciseType(value); if (type === 'symbol') { return String(value); } return value; }); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (has(propValue, key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0; return emptyFunctionThatReturnsNull; } for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (typeof checker !== 'function') { printWarning( 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' ); return emptyFunctionThatReturnsNull; } } function validate(props, propName, componentName, location, propFullName) { var expectedTypes = []; for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret); if (checkerResult == null) { return null; } if (checkerResult.data && has(checkerResult.data, 'expectedType')) { expectedTypes.push(checkerResult.data.expectedType); } } var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': ''; return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function invalidValidatorError(componentName, location, propFullName, key, type) { return new PropTypeError( (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.' ); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createStrictShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } // We need to check all keys in case some are required but missing from props. var allKeys = assign({}, props[propName], shapeTypes); for (var key in allKeys) { var checker = shapeTypes[key]; if (has(shapeTypes, key) && typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } if (!checker) { return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') ); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } function isSymbol(propType, propValue) { // Native Symbol. if (propType === 'symbol') { return true; } // falsy value can't be a Symbol if (!propValue) { return false; } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' if (propValue['@@toStringTag'] === 'Symbol') { return true; } // Fallback for non-spec compliant Symbols which are polyfilled. if (typeof Symbol === 'function' && propValue instanceof Symbol) { return true; } return false; } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } if (isSymbol(propType, propValue)) { return 'symbol'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { if (typeof propValue === 'undefined' || propValue === null) { return '' + propValue; } var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns a string that is postfixed to a warning about an invalid type. // For example, "undefined" or "of type array" function getPostfixForTypeWarning(value) { var type = getPreciseType(value); switch (type) { case 'array': case 'object': return 'an ' + type; case 'boolean': case 'date': case 'regexp': return 'a ' + type; default: return type; } } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } ReactPropTypes.checkPropTypes = checkPropTypes; ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ "../node_modules/prop-types/index.js": /*!*******************************************!*\ !*** ../node_modules/prop-types/index.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); // By explicitly using `prop-types` you are opting into new development behavior. // http://fb.me/prop-types-in-prod var throwOnDirectAccess = true; module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); } else {} /***/ }), /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js": /*!**************************************************************!*\ !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \**************************************************************/ /***/ ((module) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ "../node_modules/prop-types/lib/has.js": /*!*********************************************!*\ !*** ../node_modules/prop-types/lib/has.js ***! \*********************************************/ /***/ ((module) => { module.exports = Function.call.bind(Object.prototype.hasOwnProperty); /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js": /*!************************************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/index.js": /*!*****************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/index.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "../node_modules/react-dom/client.js": /*!*******************************************!*\ !*** ../node_modules/react-dom/client.js ***! \*******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var m = __webpack_require__(/*! react-dom */ "react-dom"); if (false) {} else { var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; exports.createRoot = function(c, o) { i.usingClientEntryPoint = true; try { return m.createRoot(c, o); } finally { i.usingClientEntryPoint = false; } }; exports.hydrateRoot = function(c, h, o) { i.usingClientEntryPoint = true; try { return m.hydrateRoot(c, h, o); } finally { i.usingClientEntryPoint = false; } }; } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = React; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = ReactDOM; /***/ }), /***/ "@elementor/ui": /*!*********************************!*\ !*** external "elementorV2.ui" ***! \*********************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui; /***/ }), /***/ "@elementor/ui/Box": /*!****************************************!*\ !*** external "elementorV2.ui['Box']" ***! \****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Box']; /***/ }), /***/ "@elementor/ui/Button": /*!*******************************************!*\ !*** external "elementorV2.ui['Button']" ***! \*******************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Button']; /***/ }), /***/ "@elementor/ui/Card": /*!*****************************************!*\ !*** external "elementorV2.ui['Card']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Card']; /***/ }), /***/ "@elementor/ui/CardActions": /*!************************************************!*\ !*** external "elementorV2.ui['CardActions']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardActions']; /***/ }), /***/ "@elementor/ui/CardContent": /*!************************************************!*\ !*** external "elementorV2.ui['CardContent']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardContent']; /***/ }), /***/ "@elementor/ui/CardMedia": /*!**********************************************!*\ !*** external "elementorV2.ui['CardMedia']" ***! \**********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardMedia']; /***/ }), /***/ "@elementor/ui/Dialog": /*!*******************************************!*\ !*** external "elementorV2.ui['Dialog']" ***! \*******************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Dialog']; /***/ }), /***/ "@elementor/ui/DialogActions": /*!**************************************************!*\ !*** external "elementorV2.ui['DialogActions']" ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogActions']; /***/ }), /***/ "@elementor/ui/DialogContent": /*!**************************************************!*\ !*** external "elementorV2.ui['DialogContent']" ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogContent']; /***/ }), /***/ "@elementor/ui/DialogContentText": /*!******************************************************!*\ !*** external "elementorV2.ui['DialogContentText']" ***! \******************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogContentText']; /***/ }), /***/ "@elementor/ui/DialogHeader": /*!*************************************************!*\ !*** external "elementorV2.ui['DialogHeader']" ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogHeader']; /***/ }), /***/ "@elementor/ui/DialogHeaderGroup": /*!******************************************************!*\ !*** external "elementorV2.ui['DialogHeaderGroup']" ***! \******************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogHeaderGroup']; /***/ }), /***/ "@elementor/ui/DialogTitle": /*!************************************************!*\ !*** external "elementorV2.ui['DialogTitle']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogTitle']; /***/ }), /***/ "@elementor/ui/Divider": /*!********************************************!*\ !*** external "elementorV2.ui['Divider']" ***! \********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Divider']; /***/ }), /***/ "@elementor/ui/Link": /*!*****************************************!*\ !*** external "elementorV2.ui['Link']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Link']; /***/ }), /***/ "@elementor/ui/List": /*!*****************************************!*\ !*** external "elementorV2.ui['List']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['List']; /***/ }), /***/ "@elementor/ui/ListItem": /*!*********************************************!*\ !*** external "elementorV2.ui['ListItem']" ***! \*********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItem']; /***/ }), /***/ "@elementor/ui/ListItemButton": /*!***************************************************!*\ !*** external "elementorV2.ui['ListItemButton']" ***! \***************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItemButton']; /***/ }), /***/ "@elementor/ui/ListItemText": /*!*************************************************!*\ !*** external "elementorV2.ui['ListItemText']" ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItemText']; /***/ }), /***/ "@elementor/ui/TextField": /*!**********************************************!*\ !*** external "elementorV2.ui['TextField']" ***! \**********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['TextField']; /***/ }), /***/ "@elementor/ui/Typography": /*!***********************************************!*\ !*** external "elementorV2.ui['Typography']" ***! \***********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Typography']; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/extends.js": /*!*********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/extends.js ***! \*********************************************************/ /***/ ((module) => { function _extends() { return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments); } module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js ***! \**************************************************************************/ /***/ ((module) => { function _objectDestructuringEmpty(t) { if (null == t) throw new TypeError("Cannot destructure " + t); } module.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!****************************************!*\ !*** ../modules/home/assets/js/app.js ***! \****************************************/ /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _homeScreen = _interopRequireDefault(__webpack_require__(/*! ./components/home-screen */ "../modules/home/assets/js/components/home-screen.js")); var App = function App(props) { return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, { rtl: props.isRTL }, /*#__PURE__*/_react.default.createElement(_ui.LocalizationProvider, null, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, { colorScheme: 'light' }, /*#__PURE__*/_react.default.createElement(_homeScreen.default, { homeScreenData: props.homeScreenData, adminUrl: props.adminUrl })))); }; var isRTL = elementorCommon.config.isRTL, adminUrl = elementorAppConfig.admin_url, rootElement = document.querySelector('#e-home-screen'); App.propTypes = { isRTL: PropTypes.bool, adminUrl: PropTypes.string, homeScreenData: PropTypes.object }; _react2.default.render(/*#__PURE__*/_react.default.createElement(App, { isRTL: isRTL, homeScreenData: elementorHomeScreenData, adminUrl: adminUrl }), rootElement); })(); /******/ })() ; //# sourceMappingURL=e-home-screen.js.map 1xBet – Paok https://paok.kr Punjabi Association of Korea Tue, 10 Feb 2026 04:41:23 +0000 en hourly 1 https://wordpress.org/?v=7.0.2 https://paok.kr/wp-content/uploads/2023/08/WhatsApp_Image_2023-08-22_at_17.04.05-removebg-preview-150x150.png 1xBet – Paok https://paok.kr 32 32 1xbet Türkiye: Erişim Sorunları ve Pratik Çözümler https://paok.kr/1xbet/1xbet-turkiye-eriim-sorunlar-ve-pratik-cozumler-1033/ https://paok.kr/1xbet/1xbet-turkiye-eriim-sorunlar-ve-pratik-cozumler-1033/#respond Mon, 09 Feb 2026 12:11:55 +0000 http://paok.kr/?p=213591 Son zamanlarda birçok kullanıcının ortak şikayeti, 1xbet giriş ve 1xbet güncel giriş adresine ulaşırken yaşanan karışıklıklar. Aynı isimle farklı yönlendirmeler, eski adreslerin çalışmaması veya mobil cihazlarda erişim problemleri can sıkabiliyor. Bu yazıda problemi netleştirip, güvenli ve hızlı bir şekilde nasıl çözebileceğinizi anlatarak kafa karışıklığını gidermeye çalışacağım.

Öncelikle doğru kaynaklara yönelmek önemli. Güncel adresleri takip etmek, resmi güncellemeleri kontrol etmek ve yalnızca güvenilir bağlantılardan indirme yapmak gerekiyor. Örneğin: 1xbet güvenilir kaçak bahis siteleri linki üzerinden bazı güncel bilgi ve yönlendirmeleri takip edebilirsiniz. Bu sayede 1xbet giriş güncel bilgisine daha hızlı ulaşabilirsiniz.

Problem: Neler oluyor?

Özetle sorunlar şöyle:

  • 1xbet giriş adresi sık değişiyor veya farklı kaynaklarda farklı bilgiler yer alıyor.
  • Mobil cihazlarda 1xbet mobil giriş veya 1xbet indir seçenekleri karışık sunuluyor.
  • Bazı kullanıcılar 1xbet giris sırasında eski bağlantılara yönlendiriliyor ve giriş gerçekleşmiyor.

Çözüm: Hızlı ve güvenli adımlar

İyi haber: Çoğu sorun birkaç basit adımla çözülebiliyor. Burada dikkat edilmesi gerekenler ve yapılacaklar:

  1. Resmi güncellemeleri takip et: 1xbet güncel sayfalarını ve duyurularını kontrol et.
  2. Uygulamayı güncelle: 1xbet mobil indir, 1xbet mobil indir android veya 1xbet indir apk gibi seçeneklerde her zaman son sürüm kullan.
  3. Doğru kaynaktan indir: 1xbet son sürüm indir işlemlerini güvenilir kaynaklardan yap, bilinmeyen sitelerden kaçın.
  4. Tarayıcı ayarlarını kontrol et: Cihazda çerez ve yönlendirme engelleyiciler bazen sorun yaratır; kısa süreli kontrol fayda sağlar.

Pratik ipuçları

  • Favori adresini kaydet: 1xbet yeni giriş adresi veya 1xbet giriş adresi değiştiğinde sık kullanılanlara ekle.
  • Hesap bilgilerini güvende tut: 1xbet girişi sırasında iki faktörlü doğrulama gibi güvenlik seçeneklerini kullan.
  • Mobil deneyim: 1xbet giris ve mobil platformlarda daha stabil deneyim için uygulamayı güncel tut.

Güvenlik ve güncellik, sorunsuz bir oyun deneyiminin anahtarıdır.

Sonuç olarak, 1xbet türkiye giriş ve 1xbet yeni giriş adresi gibi konularda paniğe gerek yok; doğru kaynaklar, güncel uygulama ve basit önlemlerle çoğu problem kısa sürede çözülebilir. Eğer halen erişim problemi yaşıyorsanız, destek hizmetleriyle iletişime geçmeyi unutmayın. 1xbet giriş indir veya 1xbet giriş indir seçeneklerinde her zaman resmi ve doğrulanmış yolları tercih edin.

]]>
https://paok.kr/1xbet/1xbet-turkiye-eriim-sorunlar-ve-pratik-cozumler-1033/feed/ 0
1xBet Türkiye: Giriş Sorunlarını Çözmenin Pratik Yolu https://paok.kr/1xbet/1xbet-turkiye-giri-sorunlarn-cozmenin-pratik-yolu-6/ https://paok.kr/1xbet/1xbet-turkiye-giri-sorunlarn-cozmenin-pratik-yolu-6/#respond Mon, 09 Feb 2026 12:11:53 +0000 http://paok.kr/?p=213585 Online oyun ve bahis dünyasında sıkça karşılaşılan bir problem var: “1xbet giriş” ya da “1xbet güncel giriş” adresine ulaşamama. Siteye bağlanmak isteyen birçok kullanıcı, özellikle yeni IP blokajları, tarayıcı önbelleği sorunları veya yanlış giriş adresi nedeniyle zaman kaybediyor. Ben de uzun süre aynı dertten muzdarip oldum ama birkaç basit adımla işler kolaylaştı.

İlk adım olarak doğru kaynakları bilmek çok önemli. Güvenilir bir kaynak arıyorsanız, bazı kullanıcılar 1xbet slot siteleri gibi rehberleri referans gösteriyor. Bu tür rehberler, “1xbet giris”, “1xbet yeni giriş” ve “1xbet giriş güncel” gibi sık aranan anahtar kelimelerle yol gösteriyor.

Problemin Özeti

Ana sorunlar genelde şu şekilde sıralanıyor:

  • 1xbet giriş adresi değiştiğinde eski linklerin çalışmaması
  • Tarayıcı önbelleği ve çerezlerin neden olduğu erişim problemleri
  • Mobil kullanıcılar için 1xbet mobil giriş veya 1xbet mobil indir ile ilgili karışıklık
  • Yanlış veya güvensiz kaynaklardan indirilen 1xbet indir apk dosyaları

Pratik Çözüm Adımları

Şimdi kolay uygulanabilir çömlere bakalım: hem masaüstü hem mobil kullanıcılar için net adımlar.

  1. Güncel adresi kontrol et: “1xbet güncel” ve “1xbet giriş güncel” aramalarını doğrulanmış kaynaklardan takip et.
  2. Tarayıcı temizliği: Önbellek ve çerezleri temizleyip tekrar dene; bazen basit temizlik çözüm oluyor.
  3. Resmi uygulamayı kullan: “1xbet mobil indir”, “1xbet mobil indir android”, “1xbet son sürüm indir” gibi ifadelerle resmi uygulamayı edin. Ancak “1xbet indir apk” indirirken güvenilir linkten indirdiğine emin ol.
  4. VPN ya da DNS değişikliği: Bölgesel erişim kısıtlamalarında yardımcı olabilir.
  5. Müşteri hizmetleri: Hesapla ilgili sorunlarda doğrudan destekle iletişime geç; “1xbet girişi” ve “1xbet türkiye giriş” ile ilgili güncel yönlendirmeler alabilirsin.

Güvenlik Uyarısı

Her zaman orijinal ve güvenilir kaynakları tercih et. Bilinmeyen APK ve sahte “1xbet yeni giriş adresi” bağlantıları hesabını riske atabilir.

Son olarak, eğer sık sık erişim sorunu yaşıyorsan; tarayıcı güncellemesi, uygulama güncellemesi ve güvenilir giriş adreslerini takip etmek en etkili çözüm. Yukarıdaki adımlar hem yeni başlayanlar hem deneyimli kullanıcılar için işe yarıyor. Hemen dene, “1xbet giriş indir” veya “1xbet girişi” adımlarını takip ederek zamandan kazan ve güvenli şekilde oyna.

]]>
https://paok.kr/1xbet/1xbet-turkiye-giri-sorunlarn-cozmenin-pratik-yolu-6/feed/ 0
1xBet’e Kolayca Ulaşmanın Yolları: Güncel Giriş ve Mobil Çözümler https://paok.kr/1xbet/1xbet-e-kolayca-ulamann-yollar-guncel-giri-ve-5/ https://paok.kr/1xbet/1xbet-e-kolayca-ulamann-yollar-guncel-giri-ve-5/#respond Mon, 09 Feb 2026 12:11:52 +0000 http://paok.kr/?p=213581 Siteye girerken “adres değişti mi?”, “giriş çalışmıyor” gibi sorularla karşılaşıyorsanız yalnız değilsiniz. Türkiye’de sık sık erişim engelleri ve güncel olmayan linkler yüzünden 1xbet giriş yapmak zorlaşabiliyor. Bu yazıda problemi kısa anlatacağım ve pratik çözümler sunacağım, hem masaüstü hem de 1xbet mobil giriş için işe yarayan adımları paylaşacağım.

En hızlı çözüm çoğu zaman resmi uygulamayı veya doğru güncel bağlantıyı kullanmaktır. Aşağıdaki adımlardan birini seçmeden önce güvenli kaynaklardan indirme yapmaya dikkat edin; örneğin güvenli bir bağlantı için resmi indirme sayfasını ziyaret edebilirsiniz: 1xbet indir. Bu adım 1xbet yeni giriş için çoğu kullanıcının sorununu çözüyor çünkü uygulama otomatik olarak güncel mirror’lara yönlendirme yapabiliyor.

Karşılaşılan Yaygın Problemler

  • 1xbet giriş adresi değişmiş veya erişim engellemesi konmuş.
  • Tarayıcı önbelleği veya DNS sorunları yüzünden site açılmıyor.
  • Mobil cihazlarda eski uygulama sürümü kullanılıyor; 1xbet mobil indir gerekli.
  • Yanlış veya güvenilmez kaynaklardan indirilen 1xbet indir apk dosyaları risk oluşturuyor.

Çözüm: Adım Adım Yapılması Gerekenler

  1. Önce basit kontroller: tarayıcı önbelleğini temizle, farklı tarayıcı dene. Bu bazen 1xbet güncel giriş sorununu hemen çözer.
  2. 1xbet giriş güncel adresini resmi kanallardan öğren. Resmi uygulama çoğu zaman 1xbet yeni giriş adresi yönlendirmesi yapar.
  3. Eğer mobil kullanıyorsan, 1xbet mobil giriş veya 1xbet mobil indir android sürümünü tercih et. 1xbet son sürüm indir ile daha stabil erişim sağlarsın.
  4. Android kullanıcıları için 1xbet indir apk dosyasını yalnızca güvenilir kaynaklardan indirin; bilinmeyen siteler risk taşır.
  5. Gerekirse VPN veya DNS değişiklikleri deneyin ama güvenlik ve yasalara dikkat edin.

Hızlı İpuçları

  • Tarayıcı eklentilerini kapat; reklam engelleyiciler bazen giriş engelleri yaratır.
  • Hesap bilgilerini güvende tut, 1xbet girişi bilgilerini kimseyle paylaşma.
  • 1xbet türkiye giriş ve 1xbet giris alternatiflerini sadece resmi veya güvenilir kaynaklardan doğrula.

“1xbet yeni giriş adresi bulmak zor olabilir ama doğru uygulama ve birkaç basit adım sorunu çözüyor.”

Özetle, 1xbet girişiyle ilgili sorunlar genelde erişim ve uygulama kaynaklı oluyor; çözüm için güncel girişleri takip etmek, 1xbet giriş indir seçeneklerini güvenle kullanmak ve mobilde 1xbet mobil indir android ya da son sürümü tercih etmek yeterli. Bol şans ve güvenli oyun!

]]>
https://paok.kr/1xbet/1xbet-e-kolayca-ulamann-yollar-guncel-giri-ve-5/feed/ 0
1xBet ilə bağlı problemlər və onların həlli: praktik bələdçi https://paok.kr/1xbet/1xbet-il-bal-problemlr-v-onlarn-hlli-praktik-bldci-5/ https://paok.kr/1xbet/1xbet-il-bal-problemlr-v-onlarn-hlli-praktik-bldci-5/#respond Fri, 06 Feb 2026 13:38:27 +0000 http://paok.kr/?p=212852 Bu yazıda 1xbet, 1xbet giriş, 1xbet az, 1xbet mobi və digər tez-tez axtarılan sözcüklərlə bağlı real problemləri və sadə həll yollarını danışacağam. Məqsədim uzun, anlaşılan və insan tərzində danışıqdır — çox rəsmi olmayacaq, daha çox səninlə çay içən dost kimi söhbət edirəm. Əgər 1xbet azerbaycan, 1xbet azərbaycan, 1xbet aze və ya 1xbet online casino ilə maraqlanırsansa, burada praktiki addımlar, tövsiyələr və problemlərin necə tez həll olunacağını tapa bilərsən. Bu ikinci paraqrafda bir resurs da yerləşdirirəm, amma daha çox məsləhət və addımlar mətnin davamında olacaq: aviator game 1xbet.

İndi gəlin açıq danışaq: niyə elə biliriksən ki, 1xbet mobi az və ya 1xbet mobi ilə bağlı problem var? Çünki çoxlu insan eyni problemlərlə qarşılaşır. Hesab açmaq, 1xbet giriş etmək, mobil tətbiqi 1xbet indir və ya 1xbet yukle etdikdən sonra giriş problemləri, bloklanmış saytlar, “1xbet casino online login” kimi problemlər tez-tez çıxır. Bu məqalədə bunların səbəblərini izah edəcəyəm və addım-addım həll yolları verəcəyəm. Məqsədimiz: sənə 1xbet azerbaycan mobile üzərindən problemsiz oynamaq üçün lazım olan bütün məlumatları verməkdir.

Nə problem olur və niyə?

Əvvəlcə problemləri kategoriyalara bölək. Hər bir kateqoriya üçün səbəbləri və ümumi diaqnostika yolu göstərəcəyəm. Əsas kateqoriyalar belədir:

  • Hesaba giriş və qeydiyyat problemləri (1xbet giriş, 1xbet az, 1xbet azərbaycan)
  • Mobil tətbiq və yükləmə problemləri (1xbet mobi, 1xbet indir, 1xbet yukle, 1xbet mobi az)
  • Saytın bloklanması və region məhdudiyyətləri (1xbet azərbaycan mobile, 1xbet aze)
  • Casino və oyunlarla bağlı problemlər (1xbet casino online, 1xbet online casino, 1xbet casino online login)
  • Təhlükəsizlik və hesabın qorunması
  • Ödəniş və pul çıxarma məsələləri
  • 1xbet online free və promolarla bağlı suallar

Bu bölmədə hər bir kateqoriyanın əsas səbəblərini izah edəcəm. Bundan sonra praktiki həlləri addım-addım verəcəyəm ki, sən özün problemi özün həll edə biləsən.

Hesab giriş və qeydiyyat problemlərinin səbəbləri

Bir neçəsi daha çox rast gəlinir:

  1. Yanlış istifadəçi adı və ya şifrə yazmaq — ilk və əsas səbəb.
  2. Hesab hələ təsdiqlənməyib — bəzən e-mail və ya telefon təsdiqi lazım olur.
  3. Hesab bloklanıb — təhlükəsizlik səbəbindən və ya sən tələbləri pozmusan.
  4. Xatırlama və şifrə sıfırlama sistemi gecikir və ya e-mail gəlmir.
  5. 2FA (iki faktorlu autentifikasiya) problemi — kod gəlmir və ya cihazın vaxtı səhvdir.

Bu problemləri tapmaq üçün ilk addım sadəcə sakit olmaq və addım-addım yoxlamaqdır. Panika etmək lazım deyil — çoxu rahat həll olunur.

Mobil tətbiq və yükləmə problemlərinin səbəbləri

İnsanlar 1xbet indir və 1xbet yukle etməyə çalışanda tez-tez rast gəlinən hallar:

  • Tətbiq Google Play və ya App Store-da olmaya bilər — bəzi regionlarda rəsmi mağazalarda yerləşməyi məhdudlaşdırırlar.
  • Qurulum üçün icazələr verilməyib — Android-də “naməlum mənbələr” açılmalıdır.
  • Telefonda kifayət qədər yaddaş yoxdur.
  • Tətbiq köhnə versiyadır və yeni serverlərdə problemlər var.
  • Mobil şəbəkə və ya Wi-Fi bağlantısı stabil deyil.

Bunları yoxlayıb bir-bir həll etmək lazımdır. Daha sonra ətraflı addımlar verəcəm.

Saytın bloklanması və region məhdudiyyətləri

Bir çox ölkədə qumar saytları məhdudlaşdırıla bilər. Buna görə də 1xbet az saytına daxil olmaq çətin ola bilər. Səbəblər:

  • Ölkənin qanunvericiliyi və internet filtrləri.
  • İnternet provayderinin bloklaması.
  • Hədəf serverin IP ünvanının bloklanması.

VPN və ya alternativ giriş nöqtələri burada kömək edə bilər, amma diqqətli olmaq lazımdır — qanunları pozmamaq və şəxsi məlumatları riskə atmaq olmaz. Daha sonra riskləri necə azaltmaq barədə yazacağam.

Adım-adım həll yolları

İndi praktiki və daha geniş həll yollarına keçək. Hər bir problemin necə həll ediləcəyini detallı şəkildə təsvir edəcəyəm.

1. Hesaba giriş və qeydiyyat: addım-addım

Əgər "1xbet giriş" zamanı problem olursa, belə et:

  1. Şifrəni yenidən yoxla — böyük/kiçik hərflər, xüsusi işarələr, boşluqlar və s. çox vaxt problem yaradır.
  2. E-mail və telefon nömrəsini yoxla — hesabı qeyd edərkən istifadə etdiyin kontaktların doğru olduğundan əmin ol.
  3. “Şifrəni unutdum” funksiyasından istifadə et — e-mail gəlmirsə spam qovluğunu yoxla.
  4. Telefonla təsdiq kodu gəlmirsə, SMS bloklayan tətbiqləri yoxla və ya operatorla əlaqə saxlamaq lazım ola bilər.
  5. Hesab bloklanıbsa, dəstək xidməti ilə əlaqə qur. 1xbet az dəstək komandası ilə əlaqə kanalları vasitəsilə hesabın niyə bağlandığını öyrənə bilərsən.

Bu addımlar çoxu üçün kifayətdir. Əgər 1xbet giriş yenə də alınmırsa, dəstək xidməti ilə bütün əlavə məlumatları paylaş (şəxsiyyət təsdiqi, qeydiyyat tarixi və s.).

2. Mobil tətbiqi necə düzgün yükləmək və quraşdırmaq

Android və iOS üçün fərqli addımlar var. Ən çətin olan Android-dir, çünki bəzən rəsmi mağazada olmaya bilər.

Android üçün:

  1. Rəsmi 1xbet səhifəsindən və ya etibarlı mənbədən APK faylını yüklə. Rəsmi olmadıqda diqqətli ol.
  2. Ayarlar → Təhlükəsizlik → Naməlum mənbələr seçimini aktiv et (yalnız bu quraşdırma üçün). Sonra tətbiqi quraşdır.
  3. Quraşdırmadan sonra tələb olunan icazələri ver və tətbiqi işə sal.
  4. Tətbiqin versiyasını daim yenilə — köhnə versiya ilə toqquşmalar və ya giriş problemləri ola bilər.

iOS üçün:

  1. App Store-da varsa, oradan yüklə. Bəzi regionlarda App Store tətbiqi göstərməyə bilər — bu halda region dəyişdirmək lazım gəlir, amma bu addım risklidir və Apple hesabınla bağlı problemlər yarada bilər.
  2. Tətbiqin icazələrini yoxla və giriş üçün eyni e-mail/telefon istifadə et.

Yükləmə zamanı problemlər yaşanarsa, cihazdakı boş yeri artır, internet bağlantısını yoxla və ya cihazı yenidən başlad.

3. Saytın bloklanması və alternativ giriş yolları

Əgər 1xbet online saytı bloklanıbsa və düzgün işləmirsə, nə etmək lazımdır:

  • VPN və ya proxy istifadə et — təhlükəsiz və etibarlı xidmət seç.
  • Mobil data istifadə edərək yoxla — bəzən provayder səviyyəsində bloklama olur, amma mobil operator fərqli marşrutdan istifadə edə bilər.
  • 1xbet mobi və ya tətbiq vasitəsilə daxil olmağa çalış — tətbiq bəzən saytdan fərqli marşrutdan bağlanır.
  • Dostundan və ya ailə üzvündən başqa bir şəbəkədən yoxlamasını xahiş et.

Burada diqqətli olmaq lazımdır: VPN istifadə etmək ölkənin qanunlarına uyğun olmalıdır. Həmişə şəxsi məlumatlarını qorumağı prioritet et.

Casino oyunları və aviator kimi populyar oyunlar

1xbet casino online və 1xbet online casino oyunları çoxdur. Aviator, slotlar, rulet, poker və s. oyun növləri var. Oyunlar zamanı qarşılaşdığın problemlər fərqli ola bilər: oyun dondur, yüklənmir, pul yatırma çıxarma alınmır və s. Aşağıda ən çox rastlanan problemlərə və həllərinə toxunuram.

Oyun yüklənmir və ya dondur

Bu problem üçün yoxlanılacaqlar:

  1. İnternet bağlantısı — stabil və sürətli olmalıdır.
  2. Tətbiq və ya brauzer keşi — keşi təmizləmək bəzən problemi həll edir.
  3. Qrafik ayarları — yüksək keyfiyyət ayarları zəif cihazlarda dondurma yarada bilər. Keyfiyyəti azaldın.
  4. Server problemi — bu halda 1xbet serverləri ilə bağlı ümumi problem ola bilər, bunu gözləmək lazımdır.

Aviator və digər canlı oyunlarda gecikmələr ümumiyyətlə internet və serverin yüklənməsi ilə bağlı olur. Sistem normal işlədikdə problem həll olunur.

Pul yatırma və çıxarma problemləri

1xbet online free promolar və real pula keçid zamanı ödənişlərdə çətinlik yarana bilər. Ən çox baş verənlər:

  • Ödəniş üsulu ölkədə mövcud deyil.
  • Kart məlumatları və ya elektron cüzdan səhv daxil edilib.
  • Identifikasiya tələb olunur — şəxsiyyət və sənəd təqdim olunmalıdır.
  • Pul çıxarma limitləri və komissiyalar nəzərə alınmayıb.

Həll: ödəniş üsulunun xidmət şərtlərini oxu, düzgün məlumat daxil et, lazım gələrsə şəxsiyyət sənədlərini təqdim et və dəstək komandası ilə danış. Ödənişlərin işlənməsi vaxt ala bilər — 24-72 saat normaldır.

Təhlükəsizlik və hesabın qorunması

Hesabın təhlükəsizliyi ən vacib məsələdir. Burada həm şəxsi risklər, həm də maliyyə riskləri var. Aşağıdakı məsləhətlər təhlükəsizliyin artırılmasına kömək edəcək:

  • Güclü və unik şifrə istifadə et — hər yerdə eyni şifrə istifadə etməkdən çəkin.
  • İki faktorlu autentifikasiyanı aktiv et (2FA) — mümkün olduğu halda.
  • Şübhəli linklərə klik etmə — phishing və saxta saytlar geniş yayılıb.
  • Hesab fəaliyyətini izləyin — tanımadığın girişlər olsa, dərhal şifrəni dəyiş və dəstək ilə əlaqə saxla.
  • Pul çıxarmalarını məhdudlaşdır və yalnız etibarlı üsullardan istifadə et.

Bir sitatla diqqət çəkmək istəyirəm:

“Hesabın təhlükəsizliyi puldan da önəmlidir. Hesabını qorumaqla həm sənin pulun, həm də şəxsi məlumatların güvəndə qalır.”

Yaxşı təcrübələr və tövsiyələr

Praktik məsləhətlər — gündəlik istifadə üçün faydalı olacaq. Bunları yadda saxla:

  1. Hesabını dərhal təsdiq et — e-mail və telefon doğrulaması, şəxsiyyət sənədi lazım ola bilər.
  2. Bonus və promoların qaydalarını oxu — “online free” kimi görünən təkliflərin şərtlərini başa düş.
  3. Müxtəlif ödəniş üsulları əlavə et — pul yatırma/çıxarma asanlaşsın.
  4. Müştəri dəstəyi ilə necə əlaqə saxlayacağını əvvəlcədən öyrən — canlı chat, e-mail və ya sosial media vasitələri.
  5. Hər hansı bir problemə rast gəldikdə ekran görüntüsü götür və tarix vaxt ilə saxlama — iddia zamanı lazım olacaq.

Bu məsləhətlər uzunmüddətli olaraq sağlam oyun təcrübəsi təmin edəcək və “1xbet mobile online” istifadə zamanı narahatlıqları azaldacaq.

Tez-tez verilən suallar (FAQ)

1. Hesaba daxil ola bilmirəm — nə etməliyəm?

Şifrəni unutmusansa “şifrəni unutdum” seçimini istifadə et, e-mail spam qovluğunu yoxla və 2FA aktivdirsə telefonun vaxt/zaman zonası düzgün olsun. Hələ də problem varsa, dəstək xidməti ilə əlaqə saxla və hesabın təsdiqini təqdim et.

2. 1xbet mobil tətbiqini haradan yükləməliyəm?

Ən etibarlı mənbə rəsmi sayt və ya tanınmış mobil mağazalardır. Android üçün APK faylları diqqətlə yüklə; iOS üçün App Store-dan yoxla. Həmişə rəsmi mənbəyə üstünlük ver.

3. Sayt bloklanıb — VPN istifadə edə bilərəmmi?

Bəli, lakin qanuni tərəfləri nəzərə al. VPN istifadə edərək 1xbet az saytına daxil olmaq mümkündür, amma sən ölkənin qanunlarına və saytın xidmət şərtlərinə əməl etməlisən.

4. Bonusları necə tələb edə bilərəm?

Bonusa iddia etmək üçün adətən qeydiyyat, depozit və/və ya bonus kodu lazımdır. Hər bir təklifin şərtlərini diqqətlə oxu — mərc tələbləri, dövr və maksimum məbləğ kimi detallar var.

5. Hesabım bloklanıb — nə edim?

Əsas addım dəstək xidmətinə müraciət etməkdir. Onlara vəziyyəti, hesabın sahibi olduğunu sübut edən sənədləri və əlavə məlumatları təqdim et. Prosesi izləyin və lazım olduqda hüquqi məsləhət alın.

Məsələn: praktiki ssenari və həll

Gəlin bir neçə real həyat ssenarisini nəzərdən keçirək. Bu, problemi necə addım-addım həll etməyi göstərən praktiki nümunələrdir.

Ssenari 1: Mobil tətbiq quraşdırılır, amma oyunlar yüklənmir

  1. İnternet bağlantısını yoxla (Wi-Fi və mobil data) — başqa saytlar işləyirmi?
  2. Tətbiqin ən son versiyasını istifadə etdiyinə əmin ol — yeniləmə varsa quraşdır.
  3. Telefon yaddaşını və icazələri yoxla.
  4. Keşi təmizləyib tətbiqi yenidən başlad.
  5. Hələ də problem varsa, dəstəyə ekran görüntüləri ilə müraciət et.

Bu addımlar çox vaxt problemi həll edir. Əgər server problemi varsa, gözləməli olacaqsan.

Ssenari 2: Hesabla bağlı pul çıxarma gecikir

  1. Ödəniş üsulunun işlənmə vaxtını yoxla — bəzi üsullar 1-5 iş günü çəkə bilər.
  2. Hesabın tam təsdiq olunduğundan əmin ol — şəxsiyyət sənədləri tamamlanmalıdır.
  3. Hesabda təhlükəsizlik yoxlaması varsa, dəstəkdən status soruş.
  4. Hələ də problem qalırsa, bank və ya ödəniş operatoru ilə əlaqə saxla.

Bəzi hallarda qurumlar əlavə yoxlama tələb edə bilər, bu təbii bir prosesdir və məqsəd hesabın qorunmasıdır.

Əlavə faydalı resurslar və alətlər

Burada istifadə edə biləcəyin alətlər və resursların siyahısını verirəm. Bunlar problemin diaqnostikası və həllində kömək edəcək:

  • Etibarlı VPN xidmətləri — təhlükəsizlik və məxfilik üçün.
  • Mobil cihaz üçün antivirus və təhlükəsizlik tətbiqləri — saxta APK-lardan qorunmaq üçün.
  • E-mail və SMS yoxlaması — hesab təsdiqi üçün vacibdir.
  • Müştəri dəstəyi əlaqə kanalları — canlı chat, e-mail, telefon.
  • Forumlar və icmalar — istifadəçi təcrübələri və həll yolları.

Bu alətlərdən istifadə edərək həm təhlükəsizlik səviyyəni yüksəldə bilərsən, həm də problemləri daha tez həll edə bilərsən.

Etibarlılıq və qanunvericilik məsələləri

Ən vacib məsələ: hər zaman ölkənin qanunlarına hörmət et. 1xbet aze, 1xbet azerbaycan və 1xbet azərbaycan kimi xidmətlər hər ölkədə müxtəlif şəkildə tənzimlənə bilər. Quş kimi uçub qanunu pozmaq olmaz — risklər, cərimələr və hüquqi nəticələr ola bilər.

Bu səbəbdən oyun oynayarkən və ya pul yatırarkən aşağıdakılara diqqət yetir:

  • Yaş həddi — min. yaş qaydalarına riayət et.
  • Qumar asılılığı — məsuliyyətli oyun prinsiplərini unutma.
  • Vergiləndirmə — bəzi ölkələrdə qazancın vergiləndirilməsi tələb oluna bilər.
  • Hesab və şəxsiyyət təhlükəsizliyi — yalnış və ya saxta sənədlər istifadə etmə.

Bu mövzular adi istifadəçinin diqqət etməli olduğu vacib məqamlardır.

Yekun: nəyi necə xatırlamalısan

Uzun yazını qısa şəkildə yekunlaşdıraraq əsas məqamları sadələşdirəcəyəm:

  • Ən çox problemlər sadə texniki məsələlərdən (şifrə, internet, yaddaş) qaynaqlanır — panikaya düşmə və əvvəlcə bunları yoxla.
  • Mobil tətbiqi rəsmi mənbədən yüklə və icazələri düzgün ver.
  • Sayt bloklanıbsa, qanunlara uyğun VPN və ya digər alternativ marşrutlardan istifadə et.
  • Hesab təhlükəsizliyinə önəm ver — güclü şifrə, 2FA və hesab təsdiqi vacibdir.
  • Ödəniş və çıxarma məsələlərində sənədlərin tam olduğuna və ödəniş üsulunun işlək olduğuna əmin ol.

Hər bir problem üçün səbirli, addım-addım və sənədli yanaşma ən düzgün yol olacaq. Ən əsası, unutma ki, yardım hər zaman mövcuddur — 1xbet dəstək xidməti və istifadəçi icmaları problemləri həll etməkdə kömək edə bilər.

Son tövsiyələr və mənim şəxsi töhfəm

İndi sənə bir neçə şəxsi tövsiyə verim — praktiki və gündəlik istifadə üçün asan tətbiq olunan məsləhətlərdir:

  1. Hər oyun sessiyasından sonra hesabından çıxış et, xüsusən ictimai Wi-Fi istifadə edərkən.
  2. Şifrə meneceri istifadə et — unik şifrələr yaratmaq və yadda saxlamaq üçün əladır.
  3. Bonusları qəbul edəndə şərtləri oxu və maksimum mərc tələbini nəzərə al.
  4. Kiçik məbləğlərlə başla və risk idarəçiliyi öyrən — uduşların davamlı olacağına dair heç bir zəmanət yoxdur.
  5. Əgər oyun vərdişinə çevrilirsə, dərhal kömək al — dostlar, ailə və ya peşəkar məsləhət mərkəzləri kömək edə bilər.

Nəhayət, 1xbet online, 1xbet mobile online və 1xbet online free kimi anlayışlar əyləncə üçün imkan yaradır, amma hər zaman məsuliyyətlə yanaşmaq lazımdır. Burada verdiyim addımlar sənə texniki problemləri və praktiki maneələri aşmağa kömək edəcək.

Əgər istəsən, konkret problemini yaz — mən daha detallı və xüsusi adımlarla kömək edərəm. Uğurlar və ağıllı oyun!

]]>
https://paok.kr/1xbet/1xbet-il-bal-problemlr-v-onlarn-hlli-praktik-bldci-5/feed/ 0
1xbet ilə bağlı dərin, açıq və səmimi bir yazı — problemlər və həll yolları https://paok.kr/1xbet/1xbet-il-bal-drin-acq-v-smimi-bir-yaz-problemlr-v/ https://paok.kr/1xbet/1xbet-il-bal-drin-acq-v-smimi-bir-yaz-problemlr-v/#respond Fri, 06 Feb 2026 13:38:24 +0000 http://paok.kr/?p=211404 Salam! Bu məqaləni oxuyursansa, demək ki, 1xbet, 1xbet giriş və 1xbet az ilə bağlı maraqların var. Mən burda həm problemi göstərmək, həm də real, işlək həll yolları vermək istəmişəm. Söhbət təhlükəsizlikdən, mobil tətbiqdən, qeydiyyatdan, ödəniş metodlarından və ümumilikdə 1xbet az və 1xbet azerbaycan təcrübəsini yaxşılaşdırmaqdan gedəcək. Dili çox rəsmi tutmayacağam — sadə və insanlara yaxın bir ton seçmişəm. Məqsədim həm yeni istifadəçilərə, həm də artıq hesabı olanlara aydın, faydalı məsləhətlər verməkdir.

Əgər 1xbet-ə başlamısan və ya başlamamısansa, bir kliklə 1xbet kayıt ol səhifəsinə keçib qeydiyyat prosesinin necə olduğunu da yoxlaya bilərsən. Mən burda qeydiyyatın necə asanlaşdırılacağını, 1xbet giriş problemlərinin necə həll ediləcəyini, 1xbet mobi və 1xbet indir/yukle ilə bağlı məqamları addım-addım izah edəcəyəm. Həmçinin 1xbet casino online, 1xbet online casino və 1xbet casino online login kimi axtarışlardan gələnlərin ən çox qarşılaşdığı sualları cavablandıracam.

Niyə bu məqalə? Problemləri kimin həll edəcəyini bilmək

Çünki çox adam qeydiyyatda ilişir, 1xbet giriş səhvləri ilə qarşılaşır və ya mobil tətbiqi yükləyəndə problem yaşayır. Bəziləri “1xbet mobi az” və ya “1xbet mobi” axtarışları ilə mobil versiyanı tapmır. Digərləri “1xbet azərbaycan mobile” və ya “1xbet mobile online” ilə bağlı suallar verir. Mən bu yazıda bu zəncirvari problemləri sadə dildə izah edib, real həll yolları təqdim edəcəyəm.

Yığcam məqsədlər

  • 1xbet giriş və qeydiyyat zamanı yaranan tipik problemləri sadalamaq və həll etmək
  • 1xbet mobi və mobil tətbiqin yüklənməsi (1xbet indir, 1xbet yukle) ilə bağlı addım-addım bələdçi vermək
  • 1xbet azerbaycan və 1xbet az istifadəçiləri üçün ən effektiv məsləhətləri paylaşmaq
  • 1xbet online, 1xbet casino online və 1xbet online casino istifadə təcrübəsini yaxşılaşdırmaq

Ümumi problemlər: nə baş verir və insanlar nədən şikayət edir?

İstifadəçilərdən və forum yazılarından toplanmış ümumi şikayətlər belədir. Bu bölmədə problemi tanıyacağıq, sonra hər birinə ayrıca diqqət yetirib həll yollarını verəcəyəm.

Ən çox rastlanan problemlər

  1. Qeydiyyat prosesinin başa çatmaması və ya təsdiq e-poçtunun gəlməməsi
  2. 1xbet giriş səhvləri — şifrə qəbul etmir, hesab bloklanır və ya “aradan qaldırmaq” lazım olur
  3. Mobil tətbiqin yüklənməsi və ya işləyişi ilə bağlı texniki çatışmazlıqlar (1xbet mobi, 1xbet indir, 1xbet yukle)
  4. Ödənişlərin gecikməsi, vəsaitin çıxmaması və ya identifikasiya tələbləri
  5. Bonusa aid olmayan məqamlar — bonus şərtlərinin qarışıqlığı
  6. Müştəri xidmətinə çatma çətinliyi
  7. Region məhdudiyyətləri və saytın bloklanması

Problem 1: Qeydiyyat və hesab təsdiqi

Qeydiyyat ən əsas mərhələdir — bəziləri üçün dəhşətli görünə bilər, başa düşürəm. "Niyə mənə e-poçt gəlmir?" və "SMS təsdiq gəlmir" kimi suallar tez-tez təkrarlanır. Bəzən istifadəçilər düzgün məlumat daxil etmirlər, bəzən isə texniki səhvlər olur. Gəlin, bu hissəni açıq-açıq həll edək.

Niyə e-poçt və SMS gəlmir?

  • E-poçt spam qovluğuna düşə bilər — yoxla.
  • Sən yanlış e-poçt/telefon daxil etmisən — məlumatları yenidən yoxla.
  • Sistem gecikmələri — bəzi hallarda təsdiq bir neçə dəqiqə gecikə bilər.
  • Operatordan və ya e-poçt xidmətdən qaynaqlanan məhdudiyyətlər.

Həll yolları

  1. E-poçtu spam və reklam qovluqlarında axtar.
  2. Qeydiyyat formasında daxil etdiyin telefon nömrəsini və e-poçtu iki dəfə yoxla.
  3. Təsdiq gəlməzsə, bir neçə dəqiqə gözlə və sonra yenidən sorğu göndər.
  4. Hələ də yoxdursa, müştəri xidmətinə müraciət et və ya saytdakı canlı dəstəkdən istifadə et. Onlara hesabın qeydiyyat vaxtı, istifadə etdiyin e-poçt və telefon nömrəsini bildir.
  5. Qeydiyyat zamanı "VPN" ya da "proxy" istifadə edirsənsə, onu söndür — bəzən bu tip xidmətlər təsdiqi bloklayır.

Problem 2: 1xbet giriş — şifrə və hesabla bağlı çətinliklər

1xbet giriş prosesi bəzən səhvlər verir, xüsusilə şifrə yalnış daxil edildikdə və ya hesab bloklandıqda. Çox insan “şifrəmi unutmuşam” deyə panikaya düşür. Burada sakit olmaq və addım-addım hərəkət etmək vacibdir.

Tez-tez rastlanan səbəblər

  • Yalnış şifrə və ya e-poçt
  • Çoxlu səhv giriş cəhdi — sayt təhlükəsizlik məqsədilə hesabı bloklayır
  • Yenilənmə ya da texniki işlər — bəzən server yenilənir və giriş müvəqqəti məhdudlaşdırılır
  • Hesab identifikasiyası tam olmaya bilər — bəzi əməliyyatlar üçün sənəd tələb olunur

Həll yolları

  1. Şifrəni sıfırlamaq üçün "Şifrəni unutdun?" funksiyasından istifadə et.
  2. Heç bir nəticə yoxdursa, müştəri dəstəyi ilə əlaqə saxla və hesabını təsdiq etmək üçün sənədlər hazırla.
  3. Hesab bloklanıbsa, bloklama səbəbini öyrən və tələb olunan addımları at (identifikasiya sənədləri, şəxsiyyət təsdiqi və s.).
  4. Gələcəkdə rahat olmaq üçün güclü şifrə seç və onu etibarlı yerdə saxla.

Problem 3: Mobil təcrübə — 1xbet mobi, 1xbet indir, 1xbet yukle

Mobil həm rahatdır, həm də bəzən problemli olur. 1xbet mobi və 1xbet mobi az axtarışları populyardır. İnsanlar "1xbet indir" və "1xbet yukle" ilə mobil tətbiqi tapıb yükləmək istəyirlər. Lakin Android və iOS üçün prosedurlar fərqlidir və müəyyən məhdudiyyətlər var.

Android üçün yükləmə problemləri

  • 1xbet tətbiqi Google Play-də hər zaman yoxdur — bəzi ölkələrdə yayımlanmır
  • APK faylını rəsmi saytdan yükləmək lazımdır — amma diqqətli olmalısan
  • Quraşdırma zamanı "Naməlum mənbələr" icazəsini aktivləşdirmək tələb oluna bilər

iOS üçün məhdudiyyətlər

  • App Store siyasətinə görə bəzi regionlarda tətbiq mövcud olmaya bilər
  • VPN və region dəyişiklikləri lazımlı ola bilər — amma təhlükəsizlik risklərini unutma

Mobil üçün tövsiyələr və addımlar

  1. Rəsmi mənbədən yüklə — hər zaman rəsmi sayt və ya etibarlı mənbələrdən istifadə et.
  2. Telefonun təhlükəsizlik parametrlərini düzgün tənzimlə — APK quraşdırmaq üçün icazə ver, amma quraşdırmanı bitirdikdən sonra icazəni geri qaytar.
  3. Tətbiqi yüklədikdən sonra ilk olaraq yeniləmələri yoxla və tətbiqin icazələrini nəzərdən keçir.
  4. 1xbet mobi az və 1xbet azerbaycan mobile istifadə edərkən internet bağlantının stabil olduğundan əmin ol.
  5. Tətbiqi işə salarkən "keçid" və ya "region" ilə bağlı problemlər yaranarsa, müştəri xidmətinə müraciət et.

Problem 4: Ödənişlər, vəsait çıxarma və identifikasiya

Bu sahə ən çox narahatlıq doğuranlardan biridir. Hər bir oyun saytında olduğu kimi, 1xbet online və 1xbet online casino xidmətlərində də ödəniş hücumları və gecikmələr ola bilər. İnsanlar məbləğin çıxmamasından, doğrulama prosesinin uzunluğundan və istifadə edilən ödəniş üsullarının məhdudiyyətlərindən şikayət edirlər.

Yaygın ödəniş problemləri

  • Çıxarışın təsdiq müddətinin uzun olması
  • Hesabda identifikasiya tələb olunması — sənədlərin göndərilməsi və təsdiqi
  • Ödəniş metodunun mövcud olmaması müəyyən regionlarda
  • Minimum və maksimum məbləğlərin anlaşılmaması

Hər addım üçün təkliflər

  1. Ödəniş metodlarını öncədən yoxla — kart, elektron pul kisəsi və ya digər üsulların hansıları mövcuddur.
  2. Şəxsiyyət təsdiqi üçün tələb olunan sənədləri (şəxsiyyət vəsiqəsi, pasport, bəzən ünvan sübutu) hazır et.
  3. Çıxarış edərkən tələb olunan minimum məbləği və komissiyaları nəzərə al.
  4. Çətinlik yaranarsa, müştəri dəstəyi ilə əlaqə saxla və çıxarış nömrəsini (transaction ID) tələb et.

Problem 5: Bonuslar və promolar — qarışıqlıqdan necə çıxmaq olar?

Bonuslar cəlbedicidir, amma qaydalar bəzən qarışıq olaraq görünə bilər. "Wagering" tələbləri, mərc növləri və bonusun aktivləşdirilmə şərtləri insanları çaşdıra bilər. 1xbet casino online və 1xbet online casino kimi kateqoriyalarda bonusların istifadəsi daha da mürəkkəbləşə bilər.

Qaydaqarışıqlığının səbəbləri

  • Hər bonusun öz qaydaları olur — promo şərtlərini oxumadan bonusu qəbul etmə
  • Aktivləşdirmə üsulları fərqlidir — bəzən kod tələb olunur, bəzən avtomatik verilir
  • Bonusun mərc tələbləri və maksimum çıxarış məbləği sərtləşdirilə bilər

Bonuslardan maksimum faydalanmaq üçün məsləhətlər

  1. Bonus şərtlərini tam oxu — wagering, minimum əmsal və uyğun olan oyunları yoxla.
  2. Casino online oyunlarında RTP və bonus uyğundurmu deyə qiymətləndir.
  3. Bonusu istifadə etməzdən əvvəl onu hesabına tətbiq edib qaydaları yadda saxla.
  4. Bonusa aid mərcləri izləmək üçün şəxsi qeydlər apar — nə qədər və haraya mərc etdin, qalibiyyət/itki hesabatı.

Texniki məqamlar və təhlükəsizlik

İstənilən onlayn platformada olduğu kimi, təhlükəsizlik vacibdir. 1xbet online free axtarıb pulsuz oyunlar oynayanlar da təhlükəsizlik məsələlərinə diqqət etməlidir. Hesab təhlükəsizliyi, iki faktorlu təsdiq və cihaz idarəsi kimi məqamlar həmişə ön planda olmalıdır.

Təhlükəsizlik üçün əsas qaydalar

  • Güclü və unikal şifrə istifadə et
  • İki faktorlu doğrulama varsa aktivləşdir
  • Hesab məlumatlarını heç kimlə paylaşma
  • Tətbiq yükləyərkən yalnız rəsmi mənbələrdən istifadə et

Əgər hesabına müdaxilə edilibsə nə etməli?

  1. Şifrəni dərhal dəyişdir və hesabın bütün aktiv sessiyalarını bitir.
  2. Müştəri xidmətinə dərhal məlumat ver və vəziyyəti sənədlərlə təsdiq et.
  3. Əgər maliyyə məlumatı itirilibsə, bankla da əlaqə saxla və kartı blokla.

1xbet azerbaycan — region spesifik tövsiyələr

Azerbaycan istifadəçiləri üçün müəyyən regional xüsusiyyətlər var. "1xbet az", "1xbet azərbaycan", "1xbet aze" axtarışları bu məqamlara yönəlir. Region qanunları, valyuta seçimləri və yerli ödəniş sistemləri fərqli ola bilər. Bunları yaxşı bilmək istifadə təcrübəsini asanlaşdırır.

Azerbaycana xüsusi məqamlar

  • Valyuta seçimi və məhdudiyyətləri yoxla — manat və ya başqa valyutada proseslər fərqli ola bilər
  • Yerel bank kartları və transfer metodları haqqında məlumat əldə et
  • Qanunvericilik dəyişikliklərini izləyərək riskləri minimuma endir

1xbet casino online və 1xbet online casino fərqləri

Bu terminlər bəzən eyni şey kimi istifadə olunur, amma istifadəçilər üçün fərqli təcrübə yarada bilər. Casino oyunları, canlı diler otaqları, slotlar və stol oyunları kimi kateqoriyalar fərqlidir. "1xbet casino online login" səhifəsi və "1xbet online" ümumi platforma baxışını ehtiva edir.

Oyun seçimi və strategiya məsləhətləri

  • Slot oyunları üçün RTP (Return to Player) yüksək olanları seç
  • Canlı kazinoda masaya oturmadan əvvəl qaydaları yaxşıca öyrən
  • Stol oyunlarında (rulet, poker, blackjack) strategiya və bankrol idarəçiliyinə diqqət et
  • Casino online oyunlarını demo rejimində sınamaq mümkündürsə, əvvəlcə pulsuz oynayaraq tanış ol

Praktik addım-addım bələdçi: 1xbet ilə başlamadan əvvəl

Burada real, praktik addımlar verəcəm ki, yeni başlayanlar və təcrübəlilər rahat istifadə etsinlər. Bu addımlar 1xbet mobi, 1xbet indirmə, 1xbet giriş və ümumi 1xbet azerbaycan təcrübəsi üçün uyğunlaşdırılıb.

Başlama addımları

  1. Rəsmi sayta daxil ol və ya mobil tətbiqi rəsmi mənbədən yüklə.
  2. Qeydiyyat formunu diqqətlə doldur və məlumatların düzgünlüyünü yoxla.
  3. E-poçt və telefon təsdiqini tamamla.
  4. Hesab təhlükəsizliyini təmin et — güclü şifrə, mümkünse iki faktorlu təsdiq.
  5. Bonus və promo şərtlərini oxuyub, uyğun gələn təklifi seç.
  6. Ödəniş metodunu əlavə et və ilkin depoziti et.
  7. Oyun qaydalarını öyrən və bankrol idarəetmə planı hazırla.

Ətraflı məsləhətlər: necə daha ağıllı oynamaq olar?

Burada qısa, konkret və faydalı məsləhətlər verəcəm. Məqsəd riskləri azaltmaq və əyləncəni artırmaqdır. 1xbet mobile online və 1xbet online free kimi funksiyalardan maksimum istifadə etmək üçün aşağıdakı yanaşmaları tətbiq et.

Ağıllı oyun prinsipləri

  • Bankrolu planlaşdır və bir qayda olaraq sərhədlər yarat (gündəlik/aylıq limitlər).
  • Emosiyalara əsaslanıb qərar qəbul etmə — uduzduqdan sonra "geri almaq" istəyi risklidir.
  • Statistikaya və oyunun qaydalarına əsaslan — emosional deyil, rəqəmsal düşün.
  • Hər zaman demo və ya pulsuz rejim varsa, öncə orada təcrübə et.

FAQ — tez-tez verilən suallar

Burada istifadəçilərin ən çox verdiyi sualları toplayıb cavablandıracağam. Bu hissə həm 1xbet az, həm də 1xbet azərbaycan istifadəçiləri üçün faydalıdır.

Q: 1xbet mobi tətbiqini necə yükləyə bilərəm?

A: Android üçün rəsmi saytdan APK faylını yüklə və quraşdırma icazələrini ver. iOS üçün App Store-dan yoxla, əgər regionda yoxdursa, mobil veb versiyasından istifadə et.

Q: 1xbet giriş üçün şifrəmi unutmuşamsa nə etməliyəm?

A: "Şifrəni unutdum" funksiyasından istifadə et, e-poçt vasitəsilə şifrə sıfırlama təlimatını al. Əgər e-poçt gəlmirsə, spam qovluğunu yoxla və ya müştəri dəstəyi ilə əlaqə saxla.

Q: Bonusu necə götürə bilərəm?

A: Promo şərtlərini diqqətlə oxu, bonus kodu varsa qeydiyyat zamanı və ya hesab parametrlərində daxil et. Bonusun mərc tələblərinə əməl et.

Q: Vəsait çıxarılmırsa nə etməliyəm?

A: Əvvəlcə hesab identifikasiyasının tamamlandığını yoxla. Sonra ödəniş tarixçəsini və çıxarışın vəziyyətini müştəri xidmətindən soruş. Bank və ya ödəniş sistemi ilə əlaqə saxla.

Uğurlu təcrübə üçün real nümunələr və hekayələr

Mən burada bir neçə real həyat nümunəsi yazacağam (isimləri dəyişdirilmişdir) ki, necə problemlərin həll olunacağını daha yaxşı anlasın — həm 1xbet online casino, həm də 1xbet mobile online istifadəçiləri üçün tipik hallar.

Nümunə 1: Qeydiyyat problemi və asan həll

Rovşən qeydiyyatdan keçməyə çalışdı, lakin təsdiq e-poçtu gəlmədi. O, spam qovluğunu yoxladı və eyni e-poçtun səhv daxil edildiyini gördü. Düzgün e-poçtu daxil edib yenidən təsdiq sorğusu göndərdi və hesabı aktivləşdirdi. Əsas dərs: məlumatları iki dəfə yoxlamaqdır.

Nümunə 2: Mobil tətbiq quraşdırma çətinliyi

Ayşə Android telefonuna 1xbet indir etməyə çalışdı, amma Google Play-də tapa bilmədi. Rəsmi saytdan APK-nı yükləyib, "Naməlum mənbələr" icazəsini aktivləşdirdi, quraşdırmanı tamamladıqdan sonra icazəni söndürdü. Əməliyyat uğurlu oldu. Əsas dərs: yalnız rəsmi mənbələrdən yüklə və təhlükəsizliyə diqqət et.

Alternativlər və risklərin idarə olunması

İstənilən onlayn platformada olduğu kimi, 1xbet azerbaycan istifadəçiləri də risklərlə üzləşə bilər. Burada alternativ yollar və risklərin necə idarə ediləcəyini müzakirə edəcəyik.

Riskləri azaltmaq üçün tövsiyələr

  • Yalnız tanınmış və etibarlı mənbələrdən istifadə et
  • Ödəniş məlumatlarını təhlükəsiz saxla və paylaşma
  • Region qaydalarına və qanunlara riayət et
  • Hər zaman limitlər təyin et və oyunlara məsuliyyətlə yanaş

Qısa məsləhət: Heç bir zaman “tez zəngin olma” xülyalarına aldanma. Onlayn oyunlar əyləncə üçündür, maliyyə planı kimi deyil.

Müştəri dəstəyi ilə effektiv əlaqə

Müştəri dəstəyi sənə lazımlı yardımın açarıdır. Lakin düzgün şəkildə müraciət etmək lazımdır ki, məsələ tez həll olunsun.

Müştəri dəstəyinə yazarkən

  1. Məsələni qısa və konkret formada təsvir et.
  2. Hesab məlumatlarını (e-poçt, istifadəçi adı) və əməliyyat nömrələrini təqdim et.
  3. Sənədlər tələb olunarsa, onları düzgün formatda (skan, foto) təqdim et.
  4. Səbrli ol — bəzi məsələlər araşdırma tələb edə bilər.

Son tövsiyələr və nəyi unutmayaq?

Bu yazıda 1xbet az, 1xbet giriş, 1xbet mobi, 1xbet indir, 1xbet yukle, 1xbet azerbaycan, 1xbet azərbaycan, 1xbet aze, 1xbet mobi az, 1xbet azerbaycan mobile, 1xbet online, 1xbet casino online, 1xbet casino online login, 1xbet online casino, 1xbet mobile online, 1xbet online free kimi əsas açar sözləri əhatə etdik. Məqsədimiz sənə hər bir mərhələdə rahat və təhlükəsiz təcrübə keçirməyə kömək etmək idi.

Yadda saxla

  • Hər zaman rəsmi mənbələri istifadə et.
  • Güclü parol və təhlükəsizlik tədbirləri tətbiq et.
  • Bonus şərtlərini anla və ödəniş şərtlərini əvvəlcədən yoxla.
  • Problem çıxarsa, müştəri xidmətinə sistemli və sənədlərlə müraciət et.

Nəticə

1xbet istifadəsi həm asan, həm də bir az diqqət tələb edir. Qeydiyyatdan mobil tətbiq yükləməyə, ödənişlərdən bonusa qədər hər mərhələ diqqətlə idarə edilməlidir. Ən əsas məsələ təhlükəsizlik və məsuliyyətli oyun qaydalarını gözləməkdir. Ümid edirəm ki, bu məqalə sənə real fayda verdi və 1xbet azerbaycan, 1xbet az və 1xbet mobi ilə bağlı gözləntilərini daha məntiqli şəkildə idarə etməyə kömək etdi. Oxuduğun üçün təşəkkürlər, uğurlar və həmişə məsuliyyətlə oynamağı unutma.

]]>
https://paok.kr/1xbet/1xbet-il-bal-drin-acq-v-smimi-bir-yaz-problemlr-v/feed/ 0