Skip to content

Commit

Permalink
Merge branch 'main' of github.com:Expensify/App into fix/clipboard-text
Browse files Browse the repository at this point in the history
  • Loading branch information
b4s36t4 committed Oct 11, 2023
2 parents f3ef79f + 502df9b commit 9f4a8f5
Show file tree
Hide file tree
Showing 118 changed files with 1,588 additions and 730 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<img src="https://raw.githubusercontent.com/Expensify/App/main/web/favicon.png" width="64" height="64" alt="New Expensify Icon">
</a>
<h1>
<a href="https://new.expensify.com">
<a href="https://new.expensify.com/">
New Expensify
</a>
</h1>
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001037904
versionName "1.3.79-4"
versionCode 1001038100
versionName "1.3.81-0"
}

flavorDimensions "default"
Expand Down
1 change: 1 addition & 0 deletions assets/animations/Magician.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ description: Got a question about receipts, expenses, corporate cards, or anythi
url: https://help.expensify.com
author: Expensify
logo: /assets/images/expensify-help.svg
repository: Expensify/App
open_url: true

defaults:
Expand Down
15 changes: 12 additions & 3 deletions docs/_sass/_search-bar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,14 @@ $color-gray-label: $color-gray-label;
/* All gsc id & class are Google Search relate gcse_0 is the search bar parent & gcse_1 is the search result list parent */
#___gcse_0 {
margin-left: 20px;
margin-top: -8px;
}

/* This input is in #___gcse_0 search bar */
input#gsc-i-id1.gsc-input {
background-color: $color-appBG;
padding: 15px 0px 0px !important;
pointer-events: auto;
color: #E7ECE9;
font-family: "ExpensifyNeue", "Segoe UI Emoji", "Noto Color Emoji" !important;
}
Expand All @@ -102,23 +105,29 @@ input#gsc-i-id1.gsc-input {
background-color: $color-appBG;
border-bottom: $color-borders 2px solid;
border-bottom-left-radius: 0px;

pointer-events: none;

&:focus-within {
border-bottom: $color-accent 2px solid;
}
}

.gsc-input-box .gsib_a {
padding: 5px 9px 4px 0px;
padding: 0px 0px 4px 0px;
}

.search-icon {
margin-left: auto;
}

