import React, {useState, useEffect} from 'react'; import { Paper, IconButton, Menu, MenuItem, Typography, Grid, Box, Link, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, Button, FormControl, InputLabel, Select, } from "@material-ui/core"; import { MoreVert as MoreIcon } from "@material-ui/icons"; import {useHistory} from "react-router-dom"; import classnames from "classnames"; // styles import useStyles from "./styles"; import Widget from "../../components/Widget"; import SqueakThreadItem from "../../components/SqueakThreadItem"; import { CreateContactProfileRequest, CreateSubscriptionRequest, } from "../../proto/squeak_admin_pb" import {SqueakAdminClient} from "../../proto/squeak_admin_grpc_web_pb" var client = new SqueakAdminClient('http://' + window.location.hostname + ':8080') export default function CreateSubscriptionDialog({ open, handleClose, ...props }) { var classes = useStyles(); const history = useHistory(); var [subscriptionName, setsubscriptionName] = useState(''); var [host, setHost] = useState(''); const handleChangeSubscriptionName = (event) => { setsubscriptionName(event.target.value); }; const handleChangeHost = (event) => { setHost(event.target.value); }; const createSubscription = (subscriptionName, host, port) => { console.log("called createContactProfile"); var createSubscriptionRequest = new CreateSubscriptionRequest() createSubscriptionRequest.setSubscriptionName(subscriptionName); createSubscriptionRequest.setHost(host); // TODO: use real port here // addServerRequest.setHost(0); console.log(createSubscriptionRequest); client.createSubscription(createSubscriptionRequest, {}, (err, response) => { if (err) { console.log(err.message); alert('Error creating subscription: ' + err.message); return; } console.log(response); console.log(response.getSubscriptionId()); // goToProfilePage(response.getProfileId()); }); }; const goToProfilePage = (profileId) => { history.push("/app/profile/" + profileId); }; function handleSubmit(event) { event.preventDefault(); console.log( 'subscriptionName:', subscriptionName); console.log( 'host:', host); if (!host) { alert('Host cannot be empty.'); return; } createSubscription(subscriptionName, host); handleClose(); } function CreateSubscriptionNameInput() { return ( ) } function CreateHostInput() { return ( ) } function CancelButton() { return ( ) } function CreateSubscriptionButton() { return ( ) } return ( Create Contact Profile
{CreateSubscriptionNameInput()} {CreateHostInput()} {CancelButton()} {CreateSubscriptionButton()}
) }