{"product_id":"🗺️-maps-widget-en","title":"🗺️ Maps Widget EN","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\nbody { font-family: Arial, sans-serif; padding: 20px; background: #f5f5f5; }\nfieldset { margin-bottom: 20px; padding: 15px; border-radius: 8px; border: 1px solid #ccc; background: #fff; }\nlegend { font-weight: bold; }\n.form-row { display: grid; grid-template-columns: 180px auto; align-items: center; margin-bottom: 10px; gap: 10px; }\nlabel { font-weight: 500; }\ninput, select, textarea { padding: 6px; border-radius: 4px; border: 1px solid #ccc; }\n.color-picker { display: flex; gap: 10px; align-items: center; }\n.color-picker input[type=\"text\"] { width: 100px; }\n.color-picker input[type=\"color\"] { width: 40px; height: 32px; padding: 0; border: none; cursor: pointer; }\n.checkbox-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }\n.checkbox-row input[type=\"checkbox\"] { width: auto; }\nbutton { margin-top: 10px; padding: 10px 20px; font-size: 16px; cursor: pointer; }\n#gmw-widget-container { margin-bottom: 30px; }\n#fontPreview { padding: 6px; border: 1px solid #ccc; border-radius: 4px; background:#f0f0f0; }\n\u003c\/style\u003e\n\u003cdiv id=\"gmw-widget-container\"\u003e\u003c\/div\u003e\n\u003ch1\u003eMap Widget Settings\u003c\/h1\u003e\n\u003cform id=\"configForm\"\u003e\n\u003cfieldset\u003e\n\u003clegend\u003eBasic Settings\u003c\/legend\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"title\"\u003eTitle\u003c\/label\u003e \u003cinput type=\"text\" value=\"🏢 Tech Hub Office\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"address\"\u003eAddress\u003c\/label\u003e \u003cinput type=\"text\" id=\"address\" value=\"Staroměstské náměstí 1, Prague, Czechia\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"lat\"\u003eLatitude\u003c\/label\u003e \u003cinput type=\"number\" id=\"lat\" step=\"0.0001\" value=\"50.0875\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"lng\"\u003eLongitude\u003c\/label\u003e \u003cinput type=\"number\" id=\"lng\" step=\"0.0001\" value=\"14.4213\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"zoom\"\u003eMap Zoom\u003c\/label\u003e \u003cinput type=\"number\" id=\"zoom\" min=\"1\" max=\"20\" value=\"15\"\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003cfieldset\u003e\n\u003clegend\u003eContact Information\u003c\/legend\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"phone\"\u003ePhone\u003c\/label\u003e \u003cinput type=\"text\" id=\"phone\" value=\"+420 123 456 789\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"email\"\u003eEmail\u003c\/label\u003e \u003cinput type=\"email\" id=\"email\" value=\"info@techhub.cz\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"website\"\u003eWebsite\u003c\/label\u003e \u003cinput type=\"url\" id=\"website\" value=\"https:\/\/techhub.cz\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"businessHours\"\u003eBusiness Hours\u003c\/label\u003e \u003cinput type=\"text\" id=\"businessHours\" value=\"Mon-Fri 9:00-18:00\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"parking\"\u003eParking\u003c\/label\u003e \u003cinput type=\"text\" id=\"parking\" value=\"Free for clients\"\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003cfieldset\u003e\n\u003clegend\u003eDisplay Options\u003c\/legend\u003e\n\u003cdiv class=\"checkbox-row\"\u003e\n\u003cinput type=\"checkbox\" id=\"showDirections\" checked\u003e \u003clabel for=\"showDirections\"\u003eShow directions\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"checkbox-row\"\u003e\n\u003cinput type=\"checkbox\" id=\"showCall\" checked\u003e \u003clabel for=\"showCall\"\u003eShow call button\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"checkbox-row\"\u003e\n\u003cinput type=\"checkbox\" id=\"showWebsite\" checked\u003e \u003clabel for=\"showWebsite\"\u003eShow website link\u003c\/label\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003cfieldset\u003e\n\u003clegend\u003eTheme Colors\u003c\/legend\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"primary\"\u003ePrimary color\u003c\/label\u003e\n\u003cdiv class=\"color-picker\"\u003e\n\u003cinput type=\"text\" id=\"primary\" value=\"#4285f4\"\u003e \u003cinput type=\"color\" id=\"primaryPicker\" value=\"#4285f4\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"secondary\"\u003eSecondary color\u003c\/label\u003e\n\u003cdiv class=\"color-picker\"\u003e\n\u003cinput type=\"text\" id=\"secondary\" value=\"#34a853\"\u003e \u003cinput type=\"color\" id=\"secondaryPicker\" value=\"#34a853\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"background\"\u003eBackground\u003c\/label\u003e\n\u003cdiv class=\"color-picker\"\u003e\n\u003cinput type=\"text\" id=\"background\" value=\"#ffffff\"\u003e \u003cinput type=\"color\" id=\"backgroundPicker\" value=\"#ffffff\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"text\"\u003eText color\u003c\/label\u003e\n\u003cdiv class=\"color-picker\"\u003e\n\u003cinput type=\"text\" id=\"text\" value=\"#333333\"\u003e \u003cinput type=\"color\" id=\"textPicker\" value=\"#333333\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"headerBg\"\u003eHeader background\u003c\/label\u003e \u003ctextarea id=\"headerBg\" rows=\"2\"\u003elinear-gradient(135deg, #667eea 0%, #764ba2 100%)\u003c\/textarea\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003cfieldset\u003e\n\u003clegend\u003eStyle \u0026amp; Font\u003c\/legend\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"borderRadius\"\u003eBorder radius\u003c\/label\u003e \u003cinput type=\"number\" id=\"borderRadius\" value=\"16\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"mapHeight\"\u003eMap height\u003c\/label\u003e \u003cinput type=\"number\" id=\"mapHeight\" value=\"300\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel for=\"fontSelect\"\u003eFont\u003c\/label\u003e\u003cselect id=\"fontSelect\"\u003e\n\u003coption value=\"'Inter', system-ui, sans-serif\" selected\u003eInter (default)\u003c\/option\u003e\n\u003coption value=\"'Roboto', sans-serif\"\u003eRoboto\u003c\/option\u003e\n\u003coption value=\"'Open Sans', sans-serif\"\u003eOpen Sans\u003c\/option\u003e\n\u003coption value=\"'Lato', sans-serif\"\u003eLato\u003c\/option\u003e\n\u003coption value=\"'Montserrat', sans-serif\"\u003eMontserrat\u003c\/option\u003e\n\u003coption value=\"'Raleway', sans-serif\"\u003eRaleway\u003c\/option\u003e\n\u003coption value=\"'Oswald', sans-serif\"\u003eOswald\u003c\/option\u003e\n\u003coption value=\"'Merriweather', serif\"\u003eMerriweather\u003c\/option\u003e\n\u003coption value=\"'PT Sans', sans-serif\"\u003ePT Sans\u003c\/option\u003e\n\u003coption value=\"'Nunito', sans-serif\"\u003eNunito\u003c\/option\u003e\n\u003coption value=\"'Playfair Display', serif\"\u003ePlayfair Display\u003c\/option\u003e\n\u003coption value=\"'Roboto Slab', serif\"\u003eRoboto Slab\u003c\/option\u003e\n\u003coption value=\"'Source Sans Pro', sans-serif\"\u003eSource Sans Pro\u003c\/option\u003e\n\u003coption value=\"'Ubuntu', sans-serif\"\u003eUbuntu\u003c\/option\u003e\n\u003coption value=\"'Fira Sans', sans-serif\"\u003eFira Sans\u003c\/option\u003e\n\u003coption value=\"'Inconsolata', monospace\"\u003eInconsolata\u003c\/option\u003e\n\u003coption value=\"'Cabin', sans-serif\"\u003eCabin\u003c\/option\u003e\n\u003coption value=\"'Quicksand', sans-serif\"\u003eQuicksand\u003c\/option\u003e\n\u003coption value=\"'Droid Sans', sans-serif\"\u003eDroid Sans\u003c\/option\u003e\n\u003coption value=\"'Varela Round', sans-serif\"\u003eVarela Round\u003c\/option\u003e\n\u003coption value=\"'PT Serif', serif\"\u003ePT Serif\u003c\/option\u003e\n\u003coption value=\"custom\"\u003eCustom font...\u003c\/option\u003e\n\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\" id=\"customFontRow\" style=\"display: none;\"\u003e\n\u003clabel for=\"customFont\"\u003eFont name\u003c\/label\u003e \u003cinput type=\"text\" id=\"customFont\" placeholder=\"For example: Comic Sans MS\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"form-row\"\u003e\n\u003clabel\u003ePreview\u003c\/label\u003e\n\u003cdiv id=\"fontPreview\"\u003eMap text preview\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003cdiv style=\"margin-top: 10px;\"\u003e\n\u003cbutton type=\"button\" id=\"updateWidget\"\u003eUpdate widget\u003c\/button\u003e \u003cbutton type=\"button\" id=\"sendToGitHub\" style=\"margin-left: 10px;\"\u003eSend to GitHub\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/form\u003e\n\u003cp\u003e\u003cscript id=\"bhw-local-config\" type=\"application\/json\"\u003e\u003c\/script\u003e \u003cscript\u003e\n\/\/ Color synchronization\n\/\/ Font control\n\/\/ Get configuration from form\n\/\/ Update widget\n\/\/ Event handlers\n\/\/ Initialization\n\u003c\/script\u003e \u003cscript\u003e\nfunction sendWidgetConfig(workerUrl, config, customerId) {\n    if (!customerId) {\n        alert('Customer ID not found');\n        return;\n    }\n\n    fetch(workerUrl, {\n        method: 'POST',\n        headers: { 'Content-Type': 'application\/json' },\n        body: JSON.stringify({ shopifyId: customerId, content: config })\n    })\n    .then(response =\u003e response.json())\n    .then(data =\u003e {\n        if (data.success) {\n            alert('Configuration successfully sent to GitHub!');\n        } else {\n            alert('Error: ' + data.error);\n        }\n    })\n    .catch(error =\u003e {\n        alert('Send error: ' + error.message);\n    });\n}\n\u003c\/script\u003e\u003c\/p\u003e","brand":"TF Widgets","offers":[{"title":"Default Title","offer_id":57524199063926,"sku":null,"price":0.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0934\/8825\/1254\/files\/TechHubOffice.png?v=1776866385","url":"https:\/\/tf-widgets.com\/products\/%f0%9f%97%ba%ef%b8%8f-maps-widget-en","provider":"TF Widgets","version":"1.0","type":"link"}