Changeset 3349873
- Timestamp:
- 08/25/2025 04:58:03 PM (6 months ago)
- Location:
- custom-connect-button-block-for-discord
- Files:
-
- 7 added
- 6 edited
-
assets/banner-1544-500.png (added)
-
assets/banner-772-250.png (added)
-
assets/screenshot-1.png (added)
-
assets/screenshot-2.png (added)
-
assets/screenshot-3.png (added)
-
assets/screenshot-4.png (added)
-
assets/screenshot-5.png (added)
-
trunk/build/custom-connect-button-block-for-discord/index-rtl.css (modified) (1 diff)
-
trunk/build/custom-connect-button-block-for-discord/index.asset.php (modified) (1 diff)
-
trunk/build/custom-connect-button-block-for-discord/index.css (modified) (1 diff)
-
trunk/build/custom-connect-button-block-for-discord/index.js (modified) (1 diff)
-
trunk/custom-connect-button-block-for-discord.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
custom-connect-button-block-for-discord/trunk/build/custom-connect-button-block-for-discord/index-rtl.css
r3349848 r3349873 1 .dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs{background:transparent;border:none;display:flex;margin:0;padding:0}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:#1e1e1e;cursor:pointer;display:flex;flex:1;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;position:relative;transition:all .2s ease}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item:hover{background:rgba(0,0,0,.05)}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item.is-active{background:rgba(0,124,186,.04);border-bottom-color:#007cba;color:#007cba}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item svg{height:24px;width:24px;fill:currentColor}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tab-content{padding:0}.dro-ccbb-connect-block{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:600px;padding:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons{display:flex;flex-direction:row;gap:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:7px;padding:12px 16px;text-decoration:none}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button:hover{opacity:.7}.dro-ccbb-connect-block p{font-size:16px;font-weight:500;margin:0} 1 .dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs{background:transparent;border:none;display:flex;margin:0;padding:0}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:#1e1e1e;cursor:pointer;display:flex;flex:1;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;position:relative;transition:all .2s ease}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item:hover{background:rgba(0,0,0,.05)}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item.is-active{background:rgba(0,124,186,.04);border-bottom-color:#007cba;color:#007cba}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item svg{height:24px;width:24px;fill:currentColor}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tab-content{padding:0}.dro-ccbb-connect-block{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:600px;padding:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons{display:flex;flex-direction:row;gap:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:7px;padding:12px 16px;text-decoration:none}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button:hover{opacity:.7}.dro-ccbb-connect-block p{font-size:16px;font-weight:500;margin:0}.components-toolbar-group .components-toolbar-button.dro-ccbb-preview-toggle.is-pressed:before{background:transparent} -
custom-connect-button-block-for-discord/trunk/build/custom-connect-button-block-for-discord/index.asset.php
r3349848 r3349873 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-server-side-render'), 'version' => ' e37ff3a8e48bdd7e0599');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-server-side-render'), 'version' => 'd529c7341c03f9044c25'); -
custom-connect-button-block-for-discord/trunk/build/custom-connect-button-block-for-discord/index.css
r3349848 r3349873 1 .dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs{background:transparent;border:none;display:flex;margin:0;padding:0}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:#1e1e1e;cursor:pointer;display:flex;flex:1;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;position:relative;transition:all .2s ease}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item:hover{background:rgba(0,0,0,.05)}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item.is-active{background:rgba(0,124,186,.04);border-bottom-color:#007cba;color:#007cba}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item svg{height:24px;width:24px;fill:currentColor}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tab-content{padding:0}.dro-ccbb-connect-block{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:600px;padding:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons{display:flex;flex-direction:row;gap:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:7px;padding:12px 16px;text-decoration:none}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button:hover{opacity:.7}.dro-ccbb-connect-block p{font-size:16px;font-weight:500;margin:0} 1 .dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs{background:transparent;border:none;display:flex;margin:0;padding:0}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:#1e1e1e;cursor:pointer;display:flex;flex:1;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;position:relative;transition:all .2s ease}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item:hover{background:rgba(0,0,0,.05)}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item.is-active{background:rgba(0,124,186,.04);border-bottom-color:#007cba;color:#007cba}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tabs-item svg{height:24px;width:24px;fill:currentColor}.dro-native-tab-wrapper .dro-native-tabs .components-tab-panel__tab-content{padding:0}.dro-ccbb-connect-block{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:600px;padding:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons{display:flex;flex-direction:row;gap:10px}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:7px;padding:12px 16px;text-decoration:none}.dro-ccbb-connect-block .dro-ccbb-connect-buttons button.dro-ccbb-connect-button:hover{opacity:.7}.dro-ccbb-connect-block p{font-size:16px;font-weight:500;margin:0}.components-toolbar-group .components-toolbar-button.dro-ccbb-preview-toggle.is-pressed:before{background:transparent} -
custom-connect-button-block-for-discord/trunk/build/custom-connect-button-block-for-discord/index.js
r3349848 r3349873 1 (()=>{"use strict";var e,o={32:(e,o,t)=>{const n=window.wp.blocks,s=window.wp.i18n,l=window.wp.element,i=(0,l.forwardRef)(( ({icon:e,size:o=24,...t},n)=>(0,l.cloneElement)(e,{width:o,height:o,...t,ref:n}))),c=window.ReactJSXRuntime,r=()=>(0,c.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,c.jsx)("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z",fill:"currentColor"})}),a=()=>(0,c.jsx)(i,{icon:(0,c.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,c.jsxs)("defs",{children:[(0,c.jsxs)("radialGradient",{id:"playRadial",cx:"30%",cy:"30%",r:"70%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#34d399",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"50%",stopColor:"#10b981",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#047857",stopOpacity:"0.9"})]}),(0,c.jsxs)("linearGradient",{id:"playShine",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.9"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0.1"})]})]}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#playRadial)"}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#playShine)",opacity:"0.4"}),(0,c.jsx)("path",{d:"M9 7 L9 17 L17 12 Z",fill:"white",opacity:"0.95"}),(0,c.jsx)("path",{d:"M9 7 L9 17 L17 12 Z",fill:"rgba(255,255,255,0.3)"})]})}),d=()=>(0,c.jsx)(i,{icon:(0,c.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,c.jsxs)("defs",{children:[(0,c.jsxs)("radialGradient",{id:"stopRadial",cx:"30%",cy:"30%",r:"70%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#f87171",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"50%",stopColor:"#ef4444",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#b91c1c",stopOpacity:"0.9"})]}),(0,c.jsxs)("linearGradient",{id:"stopShine",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.9"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0.1"})]})]}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#stopRadial)"}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#stopShine)",opacity:"0.4"}),(0,c.jsx)("rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",fill:"white",opacity:"0.95"}),(0,c.jsx)("rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",fill:"rgba(255,255,255,0.3)"})]})}),x=()=>(0,c.jsx)("div",{className:"live-preview-badge",style:{position:"absolute",top:"8px",right:"8px",backgroundColor:"#007cba",color:"white",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",zIndex:10,pointerEvents:"none"},children:(0,s.__)("Live Preview","custom-connect-button-block-for-discord")}),h=window.wp.apiFetch;var p=t.n(h);const g=window.wp.blockEditor,u=window.wp.serverSideRender;var j=t.n(u);const f=window.wp.components,w=window.wp.primitives,_=(0,c.jsx)(w.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(w.Path,{d:"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z"})}),v=(0,c.jsx)(w.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(w.Path,{d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z"})}),b=(0,c.jsx)(w.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(w.Path,{d:"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z"})}),C=({iconURL:e,size:o=20})=>e?(0,c.jsx)("svg",{width:o,height:o,viewBox:`0 0 ${o} ${o}`,children:(0,c.jsx)("foreignObject",{width:"100%",height:"100%",children:(0,c.jsx)("img",{src:e,alt:"Service Icon",style:{width:"100%",height:"100%",objectFit:"contain"}})})}):(0,c.jsxs)("svg",{width:o,height:o,viewBox:"0 0 24 24",fill:"currentColor",children:[(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,c.jsx)("text",{x:"12",y:"16",textAnchor:"middle",fontSize:"12",fill:"white",children:"?"})]}),m="custom-connect-button-block-for-discord",y=JSON.parse('{"UU":"dro-block/custom-connect-button-block-for-discord"}');(0,n.registerBlockType)(y.UU,{icon:r,edit:function({attributes:e,setAttributes:o}){const{connectButtonTextColor:t,connectButtonBgColor:n,disconnectButtonTextColor:i,disconnectButtonBgColor:h,loggedInText:u,loggedOutText:w,roleWillAssignText:y,roleAssignedText:T,discordConnectedAccountText:B,isLivePreview:k=!1}=e,O=(0,g.useBlockProps)({className:"dro-ccbb-connect-block"}),[R,P]=(0,l.useState)(null),[S,A]=(0,l.useState)(null),[L,N]=(0,l.useState)(!0),[z,D]=(0,l.useState)(null);return(0,l.useEffect)((()=>{(async()=>{try{N(!0),D(null);const e=await p()({path:droDiscordApi.endpoints.icons});if(!e.success||!e.data.icon_url)throw new Error((0,s.__)("No icon URL found in response",m));P(e.data.icon_url),A(e.data.service_name)}catch(e){console.info("Error fetching Discord service icon:",e),D(e.message||(0,s.__)("Failed to fetch service icon",m))}finally{N(!1)}})()}),[]),(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(g.BlockControls,{children:(0,c.jsxs)(f.ToolbarGroup,{children:[(0,c.jsx)(f.ToolbarButton,{icon:k?d:a,label:k?(0,s.__)("Back to Edit",m):(0,s.__)("Live Preview",m),isPressed:k,onClick:()=>o({isLivePreview:!k})}),(0,c.jsx)(f.ToolbarButton,{icon:L?(0,c.jsx)(f.Spinner,{}):z?(0,c.jsx)(f.Icon,{icon:_}):(0,c.jsx)(f.Icon,{icon:()=>(0,c.jsx)(C,{iconURL:R,size:20})}),onClick:()=>alert((0,s.__)("Discord active service: "+S,m))})]})}),(0,c.jsx)(g.InspectorControls,{children:(0,c.jsx)("div",{className:"dro-native-tab-wrapper",children:(0,c.jsx)(f.TabPanel,{className:"dro-native-tabs",activeClass:"is-active",tabs:[{name:"settings",title:(0,s.__)("Settings",m),icon:v},{name:"style",title:(0,s.__)("Style",m),icon:b}],children:e=>(0,c.jsxs)(c.Fragment,{children:["settings"===e.name&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Button Text Settings",m),initialOpen:!0,children:[(0,c.jsx)(f.TextControl,{label:(0,s.__)("Connect Button Text",m),value:u,onChange:e=>o({loggedInText:e}),placeholder:(0,s.__)("Connect to Discord",m)}),(0,c.jsx)(f.TextControl,{label:(0,s.__)("Disconnect Button Text",m),value:w,onChange:e=>o({loggedOutText:e}),placeholder:(0,s.__)("Disconnect from Discord",m)})]}),(0,c.jsx)(f.PanelBody,{title:(0,s.__)("Discord Account Text",m),initialOpen:!1,children:(0,c.jsx)(f.TextControl,{label:(0,s.__)("Connected Account Text",m),value:B,onChange:e=>o({discordConnectedAccountText:e}),placeholder:(0,s.__)("Connected account: {discord_username}",m),help:(0,s.__)("Use {discord_username} as placeholder for the actual username",m)})}),(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Role Assignment Text",m),initialOpen:!1,children:[(0,c.jsx)(f.TextControl,{label:(0,s.__)("Role Will Assign Text",m),value:y,onChange:e=>o({roleWillAssignText:e}),placeholder:(0,s.__)("You will be assigned the following Discord roles:",m)}),(0,c.jsx)(f.TextControl,{label:(0,s.__)("Role Assigned Text",m),value:T,onChange:e=>o({roleAssignedText:e}),placeholder:(0,s.__)("You have been assigned the following Discord roles:",m)})]})]}),"style"===e.name&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Connect Button Colors",m),initialOpen:!0,children:[(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Background Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:n,onChangeComplete:e=>o({connectButtonBgColor:e.hex})}),(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Text Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:t,onChangeComplete:e=>o({connectButtonTextColor:e.hex})})]}),(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Disconnect Button Colors",m),initialOpen:!1,children:[(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Background Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:h,onChangeComplete:e=>o({disconnectButtonBgColor:e.hex})}),(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Text Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:i,onChangeComplete:e=>o({disconnectButtonTextColor:e.hex})})]})]})]})})})}),(0,c.jsxs)("div",{...O,children:[(0,c.jsx)("div",{style:{display:k?"block":"none"},children:(0,c.jsxs)("div",{className:"live-preview-wrapper",style:{position:"relative"},children:[(0,c.jsx)(x,{}),(0,c.jsx)(j(),{block:"dro-block/custom-connect-button-block-for-discord",attributes:e,LoadingResponseComponent:()=>(0,c.jsxs)("div",{style:{textAlign:"center",padding:"20px"},children:[(0,c.jsx)(f.Spinner,{}),(0,c.jsx)("p",{children:(0,s.__)("Loading preview...",m)})]}),ErrorResponseComponent:({response:e})=>(0,c.jsxs)("div",{style:{padding:"20px",backgroundColor:"#f8d7da",color:"#721c24",borderRadius:"4px"},children:[(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,s.__)("Preview Error:",m)})}),(0,c.jsx)("p",{children:e?.message||(0,s.__)("Could not load preview",m)})]})})]})}),(0,c.jsx)("div",{style:{display:k?"none":"block"},children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"dro-ccbb-connect-buttons",children:[(0,c.jsxs)("button",{style:{backgroundColor:n,color:t},className:"dro-ccbb-connect-button",children:[(0,c.jsx)(g.RichText,{tagName:"span",value:u,onChange:e=>o({loggedInText:e}),placeholder:(0,s.__)("Connect to Discord...",m)}),(0,c.jsx)(f.Icon,{icon:r})]}),(0,c.jsxs)("button",{style:{backgroundColor:h,color:i},className:"dro-ccbb-connect-button",children:[(0,c.jsx)(g.RichText,{tagName:"span",value:w,onChange:e=>o({loggedOutText:e}),placeholder:(0,s.__)("Disconnect from Discord?",m)}),(0,c.jsx)(f.Icon,{icon:r})]})]}),(0,c.jsx)(g.RichText,{tagName:"p",value:B,onChange:e=>o({discordConnectedAccountText:e}),placeholder:(0,s.__)("Connected account text...",m)}),(0,c.jsx)(g.RichText,{tagName:"p",value:y,onChange:e=>o({roleWillAssignText:e}),placeholder:(0,s.__)("Role will assign text...",m)}),(0,c.jsx)(g.RichText,{tagName:"p",value:T,onChange:e=>o({roleAssignedText:e}),placeholder:(0,s.__)("Role assigned text...",m)})]})})]})]})},save:()=>null})}},t={};function n(e){var s=t[e];if(void 0!==s)return s.exports;var l=t[e]={exports:{}};return o[e](l,l.exports,n),l.exports}n.m=o,e=[],n.O=(o,t,s,l)=>{if(!t){var i=1/0;for(d=0;d<e.length;d++){for(var[t,s,l]=e[d],c=!0,r=0;r<t.length;r++)(!1&l||i>=l)&&Object.keys(n.O).every((e=>n.O[e](t[r])))?t.splice(r--,1):(c=!1,l<i&&(i=l));if(c){e.splice(d--,1);var a=s();void 0!==a&&(o=a)}}return o}l=l||0;for(var d=e.length;d>0&&e[d-1][2]>l;d--)e[d]=e[d-1];e[d]=[t,s,l]},n.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return n.d(o,{a:o}),o},n.d=(e,o)=>{for(var t in o)n.o(o,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},n.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{var e={336:0,824:0};n.O.j=o=>0===e[o];var o=(o,t)=>{var s,l,[i,c,r]=t,a=0;if(i.some((o=>0!==e[o]))){for(s in c)n.o(c,s)&&(n.m[s]=c[s]);if(r)var d=r(n)}for(o&&o(t);a<i.length;a++)l=i[a],n.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return n.O(d)},t=globalThis.webpackChunk_custom_connect_button_block_for_discord_=globalThis.webpackChunk_custom_connect_button_block_for_discord_||[];t.forEach(o.bind(null,0)),t.push=o.bind(null,t.push.bind(t))})();var s=n.O(void 0,[824],(()=>n(32)));s=n.O(s)})();1 (()=>{"use strict";var e,o={32:(e,o,t)=>{const n=window.wp.blocks,s=window.wp.i18n,l=window.wp.element,i=(0,l.forwardRef)(({icon:e,size:o=24,...t},n)=>(0,l.cloneElement)(e,{width:o,height:o,...t,ref:n})),c=window.ReactJSXRuntime,r=()=>(0,c.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,c.jsx)("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z",fill:"currentColor"})}),a=()=>(0,c.jsx)(i,{icon:(0,c.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,c.jsxs)("defs",{children:[(0,c.jsxs)("radialGradient",{id:"playRadial",cx:"30%",cy:"30%",r:"70%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#34d399",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"50%",stopColor:"#10b981",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#047857",stopOpacity:"0.9"})]}),(0,c.jsxs)("linearGradient",{id:"playShine",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.9"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0.1"})]})]}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#playRadial)"}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#playShine)",opacity:"0.4"}),(0,c.jsx)("path",{d:"M9 7 L9 17 L17 12 Z",fill:"white",opacity:"0.95"}),(0,c.jsx)("path",{d:"M9 7 L9 17 L17 12 Z",fill:"rgba(255,255,255,0.3)"})]})}),d=()=>(0,c.jsx)(i,{icon:(0,c.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,c.jsxs)("defs",{children:[(0,c.jsxs)("radialGradient",{id:"stopRadial",cx:"30%",cy:"30%",r:"70%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#f87171",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"50%",stopColor:"#ef4444",stopOpacity:"1"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#b91c1c",stopOpacity:"0.9"})]}),(0,c.jsxs)("linearGradient",{id:"stopShine",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,c.jsx)("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.9"}),(0,c.jsx)("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0.1"})]})]}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#stopRadial)"}),(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"url(#stopShine)",opacity:"0.4"}),(0,c.jsx)("rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",fill:"white",opacity:"0.95"}),(0,c.jsx)("rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",fill:"rgba(255,255,255,0.3)"})]})}),x=()=>(0,c.jsx)("div",{className:"live-preview-badge",style:{position:"absolute",top:"8px",right:"8px",backgroundColor:"#007cba",color:"white",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",zIndex:10,pointerEvents:"none"},children:(0,s.__)("Live Preview","custom-connect-button-block-for-discord")}),h=window.wp.apiFetch;var p=t.n(h);const g=window.wp.blockEditor,u=window.wp.serverSideRender;var j=t.n(u);const f=window.wp.components,w=window.wp.primitives,v=(0,c.jsx)(w.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(w.Path,{d:"M12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.75 8V13H11.25V8H12.75ZM12.75 14.5V16H11.25V14.5H12.75Z"})}),_=(0,c.jsx)(w.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(w.Path,{d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z"})}),b=(0,c.jsx)(w.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,c.jsx)(w.Path,{d:"M4 20h8v-1.5H4V20zM18.9 3.5c-.6-.6-1.5-.6-2.1 0l-7.2 7.2c-.4-.1-.7 0-1.1.1-.5.2-1.5.7-1.9 2.2-.4 1.7-.8 2.2-1.1 2.7-.1.1-.2.3-.3.4l-.6 1.1H6c2 0 3.4-.4 4.7-1.4.8-.6 1.2-1.4 1.3-2.3 0-.3 0-.5-.1-.7L19 5.7c.5-.6.5-1.6-.1-2.2zM9.7 14.7c-.7.5-1.5.8-2.4 1 .2-.5.5-1.2.8-2.3.2-.6.4-1 .8-1.1.5-.1 1 .1 1.3.3.2.2.3.5.2.8 0 .3-.1.9-.7 1.3z"})}),C=({iconURL:e,size:o=20})=>e?(0,c.jsx)("svg",{width:o,height:o,viewBox:`0 0 ${o} ${o}`,children:(0,c.jsx)("foreignObject",{width:"100%",height:"100%",children:(0,c.jsx)("img",{src:e,alt:"Service Icon",style:{width:"100%",height:"100%",objectFit:"contain"}})})}):(0,c.jsxs)("svg",{width:o,height:o,viewBox:"0 0 24 24",fill:"currentColor",children:[(0,c.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,c.jsx)("text",{x:"12",y:"16",textAnchor:"middle",fontSize:"12",fill:"white",children:"?"})]}),m="custom-connect-button-block-for-discord",y=JSON.parse('{"UU":"dro-block/custom-connect-button-block-for-discord"}');(0,n.registerBlockType)(y.UU,{icon:r,edit:function({attributes:e,setAttributes:o}){const{connectButtonTextColor:t,connectButtonBgColor:n,disconnectButtonTextColor:i,disconnectButtonBgColor:h,loggedInText:u,loggedOutText:w,roleWillAssignText:y,roleAssignedText:T,discordConnectedAccountText:B,isLivePreview:k=!1}=e,O=(0,g.useBlockProps)({className:"dro-ccbb-connect-block"}),[R,P]=(0,l.useState)(null),[S,A]=(0,l.useState)(null),[L,N]=(0,l.useState)(!0),[z,D]=(0,l.useState)(null);return(0,l.useEffect)(()=>{(async()=>{try{N(!0),D(null);const e=await p()({path:droDiscordApi.endpoints.icons});if(!e.success||!e.data.icon_url)throw new Error((0,s.__)("No icon URL found in response",m));P(e.data.icon_url),A(e.data.service_name)}catch(e){console.info("Error fetching Discord service icon:",e),D(e.message||(0,s.__)("Failed to fetch service icon",m))}finally{N(!1)}})()},[]),(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(g.BlockControls,{children:(0,c.jsxs)(f.ToolbarGroup,{children:[(0,c.jsx)(f.ToolbarButton,{icon:k?d:a,label:k?(0,s.__)("Back to Edit",m):(0,s.__)("Live Preview",m),isPressed:k,className:"dro-ccbb-preview-toggle",onClick:()=>o({isLivePreview:!k})}),(0,c.jsx)(f.ToolbarButton,{icon:L?(0,c.jsx)(f.Spinner,{}):z?(0,c.jsx)(f.Icon,{icon:v}):(0,c.jsx)(f.Icon,{icon:()=>(0,c.jsx)(C,{iconURL:R,size:20})}),onClick:()=>alert((0,s.__)("Discord active service: "+S,m))})]})}),(0,c.jsx)(g.InspectorControls,{children:(0,c.jsx)("div",{className:"dro-native-tab-wrapper",children:(0,c.jsx)(f.TabPanel,{className:"dro-native-tabs",activeClass:"is-active",tabs:[{name:"settings",title:(0,s.__)("Settings",m),icon:_},{name:"style",title:(0,s.__)("Style",m),icon:b}],children:e=>(0,c.jsxs)(c.Fragment,{children:["settings"===e.name&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Button Text Settings",m),initialOpen:!0,children:[(0,c.jsx)(f.TextControl,{label:(0,s.__)("Connect Button Text",m),value:u,onChange:e=>o({loggedInText:e}),placeholder:(0,s.__)("Connect to Discord",m)}),(0,c.jsx)(f.TextControl,{label:(0,s.__)("Disconnect Button Text",m),value:w,onChange:e=>o({loggedOutText:e}),placeholder:(0,s.__)("Disconnect from Discord",m)})]}),(0,c.jsx)(f.PanelBody,{title:(0,s.__)("Discord Account Text",m),initialOpen:!1,children:(0,c.jsx)(f.TextControl,{label:(0,s.__)("Connected Account Text",m),value:B,onChange:e=>o({discordConnectedAccountText:e}),placeholder:(0,s.__)("Connected account: {discord_username}",m),help:(0,s.__)("Use {discord_username} as placeholder for the actual username",m)})}),(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Role Assignment Text",m),initialOpen:!1,children:[(0,c.jsx)(f.TextControl,{label:(0,s.__)("Role Will Assign Text",m),value:y,onChange:e=>o({roleWillAssignText:e}),placeholder:(0,s.__)("You will be assigned the following Discord roles:",m)}),(0,c.jsx)(f.TextControl,{label:(0,s.__)("Role Assigned Text",m),value:T,onChange:e=>o({roleAssignedText:e}),placeholder:(0,s.__)("You have been assigned the following Discord roles:",m)})]})]}),"style"===e.name&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Connect Button Colors",m),initialOpen:!0,children:[(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Background Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:n,onChangeComplete:e=>o({connectButtonBgColor:e.hex})}),(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Text Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:t,onChangeComplete:e=>o({connectButtonTextColor:e.hex})})]}),(0,c.jsxs)(f.PanelBody,{title:(0,s.__)("Disconnect Button Colors",m),initialOpen:!1,children:[(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Background Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:h,onChangeComplete:e=>o({disconnectButtonBgColor:e.hex})}),(0,c.jsx)(f.PanelRow,{children:(0,c.jsx)("label",{children:(0,s.__)("Text Color",m)})}),(0,c.jsx)(f.ColorPicker,{color:i,onChangeComplete:e=>o({disconnectButtonTextColor:e.hex})})]})]})]})})})}),(0,c.jsxs)("div",{...O,children:[(0,c.jsx)("div",{style:{display:k?"block":"none"},children:(0,c.jsxs)("div",{className:"live-preview-wrapper",style:{position:"relative"},children:[(0,c.jsx)(x,{}),(0,c.jsx)(j(),{block:"dro-block/custom-connect-button-block-for-discord",attributes:e,LoadingResponseComponent:()=>(0,c.jsxs)("div",{style:{textAlign:"center",padding:"20px"},children:[(0,c.jsx)(f.Spinner,{}),(0,c.jsx)("p",{children:(0,s.__)("Loading preview...",m)})]}),ErrorResponseComponent:({response:e})=>(0,c.jsxs)("div",{style:{padding:"20px",backgroundColor:"#f8d7da",color:"#721c24",borderRadius:"4px"},children:[(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,s.__)("Preview Error:",m)})}),(0,c.jsx)("p",{children:e?.message||(0,s.__)("Could not load preview",m)})]})})]})}),(0,c.jsx)("div",{style:{display:k?"none":"block"},children:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"dro-ccbb-connect-buttons",children:[(0,c.jsxs)("button",{style:{backgroundColor:n,color:t},className:"dro-ccbb-connect-button",children:[(0,c.jsx)(g.RichText,{tagName:"span",value:u,onChange:e=>o({loggedInText:e}),placeholder:(0,s.__)("Connect to Discord...",m)}),(0,c.jsx)(f.Icon,{icon:r})]}),(0,c.jsxs)("button",{style:{backgroundColor:h,color:i},className:"dro-ccbb-connect-button",children:[(0,c.jsx)(g.RichText,{tagName:"span",value:w,onChange:e=>o({loggedOutText:e}),placeholder:(0,s.__)("Disconnect from Discord?",m)}),(0,c.jsx)(f.Icon,{icon:r})]})]}),(0,c.jsx)(g.RichText,{tagName:"p",value:B,onChange:e=>o({discordConnectedAccountText:e}),placeholder:(0,s.__)("Connected account text...",m)}),(0,c.jsx)(g.RichText,{tagName:"p",value:y,onChange:e=>o({roleWillAssignText:e}),placeholder:(0,s.__)("Role will assign text...",m)}),(0,c.jsx)(g.RichText,{tagName:"p",value:T,onChange:e=>o({roleAssignedText:e}),placeholder:(0,s.__)("Role assigned text...",m)})]})})]})]})},save:()=>null})}},t={};function n(e){var s=t[e];if(void 0!==s)return s.exports;var l=t[e]={exports:{}};return o[e](l,l.exports,n),l.exports}n.m=o,e=[],n.O=(o,t,s,l)=>{if(!t){var i=1/0;for(d=0;d<e.length;d++){for(var[t,s,l]=e[d],c=!0,r=0;r<t.length;r++)(!1&l||i>=l)&&Object.keys(n.O).every(e=>n.O[e](t[r]))?t.splice(r--,1):(c=!1,l<i&&(i=l));if(c){e.splice(d--,1);var a=s();void 0!==a&&(o=a)}}return o}l=l||0;for(var d=e.length;d>0&&e[d-1][2]>l;d--)e[d]=e[d-1];e[d]=[t,s,l]},n.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return n.d(o,{a:o}),o},n.d=(e,o)=>{for(var t in o)n.o(o,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},n.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{var e={336:0,824:0};n.O.j=o=>0===e[o];var o=(o,t)=>{var s,l,[i,c,r]=t,a=0;if(i.some(o=>0!==e[o])){for(s in c)n.o(c,s)&&(n.m[s]=c[s]);if(r)var d=r(n)}for(o&&o(t);a<i.length;a++)l=i[a],n.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return n.O(d)},t=globalThis.webpackChunk_custom_connect_button_block_for_discord_=globalThis.webpackChunk_custom_connect_button_block_for_discord_||[];t.forEach(o.bind(null,0)),t.push=o.bind(null,t.push.bind(t))})();var s=n.O(void 0,[824],()=>n(32));s=n.O(s)})(); -
custom-connect-button-block-for-discord/trunk/custom-connect-button-block-for-discord.php
r3349848 r3349873 4 4 * Plugin URI: https://github.com/younes-dro/custom-connect-button-block-for-discord 5 5 * Description: A Gutenberg block that provides a customizable "Connect to Discord" button, designed to work with supported Discord integration add-ons: PMPro Discord Add-on, ExpressTech MemberPress Discord Add-on, Connect Ultimate Member to Discord, and Connect Tutor LMS to Discord. 6 * Version: 1.0. 06 * Version: 1.0.1 7 7 * Requires at least: 6.8 8 8 * Requires PHP: 7.4 … … 26 26 } 27 27 28 define( 'DRO_CCBB_VERSION', get_file_data( __FILE__, array( 'Version' ), 'plugin' )[0] ?? '1.0. 0' );28 define( 'DRO_CCBB_VERSION', get_file_data( __FILE__, array( 'Version' ), 'plugin' )[0] ?? '1.0.1' ); 29 29 define( 'DRO_CCBB_FILE', __FILE__ ); 30 30 define( 'DRO_CCBB_DIR', plugin_dir_path( __FILE__ ) ); -
custom-connect-button-block-for-discord/trunk/readme.txt
r3349848 r3349873 1 1 === Custom connect button block for Discord === 2 Contributors: vanbom 2 Contributors: vanbom,webbdeveloper 3 3 Donate link: https://paypal.me/younesdro 4 4 Tags: block, discord, gutenberg, membership, LMS 5 5 Tested up to: 6.8 6 Stable tag: 1.0. 06 Stable tag: 1.0.1 7 7 Requires at least: 6.8 8 8 Requires PHP: 7.4 … … 72 72 73 73 == Screenshots == 74 74 1. Initial block status - buttons + text 75 2. Enable live preview for non-connected user 76 3. Live preview for connected user to Discord 77 4. The button text placeholder settings 78 5. The color settings for buttons: front color and background color 75 79 76 80 == Changelog ==
Note: See TracChangeset
for help on using the changeset viewer.