Search
Search

Transaction: ACtAqsN...GxvL

Receiver
Status
Succeeded
Transaction Fee
0.00118 
Deposit Value
0 
Gas Used
15 Tgas
Attached Gas
100 Tgas
Created
June 09, 2023 at 5:55:47pm
Hash
ACtAqsNxZssdLYiev3J6mrEKjVeeafuBmYo9Zk1jGxvL

Actions

Called method: 'set' in contract: social.near
Arguments:
{ "data": { "f2bc8abdb8ba64fe5aac9689ded9491ff0e6fdcd7a5c680b7cf364142d1789fb": { "widget": { "general_neardigitalcollective_master-handler": { "": "/*----------------------------------------------Start get props----------------------------------------------*/\r\nconst dataCallInfo = props.dataCallInfo ?? [\"poll_question\", \"question-v3.1.1\"];\r\n\r\nconst data = Social.index(dataCallInfo[0], dataCallInfo[1]);\r\nif (!data) {\r\n return \"Loading datas\";\r\n}\r\n\r\nconst abortModalWidgetName =\r\n props.abortModalWidgetName ??\r\n \"general_neardigitalcollective_standard-abort-popup\";\r\n\r\nconst widgetOwner =\r\n props.widgetOwner ??\r\n \"f2bc8abdb8ba64fe5aac9689ded9491ff0e6fdcd7a5c680b7cf364142d1789fb\";\r\n\r\nconst tabs = props.tabs ?? {\r\n MY_POLL: {\r\n id: 1,\r\n text: \"My Polls\",\r\n isTab: true,\r\n widgetName: \"general_neardigitalcollective_cards-container\",\r\n props: {\r\n isOwnAccountId: true,\r\n navegateTo: 4,\r\n formatCard,\r\n },\r\n },\r\n ALL_POLLS: {\r\n id: 2,\r\n text: \"All Polls\",\r\n isTab: true,\r\n widgetName: \"general_neardigitalcollective_cards-container\",\r\n props: {\r\n isOwnAccountId: false,\r\n navegateTo: 4,\r\n formatCard,\r\n },\r\n },\r\n NEW_POLL: {\r\n id: 3,\r\n text: finalData ? \"Edit Poll\" : \"Create Poll\",\r\n isButtonInNavegation: true,\r\n widgetName: \"newPollQuestionInterface\",\r\n props: { isButtonInNavegation: true },\r\n },\r\n OPEN_POLL: {\r\n id: 4,\r\n text: \"\",\r\n isCardNavigate: true,\r\n widgetName: \"newVotingInterface\",\r\n props: { blockHeight: state.postBlockHeight },\r\n },\r\n};\r\n\r\nconst formatCard = props.formatCard ?? {\r\n body: {\r\n row1: {\r\n rowType: \"markdown\",\r\n contentData: \"data\",\r\n },\r\n row2: {\r\n rowType: \"text\",\r\n contentData: \"data2\",\r\n },\r\n row3: {\r\n rowType: \"flex\",\r\n flexClassName: \"justify-content-between border rounded p-3\",\r\n contentData: [\r\n {\r\n type: \"flex\",\r\n flexClassName:\r\n \"flex-column justify-content-start align-items-center border-right\",\r\n style: { width: \"33%\" },\r\n content: [\r\n {\r\n type: \"text\",\r\n value: \"Created by\",\r\n },\r\n {\r\n type: \"key\",\r\n value: [\"accountId\"],\r\n style: {\r\n maxWidth: \"100%\",\r\n textOverflow: \"ellipsis\",\r\n overflow: \"hidden\",\r\n textWrap: \"nowrap\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n type: \"flex\",\r\n flexClassName:\r\n \"flex-column justify-content-start align-items-center border-right\",\r\n style: { width: \"33%\" },\r\n content: [\r\n {\r\n type: \"text\",\r\n value: \"Started\",\r\n },\r\n {\r\n type: \"timeStampKey\",\r\n value: \"startTimestamp\",\r\n },\r\n ],\r\n },\r\n {\r\n type: \"flex\",\r\n flexClassName:\r\n \"flex-column justify-content-start align-items-center border-right\",\r\n style: {\r\n width: \"33%\",\r\n },\r\n content: [\r\n {\r\n type: \"text\",\r\n value: \"Ended\",\r\n },\r\n {\r\n type: \"timeStampKey\",\r\n value: \"endTimestamp\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n },\r\n footer: {\r\n comment: {\r\n status: true,\r\n key: \"kudo\",\r\n path: \"f2bc8abdb8ba64fe5aac9689ded9491ff0e6fdcd7a5c680b7cf364142d1789fb/widget/Kudos\",\r\n pushDataModel:\r\n '{\"kudo\":\"{\\\\\"key\\\\\":\\\\\"commentAnswers\\\\\",\\\\\"value\\\\\":{\\\\\"commentAnswer\\\\\":\\\\\"\\\\\",\\\\\"blockHeight\\\\\":0}}\"}',\r\n },\r\n repost: {\r\n status: true,\r\n },\r\n upVoteButton: {\r\n status: true,\r\n pushDataModel:\r\n '{\"kudo\":\"{\\\\\"key\\\\\":\\\\\"upvote\\\\\",\\\\\"value\\\\\":{\\\\\"blockHeight\\\\\":0}}\"}',\r\n },\r\n shareWidget: {\r\n status: true,\r\n popUpDescription: \"Use this link to share the kudo\",\r\n shareingWidget: \"Kudos.Styles\",\r\n propName: \"sharedBlockHeight\",\r\n },\r\n },\r\n};\r\n\r\nconst cardHeaderWidgetName =\r\n props.cardHeaderWidgetName ?? \"minimalistQuestionHeader\";\r\nconst cardContentWidgetName =\r\n props.cardContentWidgetName ?? \"minimalistQuestionGeneralInfo\";\r\n\r\nconst homePageId = props.homePageId ?? 1;\r\n\r\nconst abortPopupTexts = props.abortPopupTexts ?? {\r\n abortInfoText: \"If you leave now, you will lose all your changes\",\r\n confirmAbortText: \"Discard changes\",\r\n cancelAbortText: \"Continue editing\",\r\n};\r\n\r\nconst bootstrapIcons = props.bootstrapIcons ?? {\r\n closeIcon: \"bi bi-x-lg\",\r\n logoIcon: \"bi bi-calendar-week-fill\",\r\n addIcon: \"bi bi-plus-lg\",\r\n};\r\n\r\nconst logoIconText = props.logoIconText ?? \"WeeklySchedule\";\r\n/*-----------------------------------------------End get props-----------------------------------------------*/\r\n\r\n/*----------------------------------------------Start styles----------------------------------------------*/\r\nconst colors = props.siteColors ?? {\r\n color1: \"#010A2D\",\r\n color2: \"white\",\r\n color3: \"rgb(1, 10, 45)\",\r\n green1: \"rgb(217, 252, 239)\",\r\n green2: \"rgb(0, 179, 125)\",\r\n green3: \"#7e7e7e70\",\r\n red1: \"rgb(255, 229, 229)\",\r\n red2: \"rgb(255, 71, 71)\",\r\n red3: \"#FF4747\",\r\n red4: \"#FFE5E5\",\r\n grey1: \"#353A40\",\r\n grey2: \"#767B8E\",\r\n grey3: \"#4B516A\",\r\n grey4: \"#B0B3BE\",\r\n grey5: \"rgb(230, 230, 230)\",\r\n grey6: \"#474D55\",\r\n grey7: \"rgb(53, 58, 64)\",\r\n grey8: \"rgb(225, 233, 240)\",\r\n grey9: \"rgb(71, 77, 85)\",\r\n grey10: \"rgb(118, 123, 142)\",\r\n lightBlue: \"#AAC8F7\",\r\n lightBlue2: \"#E1E9F0\",\r\n};\r\n\r\nconst standardButtonStyles = props.standardButtonStyles ?? {\r\n border: \"2px solid transparent\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n margin: \"0\",\r\n padding: \"0.3rem 1.5rem\",\r\n backgroundColor: colors.color1,\r\n borderRadius: \"12px\",\r\n color: colors.color2,\r\n};\r\n\r\nconst standardButtonHoveringStyles = props.standardButtonHoveringStyles ?? {\r\n border: \"2px solid black\",\r\n color: \"black\",\r\n backgroundColor: colors.color2,\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n margin: \"0\",\r\n padding: \"0.3rem 1.5rem\",\r\n borderRadius: \"12px\",\r\n};\r\n\r\nconst thisWidgetInlineStyles = {\r\n generalContainer: {\r\n backgroundColor: colors.grey5,\r\n fontFamily: \"Onest\",\r\n fontStyle: \"normal\",\r\n borderRadius: \"20px\",\r\n },\r\n siteHeader: {\r\n backgroundColor: colors.color2,\r\n boxShadow: \"rgba(43, 68, 106, 0.04) 0px 4px 28px\",\r\n paddingBottom: \"1.5rem\",\r\n },\r\n logoTitle: {\r\n cursor: \"pointer\",\r\n margin: \"0px 0.5rem\",\r\n fontWeight: \"700\",\r\n fontSize: \"1.3rem\",\r\n letterSpacing: \"0.1px\",\r\n },\r\n openScheduleGeneralContainer: { margin: \"0px 4rem\" },\r\n openScheduleContainer: { marginTop: \"0.6rem\" },\r\n tabContainer: {\r\n marginRight: \"1.5rem\",\r\n position: \"relative\",\r\n cursor: \"pointer\",\r\n userSelect: \"none\",\r\n },\r\n tabText: {\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n margin: \"0\",\r\n },\r\n decorativeTabUnderline: {\r\n height: \"0.2rem\",\r\n width: \"50%\",\r\n position: \"absolute\",\r\n bottom: \"-55%\",\r\n left: \"25%\",\r\n backgroundColor: colors.color1,\r\n borderRadius: \"8px\",\r\n },\r\n newScheduleButton: standardButtonStyles,\r\n newScheduleButtonHovering: standardButtonHoveringStyles,\r\n addIcon: { color: colors.color2 },\r\n addIconHovered: { color: \"black\" },\r\n showUserInfoInHeaderText: { margin: \"0px\", fontSize: \"0.8rem\" },\r\n};\r\n\r\n/*-----------------------------------------------End styles-----------------------------------------------*/\r\n\r\n/*----------------------------------------------Start functions----------------------------------------------*/\r\n\r\nState.init({\r\n tab: homePageId,\r\n prevTab: homePageId,\r\n hoveringElement: \"\",\r\n showAbort: false,\r\n abortThroughPage: homePageId,\r\n postBlockHeight: undefined,\r\n});\r\n\r\nlet sortedData =\r\n data && data.length\r\n ? data.sort((d1, d2) => d2.blockHeight - d1.blockHeight)\r\n : [];\r\n\r\nconst profile = Social.getr(`${context.accountId}/profile`);\r\nif (!profile) {\r\n return \"Loading profile\";\r\n}\r\n\r\nlet accountIds = [\"All\"];\r\nlet finalData = undefined;\r\nfor (let i = 0; i < sortedData.length; i++) {\r\n if (accountIds.indexOf(sortedData[i].accountId) < 0) {\r\n accountIds.push(sortedData[i].accountId);\r\n if (sortedData[i].accountId == context.accountId) {\r\n finalData = sortedData[i];\r\n }\r\n }\r\n}\r\n\r\nfunction handlerStateUpdate(obj) {\r\n State.update(obj);\r\n}\r\n\r\nlet prevTab = state.prevTab;\r\n\r\nfunction isCardNavigate() {\r\n let isCardNavigate;\r\n Object.keys(tabs).forEach((tabKey) => {\r\n const tab = tabs[tabKey];\r\n\r\n if (state.tab == tab.id) {\r\n isCardNavigate = tab.isCardNavigate;\r\n }\r\n });\r\n\r\n return isCardNavigate;\r\n}\r\n\r\nfunction isOnNavTab() {\r\n let isOnNavTab = false;\r\n Object.keys(tabs).forEach((tabKey) => {\r\n if (!isOnNavTab) {\r\n const tab = tabs[tabKey];\r\n if (tab.isTab && state.tab == tab.id) {\r\n isOnNavTab = true;\r\n }\r\n }\r\n });\r\n\r\n return isOnNavTab;\r\n}\r\n\r\n/*-----------------------------------------------End functions-----------------------------------------------*/\r\n\r\n/*----------------------------------------------Start render components----------------------------------------------*/\r\nconst renderAbortModal = () => {\r\n return (\r\n <Widget\r\n src={`${widgetOwner}/widget/${abortModalWidgetName}`}\r\n props={{\r\n showAbort: state.showAbort,\r\n handlerStateUpdate,\r\n abortThroughPage: state.abortThroughPage,\r\n abortInfoText: abortPopupTexts.abortInfoText,\r\n confirmAbortText: abortPopupTexts.confirmAbortText,\r\n cancelAbortText: abortPopupTexts.cancelAbortText,\r\n closeIcon: bootstrapIcons.closeIcon,\r\n colors,\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst renderNavigationButton = (tab, isMobile) => {\r\n return (\r\n <button\r\n className={isMobile ? \"d-md-none d-block mb-3\" : \"\"}\r\n onMouseEnter={() => {\r\n State.update({ hoveringElement: tab.text });\r\n }}\r\n onMouseLeave={() => {\r\n State.update({ hoveringElement: \"\" });\r\n }}\r\n onClick={() => {\r\n State.update({ tab: tab.id });\r\n }}\r\n style={\r\n state.hoveringElement == tab.text || state.tab == tab.id\r\n ? thisWidgetInlineStyles.newScheduleButtonHovering\r\n : thisWidgetInlineStyles.newScheduleButton\r\n }\r\n >\r\n <i\r\n className={bootstrapIcons.addIcon}\r\n style={\r\n state.hoveringElement == tab.text || state.tab == tab.id\r\n ? thisWidgetInlineStyles.addIconIconHovered\r\n : thisWidgetInlineStyles.addIcon\r\n }\r\n ></i>\r\n {tab.text}\r\n </button>\r\n );\r\n};\r\n\r\nconst renderTabContent = (tab) => {\r\n return (\r\n <>\r\n <Widget\r\n src={`${widgetOwner}/widget/${tab.widgetName}`}\r\n props={{\r\n ...tab.props,\r\n widgetOwner,\r\n tabs,\r\n prevTab,\r\n handlerStateUpdate,\r\n cardsData: data,\r\n headerWidgetName,\r\n contentWidgetName,\r\n sectionTtext: tab.text,\r\n widgetOwner,\r\n }}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nconst renderTab = (tab) => {\r\n return (\r\n <div style={thisWidgetInlineStyles.tabContainer}>\r\n <p\r\n ariaCurrent=\"page\"\r\n onMouseEnter={() => {\r\n State.update({ hoveringElement: tab.text });\r\n }}\r\n onMouseLeave={() => {\r\n State.update({ hoveringElement: \"\" });\r\n }}\r\n onClick={() => {\r\n isOnNavTab()\r\n ? State.update({ tab: tab.id, abortThroughPage: tab.id })\r\n : State.update({\r\n abortThroughPage: tab.id,\r\n showAbort: true,\r\n });\r\n }}\r\n style={thisWidgetInlineStyles.tabText}\r\n >\r\n {tab.text}\r\n </p>\r\n {(state.hoveringElement == tab.text || state.tab == tab.id) && (\r\n <div style={thisWidgetInlineStyles.decorativeTabUnderline}>\r\n {/*Decorative Div, do not delete*/}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n/*-----------------------------------------------End render components-----------------------------------------------*/\r\n\r\n//TODO responsiveness on navbar\r\nreturn (\r\n <div className=\"pb-5\" style={thisWidgetInlineStyles.generalContainer}>\r\n <div className=\"d-flex flex-column\">\r\n <div\r\n className=\"d-flex w-100 align-content-center\"\r\n style={thisWidgetInlineStyles.siteHeader}\r\n >\r\n <div\r\n className=\"d-flex align-items-center\"\r\n onClick={() => State.update({ tab: homePageId })}\r\n >\r\n <i\r\n className={bootstrapIcons.logoIcon}\r\n style={{\r\n cursor: \"pointer\",\r\n }}\r\n ></i>\r\n {logoIconText && (\r\n <h3 style={thisWidgetInlineStyles.logoTitle}>{logoIconText}</h3>\r\n )}\r\n </div>\r\n\r\n {!isCardNavigate() && (\r\n <div\r\n className=\"w-100 d-none d-md-flex justify-content-between\"\r\n style={thisWidgetInlineStyles.openScheduleGeneralContainer}\r\n >\r\n <div style={thisWidgetInlineStyles.openScheduleContainer}>\r\n <div className=\"d-flex\">\r\n {Object.keys(tabs).map((tabKey) => {\r\n const tab = tabs[tabKey];\r\n if (tab.isTab) {\r\n return renderTab(tab);\r\n }\r\n })}\r\n </div>\r\n </div>\r\n\r\n {Object.keys(tabs).map((tabKey) => {\r\n const tab = tabs[tabKey];\r\n if (tab.isButtonInNavegation) {\r\n return renderNavigationButton(tab, false);\r\n }\r\n })}\r\n <div\r\n style={thisWidgetInlineStyles.newShceduleButtonInMobileContainer}\r\n >\r\n {Object.keys(tabs).map((tabKey) => {\r\n const tab = tabs[tabKey];\r\n if (tab.isButtonInNavegation) {\r\n return renderNavigationButton(tab, true);\r\n }\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n <div className=\"w-100 d-flex flex-row justify-content-between align-items-center\">\r\n {/*Decorative div. Do not delete*/}\r\n </div>\r\n </div>\r\n\r\n <div className=\"align-items-center\">\r\n {Object.keys(tabs).map((tabKey) => {\r\n let tab = tabs[tabKey];\r\n if (\r\n (tab.isTab || tab.isButtonInNavegation || tab.isCardNavigate) &&\r\n state.tab == tab.id\r\n ) {\r\n return renderTabContent(tab);\r\n }\r\n })}\r\n </div>\r\n {state.showAbort && renderAbortModal()}\r\n </div>\r\n);\r\n" } } } } }

