Browse Source

private tweets

rohit.gowda 4 years ago
parent
commit
b181903c88

+ 19 - 20
app/src/pages/write-tweet/write-tweet.ts

@@ -67,7 +67,9 @@ export class WriteTweetPage {
   }
 
   private containsTriggerWord(triggerWords: string): ValidatorFn {
-    return (control: AbstractControl): { [key: string]: any } | null => {
+    return (control: AbstractControl): {
+      [key: string]: any
+    } | null => {
       if (triggerWords) {
         const regexList = triggerWords
           .toLowerCase()
@@ -75,9 +77,8 @@ export class WriteTweetPage {
           .join("|");
         const regex = new RegExp(regexList);
         const containsTriggerWord = regex.test(control.value.toLowerCase());
-        return containsTriggerWord
-          ? { containsTriggerWord: { value: control.value } }
-          : null;
+        return containsTriggerWord ? { containsTriggerWord: { value: control.value } } :
+          null;
       } else {
         return null;
       }
@@ -115,22 +116,24 @@ export class WriteTweetPage {
     this.alertCtrl
       .create({
         title: "Watch Out!",
-        message:
-          "Your tweet contains words you have previously defined to only share securely via P2P. Currently P2P mode is not selected.",
+        message: "Your tweet contains words you have previously defined to only share securely via P2P. Currently P2P mode is not selected.",
         buttons: ["OK"]
       })
       .present();
   }
 
   async submitTweet() {
-    // console.log('submitting tweet');
+    console.log('submitting tweet');
     const loading = this.loadingCtrl.create();
     loading.present();
-    if(await this.storage.get("mockup")){
-      console.log('value of the tweet is:',this.tweet.value);
-    }
-    else{
-      // console.log('in else ');
+    console.log("storage mockup value: ", this.storage.get("mockup"));
+    if (await this.storage.get("mockup")) {
+      console.log('value of the tweet is:', this.tweet.value);
+      console.log('publishing tweet for mock', this.tweet.value["text"]);
+      await this.mockProv.writeTweet(this.tweet.value["text"], this.tweet.value.p2p );
+      // loading.dismiss();
+    } else {
+      console.log('in else ');
       if (this.tweet.value.p2p) {
         loading.setContent("Validate keys...");
         if (
@@ -143,14 +146,12 @@ export class WriteTweetPage {
           loading.dismiss();
           const alert = this.alertCtrl.create({
             title: "Oooops...",
-            message:
-              "Please verify that you have set a private and public key in the settings and that your latest public key was published."
+            message: "Please verify that you have set a private and public key in the settings and that your latest public key was published."
           });
           alert.present();
           return;
         }
-      } 
-      else {
+      } else {
         loading.setContent("Publish on Twitter...");
         await this.twitter.tweet(
           this.tweet.value["text"],
@@ -159,8 +160,6 @@ export class WriteTweetPage {
         );
       }
     }
-    // console.log('publishing tweet for mock',this.tweet.value["text"]);
-    await this.mockProv.writeTweet(this.tweet.value["text"]);
     loading.dismiss();
     this.navCtrl.pop();
   }
@@ -199,7 +198,7 @@ export class WriteTweetPage {
       entities: entities
     };
   }
-   
+
   private async getEntities(status: string) {
     return {
       hashtags: twittertext.extractHashtagsWithIndices(status),
@@ -224,7 +223,7 @@ export class WriteTweetPage {
       } catch (err) {
         console.error(
           "There is no user signed up to twitter with username: " +
-            mention.screenName
+          mention.screenName
         );
       }
       return mention;

+ 49 - 45
app/src/providers/mock-provider/mock-provider.ts

@@ -1,10 +1,10 @@
 import { Injectable } from "@angular/core";
 import { Storage } from "@ionic/storage";
-import { Platform } from 'ionic-angular'; 
+import { Platform } from 'ionic-angular';
 import { File } from '@ionic-native/file';
 import { HttpClient } from "@angular/common/http";
 import * as tweets from './tweet.json';
-declare var cordova:any;
+declare var cordova: any;
 
 @Injectable()
 export class MockProvider {
@@ -12,17 +12,17 @@ export class MockProvider {
   userId: string;
   mockTweets;
   result;
-  fileRead:Boolean;
+  fileRead: Boolean;
 
-constructor(
+  constructor(
     private storage: Storage,
     private file: File,
     public http: HttpClient,
     private platform: Platform
   ) {
-    console.log('tweets are:',tweets);
+    console.log('tweets are:', tweets);
     this.fileRead = false;
-    this.mockTweets =  [...tweets];
+    this.mockTweets = [...tweets];
     console.log(' this.mockTweets are:', this.mockTweets);
 
     this.storage.get("userId").then(userId => (this.userId = userId));
@@ -37,10 +37,9 @@ constructor(
    */
   public async loadUserTimeline(
     userId,
-    oldestPublicTweet?,
-    oldestPrivateTweet?
-  ) 
-  {
+    oldestPublicTweet ? ,
+    oldestPrivateTweet ?
+  ) {
 
   }
 
@@ -50,63 +49,68 @@ constructor(
    * @param oldestPublicTweet oldest public tweet
    * @param oldestPrivateTweet oldest private tweet
    */
-  public async loadHomeTimeline(oldestPublicTweet?, oldestPrivateTweet?) {
+  public async loadHomeTimeline(oldestPublicTweet ? , oldestPrivateTweet ? ) {
     console.log('hometime line called in mockprovider');
     this.readFile().then(tweets => {
-        console.log('new mocktweets after replace',this.mockTweets);
+        console.log('new mocktweets after replace', this.mockTweets);
       })
-      .catch(err => console.error('error in readfile',err));
+      .catch(err => console.error('error in readfile', err));
     return this.mockTweets;
   }
 
-  public async replyTweet(){}
+  public async replyTweet() {}
+  public async countfav() {}
+  
 
-  public  writeTweet(twt:string){
+  public writeTweet(twt: string , isPrivate: boolean) {
     // console.log('inside writetweet',this.mockTweets[0]);
     // console.log('inside writetweet obj is:',this.mockTweets[0].full_text);
     let newTweet = Object.assign({}, this.mockTweets[0]);
     newTweet.full_text = twt;
-    console.log('new tweet ',newTweet);
+    if(isPrivate){
+      newTweet.private_tweet = true;
+    }
+    console.log('new tweet ', newTweet);
     this.mockTweets.push(newTweet);
     this.writefile(this.mockTweets);
   }
 
-  public async writefile(mocktweet){
-     await this.platform.ready()
-     .then(_ => console.log('Device ready.'));
-     //check if file exists
-       this.result = this.file.writeFile(this.file.dataDirectory, 'twets.json', JSON.stringify(mocktweet), {replace: true, append:false});
-       console.log("writing the file:",this.result);
-       console.log('Reading the file:',this.readFile());
+  public async writefile(mocktweet) {
+    await this.platform.ready()
+      .then(_ => console.log('Device ready.'));
+    //check if file exists
+    this.result = this.file.writeFile(this.file.dataDirectory, 'twets.json', JSON.stringify(mocktweet), { replace: true, append: false });
+    console.log("writing the file:", this.result);
+    console.log('Reading the file:', this.readFile());
   }
 
   public async readFile() {
-    var  readTweets:[];
-    console.log('in readfile',this.mockTweets);
+    var readTweets: [];
+    console.log('in readfile', this.mockTweets);
     this.file.checkFile(this.file.dataDirectory, 'twets.json')
-    .then(() => {
-      console.log('file exists');
-                 this.file.readAsText(this.file.dataDirectory, 'twets.json')
-                .then(data=>{
-                  readTweets = JSON.parse(data);
-                  if(!this.fileRead){
-                    // readTweets.forEach(el=>this.mockTweets.push(el));
-                    this.mockTweets =  [...readTweets];
-                    this.fileRead = true;
-                  }
-                  console.log('file is: ',this.mockTweets);
-                })
-               .catch(err => console.error('error in reading file',err));
-    })
-    .catch(err => {
-      console.error('File doesnt exist',err);
-      this.file.writeFile(this.file.dataDirectory, 'twets.json', JSON.stringify(this.mockTweets), {replace: true});
-    });
+      .then(() => {
+        console.log('file exists');
+        this.file.readAsText(this.file.dataDirectory, 'twets.json')
+          .then(data => {
+            readTweets = JSON.parse(data);
+            if (!this.fileRead) {
+              // readTweets.forEach(el=>this.mockTweets.push(el));
+              this.mockTweets = [...readTweets];
+              this.fileRead = true;
+            }
+            console.log('file is: ', this.mockTweets);
+          })
+          .catch(err => console.error('error in reading file', err));
+      })
+      .catch(err => {
+        console.error('File doesnt exist', err);
+        this.file.writeFile(this.file.dataDirectory, 'twets.json', JSON.stringify(this.mockTweets), { replace: true });
+      });
   }
-     
+
 
   private async fetchPrivateTweets(privateTweetsData: object[]) {
-   
+
   }