/*
* Minio Cloud Storage (C) 2016, 2018 Minio, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from "react"
import { connect } from "react-redux"
import classNames from "classnames"
import logo from "../../img/logo.svg"
import Alert from "./Alert"
import * as actionsAlert from "../actions/alert"
import InputGroup from "../components/InputGroup"
import { minioBrowserPrefix } from "../constants"
import web from "../web"
import { Redirect } from "react-router-dom"
export class Login extends React.Component {
handleSubmit(event) {
event.preventDefault()
const { dispatch, history } = this.props
let message = ""
if (!document.getElementById("accessKey").value) {
message = "Secret Key cannot be empty"
}
if (!document.getElementById("secretKey").value) {
message = "Access Key cannot be empty"
}
if (message) {
dispatch(
actionsAlert.set({
type: "danger",
message
})
)
return
}
web
.Login({
username: document.getElementById("accessKey").value,
password: document.getElementById("secretKey").value
})
.then(res => {
history.push(minioBrowserPrefix)
})
.catch(e => {
dispatch(
actionsAlert.set({
type: "danger",
message: e.message
})
)
})
}
componentWillMount() {
const { dispatch } = this.props
// Clear out any stale message in the alert of previous page
dispatch(actionsAlert.clear())
document.body.classList.add("is-guest")
}
componentWillUnmount() {
document.body.classList.remove("is-guest")
}
clearAlert() {
const { dispatch } = this.props
dispatch(actionsAlert.clear())
}
render() {
const { alert } = this.props
if (web.LoggedIn()) {
return