Index: frontend/src/Dashboard/Menu.js
===================================================================
--- frontend/src/Dashboard/Menu.js	(revision cc4db18b6d338be00c6c1e9b88f8e93ef763f7b6)
+++ frontend/src/Dashboard/Menu.js	(revision cc4db18b6d338be00c6c1e9b88f8e93ef763f7b6)
@@ -0,0 +1,130 @@
+import React, {useEffect, useState} from 'react'
+import {Button, Form, Input, Card, notification} from "antd";
+import axios from "axios";
+import env from "../env";
+
+const Menu = props => {
+
+    const [loadingSave, setLoadingSave] = useState(false);
+    const [restaurant, setRestaurant] = useState({menu:[]});
+    const [loading, setLoading] = useState(true);
+
+    useEffect(()=> {
+        setLoading(true);
+        getRestaurant()
+    },[])
+
+    const getRestaurant = () => {
+        axios.get(env.api + 'Restaurants').then(res=>{
+            setRestaurant(res.data);
+            setLoadingSave(false);
+            setLoadingSave(false);
+        });
+    }
+
+    const addMenu = (data) => {
+        setLoadingSave(true);
+        axios.post(env.api + 'Menu/',{...data,price: parseInt(data.price)}, { headers: {Authorization: sessionStorage.getItem('Auth')}
+        }).then(res => {
+            notification['success']({
+                message: 'Успешно зачувано',
+            });
+            getRestaurant()
+        }).catch(er => {
+            notification['error']({
+                message: 'Се случи проблем при зачувување мени. Ве молиме пробајте повторно подоцна',
+            });
+            setLoadingSave(false);
+            console.log(er);
+        })
+        console.log(data)
+    }
+
+    const deleteMenu = (id) => {
+        axios.delete(env.api + 'Menu/'+id, {headers: {Authorization: sessionStorage.getItem('Auth')}
+        }).then(res => {
+            notification['success']({
+                message: 'Успешно избришано',
+            });
+            getRestaurant()
+        }).catch(er => {
+            notification['error']({
+                message: 'Се случи проблем при бришење мени. Ве молиме пробајте повторно подоцна',
+            });
+            console.log(er);
+        })
+    }
+
+    return(
+        <div style={{padding:'20px'}}>
+            <div style={{backgroundColor:'white'}}>
+                <div style={{
+                    width: '100%',
+                    height:'75px',
+                    backgroundColor: 'white',
+                    padding: '20px',
+                    border: '1px solid lightgray'
+                }} >
+                    <h2 style={{float: 'left'}}>Мени</h2>
+                </div>
+                <Form style={{padding:20}} onFinish={addMenu}>
+                    <h2 style={{margin: '20px',marginTop: 0}}>Додади нов запис:</h2>
+                    <Form.Item
+                        label="Име"
+                        name="title"
+
+                        rules={[
+                            {
+                                required: true,
+                                message: 'Ве молиме внесете име!',
+                            },
+                        ]}
+                    >
+                        <Input/>
+                    </Form.Item>
+                    <Form.Item
+                        label="Опис"
+                        name="description"
+
+                        rules={[
+                            {
+                                required: true,
+                                message: 'Ве молиме внесете опис!',
+                            },
+                        ]}
+                    >
+                        <Input/>
+                    </Form.Item>
+                    <Form.Item
+                        label="Цена"
+                        name="price"
+
+                        rules={[
+                            {
+                                required: true,
+                                message: 'Ве молиме внесете цена!',
+                            },
+                        ]}
+                    >
+                        <Input placeholder="Цена" type={'number'}/>
+                    </Form.Item>
+                    <Form.Item style={{textAlign: 'center'}}>
+                        <Button type="primary" htmlType="submit" loading={loadingSave}>
+                            Зачувај
+                        </Button>
+                    </Form.Item>
+                </Form>
+            </div>
+            <div style={{textAlign:'start'}}>
+                {restaurant.menu.map(el =>
+                    <Card title={el.title} extra={<p style={{color:'red',cursor:'pointer'}} onClick={()=>deleteMenu(el.id)}>Избриши</p>} style={{ width: 300, display:'inline-block', margin:'10px' }} size="small">
+                        <p>{el.description}</p>
+                        <b>{el.price} ден.</b>
+                    </Card>
+                )}
+            </div>
+        </div>
+    )
+}
+
+export default Menu;
Index: frontend/src/Dashboard/Reservations.js
===================================================================
--- frontend/src/Dashboard/Reservations.js	(revision d76b7ee9036d8c2315eb8ce0de42c77ae3e87822)
+++ frontend/src/Dashboard/Reservations.js	(revision cc4db18b6d338be00c6c1e9b88f8e93ef763f7b6)
@@ -1,4 +1,4 @@
 import React, {useEffect, useState} from 'react'
