# Components

## Components

* [App](/olo-full-app/components.md#app)
* [Login](/olo-full-app/components.md#login)
* [OrderDetail](/olo-full-app/components.md#orderdetail)

### App

* Location: The UI can be found under `src/App.js`&#x20;
* Working: Configures Native base, Fonts, Push Notification, Apollo, Authentication and Navigation.
* Result: Everything is configured loads the next view depending on if the user is authenticated or not. If the user is not authenticated will show tutorial screen first else it will show Menu Screen.

### Login

* Location: The UI can be found under `src/screens/Login/Login.js` Its [mutation](https://graphql.org/learn/queries/#mutations) can be found under `src/apollo/server.js` with constant `login`&#x20;
* Working: Logins User using Google, Facebook or Manual Registration. A separate component for ForgotPassword is also present its component can be found `src/components/ForgotPassword` Its [mutation](https://graphql.org/learn/queries/#mutations) can be found under `src/apollo/server.js` with constant `forgotPassword`
* Result: Logins User with validation. If a user uses forgotPassword an email will be sent to him with reset link for changing his/her password.

### OrderDetail

* Location: The UI can be found under `src/screens/OrderDetail/OrderDetail.js` It has Apollo constants of `orderItem` its of type fragment located in `src/apollo/client.js`&#x20;
* Working:  It shows OrderDetail to the rider where the status of the order can be changed by the rider.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://listing-nb.gitbook.io/olo-full-app/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
