webfast 0.1.85 → 0.1.86

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -130,6 +130,19 @@ program.modules.dependOn({REQUIRE},program,`{UNIQUE_NAME}-sync`,function(){
130
130
  console.log(`Depend On CallBack`);
131
131
  });
132
132
  ```
133
+ ## NEW BETA FEATURE
134
+ Feature where youo can add a special frame for multiple views through telegram without reloading
135
+ ````
136
+ await web.fast.telegram(`frame`).set(id,`https://${window.location.hostname}/concepts/esimco/package#${id}`,async function(id){
137
+ console.log(`Clicked Close`,id);
138
+ const frame = jQuery(`[wbfst-frame="${id}"]`);
139
+ console.log(`The Frame`,frame);
140
+ jQuery(frame).animate({ opacity:0 }, 600,function(){
141
+ jQuery(this).remove();
142
+ });
143
+
144
+ });
145
+ ````
133
146
 
134
147
  ## License
135
148
 
@@ -99,15 +99,68 @@ web.fast = {
99
99
  }
100
100
  },
101
101
  telegram : function(action){
102
- try {
103
- const telegram = window.Telegram;
104
- const actionFunction = telegram[action];
105
- console.log(`TELEGRAM`,action);
106
- return actionFunction;
107
- } catch (err) {
108
- //console.error(Err);
109
- console.error(`NO TELEGRAM`,action);
110
- return false;
102
+ // check if action is to set frame
103
+ if (action == `frame`) {
104
+ return {
105
+ get : async function(id) {
106
+ console.log(`Get Frame for ID`,id);
107
+ },
108
+ close : async function(id) {
109
+ console.log(`Close Frame`);
110
+ },
111
+ set : async function(id,url,closeAction,zIndex = 9990) {
112
+ if (web.fast.user != undefined) {
113
+ //console.error(`NO USER`);
114
+ //return window.location.href = url;
115
+ window.Telegram.WebApp.HapticFeedback.impactOccurred('medium');
116
+ }
117
+ console.log(`Telegram Frame Set`,id,url,closeAction);
118
+ let iframe = document.createElement('iframe');
119
+ iframe.src = url; // Replace with your desired URL
120
+
121
+ const settedID = ``+id;
122
+ // Set additional attributes (optional)
123
+ iframe.style.border = 'none'; // Remove the border
124
+ iframe.style.width = '100vw'; // Set width to 100vw
125
+ iframe.style.height = '100vh'; // Set height to 100vh
126
+ iframe.style.top = '0'; // Set height to 100vh
127
+ iframe.style.left = '0'; // Set height to 100vh
128
+ iframe.style[`z-index`] = zIndex; // Set height to 100vh
129
+ iframe.id = settedID;
130
+
131
+ iframe.style.position = 'fixed';
132
+
133
+ // Append the iframe to the body
134
+ document.body.appendChild(iframe);
135
+ jQuery(iframe).attr(`id`,settedID);
136
+ jQuery(iframe).attr(`wbfst-frame`,settedID);
137
+
138
+ try {
139
+ //window.Telegram.WebApp.web_app_open_link(url);
140
+ if (web.fast.user != undefined) {
141
+ window.closeIframe = function() {
142
+ console.log(`Close Iframe`,id);
143
+ //jQuery(`#${id}`).hide();
144
+ closeAction(id);
145
+ }
146
+ } else {
147
+ // Set on click event
148
+ if (closeAction != undefined) {
149
+ console.log(`Set Close Action`);
150
+ window.closeIframe = function() {
151
+ console.log(`Close Iframe`,id);
152
+ //jQuery(`#${id}`).hide();
153
+ closeAction(id);
154
+ }
155
+ }
156
+ }
157
+
158
+ } catch (err) {
159
+ console.error(err);
160
+ console.error(`Error opening link`,url);
161
+ }
162
+ }
163
+ }
111
164
  }
112
165
  }
113
166
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webfast",
3
- "version": "0.1.85",
3
+ "version": "0.1.86",
4
4
  "description": "WebFast! Bot Application, including TON mini-apps for makign it easy and fast to build ini-apps",
5
5
  "main": "index.js",
6
6
  "repository": {