1 line
6.8 KiB
JavaScript
1 line
6.8 KiB
JavaScript
(function(u,s,_,n,g,v,m,T,C){"use strict";function I(t,l){if(!(t instanceof l))throw new TypeError("Cannot call a class as a function")}function f(t,l){for(var e=0;e<l.length;e++){var a=l[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function S(t,l,e){return l&&f(t.prototype,l),e&&f(t,e),t}function w(t,l,e){return l in t?Object.defineProperty(t,l,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[l]=e,t}const{FormSection:i,FormInput:r,FormRow:c,FormSwitch:A,FormText:p}=T.Forms,b=n.stylesheet.createThemedStyleSheet({subText:{fontSize:14,marginLeft:16,marginRight:16,color:m.semanticColors.TEXT_MUTED},textLink:{color:m.semanticColors.TEXT_LINK}});function L(t){let{selection:l}=t;const e=v.useProxy(g.storage.selections[l]);return n.React.createElement(C.ScrollView,{style:{flex:1},contentContainerStyle:{paddingBottom:38}},n.React.createElement(i,{title:"Basic",titleStyleType:"no_border"},n.React.createElement(r,{required:!0,autoFocus:!0,title:"Application Name",value:e.name,placeholder:"Discord",onChange:function(a){return e.name=a}}),n.React.createElement(r,{required:!0,title:"Application ID",value:e.application_id,placeholder:"1054951789318909972",onChange:function(a){return e.application_id=a},keyboardType:"numeric"}),n.React.createElement(r,{title:"Type",value:e.type,placeholder:"0",onChange:function(a){return e.type=a},keyboardType:"numeric"}),n.React.createElement(r,{title:"Details",value:e.details,placeholder:"Competitive",onChange:function(a){return e.details=a}}),n.React.createElement(r,{title:"State",value:e.state,placeholder:"Playing Solo",onChange:function(a){return e.state=a}})),n.React.createElement(i,{title:"Images"},n.React.createElement(r,{title:"Large Image Asset Key or URL",value:e.assets.large_image,placeholder:"large_image_here",onChange:function(a){return e.assets.large_image=a}}),n.React.createElement(r,{title:"Large Image Text",value:e.assets.large_text,placeholder:"Playing on Joe's lobby",disabled:!e.assets.large_image,onChange:function(a){return e.assets.large_text=a}}),n.React.createElement(r,{title:"Small Image Asset Key or URL",value:e.assets.small_image,placeholder:"small_image_here",onChange:function(a){return e.assets.small_image=a}}),n.React.createElement(r,{title:"Small Image Text",value:e.assets.small_text,placeholder:"Solo",disabled:!e.assets.small_image,onChange:function(a){return e.assets.small_text=a}})),n.React.createElement(p,{style:b.subText},"Image assets key can be either a Discord app asset's name or a URL to an image."),n.React.createElement(i,{title:"Timestamps"},n.React.createElement(c,{label:"Enable timestamps",subLabel:"Set whether to show timestamps or not",trailing:n.React.createElement(A,{value:e.timestamps._enabled,onValueChange:function(a){return e.timestamps._enabled=a}})}),n.React.createElement(r,{title:"Start Timestamp (milliseconds)",value:e.timestamps.start,placeholder:"1234567890",disabled:!e.timestamps._enabled,onChange:function(a){return e.timestamps.start=a},keyboardType:"numeric"}),n.React.createElement(r,{title:"End Timestamp (milliseconds)",value:e.timestamps.end,placeholder:"1234567890",disabled:!e.timestamps._enabled,onChange:function(a){return e.timestamps.end=a},keyboardType:"numeric"}),n.React.createElement(c,{label:"Use current time as start timestamp",subLabel:"This will override the start timestamp you set above",disabled:!e.timestamps._enabled,onPress:function(){return e.timestamps.start=String(Date.now())},trailing:c.Arrow})),n.React.createElement(p,{style:b.subText},"Leaving start timestamp blank will use the time the Discord started."),n.React.createElement(i,{title:"Buttons"},n.React.createElement(r,{title:"First Button Text",value:e.buttons[0].label,placeholder:"random link #1",onChange:function(a){return e.buttons[0].label=a}}),n.React.createElement(r,{title:"First Button URL",value:e.buttons[0].url,placeholder:"https://discord.com/vanityurl/dotcom/steakpants/flour/flower/index11.html",disabled:!e.buttons[0].label,onChange:function(a){return e.buttons[0].url=a}}),n.React.createElement(r,{title:"Second Button Text",value:e.buttons[1].label,placeholder:"random link #2",onChange:function(a){return e.buttons[1].label=a}}),n.React.createElement(r,{title:"Second Button URL",value:e.buttons[1].url,placeholder:"https://youtu.be/w0AOGeqOnFY",disabled:!e.buttons[1].label,onChange:function(a){return e.buttons[1].url=a}})))}const N=g.storage;function P(){return React.createElement(L,{selection:N.selected})}function h(t){return t&&typeof t.length=="number"?t.length>0:t||t===0||t===!1}function x(t){return JSON.parse(JSON.stringify(t,function(l,e){if(e===t)return e;if(!(typeof l=="string"&&l.startsWith("_")))switch(typeof e){case"object":{if(Array.isArray(e)&&e.length===0)return;const a=Object.entries(e).filter(function(F){return h(F[1])});return a.length>0?Object.fromEntries(a):void 0}default:return h(e)?e:void 0}}))}var d;(function(t){t[t.PLAYING=0]="PLAYING",t[t.STREAMING=1]="STREAMING",t[t.LISTENING=2]="LISTENING",t[t.WATCHING=3]="WATCHING",t[t.COMPETING=5]="COMPETING"})(d||(d={}));const y=_.findByProps("getAssetIds"),E=Date.now(),o=s.plugin.storage;typeof o.selected?.length!="number"&&Object.assign(o,{selected:"default",selections:{default:k()}});function k(){return{name:"Discord",application_id:"1054951789318909972",flags:0,type:d.PLAYING,timestamps:{_enabled:!1,start:E},assets:{},buttons:[{},{}]}}async function R(t){if(typeof t!="object")throw new Error("Invalid activity");const l=t?.timestamps?._enabled;if(t=x(t),l?t.timestamps.start||=E:delete t.timestamps,t?.assets){const e=[t.application_id,[t.assets.large_image,t.assets.small_image]];let a=y.getAssetIds(...e);a.length||(a=await y.fetchAssetIds(...e)),t.assets.large_image=a[0],t.assets.small_image=a[1]}return t?.buttons?.length&&(t.buttons=t.buttons.filter(function(e){return e.label&&e.url}),t.buttons.length?Object.assign(t,{metadata:{button_urls:t.buttons.map(function(e){return e.url})},buttons:t.buttons.map(function(e){return e.label})}):delete t.buttons),n.FluxDispatcher.dispatch({type:"LOCAL_ACTIVITY_UPDATE",activity:t,pid:1608,socketId:"RichPresence@Vendetta"}),t}var O=new(function(){function t(){I(this,t),w(this,"settings",P)}return S(t,[{key:"onLoad",value:function(){s.logger.log("Sending RPC request");const l=o.selections[o.selected];if(!l)throw new Error("Selected activity does not exist");R(l).then(function(e){s.logger.log("RPC request sent"),s.logger.log(e)}).catch(function(e){s.logger.error("An error occured while sending RPC request :("),s.logger.error(e?.stack??e)})}},{key:"onUnload",value:function(){s.logger.log("Stopping RPC request"),R(null)}}]),t}());return u.default=O,Object.defineProperty(u,"__esModule",{value:!0}),u})({},vendetta,vendetta.metro,vendetta.metro.common,vendetta.plugin,vendetta.storage,vendetta.ui,vendetta.ui.components,vendetta.metro.common.ReactNative);
|