-import {Button, Modal, DatePicker, List, notification} from "antd";
+import {Button, Modal, DatePicker, List, notification, Input} from "antd";
 import AddNewReservation from "./AddNewReservation";
 import moment from 'moment'
@@ -13,4 +13,5 @@
     const [date, setDate] = useState([moment().startOf('day'), moment().add(24,'hours')]);
     const [reservations, setReservations] = useState([])
+    const [newReservations, setNewReservations] = useState([])
     const [loadingReservations, setLoadingReservations] = useState(true)
 
@@ -26,15 +27,17 @@
                     to: date[1].format('YYYY-MM-DDThh:mm:ss') + 'Z'
                 }, headers: {Authorization: sessionStorage.getItem('Auth')}
-            })
-                .then(res => {
+            }).then(res => {
+                axios.get(env.api + 'Reservations/new', {
+                     headers: {Authorization: sessionStorage.getItem('Auth')}
+                }).then(newres=>{
+                    setNewReservations(newres.data);
                     setReservations(res.data);
-                    console.log(res.data)
                     setLoadingReservations(false)
-                }).catch(er => {
+                })
+            }).catch(er => {
                 setLoadingReservations(false)
                 notification['error']({
                     message: 'Се случи проблем при додавање резервација. Ве молиме пробајте повторно подоцна',
                 });
-
                 console.log(er);
             });
@@ -48,5 +51,5 @@
     const changeReservationStatus = (id, newStatus) => {
         console.log(id)
-        axios.put(env.api + 'Reservations/'+id,{}, {
+        axios.put(env.api + 'Reservations/'+id+'/status',{}, {
             params: {
                 status: newStatus
@@ -59,6 +62,35 @@
             });
             console.log(er);
-        });
-    }
+        })
+    }
+    const changeTable = (ev, item) => {
+        axios.put(env.api + 'Reservations/'+item.id+'/table',{}, {
+            params: {
+                tableId: ev.target.value == '' ? 0 : ev.target.value
+            }, headers: {Authorization: sessionStorage.getItem('Auth')}
+        }).then(res => {
+            console.log("success");
+        }).catch(er => {
+            notification['error']({
+                message: 'Се случи проблем при менување резервација. Ве молиме пробајте повторно подоцна',
+            });
+            console.log(er);
+        })
+        setNewReservations(old =>{
+            const newRes = old.indexOf(item);
+            if(newRes == -1) return old;
+            const copy = [...old];
+            copy[newRes].table = ev.target.value;
+            return copy;
+        })
+        setReservations(old =>{
+            const newRes = old.indexOf(item);
+            if(newRes == -1) return old;
+            const copy = [...old];
+            copy[newRes].table = ev.target.value;
+            return copy;
+        })
+    }
+
     const ReservationType = [ 'Кратко', 'Долго', 'Настан' ];
     const ReservationPlace = [ 'Внатре', 'Надвор' ];
@@ -84,4 +116,40 @@
                     border: '1px solid lightgray'
                 }} >
