Carsten Porth 6 年 前
コミット
dc21d2eed7

+ 1 - 1
app/src/pages/write-tweet/write-tweet.html

@@ -14,7 +14,7 @@
 
 
 <ion-content padding>
-  <form [formGroup]="tweet" (ngSubmit)="logForm()">
+  <form [formGroup]="tweet" (ngSubmit)="submitTweet()">
     <ion-item class="padding-0">
       <ion-label color="primary" floating>Your tweet</ion-label>
       <ion-textarea type="text" formControlName="text" maxlength="140" [attr.rows]="4"></ion-textarea>

+ 6 - 3
app/src/pages/write-tweet/write-tweet.ts

@@ -1,6 +1,7 @@
 import { Component } from '@angular/core';
 import { IonicPage, NavController, NavParams } from 'ionic-angular';
 import { FormBuilder, Validators, FormGroup } from '@angular/forms';
+import { TwitterApiProvider } from '../../providers/twitter-api/twitter-api';
 
 /**
  * Generated class for the WriteTweetPage page.
@@ -21,7 +22,8 @@ export class WriteTweetPage {
   constructor(
     public navCtrl: NavController,
     public navParams: NavParams,
-    private formBuilder: FormBuilder
+    private formBuilder: FormBuilder,
+    private twitter: TwitterApiProvider
   ) {
     this.tweet = this.formBuilder.group({
       text: ['', Validators.maxLength(140)]
@@ -39,8 +41,9 @@ export class WriteTweetPage {
     return progress * circumference;
   }
 
-  logForm() {
-    console.log(this.tweet);
+  submitTweet() {
+    // Todo: navigate to user timeline after successfully post the tweet + handle error
+    this.twitter.tweet(this.tweet.value["text"]);
   }
 
 }

+ 10 - 0
app/src/providers/twitter-api/twitter-api.ts

@@ -110,4 +110,14 @@ export class TwitterApiProvider {
         console.log(err);
       });
   }
+
+  public tweet(status) {
+    return this.client.post('statuses/update', { status: status})
+    .then(res => {
+      return res;
+    })
+    .catch(err => {
+      console.log(err);
+    });
+  }
 }