Skip to content

Commit

Permalink
working on frontend stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
shawn-mcginty committed Jun 17, 2020
1 parent 51bbcec commit 9cb10b7
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 3 deletions.
31 changes: 31 additions & 0 deletions frontend/components/Icons.re
Original file line number Diff line number Diff line change
Expand Up @@ -120,4 +120,35 @@ module LockOpenTwoTone =
Make({
[@bs.module "@material-ui/icons/LockOpenTwoTone"]
external reactClass: React.component('a) = "default";
});

//Menu
module MenuFilled =
Make({
[@bs.module "@material-ui/icons/Menu"]
external reactClass: React.component('a) = "default";
});

module MenuOutlined =
Make({
[@bs.module "@material-ui/icons/MenuOutlined"]
external reactClass: React.component('a) = "default";
});

module MenuRounded =
Make({
[@bs.module "@material-ui/icons/MenuRounded"]
external reactClass: React.component('a) = "default";
});

module MenuSharp =
Make({
[@bs.module "@material-ui/icons/MenuSharp"]
external reactClass: React.component('a) = "default";
});

module MenuTwoTone =
Make({
[@bs.module "@material-ui/icons/MenuTwoTone"]
external reactClass: React.component('a) = "default";
});
13 changes: 12 additions & 1 deletion frontend/components/mainPage/MainPage.re
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ let make = () =>
<MaterialUi_WithStyles
classes=SharedClasses.classes
render={classes =>
MaterialUi.(<section> <Container maxWidth=`Md /> </section>)
MaterialUi.(
<>
<NavBar classes />
<main>
<Container maxWidth=`Md>
<Paper className=classes##mainPaper>
{React.string("test")}
</Paper>
</Container>
</main>
</>
)
}
/>;
13 changes: 13 additions & 0 deletions frontend/components/navBar/NavBar.re
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[@react.component]
let make = (~classes) => {
MaterialUi.(
<AppBar position=`Static>
<Toolbar>
<IconButton edge=`Start className=classes##navIcon>
<Icons.MenuFilled />
</IconButton>
<Typography variant=`H6> {React.string("Articles")} </Typography>
</Toolbar>
</AppBar>
);
};
5 changes: 5 additions & 0 deletions frontend/styles/SharedClasses.re
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,9 @@ let classes: list(MaterialUi_WithStyles.style) = [
name: "pageTopMargin",
styles: ReactDOMRe.Style.make(~marginTop="7vh", ()),
},
{
name: "navIcon",
styles: ReactDOMRe.Style.make(~color="#ffffff", ~marginRight="10px", ()),
},
{name: "mainPaper", styles: ReactDOMRe.Style.make(~paddingTop="76px", ())},
];
7 changes: 5 additions & 2 deletions src/main/resources/templates/home.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
</head>
<body>
Home Page!
<body style="background-color: #f5f5f5; margin: 0px;">
<section id="main-page-app"></section>
<script src="/dist/main.js"></script>
</body>
</html>
17 changes: 17 additions & 0 deletions src/main/scala/org/bringo/server/controllers/HomeController.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.bringo.server.controllers

import org.bringo.server.views.HomePage
import org.springframework.web.bind.annotation.{GetMapping, ModelAttribute, PostMapping, RestController}
import org.springframework.web.servlet.ModelAndView

@RestController
class HomeController {

@GetMapping(Array("/"))
def homePage(): ModelAndView = {
val v = new HomePage()
val mav = new ModelAndView()
mav.setView(v)
mav
}
}
18 changes: 18 additions & 0 deletions src/main/scala/org/bringo/server/views/HomePage.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.bringo.server.views

import java.util

import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
import org.fusesource.scalate.TemplateEngine
import org.springframework.web.servlet.View

class HomePage extends View {
val engine = new TemplateEngine
val homePageMarkup: String = engine.layout(uri = "templates/home.mustache")
override def render(model: util.Map[String, _], request: HttpServletRequest, response: HttpServletResponse): Unit = {
response.setStatus(200)
response.addHeader("content-type", "text/html")
response.setContentLength(homePageMarkup.length())
response.getWriter().write(homePageMarkup)
}
}

0 comments on commit 9cb10b7

Please sign in to comment.