diff --git a/apps/mobile/app/common/design/theme.ts b/apps/mobile/app/common/design/theme.ts
index 59aba2d68..cb259645a 100644
--- a/apps/mobile/app/common/design/theme.ts
+++ b/apps/mobile/app/common/design/theme.ts
@@ -49,7 +49,7 @@ export const THEME_LIGHT: ThemeDefinition = {
heading: "#181818",
icon: "#181818",
separator: "#F0F0F0",
- placeholder: "#a9a9a9",
+ placeholder: "#858585",
hover: "#eee",
backdrop: "#0000001a",
buttonForeground: "#FFFFFF"
@@ -63,7 +63,7 @@ export const THEME_LIGHT: ThemeDefinition = {
heading: "#4B4B4B",
icon: "#666666",
separator: "#E8E8E8",
- placeholder: "#a9a9a9",
+ placeholder: "#999999",
hover: "#dbdbdb",
backdrop: "#0000001a",
buttonForeground: "#181818"
@@ -101,7 +101,7 @@ export const THEME_LIGHT: ThemeDefinition = {
background: "#00883610",
border: "#008836",
heading: "#212121",
- icon: "#FFFFFF",
+ icon: "#181818",
separator: "#E8E8E8",
placeholder: "#a9a9a9",
hover: "#eee",
@@ -146,13 +146,18 @@ export const THEME_LIGHT: ThemeDefinition = {
},
secondary: { background: "#EEEEEE" },
selected: {
- background: "#ddd",
+ background: "#00883610",
hover: "#eee"
}
},
contextMenu: { primary: { background: "#f7f7f7" } },
editor: { selected: { background: "#e1e1e1" } },
- sheet: { selected: { paragraph: "#008836" } }
+ sheet: { selected: { paragraph: "#008836" } },
+ list: {
+ secondary: {
+ heading: "#A6A6A6"
+ }
+ }
}
};
diff --git a/apps/mobile/app/components/auth/login.tsx b/apps/mobile/app/components/auth/login.tsx
index 41b52bf00..3b2cb8847 100644
--- a/apps/mobile/app/components/auth/login.tsx
+++ b/apps/mobile/app/components/auth/login.tsx
@@ -238,6 +238,9 @@ export const Login = ({
fontFamily="REGULAR"
fontSize={AppFontSize.sm}
type="plain"
+ textStyle={{
+ color: colors.secondary.paragraph
+ }}
/>
void
+ callback: (success: boolean) => void,
+ onerror: (error: Error) => void
) => {
try {
const success = await db.user.authenticateMultiFactorCode(
@@ -342,6 +346,8 @@ export const Login = ({
if ((e as Error).message === "invalid_grant") {
setLoading(false);
setStep(LoginSteps.emailAuth);
+ } else {
+ onerror(e as Error);
}
}
}}
diff --git a/apps/mobile/app/components/auth/two-factor.tsx b/apps/mobile/app/components/auth/two-factor.tsx
index fe52f2b1b..6db55cb9b 100644
--- a/apps/mobile/app/components/auth/two-factor.tsx
+++ b/apps/mobile/app/components/auth/two-factor.tsx
@@ -158,6 +158,7 @@ const TwoFactorVerification = ({
setSending(false);
} catch (e) {
setSending(false);
+ console.log("error e");
setError(
new Error(`Error sending 2FA Code. Tap "Send code" to try again `)
);
@@ -268,7 +269,9 @@ const TwoFactorVerification = ({
style={{
textAlign: "center",
marginVertical: DefaultAppStyles.GAP_VERTICAL_SMALL,
- maxWidth: 250
+ maxWidth: 250,
+ alignSelf: "center",
+ marginTop: -10
}}
>
@@ -433,11 +492,16 @@ const NoteItem = ({
{compactMode ? null : (
-
+
- {compactMode ? (
- <>
- {item.conflicted ? (
-
- ) : null}
-
- {locked ? (
-
- ) : null}
-
- {item.favorite ? (
-
- ) : null}
-
-
- >
- ) : null}
-
{selectionMode === "note" || selectionMode === "trash" ? (
<>
@@ -83,23 +83,36 @@ const SelectionWrapper = ({
onLongPress={onLongPress}
onPress={onPress}
customSelectedColor={colors.primary.hover}
+ noborder
customAlpha={!isDark ? -0.02 : 0.02}
customOpacity={1}
style={{
- flexDirection: "row",
width: "100%",
alignSelf: "center",
overflow: "hidden",
+ paddingHorizontal: Spacing.LEVEL_3,
borderRadius: 0,
- marginTop: hasGroupHeader ? 0 : Spacing.LEVEL_3,
- borderBottomWidth: 1,
- borderBottomColor: colors.primary.border,
alignItems: "flex-start",
- paddingVertical: Spacing.LEVEL_2,
- paddingTop: hasGroupHeader ? 0 : Spacing.LEVEL_2
+ // paddingVertical: Spacing.LEVEL_2,
+ paddingTop: Spacing.LEVEL_2
}}
>
- {children}
+
+ {children}
+
+
);
diff --git a/apps/mobile/app/components/list/card.tsx b/apps/mobile/app/components/list/card.tsx
index 0419aa8bd..a3197234a 100644
--- a/apps/mobile/app/components/list/card.tsx
+++ b/apps/mobile/app/components/list/card.tsx
@@ -96,7 +96,8 @@ export const Card = ({
state.settings.introCompleted
- );
- const tip = useTip(
- screen === "Notes" && introCompleted
- ? "first-note"
- : placeholder?.type || ((dataType + "s") as any),
- screen === "Notes" ? "notes" : "list"
- );
return (
{!loading ? (
<>
- placeholder?.paragraph } as TTip)
- : ({ text: () => placeholder?.paragraph } as TTip)
- }
+
- {placeholder?.button && (
-
+
+ {placeholder?.button && (
+
+ )}
+
>
) : (
<>
- {placeholder?.title}
-
- {placeholder?.loading}
-
-
+ {placeholder?.loading}
>
)}
diff --git a/apps/mobile/app/components/paywall/compare-plans.tsx b/apps/mobile/app/components/paywall/compare-plans.tsx
index d02dd0687..7557163cf 100644
--- a/apps/mobile/app/components/paywall/compare-plans.tsx
+++ b/apps/mobile/app/components/paywall/compare-plans.tsx
@@ -30,6 +30,7 @@ import { Button } from "../ui/button";
import Heading from "../ui/typography/heading";
import Paragraph from "../ui/typography/paragraph";
import { Steps } from "./common";
+import { Spacing } from "../../common/design/spacing";
export const ComparePlans = React.memo(
(props: {
@@ -44,7 +45,8 @@ export const ComparePlans = React.memo(
) : (
-
+
+ -
+
)}
>
) : null}
diff --git a/apps/mobile/app/components/paywall/index.tsx b/apps/mobile/app/components/paywall/index.tsx
index 92183189c..cff1b92cd 100644
--- a/apps/mobile/app/components/paywall/index.tsx
+++ b/apps/mobile/app/components/paywall/index.tsx
@@ -230,11 +230,11 @@ const PayWall = (props: NavigationProps<"PayWall">) => {
) => {
color={colors.primary.icon}
size={18}
onPress={() => {
- Navigation.navigate("FluidPanelsView", {});
+ if (step === Steps.buy) {
+ setStep(Steps.select);
+ return;
+ }
+ if (routeParams.context === "signup") {
+ Navigation.navigate("FluidPanelsView", {});
+ } else {
+ Navigation.goBack();
+ }
+ }}
+ />
+
+
+ {step === Steps.buy || step === Steps.buyWeb
+ ? pricingPlans.userCanRequestTrial
+ ? strings.tryPlanForFree(
+ pricingPlans.currentPlan?.name as string
+ )
+ : strings.plan(pricingPlans.currentPlan?.name as string)
+ : ""}
+
+
+
- // {
- // if (step === Steps.buy) {
- // setStep(Steps.select);
- // return;
- // }
- // if (routeParams.context === "signup") {
- // Navigation.navigate("FluidPanelsView", {});
- // } else {
- // Navigation.goBack();
- // }
- // }}
- // title={
- // step === Steps.buy || step === Steps.buyWeb
- // ? pricingPlans.userCanRequestTrial
- // ? strings.tryPlanForFree(
- // pricingPlans.currentPlan?.name as string
- // )
- // : strings.plan(pricingPlans.currentPlan?.name as string)
- // : ""
- // }
- // />
)}
{step === Steps.select ? (
@@ -299,13 +301,7 @@ const PayWall = (props: NavigationProps<"PayWall">) => {
alignItems: "center"
}}
>
-
+
{pricingPlans.isSubscribed()
? strings.changePlan()
: strings.notesnookPlans[0]() + " "}
@@ -315,7 +311,7 @@ const PayWall = (props: NavigationProps<"PayWall">) => {
-
+
{strings.readyToTakeNextStep()}
@@ -382,7 +378,7 @@ const PayWall = (props: NavigationProps<"PayWall">) => {
@@ -497,7 +493,8 @@ const PayWall = (props: NavigationProps<"PayWall">) => {
paddingHorizontal: Spacing.LEVEL_2,
borderRadius: Radius.XS,
alignItems: "center",
- justifyContent: "center"
+ justifyContent: "center",
+ minWidth: 100
}}
>
) => {
contentContainerStyle={{
gap: Spacing.LEVEL_3
}}
+ showsHorizontalScrollIndicator={false}
horizontal
pagingEnabled
snapToOffsets={[0, width - 50, width * 2 - 100]}
diff --git a/apps/mobile/app/components/paywall/plan-card.tsx b/apps/mobile/app/components/paywall/plan-card.tsx
index b3eac377f..83e28e2ab 100644
--- a/apps/mobile/app/components/paywall/plan-card.tsx
+++ b/apps/mobile/app/components/paywall/plan-card.tsx
@@ -162,7 +162,7 @@ export const PricingPlanCard = ({
{plan.recommended ? (
@@ -257,6 +257,7 @@ export const PricingPlanCard = ({
? "file"
: "image-outline"
}
+ iconFamily="notesnook"
size={AppFontSize.lg}
/>
@@ -278,7 +279,7 @@ export const PricingPlanCard = ({
{
- title.current = undefined;
close?.(false);
useSettingStore.getState().setSheetKeyboardHandler(true);
}}
diff --git a/apps/mobile/app/components/sheets/buy-plan/index.tsx b/apps/mobile/app/components/sheets/buy-plan/index.tsx
index cc9526f5f..e370bff90 100644
--- a/apps/mobile/app/components/sheets/buy-plan/index.tsx
+++ b/apps/mobile/app/components/sheets/buy-plan/index.tsx
@@ -111,6 +111,9 @@ export const BuyPlan = (props: {
contentContainerStyle={{
paddingVertical: Spacing.LEVEL_4
}}
+ style={{
+ flex: 1
+ }}
keyboardDismissMode="none"
keyboardShouldPersistTaps="always"
>
@@ -151,7 +154,7 @@ export const BuyPlan = (props: {
{strings.paymentSummary()}
@@ -257,7 +260,7 @@ export const BuyPlan = (props: {
{strings.whatsIncluded()}
@@ -270,7 +273,8 @@ export const BuyPlan = (props: {
padding: Spacing.LEVEL_3,
borderRadius: Radius.S,
backgroundColor: colors.secondary.background,
- marginBottom: 27
+ marginBottom: 27,
+ flex: 1
}}
>
{[
diff --git a/apps/mobile/app/components/sheets/sort/index.tsx b/apps/mobile/app/components/sheets/sort/index.tsx
index bb655f349..d763dd2a5 100644
--- a/apps/mobile/app/components/sheets/sort/index.tsx
+++ b/apps/mobile/app/components/sheets/sort/index.tsx
@@ -125,15 +125,6 @@ const Sort = ({
}, 1);
};
- const setOrderBy = async () => {
- const _groupOptions: GroupOptions = {
- ...groupOptions,
- sortDirection: groupOptions?.sortDirection === "asc" ? "desc" : "asc"
- };
-
- await updateGroupOptions(_groupOptions);
- };
-
useEffect(() => {
data?.groups?.().then((groups) => {
setGroups(groups);
@@ -305,6 +296,13 @@ const Sort = ({
: "plain"
}
title={getSortButtonTitle("desc")}
+ onPress={() => {
+ const _groupOptions: GroupOptions = {
+ ...groupOptions,
+ sortDirection: "desc"
+ };
+ updateGroupOptions(_groupOptions);
+ }}
/>
) : null}
diff --git a/apps/mobile/app/components/side-menu/index.tsx b/apps/mobile/app/components/side-menu/index.tsx
index 6943ea5ea..ff3e61b5b 100644
--- a/apps/mobile/app/components/side-menu/index.tsx
+++ b/apps/mobile/app/components/side-menu/index.tsx
@@ -488,7 +488,7 @@ const TabBar = (props: SimpleTabBarProps) => {
{
useThemeStore.getState().setColorScheme();
}}
diff --git a/apps/mobile/app/components/side-menu/menu-item.tsx b/apps/mobile/app/components/side-menu/menu-item.tsx
index 86474e39a..b92e28fc4 100644
--- a/apps/mobile/app/components/side-menu/menu-item.tsx
+++ b/apps/mobile/app/components/side-menu/menu-item.tsx
@@ -176,7 +176,7 @@ export function MenuItem({
item.icon === "crown"
? colors.static.yellow
: isFocused
- ? colors.selected.icon
+ ? colors.primary.icon
: colors.secondary.icon
}
size={AppFontSize.md}
diff --git a/apps/mobile/app/components/side-menu/notebook-item.tsx b/apps/mobile/app/components/side-menu/notebook-item.tsx
index b960e61a4..346c49d4f 100644
--- a/apps/mobile/app/components/side-menu/notebook-item.tsx
+++ b/apps/mobile/app/components/side-menu/notebook-item.tsx
@@ -232,7 +232,11 @@ export const NotebookItem = ({
name={selected ? "checkbox" : "box-empty"}
iconFamily="notesnook"
size={AppFontSize.md}
- color={selected ? colors.selected.icon : colors.primary.icon}
+ color={
+ selected
+ ? [colors.selected.accent, colors.selected.accentForeground]
+ : colors.primary.icon
+ }
/>
) : (
diff --git a/apps/mobile/app/components/side-menu/side-menu-list-empty.tsx b/apps/mobile/app/components/side-menu/side-menu-list-empty.tsx
index e92578600..f661cefad 100644
--- a/apps/mobile/app/components/side-menu/side-menu-list-empty.tsx
+++ b/apps/mobile/app/components/side-menu/side-menu-list-empty.tsx
@@ -47,7 +47,7 @@ export const SideMenuListEmpty = (props: SideMenuListEmptyProps) => {
@@ -88,7 +88,7 @@ export const SideMenuListEmpty = (props: SideMenuListEmptyProps) => {
gap: Spacing.LEVEL_1
}}
>
-
+
{props.placeholderTitle}
{
maxWidth: "60%"
}}
fontSize="SM"
- color={colors.secondary.paragraph}
+ color={colors.primary.paragraph}
>
{props.placeholderBody}
@@ -111,8 +111,7 @@ export const SideMenuListEmpty = (props: SideMenuListEmptyProps) => {
paddingVertical: Spacing.LEVEL_2,
paddingHorizontal: Spacing.LEVEL_2
}}
- type="accent-outline"
- icon="plus"
+ type="accent"
/>
)}
diff --git a/apps/mobile/app/components/side-menu/side-menu-notebooks.tsx b/apps/mobile/app/components/side-menu/side-menu-notebooks.tsx
index 0b73b59e3..9ab3a6f37 100644
--- a/apps/mobile/app/components/side-menu/side-menu-notebooks.tsx
+++ b/apps/mobile/app/components/side-menu/side-menu-notebooks.tsx
@@ -189,7 +189,7 @@ export const SideMenuNotebooks = () => {
placeholder={strings.filterNotebooks()}
style={{
fontFamily: "Inter-Regular",
- fontSize: AppFontSize.xs,
+ fontSize: AppFontSize.sm,
paddingTop: 0,
paddingBottom: 0
}}
diff --git a/apps/mobile/app/components/side-menu/side-menu-tags.tsx b/apps/mobile/app/components/side-menu/side-menu-tags.tsx
index d3e1af6af..2b8d972a1 100644
--- a/apps/mobile/app/components/side-menu/side-menu-tags.tsx
+++ b/apps/mobile/app/components/side-menu/side-menu-tags.tsx
@@ -329,7 +329,7 @@ export const SideMenuTags = () => {
placeholder={strings.filterTags()}
style={{
fontFamily: "Inter-Regular",
- fontSize: AppFontSize.xs,
+ fontSize: AppFontSize.sm,
paddingTop: 0,
paddingBottom: 0
}}
@@ -345,7 +345,7 @@ export const SideMenuTags = () => {
}
}, 100);
}}
- placeholderTextColor={colors.primary.placeholder}
+ placeholderTextColor={colors.secondary.placeholder}
/>
diff --git a/apps/mobile/app/components/side-menu/tab-bar-button.tsx b/apps/mobile/app/components/side-menu/tab-bar-button.tsx
index d553df05f..5d4c89a92 100644
--- a/apps/mobile/app/components/side-menu/tab-bar-button.tsx
+++ b/apps/mobile/app/components/side-menu/tab-bar-button.tsx
@@ -96,13 +96,17 @@ export const TabBarButton = ({
{label && (
-
+
{label}
)}
diff --git a/apps/mobile/app/components/ui/input/form-input.tsx b/apps/mobile/app/components/ui/input/form-input.tsx
index bda9120e7..ecbf53cda 100644
--- a/apps/mobile/app/components/ui/input/form-input.tsx
+++ b/apps/mobile/app/components/ui/input/form-input.tsx
@@ -291,12 +291,13 @@ export function FormInput({
const borderColor = useMemo(() => {
if (fieldError) return colors.error.border;
if (focused) return customColor || colors.selected.border;
- return colors.primary.border;
+ return "transparent";
}, [colors, customColor, fieldError, focused]);
const style: ViewStyle = {
borderWidth: 1,
borderRadius: defaultBorderRadius,
+ backgroundColor: colors.secondary.background,
borderColor: borderColor,
flexDirection: "row",
justifyContent: "space-between",
diff --git a/apps/mobile/app/components/ui/pressable/index.tsx b/apps/mobile/app/components/ui/pressable/index.tsx
index 694db496a..7c0df72a6 100644
--- a/apps/mobile/app/components/ui/pressable/index.tsx
+++ b/apps/mobile/app/components/ui/pressable/index.tsx
@@ -56,6 +56,7 @@ type ButtonTypes =
| "accent"
| "shade"
| "secondary"
+ | "tertiary"
| "selectedAccent"
| "secondaryAccented"
| "inverted"
@@ -86,7 +87,7 @@ const buttonTypes = (
} => ({
plain: {
primary: "transparent",
- text: colors.primary.buttonForeground,
+ text: colors.secondary.buttonForeground,
selected: colors.primary.hover,
borderWidth: 0.8,
borderSelectedColor: getColorLinearShade(
@@ -97,7 +98,7 @@ const buttonTypes = (
},
"plain-outline": {
primary: "transparent",
- text: colors.primary.buttonForeground,
+ text: colors.secondary.buttonForeground,
selected: colors.primary.hover,
borderWidth: 1,
borderColor: colors.primary.border,
@@ -116,7 +117,19 @@ const buttonTypes = (
},
secondary: {
primary: colors.secondary.background,
- text: colors.primary.buttonForeground,
+ text: colors.secondary.buttonForeground,
+ selected: colors.secondary.background,
+ borderWidth: 0.8,
+ borderColor: getColorLinearShade(colors.secondary.background, 0.05, isDark),
+ borderSelectedColor: getColorLinearShade(
+ colors.selected.background,
+ 0.05,
+ isDark
+ )
+ },
+ tertiary: {
+ primary: colors.tertiary.background,
+ text: colors.secondary.buttonForeground,
selected: colors.secondary.background,
borderWidth: 0.8,
borderColor: getColorLinearShade(colors.secondary.background, 0.05, isDark),
diff --git a/apps/mobile/app/screens/home/index.tsx b/apps/mobile/app/screens/home/index.tsx
index 33f4174d1..e7f752a63 100755
--- a/apps/mobile/app/screens/home/index.tsx
+++ b/apps/mobile/app/screens/home/index.tsx
@@ -78,9 +78,9 @@ export const Home = ({ navigation, route }: NavigationProps<"Notes">) => {
loading={loading || !isFocused}
headerTitle={strings.routes[route.name]()}
placeholder={{
- title: route.name?.toLowerCase(),
- paragraph: strings.notesEmpty(),
- button: strings.createNewNote(),
+ title: strings.notePlaceholder.title(),
+ paragraph: strings.notePlaceholder.description(),
+ button: strings.notePlaceholder.button(),
action: openEditor,
loading: strings.loadingNotes()
}}
diff --git a/apps/mobile/app/services/settings.ts b/apps/mobile/app/services/settings.ts
index 3f166b310..2eab0981e 100644
--- a/apps/mobile/app/services/settings.ts
+++ b/apps/mobile/app/services/settings.ts
@@ -28,6 +28,7 @@ import { NotesnookModule } from "../utils/notesnook-module";
import { scale } from "../utils/size";
import { useUserStore } from "../stores/use-user-store";
import ScreenGuardModule from "react-native-screenguard";
+import { THEME_DARK, THEME_LIGHT } from "../common/design/theme";
let isScreenGuardModuleReady = false;
async function callScreenGuard(callback: () => void) {
@@ -123,7 +124,9 @@ function init() {
migrateSettings(settingsParsed);
settings = {
...settings,
- ...settingsParsed
+ ...settingsParsed,
+ darkTheme: THEME_DARK,
+ lighTheme: THEME_LIGHT
};
}
if (settings.fontScale) {
diff --git a/apps/mobile/app/stores/use-theme-store.ts b/apps/mobile/app/stores/use-theme-store.ts
index d0e4ebf65..1e2dece36 100644
--- a/apps/mobile/app/stores/use-theme-store.ts
+++ b/apps/mobile/app/stores/use-theme-store.ts
@@ -24,6 +24,7 @@ import SettingsService from "../services/settings";
import switchTheme from "react-native-theme-switch-animation";
import changeNavigationBarColor from "react-native-navigation-bar-color";
+import { THEME_DARK, THEME_LIGHT } from "../common/design/theme";
export interface ThemeStore {
lightTheme: ThemeDefinition;
darkTheme: ThemeDefinition;
@@ -70,8 +71,8 @@ function switchThemeWithAnimation(fn: () => void) {
}
export const useThemeStore = create((set, get) => ({
- lightTheme: SettingsService.get().lighTheme,
- darkTheme: SettingsService.get().darkTheme,
+ lightTheme: THEME_LIGHT,
+ darkTheme: THEME_DARK,
colorScheme: SettingsService.get().useSystemTheme
? (Appearance.getColorScheme() as "dark" | "light")
: SettingsService.get().colorScheme,
diff --git a/apps/mobile/fonts/notesnook-icons.glyphmap.json b/apps/mobile/fonts/notesnook-icons.glyphmap.json
index 6e9c0d143..70db35d94 100644
--- a/apps/mobile/fonts/notesnook-icons.glyphmap.json
+++ b/apps/mobile/fonts/notesnook-icons.glyphmap.json
@@ -1 +1 @@
-{"m":{"f":"notesnook-icons","u":1024,"z":1020,"s":59648,"h":"152fce4d3c3abddf653ca4a50429970ee28d608be9076f922ca422a079f86b8a"},"i":{"archive":[1024,[[59648,"#666666"]]],"arrow-back":[1024,[[59649,"rgba(255,255,255,0.7)"]]],"bell":[1024,[[59650,"#666666"]]],"book-open":[1024,[[59651,"#666666"]]],"bookmark":[1024,[[59652,"#666666"]]],"box-empty":[1024,[[59653,"#B0B0B1"]]],"calendar":[1024,[[59654,"rgba(102,102,102,0.8)"]]],"chat":[1024,[[59655,"white"]]],"checkbox":[1024,[[59656,"#008836"],[59657,"white"]]],"checks":[1024,[[59658,"#181818"]]],"chevron-down":[1024,[[59659,"#181818"]]],"chevron-up":[1024,[[59660,"#181818"]]],"close":[1024,[[59661,"#666666"]]],"dark-mode-outline":[1024,[[59662,"currentColor"]]],"dots-three":[1024,[[59663,"#202020"]]],"drive-file-move":[1088,[[59664,"#666666"]]],"edit-pencil":[1024,[[59665,"#181818"]]],"envelope-simple":[1024,[[59666,"white"]]],"eye-closed":[1024,[[59667,"white"]]],"eye-open":[1024,[[59668,"currentColor"]]],"funnel":[1024,[[59669,"#666666"]]],"home":[1024,[[59670,"#181818"]]],"link":[560,[[59671,"#666666"]]],"lock-simple":[1024,[[59672,"white"]]],"menu":[1024,[[59673,"#181818"]]],"note":[1024,[[59674,"#181818"]]],"pin":[939,[[59675,"#666666"]]],"plus":[1024,[[59676,"#666666"]]],"search":[1024,[[59677,"#181818"]]],"shield-check":[1024,[[59678,"#008836"]]],"shopping-mode":[1024,[[59679,"#666666"]]],"sliders":[1024,[[59680,"#181818"]]],"sort-ascending":[1024,[[59681,"#666666"]]],"sort-descending":[1024,[[59682,"currentColor"]]],"square-out":[1024,[[59683,"#181818"]]],"star-filled":[1024,[[59684,"#E5C131"]]],"star":[1024,[[59685,"#666666"]]],"sun":[1024,[[59686,"#666666"]]],"trash":[1024,[[59687,"#666666"]]],"view-list":[1024,[[59688,"#181818"]]],"warning-circle":[1024,[[59689,"#BB3431"]]]}}
\ No newline at end of file
+{"m":{"f":"notesnook-icons","u":1024,"z":1020,"s":59648,"h":"3c50f9e96133b612a6a07dbd21321f56f12b0452eb7ad0bfa184f3ceb68efa6d"},"i":{"archive":[1024,[[59648,"#666666"]]],"arrow-back":[1024,[[59649,"rgba(255,255,255,0.7)"]]],"bell":[1024,[[59650,"#666666"]]],"book-open":[1024,[[59651,"#666666"]]],"bookmark":[1024,[[59652,"#666666"]]],"box-empty":[1024,[[59653,"#B0B0B1"]]],"calendar":[1024,[[59654,"rgba(102,102,102,0.8)"]]],"chat":[1024,[[59655,"white"]]],"checkbox":[1024,[[59656,"#008836"],[59657,"white"]]],"checks":[1024,[[59658,"#181818"]]],"chevron-down":[1024,[[59659,"#181818"]]],"chevron-up":[1024,[[59660,"#181818"]]],"close":[1024,[[59661,"#666666"]]],"cloud":[1024,[[59662,"white"]]],"dark-mode-outline":[1024,[[59663,"currentColor"]]],"dots-three":[1024,[[59664,"#202020"]]],"drive-file-move":[1088,[[59665,"#666666"]]],"edit-pencil":[1024,[[59666,"#181818"]]],"envelope-simple":[1024,[[59667,"white"]]],"eye-closed":[1024,[[59668,"white"]]],"eye-open":[1024,[[59669,"currentColor"]]],"file":[1024,[[59670,"white"]]],"funnel":[1024,[[59671,"#666666"]]],"home":[1024,[[59672,"#181818"]]],"image-outline":[1024,[[59673,"white"]]],"link":[560,[[59674,"#666666"]]],"lock-simple":[1024,[[59675,"white"]]],"lock":[1024,[[59676,"#181818"]]],"menu":[1024,[[59677,"#181818"]]],"note":[1024,[[59678,"#181818"]]],"pin":[939,[[59679,"#666666"]]],"plus":[1024,[[59680,"#666666"]]],"search":[1024,[[59681,"#181818"]]],"shield-check":[1024,[[59682,"#008836"]]],"shopping-mode":[1024,[[59683,"#666666"]]],"sliders":[1024,[[59684,"#181818"]]],"sort-ascending":[1024,[[59685,"#666666"]]],"sort-descending":[1024,[[59686,"currentColor"]]],"square-out":[1024,[[59687,"#181818"]]],"star-filled":[1024,[[59688,"#E5C131"]]],"star":[1024,[[59689,"#666666"]]],"sun":[1024,[[59690,"#666666"]]],"trash":[1024,[[59691,"#666666"]]],"view-list":[1024,[[59692,"#181818"]]],"warning-circle":[1024,[[59693,"#BB3431"]]]}}
\ No newline at end of file
diff --git a/apps/mobile/fonts/notesnook-icons.ttf b/apps/mobile/fonts/notesnook-icons.ttf
index 123195014..d8c1a1b1c 100644
Binary files a/apps/mobile/fonts/notesnook-icons.ttf and b/apps/mobile/fonts/notesnook-icons.ttf differ
diff --git a/apps/mobile/ios/nanoicons-fonts/notesnook-icons.ttf b/apps/mobile/ios/nanoicons-fonts/notesnook-icons.ttf
index 123195014..d8c1a1b1c 100644
Binary files a/apps/mobile/ios/nanoicons-fonts/notesnook-icons.ttf and b/apps/mobile/ios/nanoicons-fonts/notesnook-icons.ttf differ
diff --git a/packages/icons/svgs/cloud.svg b/packages/icons/svgs/cloud.svg
new file mode 100755
index 000000000..36098840e
--- /dev/null
+++ b/packages/icons/svgs/cloud.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/icons/svgs/file.svg b/packages/icons/svgs/file.svg
new file mode 100755
index 000000000..978af93bb
--- /dev/null
+++ b/packages/icons/svgs/file.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/icons/svgs/image-outline.svg b/packages/icons/svgs/image-outline.svg
new file mode 100755
index 000000000..5e160b15d
--- /dev/null
+++ b/packages/icons/svgs/image-outline.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/icons/svgs/lock.svg b/packages/icons/svgs/lock.svg
new file mode 100755
index 000000000..eec2609ed
--- /dev/null
+++ b/packages/icons/svgs/lock.svg
@@ -0,0 +1,10 @@
+
diff --git a/packages/intl/locale/en.po b/packages/intl/locale/en.po
index 1b2b5da38..9a9edff30 100644
--- a/packages/intl/locale/en.po
+++ b/packages/intl/locale/en.po
@@ -792,6 +792,10 @@ msgstr "Add to notebook"
msgid "Add your first note"
msgstr "Add your first note"
+#: src/strings.ts:2794
+msgid "Add Your First Note"
+msgstr "Add Your First Note"
+
#: src/strings.ts:991
msgid "Add your first notebook"
msgstr "Add your first notebook"
@@ -1922,6 +1926,10 @@ msgstr "Confirm password required"
msgid "Confirm pin"
msgstr "Confirm pin"
+#: src/strings.ts:1380
+msgid "Confirm your email to sync notes"
+msgstr "Confirm your email to sync notes"
+
#: src/strings.ts:2674
msgid "Confirmation email sent"
msgstr "Confirmation email sent"
@@ -4580,6 +4588,10 @@ msgstr "No notebooks selected to move"
msgid "No notebooks yet"
msgstr "No notebooks yet"
+#: src/strings.ts:2791
+msgid "No notes yet"
+msgstr "No notes yet"
+
#: src/strings.ts:202
msgid "No one can view this {type} except you."
msgstr "No one can view this {type} except you."
@@ -5066,10 +5078,6 @@ msgstr "Plan limits"
msgid "Plans"
msgstr "Plans"
-#: src/strings.ts:1380
-msgid "Please confirm your email to sync notes"
-msgstr "Please confirm your email to sync notes"
-
#: src/strings.ts:1018
msgid "Please confirm your identity by entering a recovery code."
msgstr "Please confirm your identity by entering a recovery code."
@@ -8242,6 +8250,10 @@ msgstr "Your support request has been forwarded to our support team. We will get
msgid "Your tags"
msgstr "Your tags"
+#: src/strings.ts:2793
+msgid "Your thoughts deserve a home. Create your first note and start organizing your life today."
+msgstr "Your thoughts deserve a home. Create your first note and start organizing your life today."
+
#: src/strings.ts:690
msgid "yr"
msgstr "yr"
diff --git a/packages/intl/locale/pseudo-LOCALE.po b/packages/intl/locale/pseudo-LOCALE.po
index eb5b952f5..8f95cd92d 100644
--- a/packages/intl/locale/pseudo-LOCALE.po
+++ b/packages/intl/locale/pseudo-LOCALE.po
@@ -792,6 +792,10 @@ msgstr ""
msgid "Add your first note"
msgstr ""
+#: src/strings.ts:2794
+msgid "Add Your First Note"
+msgstr ""
+
#: src/strings.ts:991
msgid "Add your first notebook"
msgstr ""
@@ -1911,6 +1915,10 @@ msgstr ""
msgid "Confirm pin"
msgstr ""
+#: src/strings.ts:1380
+msgid "Confirm your email to sync notes"
+msgstr ""
+
#: src/strings.ts:2674
msgid "Confirmation email sent"
msgstr ""
@@ -4560,6 +4568,10 @@ msgstr ""
msgid "No notebooks yet"
msgstr ""
+#: src/strings.ts:2791
+msgid "No notes yet"
+msgstr ""
+
#: src/strings.ts:202
msgid "No one can view this {type} except you."
msgstr ""
@@ -5040,10 +5052,6 @@ msgstr ""
msgid "Plans"
msgstr ""
-#: src/strings.ts:1380
-msgid "Please confirm your email to sync notes"
-msgstr ""
-
#: src/strings.ts:1018
msgid "Please confirm your identity by entering a recovery code."
msgstr ""
@@ -8181,6 +8189,10 @@ msgstr ""
msgid "Your tags"
msgstr ""
+#: src/strings.ts:2793
+msgid "Your thoughts deserve a home. Create your first note and start organizing your life today."
+msgstr ""
+
#: src/strings.ts:690
msgid "yr"
msgstr ""
diff --git a/packages/intl/src/strings.ts b/packages/intl/src/strings.ts
index 20cfff356..009d79059 100644
--- a/packages/intl/src/strings.ts
+++ b/packages/intl/src/strings.ts
@@ -1377,7 +1377,7 @@ $day$: Current day (eg. Monday)`,
loginMessage: () => t`You are not logged in`,
loginMessageActionText: () => t`Login to encrypt and sync notes`,
syncDisabled: () => t`Sync is disabled`,
- syncDisabledActionText: () => t`Please confirm your email to sync notes`,
+ syncDisabledActionText: () => t`Confirm your email to sync notes`,
autoBackupsOffMessage: () => t`Automatic backups are off`,
autoBackupsOffActionText: () =>
t`Get Notesnook Pro to enable automatic backups`,
@@ -2853,5 +2853,11 @@ Continue without attachments?`,
tagsEmptyBody: () =>
t`Create your first tag to start organizing your workspace.`,
newestFirst: () => t`Newest First`,
- oldestFirst: () => t`Oldest First`
+ oldestFirst: () => t`Oldest First`,
+ notePlaceholder: {
+ title: () => t`No notes yet`,
+ description: () =>
+ t`Your thoughts deserve a home. Create your first note and start organizing your life today.`,
+ button: () => t`Add Your First Note`
+ }
};