{"id":2785,"date":"2025-10-17T10:16:52","date_gmt":"2025-10-17T08:16:52","guid":{"rendered":"https:\/\/sdg2033.bereishit.de\/%d8%a3%d8%b6%d9%81-%d8%a7%d8%ad%d8%aa%d9%81%d8%a7%d9%84%d9%83\/"},"modified":"2026-02-16T18:43:11","modified_gmt":"2026-02-16T17:43:11","slug":"add-celebration","status":"publish","type":"page","link":"https:\/\/sdg2033.bereishit.de\/ar\/add-celebration\/","title":{"rendered":"\u0623\u0636\u0641 \u0627\u062d\u062a\u0641\u0627\u0644\u0643"},"content":{"rendered":"<p><div class=\"et_d4_element et_pb_section et_pb_section_0 et_pb_with_background  et_pb_css_mix_blend_mode et_section_regular et_block_section\" >\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_d4_element et_pb_row et_pb_row_0  et_pb_css_mix_blend_mode et_block_row\">\n\t\t\t\t<div class=\"et_d4_element et_pb_column_4_4 et_pb_column et_pb_column_0  et_pb_css_mix_blend_mode et-last-child et_block_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module et_d4_element et_pb_code et_pb_code_0\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_code_inner\"><script>\njQuery(function($){\n  \/\/ Ziel-Datum (Jahr, Monat-1, Tag)\n  var targetDate = new Date(2033, 3, 17);\n\n  function setDate(){\n    \/\/ Eingabefeld suchen \u2013 nicht der Button (.ui-datepicker-trigger), sondern das eigentliche input\n    var $input = $('input[name=\"date_event\"], #date_event, input.hasDatepicker');\n\n    if ($input.length === 0) return;\n\n    \/\/ Nur setzen, wenn leer\n    if ($input.val().trim() === '') {\n      try {\n        \/\/ jQuery UI Datepicker setzen\n        $input.datepicker('setDate', targetDate);\n        console.log('[date_event] gesetzt \u00fcber jQuery UI \u2192', targetDate);\n      } catch(e) {\n        \/\/ Fallback: ISO\n        var iso = targetDate.toISOString().slice(0,10);\n        $input.val(iso).trigger('change');\n        console.log('[date_event] gesetzt \u00fcber Fallback \u2192', iso);\n      }\n    }\n  }\n\n  \/\/ Direkt beim Laden\n  setDate();\n\n  \/\/ Falls Formular sp\u00e4ter eingeblendet (Steps \/ AJAX)\n  $(document).on('focus', 'input[name=\"date_event\"], #date_event, input.hasDatepicker', function(){\n    setDate();\n  });\n});\n<\/script>\n<style>\n\/* Nativen Caret im Fokus ausblenden, wenn Fake-Caret aktiv ist *\/\n.de_fb_form_wrapper .use-fake-caret {\n  caret-color: transparent !important;\n}\n\n\/* Style des k\u00fcnstlichen Carets *\/\n.fake-caret {\n  position: absolute;\n  width: 3px;                  \/* \u2190 hier dicker machen: z.B. 3px oder 4px *\/\n  background: #ffcc66;         \/* goldgelb *\/\n  pointer-events: none;\n  animation: fakeBlink 1s step-start infinite;\n  will-change: transform, height;\n  z-index: 2;\n}\n\n@keyframes fakeBlink { 50% { opacity: 0; } }\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  const selector = [\n    '.de_fb_form_wrapper input[type=\"text\"]',\n    '.de_fb_form_wrapper input[type=\"email\"]',\n    '.de_fb_form_wrapper input[type=\"url\"]',\n    '.de_fb_form_wrapper input[type=\"tel\"]',\n    '.de_fb_form_wrapper input[type=\"number\"]',\n    '.de_fb_form_wrapper input[type=\"search\"]',\n    '.de_fb_form_wrapper input[type=\"password\"]'\n  ].join(',');\n\n  const inputs = Array.from(document.querySelectorAll(selector));\n  if (!inputs.length) return;\n\n  \/\/ Canvas f\u00fcr Textmessung wiederverwenden\n  const measurer = document.createElement('canvas').getContext('2d');\n\n  \/\/ Ein Fake-Caret pro Input erzeugen (wenn fokussiert)\n  inputs.forEach(input => {\n    let caretEl = null;\n    let rafId = null;\n\n    const ensureCaretEl = () => {\n      if (caretEl && caretEl.isConnected) return caretEl;\n      caretEl = document.createElement('span');\n      caretEl.className = 'fake-caret';\n      \/\/ Container relativ positionieren, damit absolute Caret-Position stimmt\n      const container = input.parentElement || input;\n      if (getComputedStyle(container).position === 'static') {\n        container.style.position = 'relative';\n      }\n      container.appendChild(caretEl);\n      return caretEl;\n    };\n\n    const getFontShorthand = (el) => {\n      const cs = getComputedStyle(el);\n      \/\/ font shorthand: style variant weight size\/line-height family\n      const lineH = cs.lineHeight === 'normal' ? cs.fontSize : cs.lineHeight;\n      return `${cs.fontStyle} ${cs.fontVariant} ${cs.fontWeight} ${cs.fontSize}\/${lineH} ${cs.fontFamily}`;\n    };\n\n    const measureText = (el, text) => {\n      measurer.font = getComputedStyle(el).font;\n      \/\/ Fallback falls font shorthand leer:\n      if (!measurer.font || measurer.font === 'normal normal 400 16px\/normal sans-serif') {\n        measurer.font = getFontShorthand(el);\n      }\n      return measurer.measureText(text).width;\n    };\n\n    const updateCaret = () => {\n      \/\/ Nur wenn fokussiert\n      if (document.activeElement !== input) return;\n\n      const cs = getComputedStyle(input);\n      const padL = parseFloat(cs.paddingLeft) || 0;\n      const padR = parseFloat(cs.paddingRight) || 0;\n      const borL = parseFloat(cs.borderLeftWidth) || 0;\n      const borT = parseFloat(cs.borderTopWidth) || 0;\n\n      const value = input.value || '';\n      const caretIndex = input.selectionStart || 0;\n\n      \/\/ Textbreite bis zur Cursorposition\n      const leftText = value.substring(0, caretIndex);\n      const textW = measureText(input, leftText);\n\n      \/\/ Scroll-Offset des Inputs ber\u00fccksichtigen\n      const scrollX = input.scrollLeft || 0;\n\n      const rect = input.getBoundingClientRect();\n      const containerRect = (input.parentElement || input).getBoundingClientRect();\n\n      const left =\n        (rect.left - containerRect.left) + borL + padL + textW - scrollX;\n\n      \/\/ H\u00f6he \u2248 line-height (ohne Innenabst\u00e4nde etwas kleiner)\n      let caretH = parseFloat(cs.lineHeight);\n      if (isNaN(caretH)) caretH = parseFloat(cs.fontSize) * 1.2;\n      \/\/ vertikal mittig im Eingabefeld\n      const top =\n        (rect.top - containerRect.top) + borT + (input.clientHeight - caretH) \/ 2;\n\n      const el = ensureCaretEl();\n      el.style.transform = `translate(${left}px, ${top}px)`;\n      el.style.height = `${caretH}px`;\n    };\n\n    const start = () => {\n      input.classList.add('use-fake-caret');   \/\/ nativen Caret verstecken\n      ensureCaretEl();\n      cancelAnimationFrame(rafId);\n      const loop = () => {\n        updateCaret();\n        rafId = requestAnimationFrame(loop);\n      };\n      rafId = requestAnimationFrame(loop);\n    };\n\n    const stop = () => {\n      input.classList.remove('use-fake-caret');\n      cancelAnimationFrame(rafId);\n      rafId = null;\n      if (caretEl) { caretEl.remove(); caretEl = null; }\n    };\n\n    \/\/ Events, die die Caret-Position beeinflussen\n    input.addEventListener('focus', start);\n    input.addEventListener('blur', stop);\n    \/\/ Diese Events fangen wir ab, die rAF-Schleife sorgt f\u00fcr fl\u00fcssige Updates\n    ['input','keyup','keydown','click','mousedown','mouseup','touchstart','touchend','scroll'].forEach(evt => {\n      input.addEventListener(evt, () => {\n        \/\/ rAF-Loop l\u00e4uft ohnehin; optional einmal sofort aktualisieren:\n        updateCaret();\n      }, { passive: true });\n    });\n  });\n});\n<\/script>\n<\/div>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div><div class=\"et_d4_element et_pb_section et_pb_section_1 et_pb_with_background  et_pb_css_mix_blend_mode et_section_regular et_block_section\" >\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_d4_element et_pb_row et_pb_row_1  et_pb_css_mix_blend_mode et_block_row\">\n\t\t\t\t<div class=\"et_d4_element et_pb_column_4_4 et_pb_column et_pb_column_1  et_pb_css_mix_blend_mode et-last-child et_block_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module et_d4_element et_pb_text et_pb_text_0  et_pb_text_align_center et_pb_bg_layout_light\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_text_inner\"><h2>\u0633\u062c\u0651\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0644\u0625\u0636\u0627\u0641\u0629 \u0627\u062d\u062a\u0641\u0627\u0644\u0643 (\u0627\u062d\u062a\u0641\u0627\u0644\u0627\u062a\u0643) \u0648\u062a\u0639\u062f\u064a\u0644\u0647\u0627.<\/h2>\n<p>\u0641\u064a \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u062d\u0627\u0644\u064a \u0644\u0627 \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0630\u0643\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0639\u0646 \u062e\u0637\u0637\u0643\u060c \u0641\u0642\u0637 \u0623\u062e\u0628\u0631 \u0627\u0644\u0639\u0627\u0644\u0645 \u0648\u0627\u0644\u0645\u062f\u064a\u0646\u0629 \u0648\u0627\u0644\u0639\u062f\u062f \u0627\u0644\u062a\u0642\u062f\u064a\u0631\u064a \u0644\u0644\u0645\u0633\u064a\u062d\u064a\u064a\u0646 \u0627\u0644\u0630\u064a\u0646 \u062a\u0631\u064a\u062f \u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0644 \u0645\u0639\u0647\u0645. \u0628\u0639\u062f \u0628\u0636\u0639 \u0633\u0646\u0648\u0627\u062a \u0623\u0636\u0641 \u0628\u0639\u0636 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644 \u0645\u0646 \u0641\u0636\u0644\u0643. <\/p><\/div>\n\t\t\t<\/div><div class=\"et_pb_module et_d4_element et_pb_text et_pb_text_1  et_pb_text_align_center et_pb_bg_layout_light\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_text_inner\"><p>\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0625\u0644\u0649 \u062d\u0633\u0627\u0628\u0643<\/p><\/div>\n\t\t\t<\/div><div class=\"et_pb_module et_d4_element et_pb_text et_pb_text_2  et_pb_text_align_center et_pb_bg_layout_light\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_text_inner\"><h2>\u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u062d\u0633\u0627\u0628 \u062c\u062f\u064a\u062f<\/h2>\n<p>\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u062d\u0633\u0627\u0628\u061f \u0633\u062c\u0644 \u0647\u0646\u0627. <\/p><\/div>\n\t\t\t<\/div><div class=\"et_pb_button_module_wrapper et_pb_button_0_wrapper et_pb_button_alignment_center et_pb_module \">\n\t\t\t\t<a class=\"et_pb_button et_d4_element et_pb_button_0 et_pb_bg_layout_light et_block_module\" href=\"https:\/\/sdg2033.bereishit.de\/ar\/register\/\">\u0633\u062c\u0644 \u0627\u0644\u0622\u0646<\/a>\n\t\t\t<\/div><div class=\"et_pb_module et_d4_element et_pb_text et_pb_text_3  et_pb_text_align_right et_pb_bg_layout_light\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_text_inner\"><p>1<\/p><\/div>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-2785","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/pages\/2785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/comments?post=2785"}],"version-history":[{"count":7,"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/pages\/2785\/revisions"}],"predecessor-version":[{"id":2866,"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/pages\/2785\/revisions\/2866"}],"wp:attachment":[{"href":"https:\/\/sdg2033.bereishit.de\/ar\/wp-json\/wp\/v2\/media?parent=2785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}