Transaction Execution Plan

Convert Transaction To Receipt
Gas Burned:
2 Tgas
Tokens Burned:
0.00025 
Receipt:
Predecessor ID:
Receiver ID:
Gas Burned:
9 Tgas
Tokens Burned:
0.00094 
Called method: 'set' in contract: social.near
Arguments:
{ "data": { "f2bc8abdb8ba64fe5aac9689ded9491ff0e6fdcd7a5c680b7cf364142d1789fb": { "widget": { "general_neardigitalcollective_master-handler": { "": "/*----------------------------------------------Start get props----------------------------------------------*/\r\nconst dataCallInfo = props.dataCallInfo ?? [\"poll_question\", \"question-v3.1.1\"];\r\n\r\nconst data = Social.index(dataCallInfo[0], dataCallInfo[1]);\r\nif (!data) {\r\n return \"Loading datas\";\r\n}\r\n\r\nconst abortModalWidgetName =\r\n props.abortModalWidgetName ??\r\n \"general_neardigitalcollective_standard-abort-popup\";\r\n\r\nconst widgetOwner =\r\n props.widgetOwner ??\r\n \"f2bc8abdb8ba64fe5aac9689ded9491ff0e6fdcd7a5c680b7cf364142d1789fb\";\r\n\r\nconst tabs = props.tabs ?? {\r\n MY_POLL: {\r\n id: 1,\r\n text: \"My Polls\",\r\n isTab: true,\r\n widgetName: \"general_neardigitalcollective_cards-container\",\r\n props: {\r\n isOwnAccountId: true,\r\n navegateTo: 4,\r\n formatCard,\r\n },\r\n },\r\n ALL_POLLS: {\r\n id: 2,\r\n text: \"All Polls\",\r\n isTab: true,\r\n widgetName: \"general_neardigitalcollective_cards-container\",\r\n props: {\r\n isOwnAccountId: false,\r\n navegateTo: 4,\r\n formatCard,\r\n },\r\n },\r\n NEW_POLL: {\r\n id: 3,\r\n text: finalData ? \"Edit Poll\" : \"Create Poll\",\r\n isButtonInNavegation: true,\r\n widgetName: \"newPollQuestionInterface\",\r\n props: { isButtonInNavegation: true },\r\n },\r\n OPEN_POLL: {\r\n id: 4,\r\n text: \"\",\r\n isCardNavigate: true,\r\n widgetName: \"newVotingInterface\",\r\n props: { blockHeight: state.postBlockHeight },\r\n },\r\n};\r\n\r\nconst formatCard = props.formatCard ?? {\r\n body: {\r\n row1: {\r\n rowType: \"markdown\",\r\n contentData: \"data\",\r\n },\r\n row2: {\r\n rowType: \"text\",\r\n contentData: \"data2\",\r\n },\r\n row3: {\r\n rowType: \"flex\",\r\n flexClassName: \"justify-content-between border rounded p-3\",\r\n contentData: [\r\n {\r\n type: \"flex\",\r\n flexClassName:\r\n \"flex-column justify-content-start align-items-center border-right\",\r\n style: { width: \"33%\" },\r\n content: [\r\n {\r\n type: \"text\",\r\n value: \"Created by\",\r\n },\r\n {\r\n type: \"key\",\r\n value: [\"accountId\"],\r\n style: {\r\n maxWidth: \"100%\",\r\n textOverflow: \"ellipsis\",\r\n overflow: \"hidden\",\r\n textWrap: \"nowrap\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n type: \"flex\",\r\n flexClassName:\r\n \"flex-column justify-content-start align-items-center border-right\",\r\n style: { width: \"33%\" },\r\n content: [\r\n {\r\n type: \"text\",\r\n value: \"Started\",\r\n },\r\n {\r\n type: \"timeStampKey\",\r\n value: \"startTimestamp\",\r\n },\r\n ],\r\n },\r\n {\r\n type: \"flex\",\r\n flexClassName:\r\n \"flex-column justify-content-start align-items-center border-right\",\r\n style: {\r\n width: \"33%\",\r\n },\r\n content: [\r\n {\r\n type: \"text\",\r\n value: \"Ended\",\r\n },\r\n {\r\n type: \"timeStampKey\",\r\n value: \"endTimestamp\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n },\r\n footer: {\r\n comment: {\r\n status: true,\r\n key: \"kudo\",\r\n path: \"f2bc8abdb8ba64fe5aac9689ded9491ff0e6fdcd7a5c680b7cf364142d1789fb/widget/Kudos\",\r\n pushDataModel:\r\n '{\"kudo\":\"{\\\\\"key\\\\\":\\\\\"commentAnswers\\\\\",\\\\\"value\\\\\":{\\\\\"commentAnswer\\\\\":\\\\\"\\\\\",\\\\\"blockHeight\\\\\":0}}\"}',\r\n },\r\n repost: {\r\n status: true,\r\n },\r\n upVoteButton: {\r\n status: true,\r\n pushDataModel:\r\n '{\"kudo\":\"{\\\\\"key\\\\\":\\\\\"upvote\\\\\",\\\\\"value\\\\\":{\\\\\"blockHeight\\\\\":0}}\"}',\r\n },\r\n shareWidget: {\r\n status: true,\r\n popUpDescription: \"Use this link to share the kudo\",\r\n shareingWidget: \"Kudos.Styles\",\r\n propName: \"sharedBlockHeight\",\r\n },\r\n },\r\n};\r\n\r\nconst cardHeaderWidgetName =\r\n props.cardHeaderWidgetName ?? \"minimalistQuestionHeader\";\r\nconst cardContentWidgetName =\r\n props.cardContentWidgetName ?? \"minimalistQuestionGeneralInfo\";\r\n\r\nconst homePageId = props.homePageId ?? 1;\r\n\r\nconst abortPopupTexts = props.abortPopupTexts ?? {\r\n abortInfoText: \"If you leave now, you will lose all your changes\",\r\n confirmAbortText: \"Discard changes\",\r\n cancelAbortText: \"Continue editing\",\r\n};\r\n\r\nconst bootstrapIcons = props.bootstrapIcons ?? {\r\n closeIcon: \"bi bi-x-lg\",\r\n logoIcon: \"bi bi-calendar-week-fill\",\r\n addIcon: \"bi bi-plus-lg\",\r\n};\r\n\r\nconst logoIconText = props.logoIconText ?? \"WeeklySchedule\";\r\n/*-----------------------------------------------End get props-----------------------------------------------*/\r\n\r\n/*----------------------------------------------Start styles----------------------------------------------*/\r\nconst colors = props.siteColors ?? {\r\n color1: \"#010A2D\",\r\n color2: \"white\",\r\n color3: \"rgb(1, 10, 45)\",\r\n green1: \"rgb(217, 252, 239)\",\r\n green2: \"rgb(0, 179, 125)\",\r\n green3: \"#7e7e7e70\",\r\n red1: \"rgb(255, 229, 229)\",\r\n red2: \"rgb(255, 71, 71)\",\r\n red3: \"#FF4747\",\r\n red4: \"#FFE5E5\",\r\n grey1: \"#353A40\",\r\n grey2: \"#767B8E\",\r\n grey3: \"#4B516A\",\r\n grey4: \"#B0B3BE\",\r\n grey5: \"rgb(230, 230, 230)\",\r\n grey6: \"#474D55\",\r\n grey7: \"rgb(53, 58, 64)\",\r\n grey8: \"rgb(225, 233, 240)\",\r\n grey9: \"rgb(71, 77, 85)\",\r\n grey10: \"rgb(118, 123, 142)\",\r\n lightBlue: \"#AAC8F7\",\r\n lightBlue2: \"#E1E9F0\",\r\n};\r\n\r\nconst standardButtonStyles = props.standardButtonStyles ?? {\r\n border: \"2px solid transparent\",\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n margin: \"0\",\r\n padding: \"0.3rem 1.5rem\",\r\n backgroundColor: colors.color1,\r\n borderRadius: \"12px\",\r\n color: colors.color2,\r\n};\r\n\r\nconst standardButtonHoveringStyles = props.standardButtonHoveringStyles ?? {\r\n border: \"2px solid black\",\r\n color: \"black\",\r\n backgroundColor: colors.color2,\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n margin: \"0\",\r\n padding: \"0.3rem 1.5rem\",\r\n borderRadius: \"12px\",\r\n};\r\n\r\nconst thisWidgetInlineStyles = {\r\n generalContainer: {\r\n backgroundColor: colors.grey5,\r\n fontFamily: \"Onest\",\r\n fontStyle: \"normal\",\r\n borderRadius: \"20px\",\r\n },\r\n siteHeader: {\r\n backgroundColor: colors.color2,\r\n boxShadow: \"rgba(43, 68, 106, 0.04) 0px 4px 28px\",\r\n paddingBottom: \"1.5rem\",\r\n },\r\n logoTitle: {\r\n cursor: \"pointer\",\r\n margin: \"0px 0.5rem\",\r\n fontWeight: \"700\",\r\n fontSize: \"1.3rem\",\r\n letterSpacing: \"0.1px\",\r\n },\r\n openScheduleGeneralContainer: { margin: \"0px 4rem\" },\r\n openScheduleContainer: { marginTop: \"0.6rem\" },\r\n tabContainer: {\r\n marginRight: \"1.5rem\",\r\n position: \"relative\",\r\n cursor: \"pointer\",\r\n userSelect: \"none\",\r\n },\r\n tabText: {\r\n fontWeight: \"500\",\r\n fontSize: \"1rem\",\r\n margin: \"0\",\r\n },\r\n decorativeTabUnderline: {\r\n height: \"0.2rem\",\r\n width: \"50%\",\r\n position: \"absolute\",\r\n bottom: \"-55%\",\r\n left: \"25%\",\r\n backgroundColor: colors.color1,\r\n borderRadius: \"8px\",\r\n },\r\n newScheduleButton: standardButtonStyles,\r\n newScheduleButtonHovering: standardButtonHoveringStyles,\r\n addIcon: { color: colors.color2 },\r\n addIconHovered: { color: \"black\" },\r\n showUserInfoInHeaderText: { margin: \"0px\", fontSize: \"0.8rem\" },\r\n};\r\n\r\n/*-----------------------------------------------End styles-----------------------------------------------*/\r\n\r\n/*----------------------------------------------Start functions----------------------------------------------*/\r\n\r\nState.init({\r\n tab: homePageId,\r\n prevTab: homePageId,\r\n hoveringElement: \"\",\r\n showAbort: false,\r\n abortThroughPage: homePageId,\r\n postBlockHeight: undefined,\r\n});\r\n\r\nlet sortedData =\r\n data && data.length\r\n ? data.sort((d1, d2) => d2.blockHeight - d1.blockHeight)\r\n : [];\r\n\r\nconst profile = Social.getr(`${context.accountId}/profile`);\r\nif (!profile) {\r\n return \"Loading profile\";\r\n}\r\n\r\nlet accountIds = [\"All\"];\r\nlet finalData = undefined;\r\nfor (let i = 0; i < sortedData.length; i++) {\r\n if (accountIds.indexOf(sortedData[i].accountId) < 0) {\r\n accountIds.push(sortedData[i].accountId);\r\n if (sortedData[i].accountId == context.accountId) {\r\n finalData = sortedData[i];\r\n }\r\n }\r\n}\r\n\r\nfunction handlerStateUpdate(obj) {\r\n State.update(obj);\r\n}\r\n\r\nlet prevTab = state.prevTab;\r\n\r\nfunction isCardNavigate() {\r\n let isCardNavigate;\r\n Object.keys(tabs).forEach((tabKey) => {\r\n const tab = tabs[tabKey];\r\n\r\n if (state.tab == tab.id) {\r\n isCardNavigate = tab.isCardNavigate;\r\n }\r\n });\r\n\r\n return isCardNavigate;\r\n}\r\n\r\nfunction isOnNavTab() {\r\n let isOnNavTab = false;\r\n Object.keys(tabs).forEach((tabKey) => {\r\n if (!isOnNavTab) {\r\n const tab = tabs[tabKey];\r\n if (tab.isTab && state.tab == tab.id) {\r\n isOnNavTab = true;\r\n }\r\n }\r\n });\r\n\r\n return isOnNavTab;\r\n}\r\n\r\n/*-----------------------------------------------End functions-----------------------------------------------*/\r\n\r\n/*----------------------------------------------Start render components----------------------------------------------*/\r\nconst renderAbortModal = () => {\r\n return (\r\n <Widget\r\n src={`${widgetOwner}/widget/${abortModalWidgetName}`}\r\n props={{\r\n showAbort: state.showAbort,\r\n handlerStateUpdate,\r\n abortThroughPage: state.abortThroughPage,\r\n abortInfoText: abortPopupTexts.abortInfoText,\r\n confirmAbortText: abortPopupTexts.confirmAbortText,\r\n cancelAbortText: abortPopupTexts.cancelAbortText,\r\n closeIcon: bootstrapIcons.closeIcon,\r\n colors,\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst renderNavigationButton = (tab, isMobile) => {\r\n return (\r\n <button\r\n className={isMobile ? \"d-md-none d-block mb-3\" : \"\"}\r\n onMouseEnter={() => {\r\n State.update({ hoveringElement: tab.text });\r\n }}\r\n onMouseLeave={() => {\r\n State.update({ hoveringElement: \"\" });\r\n }}\r\n onClick={() => {\r\n State.update({ tab: tab.id });\r\n }}\r\n style={\r\n state.hoveringElement == tab.text || state.tab == tab.id\r\n ? thisWidgetInlineStyles.newScheduleButtonHovering\r\n : thisWidgetInlineStyles.newScheduleButton\r\n }\r\n >\r\n <i\r\n className={bootstrapIcons.addIcon}\r\n style={\r\n state.hoveringElement == tab.text || state.tab == tab.id\r\n ? thisWidgetInlineStyles.addIconIconHovered\r\n : thisWidgetInlineStyles.addIcon\r\n }\r\n ></i>\r\n {tab.text}\r\n </button>\r\n );\r\n};\r\n\r\nconst renderTabContent = (tab) => {\r\n return (\r\n <>\r\n <Widget\r\n src={`${widgetOwner}/widget/${tab.widgetName}`}\r\n props={{\r\n ...tab.props,\r\n widgetOwner,\r\n tabs,\r\n prevTab,\r\n handlerStateUpdate,\r\n cardsData: data,\r\n headerWidgetName,\r\n contentWidgetName,\r\n sectionTtext: tab.text,\r\n widgetOwner,\r\n }}\r\n />\r\n </>\r\n );\r\n};\r\n\r\nconst renderTab = (tab) => {\r\n return (\r\n <div style={thisWidgetInlineStyles.tabContainer}>\r\n <p\r\n ariaCurrent=\"page\"\r\n onMouseEnter={() => {\r\n State.update({ hoveringElement: tab.text });\r\n }}\r\n onMouseLeave={() => {\r\n State.update({ hoveringElement: \"\" });\r\n }}\r\n onClick={() => {\r\n isOnNavTab()\r\n ? State.update({ tab: tab.id, abortThroughPage: tab.id })\r\n : State.update({\r\n abortThroughPage: tab.id,\r\n showAbort: true,\r\n });\r\n }}\r\n style={thisWidgetInlineStyles.tabText}\r\n >\r\n {tab.text}\r\n </p>\r\n {(state.hoveringElement == tab.text || state.tab == tab.id) && (\r\n <div style={thisWidgetInlineStyles.decorativeTabUnderline}>\r\n {/*Decorative Div, do not delete*/}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n/*-----------------------------------------------End render components-----------------------------------------------*/\r\n\r\n//TODO responsiveness on navbar\r\nreturn (\r\n <div className=\"pb-5\" style={thisWidgetInlineStyles.generalContainer}>\r\n <div className=\"d-flex flex-column\">\r\n <div\r\n className=\"d-flex w-100 align-content-center\"\r\n style={thisWidgetInlineStyles.siteHeader}\r\n >\r\n <div\r\n className=\"d-flex align-items-center\"\r\n onClick={() => State.update({ tab: homePageId })}\r\n >\r\n <i\r\n className={bootstrapIcons.logoIcon}\r\n style={{\r\n cursor: \"pointer\",\r\n }}\r\n ></i>\r\n {logoIconText && (\r\n <h3 style={thisWidgetInlineStyles.logoTitle}>{logoIconText}</h3>\r\n )}\r\n </div>\r\n\r\n {!isCardNavigate() && (\r\n <div\r\n className=\"w-100 d-none d-md-flex justify-content-between\"\r\n style={thisWidgetInlineStyles.openScheduleGeneralContainer}\r\n >\r\n <div style={thisWidgetInlineStyles.openScheduleContainer}>\r\n <div className=\"d-flex\">\r\n {Object.keys(tabs).map((tabKey) => {\r\n const tab = tabs[tabKey];\r\n if (tab.isTab) {\r\n return renderTab(tab);\r\n }\r\n })}\r\n </div>\r\n </div>\r\n\r\n {Object.keys(tabs).map((tabKey) => {\r\n const tab = tabs[tabKey];\r\n if (tab.isButtonInNavegation) {\r\n return renderNavigationButton(tab, false);\r\n }\r\n })}\r\n <div\r\n style={thisWidgetInlineStyles.newShceduleButtonInMobileContainer}\r\n >\r\n {Object.keys(tabs).map((tabKey) => {\r\n const tab = tabs[tabKey];\r\n if (tab.isButtonInNavegation) {\r\n return renderNavigationButton(tab, true);\r\n }\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n\r\n <div className=\"w-100 d-flex flex-row justify-content-between align-items-center\">\r\n {/*Decorative div. Do not delete*/}\r\n </div>\r\n </div>\r\n\r\n <div className=\"align-items-center\">\r\n {Object.keys(tabs).map((tabKey) => {\r\n let tab = tabs[tabKey];\r\n if (\r\n (tab.isTab || tab.isButtonInNavegation || tab.isCardNavigate) &&\r\n state.tab == tab.id\r\n ) {\r\n return renderTabContent(tab);\r\n }\r\n })}\r\n </div>\r\n {state.showAbort && renderAbortModal()}\r\n </div>\r\n);\r\n" } } } } }
Empty result
No logs
Receipt:
Predecessor ID:
Receiver ID:
Gas Burned:
4 Tgas
Tokens Burned:
0 
Transferred 0.01813  to f2bc8…142d1789fb
Empty result
No logs