.gsst_b, .gsst_a {
padding: 0px !important;
}
/* This is the close icon on search bar */
.gsib_b .gsst_a .gscb_a {
color: $color-icons;
padding: 8px 6px 0px 6px !important;
pointer-events: auto;

&:hover {
color: $color-text;
Expand Down Expand Up @@ -148,6 +157,7 @@ label.search-label {
font-family: "ExpensifyNeue", "Segoe UI Emoji", "Noto Color Emoji";
transform: translateY(-50%);
left: 20px;
pointer-events: none;
color: $color-gray-label;
transform-origin: left top;
user-select: none;
Expand Down Expand Up @@ -181,7 +191,6 @@ label.search-label {
/* Change the Google Search Button icon into Expensify icon button */
.gsc-search-button.gsc-search-button-v2 {
padding: 10px;
margin-top: -7px;
margin-left: 15px;
margin-right: 20px;
border-radius: 25px;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,61 @@
---
title: Account Details
description: Account Details
description: The Account Details section of your account is where you can update your profile photo, enable 2FA, and change the email address associated with your Expensify account.
---
## Resource Coming Soon!

# Overview
The Account Details section of your account is where you can update your profile photo, enable 2FA, and change the email address associated with your account.

You can have multiple email addresses tied to your account to make it easier to submit expenses or manage your account. Let’s go over how to configure the various account settings located under the Account Details section of your Expensify account.

# How to add a profile photo
To update your name or add a profile photo, navigate to **Settings** > **Account** > **Account Details.** Under “your profile” you’ll notice a profile picture thumbnail, click “edit photo” underneath to update the profile image.

# How to enable Two-Factor Authentication
Setting up Two-factor Authentication is one of the best ways to secure your account. This can be enabled individually in your account settings by following **Settings** > **Accounts** > **Account Details** > **Two Factor Authentication** and toggle the switch to **Enabled.**

Save or download your **Recovery Codes.** It’s important to keep these safe! You WILL lose access to your account if you cannot use your authenticator app and do not have your recovery codes.

Use your favorite authenticator app to connect to Expensify using the QR code or click the link to enter the secret key manually.

Once connected, quickly enter the code generated by your app into Expensify before the timeframe runs out!

# How to manage your devices
You can access your Expensify account on multiple devices, which allows for easy access to your account data. By heading to **Settings** > **Account** > **Account Details** > **Device Management**, you can review the devices that have access to your account.

From that same place in your account, you can remove any devices that should no longer have access. To do this, select the **Revoke** button next to each device you wish to remove access to your account.

# How to add a Secondary Login
A Secondary Login is helpful if you have multiple email addresses and don’t necessarily need multiple Expensify accounts. By adding additional emails to your Expensify account, you can use them to forward receipts to [email protected] and they will be uploaded to your main Expensify account. To get this added to your account, follow these steps:

1. Log in to your Expensify account through a web browser at www.expensify.com. Please note that this process cannot be completed using the mobile app; it must be done from the website at expensify.com.
2. Navigate to **Settings** > **Account** > **Account Details**. Scroll down to find the 'Secondary Logins' section, then click the 'Add Secondary Login' button.
3. Input the email address or mobile phone number you wish to add, ensuring you include the international code if applicable.
4. You will receive a prompt to enter the Magic Code, which will be sent to the email address you're adding as a secondary login.

# How to update your email address
Once a Secondary Login is added to your account, you can make it your primary email address. The primary address on an Expensify account is the address that will receive email notifications and updates regarding the account. Any new email addresses must be added as a secondary login before they can be made a primary address.

1. Log in to your Expensify account through a web browser at www.expensify.com. Please note that this process cannot be completed using the mobile app; it must be done from the website at expensify.com.
2. Navigate to **Settings** > **Account** > **Account Details**. Scroll down to find the 'Secondary Logins' section, then select the **"Make Primary"** button next to the email address.
3. You can keep the old address as a secondary login or delete email addresses by selecting the **"Remove"** button.


# Deep Dive
## Managing emails connected to other Expensify accounts
A secondary login can only be added if it is not linked to an existing account. If you have two email addresses with Expensify accounts linked to them, you'll need to merge them instead.

Alternatively, you can remove a personal email address from a previous work/organization account to use it elsewhere.

Is your Secondary Login (personal email) validated in your company account? If so, do the following:
1. Navigate to expensify.com
2. Log in using your validated Secondary Login
3. Navigate to **Account** > **Settings** > **Account Details** > **Secondary Logins**
4. Remove your personal email address from the account by clicking the **"Remove"** button next to your email

Is your Secondary Login (personal email) invalidated in your company account? If so, do the following:
1. Navigate to expensify.com
2. Enter your invalidated secondary login email address
3. You will be presented with a confirmation message saying Expensify sent you an email with a validation link
4. Head to your personal email account and follow the prompts
5. You'll receive a link in the email to click that will unlink the two accounts
33 changes: 30 additions & 3 deletions docs/articles/expensify-classic/getting-started/Plan-Types.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
---
title: Plan-Types
description: Plan-Types
title: Plan Types
description: Learn which Expensify plan is the best fit for you
---
## Resource Coming Soon!
# Overview
You can access comprehensive information about Expensify's plans and pricing by visiting www.expensify.com/pricing. Below, we provide an overview of each plan type to assist you in selecting the one that best suits your business or personal requirements.

## Free Plan
The Free plan is suited for small businesses, offering a dedicated workspace for efficiently handling Expensify card management, expense reimbursement, invoicing, and bill payment. This plan includes unlimited receipt scanning for all users within the company and the potential to earn up to 1% cashback on card spending exceeding $25,000 per month (across all cards).

## Collect Workspace Plan
The Collect Workspace Plan is designed with small companies in mind, providing essential features like a single layer of expense approvals, reimbursement capabilities, corporate card management, and basic integration options such as QuickBooks Online, QuickBooks Desktop, and Xero. This plan is ideal for those who require simple expense management functions.

## Control Workspace Plan
Our most popular option, the Control Workspace plan, offers a heightened level of control and Workspace customization. With a Control Workspace, you gain access to multi-level approval workflows, comprehensive corporate card management, advanced accounting integration, tax tracking capabilities, and advanced expense rules that facilitate the enforcement of your internal expense policy. This plan provides a robust set of features for effective expense management.

## Individual Track Plan
The Track plan is tailored for solo Expensify users who don't require expense submission to others. Individuals or sole proprietors can choose the Track plan to customize their Individual Workspace to align with their personal expense tracking requirements.

## Individual Submit Plan
The Submit plan is designed for individuals who need to keep track of their expenses and share them with someone else, such as their boss, accountant, or even a housemate. It's specifically tailored for single users who want to both track and submit their expenses efficiently.

# FAQ

## How can I change Individual plans?
You have the flexibility to switch between a Track and Submit plan, or vice versa, at any time by navigating to **Settings > Workspaces > Individual > *Workspace Name* > Plan**. This allows you to adapt your expense management approach as needed.

## How can I upgrade Group plans?
You can easily upgrade from a Collect to a Control plan at any time by going to **Settings > Workspaces > Group > *Workspace Name* > Plan**. However, it's important to note that if you have an active Annual Subscription, downgrading from Control to Collect is not possible until your current commitment period expires.

## How does pricing work if I have two types of Group Workspace plans?
If you have a Control and Collect Workspace, you will be charged at the Control Workspace rate.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.3.79</string>
<string>1.3.81</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.3.79.4</string>
<string>1.3.81.0</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.3.79</string>
<string>1.3.81</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.3.79.4</string>
<string>1.3.81.0</string>
</dict>
</plist>
4 changes: 2 additions & 2 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@ PODS:
- React
- react-native-image-picker (5.1.0):
- React-Core
- react-native-key-command (1.0.5):
- react-native-key-command (1.0.6):
- React-Core
- react-native-netinfo (9.3.10):
- React-Core
Expand Down Expand Up @@ -1257,7 +1257,7 @@ SPEC CHECKSUMS:
react-native-geolocation: 0f7fe8a4c2de477e278b0365cce27d089a8c5903
react-native-image-manipulator: c48f64221cfcd46e9eec53619c4c0374f3328a56
react-native-image-picker: c33d4e79f0a14a2b66e5065e14946ae63749660b
react-native-key-command: 69bd8d59f2812eb3bd8ae1e23b93d40cd29bcde1
react-native-key-command: 5af6ee30ff4932f78da6a2109017549042932aa5
react-native-netinfo: ccbe1085dffd16592791d550189772e13bf479e2
react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df
react-native-pdf: 7c0e91ada997bac8bac3bb5bea5b6b81f5a3caae
Expand Down
1 change: 1 addition & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ module.exports = {
],
transform: {
'^.+\\.jsx?$': 'babel-jest',
'^.+\\.svg?$': 'jest-transformer-svg',
},
transformIgnorePatterns: ['<rootDir>/node_modules/(?!react-native)/'],
testPathIgnorePatterns: ['<rootDir>/node_modules'],
Expand Down
36 changes: 27 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
"version": "1.3.79-4",
"version": "1.3.81-0",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
Expand Down Expand Up @@ -133,7 +133,7 @@
"react-native-image-pan-zoom": "^2.1.12",
"react-native-image-picker": "^5.1.0",
"react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#8393b7e58df6ff65fd41f60aee8ece8822c91e2b",
"react-native-key-command": "^1.0.5",
"react-native-key-command": "^1.0.6",
"react-native-linear-gradient": "^2.8.1",
"react-native-localize": "^2.2.6",
"react-native-modal": "^13.0.0",
Expand Down Expand Up @@ -252,6 +252,7 @@
"jest-circus": "29.4.1",
"jest-cli": "29.4.1",
"jest-environment-jsdom": "^29.4.1",
"jest-transformer-svg": "^2.0.1",
"metro-react-native-babel-preset": "0.76.8",
"mock-fs": "^4.13.0",
"onchange": "^7.1.0",
Expand Down
3 changes: 1 addition & 2 deletions src/CONST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,6 @@ const CONST = {
BETA_EXPENSIFY_WALLET: 'expensifyWallet',
BETA_COMMENT_LINKING: 'commentLinking',
INTERNATIONALIZATION: 'internationalization',
IOU_SEND: 'sendMoney',
POLICY_ROOMS: 'policyRooms',
PASSWORDLESS: 'passwordless',
TASKS: 'tasks',
Expand Down Expand Up @@ -1264,7 +1263,7 @@ const CONST = {
CARD_NUMBER: /^[0-9]{15,16}$/,
CARD_SECURITY_CODE: /^[0-9]{3,4}$/,
CARD_EXPIRATION_DATE: /^(0[1-9]|1[0-2])([^0-9])?([0-9]{4}|([0-9]{2}))$/,
ROOM_NAME: /^#[a-z0-9à-ÿ-]{1,80}$/,
ROOM_NAME: /^#[\p{Ll}0-9-]{1,80}$/u,

// eslint-disable-next-line max-len, no-misleading-character-class
EMOJIS: /[\p{Extended_Pictographic}](\u200D[\p{Extended_Pictographic}]|[\u{1F3FB}-\u{1F3FF}]|[\u{E0020}-\u{E007F}]|\uFE0F|\u20E3)*|[\u{1F1E6}-\u{1F1FF}]{2}|[#*0-9]\uFE0F?\u20E3/gu,
Expand Down
1 change: 1 addition & 0 deletions src/ONYXKEYS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ const ONYXKEYS = {
PRIVATE_NOTES_FORM: 'privateNotesForm',
I_KNOW_A_TEACHER_FORM: 'iKnowTeacherForm',
INTRO_SCHOOL_PRINCIPAL_FORM: 'introSchoolPrincipalForm',
REPORT_VIRTUAL_CARD_FRAUD: 'reportVirtualCardFraudForm',
},
} as const;

Expand Down
Loading

0 comments on commit 9f4a8f5

Please sign in to comment.