+                    <h3 style={{float: 'left'}}>Нови резервации</h3>
+                </div>
+                <List loading={loadingReservations} dataSource={newReservations} itemLayout={'horizontal'} locale={{emptyText:'Немате нови резервации'}}
+                      renderItem={item => (
+                          <List.Item
+                              actions={
+                                  item.reservationStatus == 0 ?
+                                      [<a onClick={()=>changeReservationStatus(item.id,ReservationStatus[1])}>Прифати</a>, <a style={{color:'red'}} onClick={()=>changeReservationStatus(item.id,ReservationStatus[2])}>Отфрли</a>]
+                                      : item.reservationStatus == 1 ? [<span style={{color:'green'}}>Прифатено</span>] : [<span style={{color:'red'}}>Отфрлено</span>]}>
+                              <div style={{display:'flex',flexDirection:'row',justifyContent:'space-between',width:'100%', padding:'10px'}}>
+                                  <div style={{textAlign:'start', width:'200px'}}>
+                                      <div><b>Име:</b> {item.contactName}</div>
+                                      <div><b>Број:</b> {item.contactNumber}</div>
+                                  </div>
+                                  <div style={{marginTop:'10px'}}>
+                                      Маса: <Input style={{ width: '60px' }} type={'number'} value={item.table == 0 ? '' : item.table} onChange={(ev)=>changeTable(ev,item)}/>
+                                  </div>
+                                  <div>
+                                      <div><b>Луѓе:</b> {item.persons}</div>
+                                      <div>{ReservationPlace[item.reservationPlace]}, {ReservationType[item.reservationType]}</div>
+                                  </div>
+                                  <div>
+                                      <div style={{marginTop:'10px'}}>{moment(item.startDate).format('hh:mm DD/MM/YY')}</div>
+                                  </div>
+                              </div>
+                          </List.Item>
+                      )}/>
+            </div>
+            <div style={{marginTop:'20px', backgroundColor:'white'}}>
+                <div style={{
+                    width: '100%',
+                    height:'75px',
+                    backgroundColor: 'white',
+                    padding: '20px',
+                    border: '1px solid lightgray'
+                }} >
                     <h3 style={{float: 'left'}}>Сите резервации</h3>
                     <RangePicker
