Compare commits
No commits in common. "5ed156a5ed0820f783f9e4f2a47416d3a8494909" and "17bbfeb7cdfb4f821803283284e5defb9989519c" have entirely different histories.
5ed156a5ed
...
17bbfeb7cd
|
@ -1,2 +0,0 @@
|
|||
.expo
|
||||
.DS_Store
|
|
@ -1,8 +0,0 @@
|
|||
NODE_PATH=./src
|
||||
SKIP_PREFLIGHT_CHECK=true
|
||||
REACT_APP_CLOUDINARY_UPLOAD_URL = https://api.cloudinary.com/v1_1/dimjm4ald/image/upload
|
||||
REACT_APP_SERVER_URL = https://enatega-singlevendor.up.railway.app/
|
||||
REACT_APP_WS_SERVER_URL = wss://enatega-singlevendor.up.railway.app/
|
||||
REACT_APP_CLOUDINARY_CATEGORY = hmtkg7s5
|
||||
REACT_APP_CLOUDINARY_FOOD = wdgvyas8
|
||||
REACT_APP_ENV = “dev”
|
|
@ -1,10 +0,0 @@
|
|||
All variables should be appended by REACT_APP_
|
||||
|
||||
NODE_PATH=./src
|
||||
SKIP_PREFLIGHT_CHECK=true
|
||||
REACT_APP_CLOUDINARY_UPLOAD_URL = <Cloudinary URL>
|
||||
REACT_APP_SERVER_URL = <Your SERVER URL>
|
||||
REACT_APP_WS_SERVER_URL = <SERVER URL with appending "ws" for local or "wss" for remote>
|
||||
REACT_APP_CLOUDINARY_CATEGORY = <Folder ID from Cloudinary>
|
||||
REACT_APP_CLOUDINARY_FOOD = <Folder ID from Cloudinary>
|
||||
REACT_APP_ENV = <Alias that is mentioned in package.json script>
|
|
@ -1,8 +0,0 @@
|
|||
NODE_PATH=./src
|
||||
SKIP_PREFLIGHT_CHECK=true
|
||||
REACT_APP_CLOUDINARY_UPLOAD_URL = https://api.cloudinary.com/v1_1/dimjm4ald/image/upload
|
||||
REACT_APP_SERVER_URL = https://enatega-singlevendor.up.railway.app/
|
||||
REACT_APP_WS_SERVER_URL = wss://enatega-singlevendor.up.railway.app/
|
||||
REACT_APP_CLOUDINARY_CATEGORY = hmtkg7s5
|
||||
REACT_APP_CLOUDINARY_FOOD = wdgvyas8
|
||||
REACT_APP_ENV = "prod"
|
|
@ -1,8 +0,0 @@
|
|||
NODE_PATH=./src
|
||||
SKIP_PREFLIGHT_CHECK=true
|
||||
REACT_APP_CLOUDINARY_UPLOAD_URL = https://api.cloudinary.com/v1_1/dimjm4ald/image/upload
|
||||
REACT_APP_SERVER_URL = https://enatega-singlevendor.up.railway.app/
|
||||
REACT_APP_WS_SERVER_URL = wss://enatega-singlevendor.up.railway.app/
|
||||
REACT_APP_CLOUDINARY_CATEGORY = hmtkg7s5
|
||||
REACT_APP_CLOUDINARY_FOOD = wdgvyas8
|
||||
REACT_APP_ENV = “staging”
|
|
@ -1,5 +0,0 @@
|
|||
src/assets/*
|
||||
public/*
|
||||
./node_modules
|
||||
./patches
|
||||
./history
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:react/recommended",
|
||||
"standard"
|
||||
],
|
||||
"globals": {
|
||||
"Atomics": "readonly",
|
||||
"SharedArrayBuffer": "readonly"
|
||||
},
|
||||
"parserOptions": {
|
||||
"ecmaFeatures": {
|
||||
"jsx": true
|
||||
},
|
||||
"ecmaVersion": 11,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"react"
|
||||
],
|
||||
"rules": {
|
||||
"space-before-function-paren": ["error", "never"],
|
||||
"react/prop-types": 0
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
/build
|
||||
/node_modules
|
||||
package-lock.json
|
||||
yarn.lock
|
|
@ -0,0 +1,4 @@
|
|||
## [1.0.0] 2019-03-13
|
||||
### Original Release
|
||||
- Added Reactstrap as base framework
|
||||
- Added design from Argon Dashboard by Creative Tim
|
|
@ -0,0 +1,42 @@
|
|||
!!! IF YOU DO NOT USE THIS ISSUES TEAMPLATE, YOUR ISSUE IS LIABLE TO BEING IGNORED BY US
|
||||
|
||||
# Prerequisites
|
||||
|
||||
Please answer the following questions for yourself before submitting an issue.
|
||||
|
||||
- [ ] I am running the latest version
|
||||
- [ ] I checked the documentation and found no answer
|
||||
- [ ] I checked to make sure that this issue has not already been filed
|
||||
- [ ] I'm reporting the issue to the correct repository (for multi-repository projects)
|
||||
|
||||
# Expected Behavior
|
||||
|
||||
Please describe the behavior you are expecting
|
||||
|
||||
# Current Behavior
|
||||
|
||||
What is the current behavior?
|
||||
|
||||
# Failure Information (for bugs)
|
||||
|
||||
Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
Please provide detailed steps for reproducing the issue.
|
||||
|
||||
1. step 1
|
||||
2. step 2
|
||||
3. you get it...
|
||||
|
||||
## Context
|
||||
|
||||
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.
|
||||
|
||||
* Device:
|
||||
* Operating System:
|
||||
* Browser and Version:
|
||||
|
||||
## Failure Logs
|
||||
|
||||
Please include any relevant log snippets or files here.
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019 Creative Tim
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -0,0 +1,253 @@
|
|||
# [Argon Dashboard React](https://demos.creative-tim.com/argon-dashboard-react?ref=adr-github-readme) [](https://twitter.com/home?status=Argon%20Dashboard%20is%20a%20Free%20Bootstrap%204,%20React%20and%20Reactstrap%20Dashboard%20made%20using%20create-react-app%20%E2%9D%A4%EF%B8%8F%0Ahttps%3A//demos.creative-tim.com/argon-dashboard-react%20%23react%20%23reactstrap%20%23createreactapp%20%23argon%20%23argondesign%20%23reactdashboard%20%23argonreact%20%23reactdesign%20%23bootstrap%20%23material%20%23design%20%23uikit%20%23freebie%20%20via%20%40CreativeTim)
|
||||
|
||||
|
||||
  [](https://github.com/creativetimofficial/argon-dashboard-react/issues?q=is%3Aopen+is%3Aissue) [](https://github.com/creativetimofficial/argon-dashboard-react/issues?q=is%3Aissue+is%3Aclosed) [](https://gitter.im/creative-tim-general/Lobby) [](https://discord.gg/E4aHAQy)
|
||||
|
||||
|
||||

|
||||
|
||||
Start your development with a Dashboard for [Bootstrap 4](https://getbootstrap.com/?ref=creativetim), [React](https://reactjs.org/?ref=creativetim) and [Reactstrap](https://reactstrap.github.io/?ref=creativetim), made with [create-react-app](https://facebook.github.io/create-react-app/?ref=creativetim). It is open source, free and it features many components that can help you create amazing websites.
|
||||
|
||||
**Fully Coded Components**
|
||||
|
||||
Argon Dashboard React is built with over 100 individual components, giving you the freedom of choosing and combining. All components can take variations in color, that you can easily modify using SASS files.
|
||||
You will save a lot of time going from prototyping to full-functional code, because all elements are implemented. This Dashboard is coming with pre-built examples, so the development process is seamless, switching from our pages to the real website is very easy to be done.
|
||||
Every element has multiple states for colors, styles, hover, focus, that you can easily access and use.
|
||||
|
||||
**Complex Documentation**
|
||||
|
||||
Each element is well presented in a very complex documentation. You can read more about the idea behind this [dashboard here](https://demos.creative-tim.com/argon-dashboard-react/#/documentation/overview?ref=creativetim). You can check the [components here](https://demos.creative-tim.com/argon-dashboard-react/#/documentation/alerts?ref=creativetim) and the [foundation here](https://demos.creative-tim.com/argon-dashboard/#/documentation/colors?ref=creativetim).
|
||||
|
||||
**Example Pages**
|
||||
|
||||
If you want to get inspiration or just show something directly to your clients, you can jump start your development with our pre-built example pages. You will be able to quickly set up the basic structure for your web project.
|
||||
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [Versions](#versions)
|
||||
* [Demo](#demo)
|
||||
* [Quick Start](#quick-start)
|
||||
* [Documentation](#documentation)
|
||||
* [File Structure](#file-structure)
|
||||
* [Browser Support](#browser-support)
|
||||
* [Resources](#resources)
|
||||
* [Reporting Issues](#reporting-issues)
|
||||
* [Licensing](#licensing)
|
||||
* [Useful Links](#useful-links)
|
||||
|
||||
|
||||
## Versions
|
||||
|
||||
[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/html-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/argon-dashboard?ref=adr-github-readme)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/react-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/argon-dashboard-react?ref=adr-github-readme)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/angular-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/argon-dashboard-angular)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/nodejs-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/argon-dashboard-nodejs?ref=adr-github-readme)[<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/laravel_logo.png" width="60" height="60" style="background:white"/>](https://www.creative-tim.com/product/argon-dashboard-laravel?ref=adr-github-readme)[<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/sketch-logo.jpg" width="60" height="60" />](https://github.com/creativetimofficial/argon-dashboard/tree/sketch?ref=creativetim)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
| HTML | React | Angular |
|
||||
| --- | --- | --- |
|
||||
| [](https://www.creative-tim.com/product/argon-dashboard) | [](https://www.creative-tim.com/product/argon-dashboard-react) | [](https://www.creative-tim.com/product/argon-dashboard-angular)
|
||||
|
||||
| NodeJS | Laravel |
|
||||
| --- | --- |
|
||||
| [](https://www.creative-tim.com/product/argon-dashboard-nodejs) | [](https://www.creative-tim.com/product/argon-dashboard-laravel) |
|
||||
|
||||
## Demo
|
||||
|
||||
| Dashboard Page | Icons Page | Tables Page | Maps Page |
|
||||
| --- | --- | --- | --- |
|
||||
| [](https://demos.creative-tim.com/argon-dashboard-react/#/admin/index) | [](https://demos.creative-tim.com/argon-dashboard-react/#/admin/icons) | [](https://demos.creative-tim.com/argon-dashboard-react/#/admin/tables) | [](https://demos.creative-tim.com/argon-dashboard-react/#/admin/maps)
|
||||
|
||||
| Register Page | Login Page Page | Profile Page |
|
||||
| --- | --- | --- |
|
||||
| [](https://demos.creative-tim.com/argon-dashboard-react/#/auth/register) | [](https://demos.creative-tim.com/argon-dashboard-react/#/auth/login) | [](https://demos.creative-tim.com/argon-dashboard-react/#/admin/user-profile)
|
||||
|
||||
[View More](https://demos.creative-tim.com/argon-dashboard-react?ref=adr-github-readme)
|
||||
|
||||
|
||||
## Quick start
|
||||
|
||||
- `npm i argon-dashboard-react`
|
||||
- [Download from Github](https://github.com/creativetimofficial/argon-dashboard-react/archive/master.zip).
|
||||
- [Download from Creative Tim](https://www.creative-tim.com/product/argon-dashboard-react?ref=adr-github-readme).
|
||||
- Install with [Bower](https://bower.io/?ref=creativetim): ```bower install argon-dashboard-react```.
|
||||
- Clone the repo: `git clone https://github.com/creativetimofficial/argon-dashboard-react.git`.
|
||||
|
||||
|
||||
## Documentation
|
||||
The documentation for the Material Kit is hosted at our [website](https://demos.creative-tim.com/argon-dashboard-react/documentation/overview).
|
||||
|
||||
|
||||
## File Structure
|
||||
Within the download you'll find the following directories and files:
|
||||
|
||||
```
|
||||
Argon Dashboard React
|
||||
.
|
||||
├── Documentation
|
||||
│ └── documentation.html
|
||||
├── CHANGELOG.md
|
||||
├── ISSUE_TEMPLATE.md
|
||||
├── LICENSE
|
||||
├── README.md
|
||||
├── package.json
|
||||
├── public
|
||||
│ ├── favicon.ico
|
||||
│ ├── index.html
|
||||
│ └── manifest.json
|
||||
└── src
|
||||
├── assets
|
||||
│ ├── css
|
||||
│ │ ├── argon-dashboard-react.css
|
||||
│ │ ├── argon-dashboard-react.css.map
|
||||
│ │ └── argon-dashboard-react.min.css
|
||||
│ ├── fonts
|
||||
│ │ └── nucleo
|
||||
│ ├── img
|
||||
│ │ ├── brand
|
||||
│ │ ├── icons
|
||||
│ │ │ └── common
|
||||
│ │ └── theme
|
||||
│ ├── scss
|
||||
│ │ ├── argon-dashboard-react.scss
|
||||
│ │ ├── bootstrap
|
||||
│ │ │ ├── mixins
|
||||
│ │ │ └── utilities
|
||||
│ │ ├── core
|
||||
│ │ │ ├── alerts
|
||||
│ │ │ ├── avatars
|
||||
│ │ │ ├── badges
|
||||
│ │ │ ├── buttons
|
||||
│ │ │ ├── cards
|
||||
│ │ │ ├── charts
|
||||
│ │ │ ├── close
|
||||
│ │ │ ├── custom-forms
|
||||
│ │ │ ├── dropdowns
|
||||
│ │ │ ├── footers
|
||||
│ │ │ ├── forms
|
||||
│ │ │ ├── headers
|
||||
│ │ │ ├── icons
|
||||
│ │ │ ├── list-groups
|
||||
│ │ │ ├── maps
|
||||
│ │ │ ├── masks
|
||||
│ │ │ ├── mixins
|
||||
│ │ │ ├── modals
|
||||
│ │ │ ├── navbars
|
||||
│ │ │ ├── navs
|
||||
│ │ │ ├── paginations
|
||||
│ │ │ ├── popovers
|
||||
│ │ │ ├── progresses
|
||||
│ │ │ ├── separators
|
||||
│ │ │ ├── tables
|
||||
│ │ │ ├── type
|
||||
│ │ │ ├── utilities
|
||||
│ │ │ └── vendors
|
||||
│ │ ├── custom
|
||||
│ │ └── react
|
||||
│ └── vendor
|
||||
│ ├── @fortawesome
|
||||
│ │ └── fontawesome-free
|
||||
│ │ ├── LICENSE.txt
|
||||
│ │ ├── css
|
||||
│ │ ├── js
|
||||
│ │ ├── less
|
||||
│ │ ├── scss
|
||||
│ │ ├── sprites
|
||||
│ │ ├── svgs
|
||||
│ │ │ ├── brands
|
||||
│ │ │ ├── regular
|
||||
│ │ │ └── solid
|
||||
│ │ └── webfonts
|
||||
│ └── nucleo
|
||||
│ ├── css
|
||||
│ └── fonts
|
||||
├── components
|
||||
│ ├── Footers
|
||||
│ │ ├── AdminFooter.jsx
|
||||
│ │ └── AuthFooter.jsx
|
||||
│ ├── Headers
|
||||
│ │ ├── Header.jsx
|
||||
│ │ └── UserHeader.jsx
|
||||
│ ├── Navbars
|
||||
│ │ ├── AdminNavbar.jsx
|
||||
│ │ └── AuthNavbar.jsx
|
||||
│ └── Sidebar
|
||||
│ └── Sidebar.jsx
|
||||
├── index.js
|
||||
├── layouts
|
||||
│ ├── Admin.jsx
|
||||
│ └── Auth.jsx
|
||||
├── routes.js
|
||||
├── variables
|
||||
│ └── charts.jsx
|
||||
└── views
|
||||
├── Index.jsx
|
||||
└── examples
|
||||
├── Icons.jsx
|
||||
├── Login.jsx
|
||||
├── Maps.jsx
|
||||
├── Profile.jsx
|
||||
├── Register.jsx
|
||||
└── Tables.jsx
|
||||
```
|
||||
|
||||
|
||||
## Browser Support
|
||||
|
||||
At present, we officially aim to support the last two versions of the following browsers:
|
||||
|
||||
<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/chrome-logo.png?raw=true" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/firefox-logo.png" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/edge-logo.png" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/safari-logo.png" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/opera-logo.png" width="64" height="64">
|
||||
|
||||
|
||||
|
||||
## Resources
|
||||
- Demo: <https://demos.creative-tim.com/argon-dashboard-react/#/admin/index?ref=adr-github-readme>
|
||||
- Download Page: <https://www.creative-tim.com/product/argon-dashboard-react?ref=adr-github-readme>
|
||||
- Documentation: <https://demos.creative-tim.com/argon-dashboard-react/#/documentation/overview?ref=adr-github-readme>
|
||||
- License Agreement: <https://www.creative-tim.com/license?ref=adr-github-readme>
|
||||
- Support: <https://www.creative-tim.com/contact-us?ref=adr-github-readme>
|
||||
- Issues: [Github Issues Page](https://github.com/creativetimofficial/argon-dashboard-react/issues?ref=creativetim)
|
||||
- **Kit:**
|
||||
|
||||
| HTML | Vue |
|
||||
| --- | --- |
|
||||
| [](https://www.creative-tim.com/product/argon-design-system) | [](https://www.creative-tim.com/product/vue-argon-design-system) |
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
We use GitHub Issues as the official bug tracker for the Material Kit. Here are some advices for our users that want to report an issue:
|
||||
|
||||
1. Make sure that you are using the latest version of the Material Kit. Check the CHANGELOG from your dashboard on our [website](https://www.creative-tim.com/?ref=adr-github-readme).
|
||||
2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
|
||||
3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help.
|
||||
|
||||
## Licensing
|
||||
|
||||
- Copyright 2018 Creative Tim (https://www.creative-tim.com/?ref=adr-github-readme)
|
||||
|
||||
- Licensed under MIT (https://github.com/creativetimofficial/argon-dashboard-react/blob/master/LICENSE.md?ref=creativetim)
|
||||
|
||||
## Useful Links
|
||||
|
||||
- [Tutorials](https://www.youtube.com/channel/UCVyTG4sCw-rOvB9oHkzZD1w?ref=creativetim)
|
||||
- [Affiliate Program](https://www.creative-tim.com/affiliates/new?ref=adr-github-readme) (earn money)
|
||||
- [Blog Creative Tim](http://blog.creative-tim.com/?ref=adr-github-readme)
|
||||
- [Free Products](https://www.creative-tim.com/bootstrap-themes/free?ref=adr-github-readme) from Creative Tim
|
||||
- [Premium Products](https://www.creative-tim.com/bootstrap-themes/premium?ref=adr-github-readme) from Creative Tim
|
||||
- [React Products](https://www.creative-tim.com/bootstrap-themes/react-themes?ref=adr-github-readme) from Creative Tim
|
||||
- [Angular Products](https://www.creative-tim.com/bootstrap-themes/angular-themes?ref=adr-github-readme) from Creative Tim
|
||||
- [VueJS Products](https://www.creative-tim.com/bootstrap-themes/vuejs-themes?ref=adr-github-readme) from Creative Tim
|
||||
- [More products](https://www.creative-tim.com/bootstrap-themes?ref=adr-github-readme) from Creative Tim
|
||||
- Check our Bundles [here](https://www.creative-tim.com/bundles?ref=adr-github-readme)
|
||||
|
||||
### Social Media
|
||||
|
||||
Twitter: <https://twitter.com/CreativeTim?ref=creativetim>
|
||||
|
||||
Facebook: <https://www.facebook.com/CreativeTim?ref=creativetim>
|
||||
|
||||
Dribbble: <https://dribbble.com/creativetim?ref=creativetim>
|
||||
|
||||
Instagram: <https://www.instagram.com/CreativeTimOfficial?ref=creativetim>
|
|
@ -35,7 +35,7 @@ function Footer(props) {
|
|||
|
||||
<NavItem>
|
||||
<NavLink
|
||||
href="https://ninjascode.com/our-team"
|
||||
href="https://ninjascode.com/pages/ourteam.html"
|
||||
rel="noopener noreferrer"
|
||||
target="_blank">
|
||||
{t('About Us')}
|
||||
|
|
|
@ -27,7 +27,7 @@ function AuthFooter(props) {
|
|||
</NavItem>
|
||||
<NavItem>
|
||||
<NavLink
|
||||
href="https://ninjascode.com/our-team"
|
||||
href="https://ninjascode.com/pages/ourteam.html"
|
||||
target="_blank">
|
||||
{t('About Us')}
|
||||
</NavLink>
|
||||
|
|
|
@ -3,11 +3,11 @@ import { Route, Switch } from 'react-router-dom'
|
|||
// reactstrap components
|
||||
import { Container } from 'reactstrap'
|
||||
// core components
|
||||
import AdminNavbar from '../components/Navbars/AdminNavbar.jsx'
|
||||
import AdminFooter from '../components/Footers/AdminFooter.jsx'
|
||||
import Sidebar from '../components/Sidebar/Sidebar.jsx'
|
||||
import AdminNavbar from 'components/Navbars/AdminNavbar.jsx'
|
||||
import AdminFooter from 'components/Footers/AdminFooter.jsx'
|
||||
import Sidebar from 'components/Sidebar/Sidebar.jsx'
|
||||
|
||||
import routes from './../routes.js'
|
||||
import routes from 'routes.js'
|
||||
|
||||
const Admin = props => {
|
||||
var divRef = useRef(null)
|
||||
|
@ -49,7 +49,7 @@ const Admin = props => {
|
|||
routes={routes}
|
||||
logo={{
|
||||
innerLink: '/admin/dashboard',
|
||||
imgSrc: require('../assets/img/brand/logo.png'),
|
||||
imgSrc: require('assets/img/brand/logo.png'),
|
||||
imgAlt: '...'
|
||||
}}
|
||||
/>
|
||||
|
|
|
@ -4,10 +4,10 @@ import { Route, Switch } from 'react-router-dom'
|
|||
import { Container, Row } from 'reactstrap'
|
||||
|
||||
// core components
|
||||
import AuthNavbar from '../components/Navbars/AuthNavbar.jsx'
|
||||
import AuthFooter from '../components/Footers/AuthFooter.jsx'
|
||||
import AuthNavbar from 'components/Navbars/AuthNavbar.jsx'
|
||||
import AuthFooter from 'components/Footers/AuthFooter.jsx'
|
||||
|
||||
import routes from '../routes.js'
|
||||
import routes from 'routes.js'
|
||||
|
||||
function Auth(props) {
|
||||
useEffect(() => {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* eslint-disable react/display-name */
|
||||
import React, { useState } from 'react'
|
||||
import { Container, Badge, Row, Card, Modal } from 'reactstrap'
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import AddonComponent from '../components/Addon/Addon'
|
||||
import { addons, deleteAddon } from '../apollo/server'
|
||||
import CustomLoader from '../components/Loader/CustomLoader'
|
||||
|
|
|
@ -8,7 +8,7 @@ import CustomLoader from '../components/Loader/CustomLoader'
|
|||
// reactstrap components
|
||||
import { Badge, Card, Container, Row, Modal } from 'reactstrap'
|
||||
// core components
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import { categories, deleteCategory, getFoods } from '../apollo/server'
|
||||
import DataTable from 'react-data-table-component'
|
||||
import orderBy from 'lodash/orderBy'
|
||||
|
|
|
@ -3,7 +3,7 @@ import { withTranslation } from 'react-i18next'
|
|||
import { Container } from 'reactstrap'
|
||||
import { Query } from 'react-apollo'
|
||||
import gql from 'graphql-tag'
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import { getConfiguration } from '../apollo/server'
|
||||
import OrderConfiguration from '../components/Configuration/Order/Order'
|
||||
import EmailConfiguration from '../components/Configuration/Email/Email'
|
||||
|
|
|
@ -8,7 +8,7 @@ import CouponComponent from '../components/Coupon/Coupon'
|
|||
import { Badge, Card, Container, Row, Modal } from 'reactstrap'
|
||||
|
||||
// core components
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import CustomLoader from '../components/Loader/CustomLoader'
|
||||
import DataTable from 'react-data-table-component'
|
||||
import orderBy from 'lodash/orderBy'
|
||||
|
|
|
@ -16,7 +16,7 @@ import {
|
|||
Col
|
||||
} from 'reactstrap'
|
||||
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import { Query } from 'react-apollo'
|
||||
import {
|
||||
getDashboardTotal,
|
||||
|
|
|
@ -6,7 +6,7 @@ import { withTranslation } from 'react-i18next'
|
|||
// reactstrap components
|
||||
import { Badge, Card, Container, Row, Media, Modal } from 'reactstrap'
|
||||
// core components
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import { getFoods, deleteFood } from '../apollo/server'
|
||||
import FoodComponent from '../components/Food/Food'
|
||||
import CustomLoader from '../components/Loader/CustomLoader'
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useState } from 'react'
|
|||
import gql from 'graphql-tag'
|
||||
import { Mutation } from 'react-apollo'
|
||||
import { withTranslation } from 'react-i18next'
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import { sendNotificationUser } from '../apollo/server'
|
||||
import CustomLoader from '../components/Loader/CustomLoader'
|
||||
import { validateFunc } from '../constraints/constraints'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* eslint-disable react/display-name */
|
||||
import React, { useState } from 'react'
|
||||
import { Badge, Container, Row, Card, Modal } from 'reactstrap'
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import OptionComponent from '../components/Option/Option'
|
||||
import CustomLoader from '../components/Loader/CustomLoader'
|
||||
import DataTable from 'react-data-table-component'
|
||||
|
|
|
@ -3,7 +3,7 @@ import { withTranslation } from 'react-i18next'
|
|||
import { Container, Row, Card, Modal } from 'reactstrap'
|
||||
import OrderComponent from '../components/Order/Order'
|
||||
import OrdersData from '../components/Order/OrderData'
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import { Query, compose, withApollo } from 'react-apollo'
|
||||
import gql from 'graphql-tag'
|
||||
import { getOrders } from '../apollo/server'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import React from 'react'
|
||||
import { withTranslation } from 'react-i18next'
|
||||
import { Container, Row, Card } from 'reactstrap'
|
||||
import Header from '../components/Headers/Header.jsx'
|
||||
import Header from 'components/Headers/Header.jsx'
|
||||
import CustomLoader from '../components/Loader/CustomLoader'
|
||||
import { Query, compose, withApollo } from 'react-apollo'
|
||||
import gql from 'graphql-tag'
|
||||
|
|
|
@ -47,7 +47,6 @@ export default function App() {
|
|||
|
||||
setupClient(client)
|
||||
await i18n.initAsync()
|
||||
// load fonts
|
||||
await Font.loadAsync({
|
||||
Poppin300: require('./src/assets/font/Poppin/Poppins-Light.ttf'),
|
||||
Poppin400: require('./src/assets/font/Poppin/Poppins-Regular.ttf'),
|
|
@ -1,13 +1,9 @@
|
|||
{
|
||||
"expo": {
|
||||
"name": "Enatega",
|
||||
"version": "1.0.22",
|
||||
"scheme": "enategasinglevendor",
|
||||
"description": "Enatega is a starter kit food ordering app built in React Native using Expo for IOS and Android. It's made keeping good aesthetics in mind as well keeping the best coding practices in mind. Its fully customisable to easily help you in your next food delivery project. https://enatega.com/enatega-single-vendor/",
|
||||
"version": "1.0.16",
|
||||
"description": "Enatega is a starter kit food ordering app built in React Native using Expo for IOS and Android. It's made keeping good aesthetics in mind as well keeping the best coding practices in mind. Its fully customisable to easily help you in your next food delivery project. https://market.nativebase.io/view/react-native-food-delivery-backend-app",
|
||||
"slug": "enategasinglevendor",
|
||||
"owner": "ninjas_code",
|
||||
"currentFullName": "@ninjas_code/enategasinglevendor",
|
||||
"originalFullName": "@ninjas_code/enategasinglevendor",
|
||||
"privacy": "public",
|
||||
"androidStatusBar": {
|
||||
"backgroundColor": "#000"
|
||||
|
@ -24,8 +20,7 @@
|
|||
"backgroundColor": "#febb2c"
|
||||
},
|
||||
"updates": {
|
||||
"fallbackToCacheTimeout": 0,
|
||||
"url": "https://u.expo.dev/e7c3fd70-4054-4dc8-bbdb-a572a3cc6fb1"
|
||||
"fallbackToCacheTimeout": 0
|
||||
},
|
||||
"assetBundlePatterns": [
|
||||
"**/*"
|
||||
|
@ -38,8 +33,7 @@
|
|||
},
|
||||
"usesAppleSignIn": true,
|
||||
"infoPlist": {
|
||||
"NSLocationWhenInUseUsageDescription": "This app uses the location to determine the delivery address for your orders.",
|
||||
"NSUserTrackingUsageDescription": "Allow this app to collect app-related data that can be used for tracking you or your device."
|
||||
"NSLocationWhenInUseUsageDescription": "This app uses the location to determine the delivery address for your orders."
|
||||
}
|
||||
},
|
||||
"notification": {
|
||||
|
@ -50,12 +44,13 @@
|
|||
"androidCollapsedTitle": "Enatega"
|
||||
},
|
||||
"android": {
|
||||
"versionCode": 26,
|
||||
"versionCode": 22,
|
||||
"package": "com.enatega.vendor",
|
||||
"googleServicesFile": "./google-services-prod.json",
|
||||
"useNextNotificationsApi": true,
|
||||
"config": {
|
||||
"googleMaps": {
|
||||
"apiKey": "AIzaSyCzNP5qQql2a5y8lOoO-1yj1lj_tzjVImA"
|
||||
"apiKey": ""
|
||||
}
|
||||
},
|
||||
"adaptiveIcon": {
|
||||
|
@ -77,14 +72,6 @@
|
|||
],
|
||||
"facebookScheme": "fb3017447961609878",
|
||||
"facebookAppId": "3017447961609878",
|
||||
"facebookDisplayName": "Food delivery",
|
||||
"extra": {
|
||||
"eas": {
|
||||
"projectId": "e7c3fd70-4054-4dc8-bbdb-a572a3cc6fb1"
|
||||
}
|
||||
},
|
||||
"runtimeVersion": {
|
||||
"policy": "sdkVersion"
|
||||
}
|
||||
"facebookDisplayName": "Food delivery"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 345 KiB After Width: | Height: | Size: 345 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
|
@ -0,0 +1,7 @@
|
|||
module.exports = function(api) {
|
||||
api.cache(true)
|
||||
return {
|
||||
presets: ['babel-preset-expo'],
|
||||
plugins: ['react-native-reanimated/plugin']
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
/*****************************
|
||||
* environment.js
|
||||
* path: '/environment.js' (root of your project)
|
||||
******************************/
|
||||
|
||||
import Constants from 'expo-constants'
|
||||
|
||||
const ENV = {
|
||||
development: {
|
||||
GRAPHQL_URL: 'http://192.168.100.90:8000/graphql',
|
||||
WS_GRAPHQL_URL: 'ws://192.168.100.90:8000/graphql',
|
||||
SERVER_URL: 'http://192.168.100.90:8000/', // put / at the end of server url
|
||||
IOS_CLIENT_ID_GOOGLE:
|
||||
'',
|
||||
ANDROID_CLIENT_ID_GOOGLE:
|
||||
'',
|
||||
FACEBOOK_APP_ID: '404956210315749',
|
||||
AMPLITUDE_API_KEY: '',
|
||||
STRIPE_PUBLIC_KEY: '',
|
||||
STRIPE_IMAGE_URL: 'http://192.168.100.90:8000/assets/images/logo.png',
|
||||
STRIPE_STORE_NAME: 'Enatega'
|
||||
},
|
||||
staging: {
|
||||
GRAPHQL_URL: 'https://staging-enatega-single-api.herokuapp.com/graphql',
|
||||
WS_GRAPHQL_URL: 'wss://staging-enatega-single-api.herokuapp.com/graphql',
|
||||
SERVER_URL: 'https://staging-enatega-single-api.herokuapp.com/', // put / at the end of server url
|
||||
IOS_CLIENT_ID_GOOGLE:
|
||||
'',
|
||||
ANDROID_CLIENT_ID_GOOGLE:
|
||||
'',
|
||||
FACEBOOK_APP_ID: '404956210315749',
|
||||
AMPLITUDE_API_KEY: '',
|
||||
STRIPE_PUBLIC_KEY: '',
|
||||
STRIPE_IMAGE_URL:
|
||||
'https://staging-enatega-single-api.herokuapp.com/assets/images/logo.png',
|
||||
STRIPE_STORE_NAME: 'Enatega'
|
||||
},
|
||||
production: {
|
||||
GRAPHQL_URL: 'https://prod-enatega-single-api.herokuapp.com/graphql',
|
||||
WS_GRAPHQL_URL: 'wss://prod-enatega-single-api.herokuapp.com/graphql',
|
||||
SERVER_URL: 'https://prod-enatega-single-api.herokuapp.com/', // put / at the end of server url
|
||||
IOS_CLIENT_ID_GOOGLE:
|
||||
'',
|
||||
ANDROID_CLIENT_ID_GOOGLE:
|
||||
'',
|
||||
FACEBOOK_APP_ID: '3017447961609878',
|
||||
AMPLITUDE_API_KEY: '',
|
||||
STRIPE_PUBLIC_KEY: '',
|
||||
STRIPE_IMAGE_URL:
|
||||
'https://prod-enatega-single-api.herokuapp.com/assets/images/logo.png',
|
||||
STRIPE_STORE_NAME: 'Enatega'
|
||||
}
|
||||
}
|
||||
|
||||
const getEnvVars = (env = Constants.manifest.releaseChannel) => {
|
||||
// What is __DEV__ ?
|
||||
// This variable is set to true when react-native is running in Dev mode.
|
||||
// __DEV__ is true when run locally, but false when published.
|
||||
// eslint-disable-next-line no-undef
|
||||
if (__DEV__) {
|
||||
return ENV.development
|
||||
} else if (env === 'production') {
|
||||
return ENV.production
|
||||
} else if (env === 'staging') {
|
||||
return ENV.staging
|
||||
} else {
|
||||
return ENV.production
|
||||
}
|
||||
}
|
||||
|
||||
export default getEnvVars
|
|
@ -7,11 +7,10 @@ import { en } from './translations/en'
|
|||
import { fr } from './translations/fr'
|
||||
import { km } from './translations/km'
|
||||
import { zh } from './translations/zh'
|
||||
import { ar } from './translations/ar'
|
||||
|
||||
i18n.initAsync = async() => {
|
||||
i18n.fallbacks = true
|
||||
i18n.translations = { fr, en, km, zh, de, ar }
|
||||
i18n.translations = { fr, en, km, zh, de }
|
||||
// i18n.locale = 'km'
|
||||
if (Platform.OS === 'android') {
|
||||
const lang = await AsyncStorage.getItem('enatega-language')
|
|
@ -0,0 +1,118 @@
|
|||
{
|
||||
"name": "enatega-full-app",
|
||||
"version": "5.0.0",
|
||||
"main": "node_modules/expo/AppEntry.js",
|
||||
"scripts": {
|
||||
"start": "expo start",
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"eject": "expo eject",
|
||||
"test": "jest",
|
||||
"format": "prettier --write '**/*.js'",
|
||||
"lint:fix": "eslint . --ext .js --fix",
|
||||
"postinstall": "patch-package"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.js": [
|
||||
"npm run format",
|
||||
"npm run lint:fix"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/react-hooks": "^3.1.3",
|
||||
"@expo/vector-icons": "^12.0.0",
|
||||
"@ptomasroos/react-native-multi-slider": "^2.2.2",
|
||||
"@react-native-async-storage/async-storage": "~1.15.0",
|
||||
"@react-native-community/masked-view": "0.1.10",
|
||||
"@react-navigation/drawer": "^5.12.5",
|
||||
"@react-navigation/native": "^5.9.4",
|
||||
"@react-navigation/stack": "^5.14.5",
|
||||
"apollo-boost": "^0.3.1",
|
||||
"apollo-cache-inmemory": "^1.5.1",
|
||||
"apollo-cache-persist": "^0.1.1",
|
||||
"apollo-client": "^2.5.1",
|
||||
"apollo-link-context": "^1.0.17",
|
||||
"apollo-link-http": "^1.5.14",
|
||||
"apollo-link-state": "^0.4.2",
|
||||
"apollo-link-ws": "^1.0.20",
|
||||
"apollo-upload-client": "^10.0.0",
|
||||
"expo": "^44.0.0",
|
||||
"expo-analytics-amplitude": "~11.1.0",
|
||||
"expo-app-auth": "~11.1.0",
|
||||
"expo-app-loading": "~1.3.0",
|
||||
"expo-apple-authentication": "~4.1.0",
|
||||
"expo-application": "~4.0.1",
|
||||
"expo-asset": "~8.4.6",
|
||||
"expo-constants": "~13.0.1",
|
||||
"expo-device": "~4.1.0",
|
||||
"expo-facebook": "~12.1.0",
|
||||
"expo-font": "~10.0.4",
|
||||
"expo-google-app-auth": "~8.3.0",
|
||||
"expo-image-picker": "~12.0.1",
|
||||
"expo-linking": "~3.0.0",
|
||||
"expo-localization": "~12.0.0",
|
||||
"expo-location": "~14.0.1",
|
||||
"expo-notifications": "~0.14.0",
|
||||
"expo-splash-screen": "~0.14.1",
|
||||
"expo-tracking-transparency": "~2.1.0",
|
||||
"expo-updates": "~0.11.6",
|
||||
"graphql": "^14.5.8",
|
||||
"graphql-tag": "^2.10.1",
|
||||
"i18n-js": "^3.2.2",
|
||||
"lodash": "^4.17.21",
|
||||
"patch-package": "^6.2.2",
|
||||
"react": "17.0.1",
|
||||
"react-apollo": "^2.5.8",
|
||||
"react-native": "0.64.3",
|
||||
"react-native-flash-message": "^0.1.23",
|
||||
"react-native-flatlist-slider": "^1.0.5",
|
||||
"react-native-gesture-handler": "~2.1.0",
|
||||
"react-native-gifted-chat": "^0.16.3",
|
||||
"react-native-maps": "0.29.4",
|
||||
"react-native-material-textfield": "^0.16.1",
|
||||
"react-native-modal": "^11.10.0",
|
||||
"react-native-modalize": "^2.0.8",
|
||||
"react-native-reanimated": "~2.3.1",
|
||||
"react-native-safe-area-context": "3.3.2",
|
||||
"react-native-screens": "~3.10.1",
|
||||
"react-native-star-rating": "^1.1.0",
|
||||
"react-native-svg": "12.1.1",
|
||||
"react-native-timeline-flatlist": "^0.7.2",
|
||||
"react-native-webview": "11.15.0",
|
||||
"subscriptions-transport-ws": "^0.9.16",
|
||||
"uuid": "^3.3.2",
|
||||
"validate.js": "^0.12.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-jest": "^24.8.0",
|
||||
"babel-preset-expo": "9.0.2",
|
||||
"babel-preset-react-native": "^4.0.1",
|
||||
"eslint": "^7.28.0",
|
||||
"eslint-config-standard": "^14.1.1",
|
||||
"eslint-plugin-import": "^2.20.2",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.2.1",
|
||||
"eslint-plugin-react": "^7.20.0",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"husky": "^4.3.8",
|
||||
"jest": "^26.6.3",
|
||||
"jest-react-native": "^18.0.0",
|
||||
"lint-staged": "^10.5.4",
|
||||
"metro-react-native-babel-preset": "^0.54.1",
|
||||
"prettier": "^2.3.1",
|
||||
"prettier-config-standard": "^1.0.1",
|
||||
"react-test-renderer": "^16.8.6"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native",
|
||||
"transformIgnorePatterns": [
|
||||
"node_modules/(?!(react-native|expo|@expo|apollo-boost|apollo-cache-inmemory|apollo-client|apollo-link-context|apollo-link-http|apollo-link-state|apollo-upload-client|graphql|graphql-tag|react-apollo|react-native-animatable|react-native-material-buttons|react-native-material-ripple|react-native-material-textfield|react-native-ratings|react-native-swiper-flatlist|react-native-timeline-listview|react-navigation|validate.js)/)"
|
||||
]
|
||||
},
|
||||
"private": true
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
diff --git a/node_modules/react-native-material-textfield/src/components/affix/index.js b/node_modules/react-native-material-textfield/src/components/affix/index.js
|
||||
index 0f85022..c12b3a6 100644
|
||||
--- a/node_modules/react-native-material-textfield/src/components/affix/index.js
|
||||
+++ b/node_modules/react-native-material-textfield/src/components/affix/index.js
|
||||
@@ -11,7 +11,7 @@ export default class Affix extends PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
numberOfLines: PropTypes.number,
|
||||
- style: Animated.Text.propTypes.style,
|
||||
+ style: PropTypes.object,
|
||||
|
||||
color: PropTypes.string.isRequired,
|
||||
fontSize: PropTypes.number.isRequired,
|
||||
diff --git a/node_modules/react-native-material-textfield/src/components/field/index.js b/node_modules/react-native-material-textfield/src/components/field/index.js
|
||||
index 494bbaa..9bbf2e2 100644
|
||||
--- a/node_modules/react-native-material-textfield/src/components/field/index.js
|
||||
+++ b/node_modules/react-native-material-textfield/src/components/field/index.js
|
||||
@@ -221,6 +221,7 @@ export default class TextField extends PureComponent {
|
||||
|
||||
let options = {
|
||||
toValue: this.focusState(),
|
||||
+ useNativeDriver: false,
|
||||
duration,
|
||||
};
|
||||
|
||||
diff --git a/node_modules/react-native-material-textfield/src/components/helper/index.js b/node_modules/react-native-material-textfield/src/components/helper/index.js
|
||||
index 6060f9f..fe9d9c4 100644
|
||||
--- a/node_modules/react-native-material-textfield/src/components/helper/index.js
|
||||
+++ b/node_modules/react-native-material-textfield/src/components/helper/index.js
|
||||
@@ -11,7 +11,7 @@ export default class Helper extends PureComponent {
|
||||
|
||||
disabled: PropTypes.bool,
|
||||
|
||||
- style: Animated.Text.propTypes.style,
|
||||
+ style: PropTypes.object,
|
||||
|
||||
baseColor: PropTypes.string,
|
||||
errorColor: PropTypes.string,
|
||||
diff --git a/node_modules/react-native-material-textfield/src/components/label/index.js b/node_modules/react-native-material-textfield/src/components/label/index.js
|
||||
index 82eaf03..809fcdd 100644
|
||||
--- a/node_modules/react-native-material-textfield/src/components/label/index.js
|
||||
+++ b/node_modules/react-native-material-textfield/src/components/label/index.js
|
||||
@@ -43,7 +43,7 @@ export default class Label extends PureComponent {
|
||||
y1: PropTypes.number,
|
||||
}),
|
||||
|
||||
- style: Animated.Text.propTypes.style,
|
||||
+ style: PropTypes.object,
|
||||
label: PropTypes.string,
|
||||
};
|
||||
|
|
@ -17,12 +17,10 @@ const COLORS = {
|
|||
primaryLightBlue: '#0cc8d5',
|
||||
lightBlueShadeGrey: '#f8f9fa',
|
||||
mediumBlueShadeGrey: '#f2f4f5',
|
||||
dkmediumBlueShadeGrey: '#202020',
|
||||
black06: 'rgba(0,0,0,0.6)',
|
||||
white06: 'rgba(255,255,255,0.6)',
|
||||
redishOrange: '#FA7751',
|
||||
blueColor: '#00b9c6',
|
||||
yellowishOrange: '#fff1d4',
|
||||
fontMainColor: '#000'
|
||||
yellowishOrange: '#fff1d4'
|
||||
}
|
||||
export { COLORS }
|
|
@ -62,7 +62,7 @@ const Theme = {
|
|||
fontSecondColor: COLORS.whitishGrey,
|
||||
placeHolderColor: COLORS.lightGrey,
|
||||
buttonBackground: COLORS.primary,
|
||||
buttonBackgroundLight: COLORS.dkmediumBlueShadeGrey,
|
||||
buttonBackgroundLight: COLORS.mediumBlueShadeGrey,
|
||||
buttonBackgroundBlue: COLORS.primaryLightBlue,
|
||||
active: COLORS.primaryLightBlue,
|
||||
buttonText: COLORS.white,
|
|
@ -0,0 +1,92 @@
|
|||
import AsyncStorage from '@react-native-async-storage/async-storage'
|
||||
import { defaultDataIdFromObject, InMemoryCache } from 'apollo-cache-inmemory'
|
||||
import { persistCache } from 'apollo-cache-persist'
|
||||
import { ApolloClient } from 'apollo-client'
|
||||
import { ApolloLink, concat, Observable, split } from 'apollo-link'
|
||||
import { createHttpLink } from 'apollo-link-http'
|
||||
import { WebSocketLink } from 'apollo-link-ws'
|
||||
import { getMainDefinition } from 'apollo-utilities'
|
||||
import getEnvVars from '../../environment'
|
||||
|
||||
const { GRAPHQL_URL, WS_GRAPHQL_URL } = getEnvVars()
|
||||
|
||||
const cache = new InMemoryCache({
|
||||
dataIdFromObject: object => {
|
||||
switch (object.__typename) {
|
||||
case 'CartItem':
|
||||
return object.key // use `key` as the primary key
|
||||
default:
|
||||
return defaultDataIdFromObject(object) // fall back to default handling
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
const httpLink = createHttpLink({
|
||||
uri: GRAPHQL_URL
|
||||
})
|
||||
|
||||
const wsLink = new WebSocketLink({
|
||||
uri: WS_GRAPHQL_URL,
|
||||
options: {
|
||||
reconnect: true
|
||||
}
|
||||
})
|
||||
|
||||
const request = async operation => {
|
||||
const token = await AsyncStorage.getItem('token')
|
||||
|
||||
operation.setContext({
|
||||
// get the authentication token from local storage if it exists
|
||||
// return the headers to the context so httpLink can read them
|
||||
headers: {
|
||||
authorization: token ? `Bearer ${token}` : ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const requestLink = new ApolloLink(
|
||||
(operation, forward) =>
|
||||
new Observable(observer => {
|
||||
// console.log(observer)
|
||||
let handle
|
||||
Promise.resolve(operation)
|
||||
.then(oper => request(oper))
|
||||
.then(() => {
|
||||
handle = forward(operation).subscribe({
|
||||
next: observer.next.bind(observer),
|
||||
error: observer.error.bind(observer),
|
||||
complete: observer.complete.bind(observer)
|
||||
})
|
||||
})
|
||||
.catch(observer.error.bind(observer))
|
||||
|
||||
return () => {
|
||||
if (handle) handle.unsubscribe()
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
const terminatingLink = split(({ query }) => {
|
||||
const { kind, operation } = getMainDefinition(query)
|
||||
return kind === 'OperationDefinition' && operation === 'subscription'
|
||||
}, wsLink)
|
||||
|
||||
const setupApollo = async() => {
|
||||
await persistCache({
|
||||
cache,
|
||||
storage: AsyncStorage
|
||||
})
|
||||
const client = new ApolloClient({
|
||||
link: concat(ApolloLink.from([terminatingLink, requestLink]), httpLink),
|
||||
cache,
|
||||
resolvers: {}
|
||||
})
|
||||
|
||||
// set ref for global use
|
||||
// eslint-disable-next-line no-undef
|
||||
clientRef = client
|
||||
|
||||
return client
|
||||
}
|
||||
|
||||
export default setupApollo
|
|
@ -3,14 +3,13 @@ mutation Login($facebookId:String,$email:String,$password:String,$type:String!,$
|
|||
login(facebookId:$facebookId,email:$email,password:$password,type:$type,appleId:$appleId,name:$name,notificationToken:$notificationToken){
|
||||
userId
|
||||
token
|
||||
is_active
|
||||
tokenExpiration
|
||||
name
|
||||
email
|
||||
phone
|
||||
}
|
||||
}
|
||||
`;
|
||||
`
|
||||
|
||||
export const categories = `
|
||||
{
|
||||
|
@ -20,7 +19,7 @@ export const categories = `
|
|||
description
|
||||
img_menu
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const foods = `
|
||||
query FoodByCategory($category:String!,$onSale:Boolean,$inStock:Boolean,$min:Float,$max:Float,$search:String){
|
||||
|
@ -51,7 +50,7 @@ query FoodByCategory($category:String!,$onSale:Boolean,$inStock:Boolean,$min:Flo
|
|||
img_url
|
||||
stock
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const createUser = `
|
||||
mutation CreateUser($facebookId:String,$phone:String,$email:String,$password:String,$name:String,$notificationToken:String,$appleId:String){
|
||||
|
@ -72,17 +71,16 @@ export const createUser = `
|
|||
phone
|
||||
notificationToken
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const updateUser = `
|
||||
mutation UpdateUser($name:String!,$phone:String!,$is_active:Boolean!){
|
||||
updateUser(updateUserInput:{name:$name,phone:$phone,is_active:$is_active}){
|
||||
mutation UpdateUser($name:String!,$phone:String!){
|
||||
updateUser(updateUserInput:{name:$name,phone:$phone}){
|
||||
_id
|
||||
name
|
||||
phone
|
||||
is_active
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const updateNotificationStatus = `
|
||||
mutation UpdateNotificationStatus($offerNotification:Boolean!,$orderNotification:Boolean!){
|
||||
|
@ -92,7 +90,7 @@ export const updateNotificationStatus = `
|
|||
is_order_notification
|
||||
is_offer_notification
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
export const profile = `
|
||||
query{
|
||||
profile{
|
||||
|
@ -100,8 +98,6 @@ export const profile = `
|
|||
name
|
||||
phone
|
||||
email
|
||||
is_active
|
||||
|
||||
notificationToken
|
||||
is_order_notification
|
||||
is_offer_notification
|
||||
|
@ -115,7 +111,7 @@ export const profile = `
|
|||
selected
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const order = `query Order($id:String!){
|
||||
order(id:$id){
|
||||
|
@ -188,7 +184,7 @@ export const order = `query Order($id:String!){
|
|||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
`
|
||||
|
||||
export const myOrders = `query Orders($offset:Int){
|
||||
orders(offset:$offset){
|
||||
|
@ -261,7 +257,7 @@ export const myOrders = `query Orders($offset:Int){
|
|||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
`
|
||||
|
||||
//
|
||||
// can we get userId from request instead??
|
||||
|
@ -344,7 +340,7 @@ export const orderStatusChanged = `subscription OrderStatusChanged($userId:Strin
|
|||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
`
|
||||
|
||||
//
|
||||
// status queue??
|
||||
|
@ -421,7 +417,7 @@ mutation PlaceOrder($orderInput:[OrderInput!]!,$paymentMethod:String!,$couponCod
|
|||
description
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const reviewOrder = `mutation ReviewOrder(
|
||||
$orderId:String!,
|
||||
|
@ -444,15 +440,18 @@ export const reviewOrder = `mutation ReviewOrder(
|
|||
updatedAt
|
||||
is_active
|
||||
}
|
||||
}`;
|
||||
|
||||
}`
|
||||
|
||||
//
|
||||
// use this to push token instead of login, signup mutation?
|
||||
// needs research
|
||||
//
|
||||
export const pushToken = `mutation PushToken($token:String!){
|
||||
pushToken(token:$token){
|
||||
_id
|
||||
notificationToken
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const getConfiguration = `query Configuration{
|
||||
configuration{
|
||||
|
@ -461,7 +460,7 @@ export const getConfiguration = `query Configuration{
|
|||
currency_symbol
|
||||
delivery_charges
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const foodByIds = `query FoodByIds($ids:[String!]!){
|
||||
foodByIds(ids: $ids) {
|
||||
|
@ -493,7 +492,7 @@ export const foodByIds = `query FoodByIds($ids:[String!]!){
|
|||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const getCoupon = `mutation Coupon($coupon:String!){
|
||||
coupon(coupon:$coupon){
|
||||
|
@ -502,7 +501,7 @@ export const getCoupon = `mutation Coupon($coupon:String!){
|
|||
discount
|
||||
enabled
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const deleteAddress = `mutation DeleteAddress($id:ID!){
|
||||
deleteAddress(id:$id){
|
||||
|
@ -517,7 +516,7 @@ export const deleteAddress = `mutation DeleteAddress($id:ID!){
|
|||
selected
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const createAddress = `mutation CreateAddress($addressInput:AddressInput!){
|
||||
createAddress(addressInput:$addressInput){
|
||||
|
@ -532,7 +531,7 @@ export const createAddress = `mutation CreateAddress($addressInput:AddressInput!
|
|||
selected
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const editAddress = `mutation EditAddress($addressInput:AddressInput!){
|
||||
editAddress(addressInput:$addressInput){
|
||||
|
@ -543,17 +542,17 @@ export const editAddress = `mutation EditAddress($addressInput:AddressInput!){
|
|||
longitude
|
||||
latitude
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const changePassword = `mutation ChangePassword($oldPassword:String!,$newPassword:String!){
|
||||
changePassword(oldPassword:$oldPassword,newPassword:$newPassword)
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const forgotPassword = `mutation ForgotPassword($email:String!){
|
||||
forgotPassword(email:$email){
|
||||
result
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const selectAddress = `mutation SelectAddress($id:String!){
|
||||
selectAddress(id:$id){
|
||||
|
@ -568,7 +567,7 @@ export const selectAddress = `mutation SelectAddress($id:String!){
|
|||
selected
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const subscriptionRiderLocation = `subscription SubscriptionRiderLocation($riderId:String!){
|
||||
subscriptionRiderLocation(riderId:$riderId) {
|
||||
|
@ -578,7 +577,7 @@ export const subscriptionRiderLocation = `subscription SubscriptionRiderLocation
|
|||
longitude
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
||||
|
||||
export const rider = `query Rider($id:String){
|
||||
rider(id:$id){
|
||||
|
@ -588,4 +587,4 @@ export const rider = `query Rider($id:String){
|
|||
longitude
|
||||
}
|
||||
}
|
||||
}`;
|
||||
}`
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 277 B |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 522 B After Width: | Height: | Size: 522 B |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 696 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -8,7 +8,6 @@ import { CustomIcon } from '../../CustomIcon'
|
|||
import { FlashMessage } from '../../FlashMessage/FlashMessage'
|
||||
import TextDefault from '../../Text/TextDefault/TextDefault'
|
||||
import useStyle from './styles'
|
||||
import i18n from '../../../../i18n'
|
||||
|
||||
function CartComponent(props) {
|
||||
const { colors } = useTheme()
|
||||
|
@ -19,7 +18,7 @@ function CartComponent(props) {
|
|||
if (props.stock > quantity) setQuantity(quantity + 1)
|
||||
else {
|
||||
FlashMessage({
|
||||
message: i18n.t('noMoreItems')
|
||||
message: 'No more items in stock'
|
||||
})
|
||||
}
|
||||
}
|