@@ -89,4 +157,5 @@
                         style={{float:'right'}}
                         ranges={{
+                            'Наредни 3 часа': [moment(), moment().add(3,'hours')],
                             'Следни 24 часа': [moment().startOf('day'), moment().add(24,'hours')],
                             'Овој месец': [moment().startOf('month'), moment().endOf('month')],
@@ -96,5 +165,5 @@
                     />
                 </div>
-                <List loading={loadingReservations} dataSource={reservations} itemLayout={'horizontal'}
+                <List loading={loadingReservations} dataSource={reservations} itemLayout={'horizontal'} locale={{emptyText:'Нема резервации за овој период'}}
                       renderItem={item => (
                           <List.Item
@@ -107,4 +176,7 @@
                                     <div><b>Име:</b> {item.contactName}</div>
                                     <div><b>Број:</b> {item.contactNumber}</div>
+                                </div>
+                                <div style={{marginTop:'10px'}}>
+                                    Маса: <Input style={{ width: '60px' }} type={'number'} value={item.table == 0 ? '' : item.table} onChange={(ev)=>changeTable(ev,item)}/>
                                 </div>
                                 <div>
Index: frontend/src/Dashboard/Restaurant.js
===================================================================
--- frontend/src/Dashboard/Restaurant.js	(revision cc4db18b6d338be00c6c1e9b88f8e93ef763f7b6)
+++ frontend/src/Dashboard/Restaurant.js	(revision cc4db18b6d338be00c6c1e9b88f8e93ef763f7b6)
@@ -0,0 +1,133 @@
+import React,{useState, useEffect} from 'react';
+import {Form, Upload, Spin, message, Modal, Button, Input, notification} from "antd";
+import {PlusOutlined} from "@ant-design/icons";
+import axios from 'axios';
+import env from "../env";
+
+const Restaurant = props => {
+    const [loadingSave, setLoadingSave] = useState(false);
+    const [loadingLoad, setLoadingLoad] = useState(true);
+    const [restaurant, setRestaurant] = useState({});
+
+    useEffect(()=> {
+        setLoadingLoad(true);
+        getRestaurant()
+    },[])
+
+    const getRestaurant = () => {
+        axios.get(env.api + 'Restaurants').then(res=>{
+            setRestaurant(res.data);
+            setLoadingLoad(false);
+            setLoadingSave(false);
+        });
+    }
+    const beforeUpload = (file) => {
+        const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
+        if (!isJpgOrPng) {
+            message.error('Сликата мора да е формат jpg или png');
+        }
+        if(isJpgOrPng) setLoadingSave(true);
+        return isJpgOrPng;
+    }
+    const uploadChanged = (ev) =>{
+        if(ev.file.status == 'done'){
+            getRestaurant()
+        }
+    }
+    const submitEdit = (form) => {
+        setLoadingSave(true);
+        axios.put(env.api + 'Restaurants/',{...form}, { headers: {Authorization: sessionStorage.getItem('Auth')}
+        }).then(res => {
+            notification['success']({
+                message: 'Успешно зачувано',
+            });
+            setLoadingSave(false);
+        }).catch(er => {
+            notification['error']({
+                message: 'Се случи проблем при менување контакт информации. Ве молиме пробајте повторно подоцна',
+            });
+            setLoadingSave(false);
+            console.log(er);
+        })
+        console.log(form)
+    }
+    return(
+        <div style={{padding:'20px'}}>
+            <div style={{backgroundColor:'white'}}>
+                <div style={{
+                    width: '100%',
+                    height:'75px',
+                    backgroundColor: 'white',
+                    padding: '20px',
+                    border: '1px solid lightgray'
+                }} >
+                    <h2 style={{float: 'left'}}>Ресторан</h2>
+                </div>
+                {loadingLoad ? <Spin size="large"/> :
+                    <div style={{padding:'20px'}}>
+                        <Upload
+                            name="file"
+                            onChange={uploadChanged}
+                            showUploadList={false}
+                            beforeUpload={beforeUpload}
+                            style={{maxWidth: '90%', height: '200px', overflow: 'hidden'}}
+                            action={env.api+'Restaurants/upload'}
+                        >
+                            {restaurant.base64Image != "data:image/png;base64," ? <img style={{cursor: 'pointer'}} src={restaurant.base64Image} alt="avatar"
+                                                      height='200px'/> : <div style={{cursor:'pointer',margin: 15,border:'1px solid gray',padding: 5}}><PlusOutlined /><div style={{ marginTop: 8}}>Додади слика</div></div>}
+                        </Upload>
+                        <div style={{textAlign: 'start', width: '100%', marginTop:'10px'}}>
+                            <Form onFinish={submitEdit}
+                                  onFinishFailed={() => Modal.error({title: "Ве молиме пополнете ги задолжителните полиња"})}
+                                  initialValues={{...restaurant}}>
+                                <Form.Item
+                                    label="Име на локал"
+                                    name="name"
+
+                                    rules={[
+                                        {
+                                            required: true,
+                                            message: 'Ве молиме внесете име на локалот!',
+                                        },
+                                    ]}
+                                >
+                                    <Input/>
+                                </Form.Item>
+                                <Form.Item
+                                    label="Адреса"
+                                    name="address"
+                                    rules={[
+                                        {
+                                            required: true,
+                                            message: 'Ве молиме внесете адреса!',
+                                        },
+                                    ]}
+                                >
+                                    <Input/>
+                                </Form.Item>
+                                <Form.Item
+                                    label="Телефон"
+                                    name="phone"
+                                    rules={[
+                                        {
+                                            required: true,
+                                            message: 'Ве молиме внесете телефон!',
+                                        },
+                                    ]}
+                                >
+                                    <Input placeholder='ex. 070123456'/>
+                                </Form.Item>
+                                <Form.Item style={{textAlign: 'center'}}>
+                                    <Button type="primary" htmlType="submit" loading={loadingSave}>
+                                        Зачувај
+                                    </Button>
+                                </Form.Item>
+                            </Form>
+                        </div>
+                    </div>
+                }
+            </div>
+        </div>
+    )
+}
+export default Restaurant;
