mobile: fix share extension

This commit is contained in:
Ammar Ahmed
2025-11-26 13:24:27 +05:00
parent 55fd752f5c
commit f97dafa5a7
12 changed files with 108 additions and 160 deletions

View File

@@ -166,7 +166,6 @@
android:exported="true"
android:label="@string/title_activity_share"
android:noHistory="true"
android:screenOrientation="unspecified"
android:taskAffinity=""
android:theme="@style/AppThemeB"
android:windowSoftInputMode="adjustResize">

View File

@@ -27,9 +27,9 @@
<!-- Base application theme. -->
<style name="AppThemeB" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="android:windowDisablePreview">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:editTextBackground">@drawable/edit_text</item>
<item name="android:navigationBarColor">@android:color/transparent</item>

View File

@@ -55,6 +55,7 @@ export interface ButtonProps extends PressableProps {
iconColor?: ColorValue;
iconStyle?: TextStyle;
proTag?: boolean;
allowFontScaling?: boolean;
}
export const Button = ({
height = 45,
@@ -79,6 +80,7 @@ export const Button = ({
fwdRef,
proTag,
iconStyle,
allowFontScaling = true,
...restProps
}: ButtonProps) => {
const { text } = useButton({
@@ -138,7 +140,7 @@ export const Button = ({
{icon && !loading && iconPosition === "left" ? (
<Icon
name={icon}
allowFontScaling
allowFontScaling={allowFontScaling}
style={[{ marginRight: 0 }, iconStyle as any]}
color={iconColor || buttonType?.text || textColor}
size={iconSize}
@@ -150,6 +152,7 @@ export const Button = ({
color={textColor as string}
size={fontSize}
numberOfLines={1}
allowFontScaling={allowFontScaling}
style={[
{
marginLeft: icon || (loading && iconPosition === "left") ? 5 : 0,

View File

@@ -64,6 +64,7 @@ export const AddNotebooks = ({ onPress }) => {
color={colors.secondary.icon}
/>
<Text
allowFontScaling={false}
style={{
color: colors.secondary.icon,
fontSize: 15
@@ -86,6 +87,7 @@ export const AddNotebooks = ({ onPress }) => {
))}
<Text
allowFontScaling={false}
style={{
color: colors.primary.accent,
marginRight: 5,
@@ -132,6 +134,7 @@ const NotebookItem = ({ id }) => {
selectedNotebooks.splice(index, 1);
useShareStore.getState().setSelectedNotebooks(selectedNotebooks);
}}
allowFontScaling={false}
key={item.id}
>
<Icon name={"notebook-outline"} size={15} /> {item.title}

View File

@@ -57,6 +57,7 @@ export const AddTags = ({ onPress }) => {
style={{
marginRight: 10
}}
allowFontScaling={false}
color={colors.secondary.icon}
/>
<Text
@@ -64,6 +65,7 @@ export const AddTags = ({ onPress }) => {
color: colors.secondary.icon,
fontSize: 15
}}
allowFontScaling={false}
>
Add tags
</Text>
@@ -91,6 +93,7 @@ export const AddTags = ({ onPress }) => {
backgroundColor: colors.secondary.background,
paddingVertical: 5
}}
allowFontScaling={false}
onPress={() => {
onPress();
}}
@@ -120,6 +123,7 @@ const TagItem = ({ tagId }) => {
backgroundColor: colors.secondary.background,
paddingVertical: 5
}}
allowFontScaling={false}
onPress={() => {
const index = tagIds.indexOf(tagId);
const selectedTags = tagIds.slice();

View File

@@ -19,19 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import { ScopedThemeProvider } from "@notesnook/theme";
import React, { useEffect, useState } from "react";
import { Modal, ModalProps, Platform } from "react-native";
import ShareView from "./share";
import "./store";
const outerProps =
Platform.OS === "android"
? ({
animationType: "fade",
transparent: true,
visible: true
} as ModalProps)
: {};
const NotesnookShare = () => {
const [render, setRender] = useState(false);
useEffect(() => {
@@ -41,13 +31,7 @@ const NotesnookShare = () => {
}, []);
return (
<ScopedThemeProvider value="base">
{!render ? null : Platform.OS === "android" ? (
<Modal {...outerProps}>
<ShareView />
</Modal>
) : (
<ShareView />
)}
{!render ? null : <ShareView />}
</ScopedThemeProvider>
);
};

View File

@@ -43,7 +43,6 @@ import { useDBItem, useNoteLocked } from "../hooks/use-db-item";
import { useNotebook } from "../hooks/use-notebook";
import { getElevationStyle } from "../utils/elevation";
import { initDatabase, useShareStore } from "./store";
import { devNull } from "node:os";
import { DefaultAppStyles } from "../utils/styles";
export const useNotebookExpandedStore = create<{
@@ -212,6 +211,7 @@ const NotebookItem = ({
>
<Paragraph
numberOfLines={1}
allowFontScaling={false}
style={{
color: colors.primary.paragraph,
fontSize: 15
@@ -224,6 +224,7 @@ const NotebookItem = ({
style={{
marginRight: 10
}}
allowFontScaling={false}
size={20}
color={isSelected ? colors.primary.accent : colors.secondary.icon}
/>
@@ -315,6 +316,7 @@ const ListItem = ({
>
<Paragraph
numberOfLines={1}
allowFontScaling={false}
style={{
color: colors.primary.paragraph,
fontSize: 15
@@ -331,6 +333,7 @@ const ListItem = ({
style={{
marginRight: 10
}}
allowFontScaling={false}
size={20}
color={isSelected ? colors.primary.accent : colors.secondary.icon}
/>
@@ -454,6 +457,7 @@ export const Search = ({
fontSize: 16,
flex: 1
}}
allowFontScaling={false}
onChangeText={(value) => {
setSearchKeyword(value);
onSearch();
@@ -502,6 +506,7 @@ export const Search = ({
color: colors.primary.paragraph,
fontSize: 15
}}
allowFontScaling={false}
>
Add #{searchKeyword}
</Paragraph>
@@ -528,6 +533,7 @@ export const Search = ({
style={{
color: colors.secondary.icon
}}
allowFontScaling={false}
>
{searchKeyword
? `No results found for "${searchKeyword}"`

View File

@@ -153,7 +153,7 @@ const ShareView = () => {
}>({});
const inputRef = useRef<TextInput>(null);
const [mode, setMode] = useState(1);
const keyboardHeight = useRef(0);
const keyboardHeightRef = useRef(0);
const { width, height } = useWindowDimensions();
const [loadingPage, setLoadingPage] = useState(false);
const editorRef = useRef<EditorRef>(null);
@@ -162,18 +162,18 @@ const ShareView = () => {
>(null);
const [rawFiles, setRawFiles] = useState<ShareItem[]>([]);
const insets = useSafeAreaInsets();
const [kh, setKh] = useState(0);
const [keyboardHeight, setKeyboardHeight] = useState(0);
const [compress, setCompress] = useState(true);
globalThis["IS_SHARE_EXTENSION"] = true;
const onKeyboardDidShow = (event: KeyboardEvent) => {
let height = Dimensions.get("screen").height - event.endCoordinates.screenY;
keyboardHeight.current = height;
setKh(height);
keyboardHeightRef.current = height;
setKeyboardHeight(height);
};
const onKeyboardDidHide = () => {
keyboardHeight.current = 0;
setKh(0);
keyboardHeightRef.current = 0;
setKeyboardHeight(0);
};
useEffect(() => {
@@ -438,16 +438,20 @@ const ShareView = () => {
const WrapperView = Platform.OS === "android" ? View : ScrollView;
return loadingExtension ? null : (
<SafeAreaView
<View
style={{
width: width > 500 ? 500 : width,
height: "100%",
alignSelf: "center",
justifyContent: "flex-end",
overflow: "hidden",
paddingBottom: kh
? kh - (insets.bottom || (gesturesEnabled ? 25 : 50))
: 0
paddingTop: insets.top,
paddingLeft: insets.left,
paddingRight: insets.right,
paddingBottom:
Platform.OS === "android" && keyboardHeight
? keyboardHeight - (insets.bottom || (gesturesEnabled ? 25 : 50))
: 0
}}
>
{loadingPage ? <HtmlLoadingWebViewAgent /> : null}
@@ -480,7 +484,7 @@ const ShareView = () => {
{searchMode ? (
<Search
getKeyboardHeight={() => keyboardHeight.current}
getKeyboardHeight={() => keyboardHeightRef.current}
mode={searchMode}
close={() => {
setSearchMode(null);
@@ -538,6 +542,7 @@ const ShareView = () => {
paddingBottom: 0,
paddingTop: 0
}}
allowFontScaling={false}
>
Save note
</Heading>
@@ -545,6 +550,7 @@ const ShareView = () => {
<TextInput
placeholder="Enter note title"
ref={inputRef}
allowFontScaling={false}
style={{
flexShrink: 1,
flexGrow: 1,
@@ -569,6 +575,7 @@ const ShareView = () => {
type="accent"
loading={loading}
onPress={onPress}
allowFontScaling={false}
/>
</View>
@@ -583,6 +590,7 @@ const ShareView = () => {
<Paragraph
style={{ marginBottom: 6 }}
color={colors.primary.paragraph}
allowFontScaling={false}
>
Attaching {rawFiles.length} file(s):
</Paragraph>
@@ -637,6 +645,7 @@ const ShareView = () => {
<Paragraph
size={AppFontSize.xs}
color={colors.primary.paragraph}
allowFontScaling={false}
style={{
marginLeft: 4,
paddingRight: 8
@@ -653,6 +662,7 @@ const ShareView = () => {
<Paragraph
color={colors.secondary.paragraph}
size={AppFontSize.xs}
allowFontScaling={false}
style={{
marginTop: 6
}}
@@ -682,6 +692,7 @@ const ShareView = () => {
? "checkbox-marked"
: "checkbox-blank-outline"
}
allowFontScaling={false}
color={
compress && fullQualityImages?.isAllowed
? colors.primary.accent
@@ -695,6 +706,7 @@ const ShareView = () => {
marginLeft: 3,
fontSize: 12
}}
allowFontScaling={false}
>
Compress image(s) (recommended)
</Text>
@@ -769,6 +781,7 @@ const ShareView = () => {
style={{
marginRight: 10
}}
allowFontScaling={false}
>
Clip Mode:
</Paragraph>
@@ -779,6 +792,7 @@ const ShareView = () => {
onPress={() => changeMode(2)}
title={modes[2].title}
height={30}
allowFontScaling={false}
style={{
paddingHorizontal: 6
}}
@@ -788,6 +802,7 @@ const ShareView = () => {
type={mode === 1 ? "inverted" : "plain"}
icon={mode === 1 ? "radiobox-marked" : "radiobox-blank"}
onPress={() => changeMode(1)}
allowFontScaling={false}
title={modes[1].title}
height={30}
style={{
@@ -817,6 +832,7 @@ const ShareView = () => {
}}
type={!appendNoteId ? "transparent" : "plain"}
title="New note"
allowFontScaling={false}
style={{
paddingHorizontal: 12,
height: 45,
@@ -833,6 +849,7 @@ const ShareView = () => {
onPress={() => {
setSearchMode("appendNote");
}}
allowFontScaling={false}
type={appendNoteId ? "transparent" : "plain"}
title={`Append to a note`}
style={{
@@ -871,7 +888,7 @@ const ShareView = () => {
</View>
</ScrollView>
</WrapperView>
</SafeAreaView>
</View>
);
};
@@ -895,6 +912,7 @@ const AppendNote = ({
<Paragraph
size={AppFontSize.xs}
color={colors.secondary.paragraph}
allowFontScaling={false}
style={{
paddingHorizontal: 12,
marginBottom: 10,
@@ -908,6 +926,7 @@ const AppendNote = ({
color: colors.primary.accent,
fontWeight: "bold"
}}
allowFontScaling={false}
>
{`"${item.title}"`}
</Paragraph>{" "}

View File

@@ -4,8 +4,31 @@
#import <React/RCTRootView.h>
#import <React/RCTLog.h>
#import <React/RCTEventEmitter.h>
#import <ReactAppDependencyProvider/RCTAppDependencyProvider.h>
#import <RCTAppDelegate.h>
@interface ReactNativeShareDelegate : RCTDefaultReactNativeFactoryDelegate
@end
@implementation ReactNativeShareDelegate
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
return [self bundleURL];
}
- (NSURL *)bundleURL
{
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
}
@end
@interface ShareViewController : ReactNativeShareExtension
@property (nonatomic, strong) RCTReactNativeFactory *reactNativeFactory;
@property (nonatomic, strong) ReactNativeShareDelegate *reactNativeDelegate;
@end
@implementation ShareViewController
@@ -22,17 +45,17 @@ int rootViewTag = 0;
RCT_EXPORT_MODULE();
- (UIView*) shareView {
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"NotesnookShare"
initialProperties:nil
launchOptions:nil];
rootViewTag = rootView.tag;
self.reactNativeDelegate = [[ReactNativeShareDelegate alloc] init];
RCTReactNativeFactory *factory = [[RCTReactNativeFactory alloc] initWithDelegate:self.reactNativeDelegate];
self.reactNativeDelegate.dependencyProvider = [RCTAppDependencyProvider new];
self.reactNativeFactory = factory;
UIView* rootView = [self.reactNativeFactory.rootViewFactory viewWithModuleName:@"NotesnookShare"];
rootViewTag = (int) rootView.tag;
rootView.window.backgroundColor =[UIColor clearColor];
rootView.layer.shadowOpacity = 0;
rootView.backgroundColor = [UIColor clearColor];
// Uncomment for console output in Xcode console for release mode on device:
// RCTSetLogThreshold(RCTLogLevelInfo - 1);
@@ -40,4 +63,6 @@ RCT_EXPORT_MODULE();
}
@end

View File

@@ -11,6 +11,7 @@
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
2B3F87EC6B2264CD8ABA5DA8 /* libPods-Notesnook.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BD34AE0C0FD2416E48803B8 /* libPods-Notesnook.a */; };
2C45ABC3D976E2128085910D /* libPods-Notesnook-Make Note.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 224696B070BA15252D9BD04E /* libPods-Notesnook-Make Note.a */; };
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
2DCD954D1E0B4F2C00145EB5 /* NotesnookTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* NotesnookTests.m */; };
@@ -41,11 +42,8 @@
65C400DE2A80B68D00AA3DF5 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 65C400DD2A80B68D00AA3DF5 /* MaterialCommunityIcons.ttf */; };
65C400DF2A80B6B600AA3DF5 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 65C400DD2A80B68D00AA3DF5 /* MaterialCommunityIcons.ttf */; };
65E0340B257B9FF100793428 /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E0340A257B9FF100793428 /* File.swift */; };
87CE5B71DC72F3D95B7B1AA5 /* libPods-Notesnook-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A03E3F5851D27269540E147C /* libPods-Notesnook-tvOSTests.a */; };
A79A93DC9D0CAE8703462151 /* libPods-Notesnook-NotesnookTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 068FA9BDFA207A50B0A9E597 /* libPods-Notesnook-NotesnookTests.a */; };
C619D096A9DE2070DBEAC70F /* libPods-Make Note.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C4AF691C324D95337F2FB0A /* libPods-Make Note.a */; };
E7F9D56665C2F19F4A97BF49 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 4B679E87FDFB1312CAD6CF45 /* PrivacyInfo.xcprivacy */; };
F50BF8BC21F8B58EB2B5A31A /* libPods-Notesnook-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 16C0296DE7A2B4102817F5C1 /* libPods-Notesnook-tvOS.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -100,14 +98,13 @@
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* NotesnookTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotesnookTests.m; sourceTree = "<group>"; };
068FA9BDFA207A50B0A9E597 /* libPods-Notesnook-NotesnookTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Notesnook-NotesnookTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
06E586B7CB8F9DC9917B1695 /* Pods-Notesnook-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Notesnook-tvOS/Pods-Notesnook-tvOS.release.xcconfig"; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* Notesnook.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Notesnook.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Notesnook/AppDelegate.h; sourceTree = "<group>"; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Notesnook/Images.xcassets; sourceTree = "<group>"; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Notesnook/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Notesnook/main.m; sourceTree = "<group>"; };
16C0296DE7A2B4102817F5C1 /* libPods-Notesnook-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Notesnook-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
19E7EB248446C3FE09F6E622 /* Pods-Notesnook.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook.debug.xcconfig"; path = "Target Support Files/Pods-Notesnook/Pods-Notesnook.debug.xcconfig"; sourceTree = "<group>"; };
224696B070BA15252D9BD04E /* libPods-Notesnook-Make Note.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Notesnook-Make Note.a"; sourceTree = BUILT_PRODUCTS_DIR; };
279A4325E1D27BD3E720F35B /* Pods-Notesnook-Make Note.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-Make Note.debug.xcconfig"; path = "Target Support Files/Pods-Notesnook-Make Note/Pods-Notesnook-Make Note.debug.xcconfig"; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* Notesnook-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Notesnook-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* Notesnook-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Notesnook-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -115,7 +112,6 @@
47AE097A087A651BD60CAD7B /* Pods-Notesnook-Make Note.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-Make Note.release.xcconfig"; path = "Target Support Files/Pods-Notesnook-Make Note/Pods-Notesnook-Make Note.release.xcconfig"; sourceTree = "<group>"; };
4B679E87FDFB1312CAD6CF45 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = Notesnook/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
4BD34AE0C0FD2416E48803B8 /* libPods-Notesnook.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Notesnook.a"; sourceTree = BUILT_PRODUCTS_DIR; };
4C4AF691C324D95337F2FB0A /* libPods-Make Note.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Make Note.a"; sourceTree = BUILT_PRODUCTS_DIR; };
6510E6D62877215700DACAA9 /* build.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = build.bundle; path = "../../../packages/editor-mobile/build.bundle"; sourceTree = "<group>"; };
6515C42E2580AA2F00E83E39 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
6529A13D279BC4C70048D4A8 /* BootSplash.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = BootSplash.storyboard; path = Notesnook/BootSplash.storyboard; sourceTree = "<group>"; };
@@ -145,16 +141,12 @@
65E03409257B9FF100793428 /* Notesnook-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Notesnook-Bridging-Header.h"; sourceTree = "<group>"; };
65E0340A257B9FF100793428 /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = "<group>"; };
65EC5B71272A7EE200FB3748 /* NotesWidgetExtensionDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotesWidgetExtensionDebug.entitlements; sourceTree = "<group>"; };
747E42E32601638E75E9A3CF /* Pods-Notesnook-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Notesnook-tvOSTests/Pods-Notesnook-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
77124A1C1FB538ED63FDEF82 /* Pods-Notesnook.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook.release.xcconfig"; path = "Target Support Files/Pods-Notesnook/Pods-Notesnook.release.xcconfig"; sourceTree = "<group>"; };
7D3F6A50D104CE391243515F /* Pods-Notesnook-Add to Notes.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-Add to Notes.release.xcconfig"; path = "Target Support Files/Pods-Notesnook-Add to Notes/Pods-Notesnook-Add to Notes.release.xcconfig"; sourceTree = "<group>"; };
8297229C2A4840402881ECA8 /* Pods-Notesnook-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Notesnook-tvOS/Pods-Notesnook-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
88211800FA8BF60638327ADE /* Pods-Make Note.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Make Note.debug.xcconfig"; path = "Target Support Files/Pods-Make Note/Pods-Make Note.debug.xcconfig"; sourceTree = "<group>"; };
A03E3F5851D27269540E147C /* libPods-Notesnook-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Notesnook-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
A84F3F0D50641D1CD4569B0E /* Pods-Make Note.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Make Note.release.xcconfig"; path = "Target Support Files/Pods-Make Note/Pods-Make Note.release.xcconfig"; sourceTree = "<group>"; };
B5216B66C0B4A91C0A69128B /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = Notesnook/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
B9989E5C777BB11343A62D09 /* Pods-Notesnook-NotesnookTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-NotesnookTests.debug.xcconfig"; path = "Target Support Files/Pods-Notesnook-NotesnookTests/Pods-Notesnook-NotesnookTests.debug.xcconfig"; sourceTree = "<group>"; };
D1710CA05FED221CC56D2BE1 /* Pods-Notesnook-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Notesnook-tvOSTests/Pods-Notesnook-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
EF88477758968C47002AB99A /* Pods-Notesnook-Add to Notes.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Notesnook-Add to Notes.debug.xcconfig"; path = "Target Support Files/Pods-Notesnook-Add to Notes/Pods-Notesnook-Add to Notes.debug.xcconfig"; sourceTree = "<group>"; };
@@ -183,7 +175,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
F50BF8BC21F8B58EB2B5A31A /* libPods-Notesnook-tvOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -191,7 +182,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
87CE5B71DC72F3D95B7B1AA5 /* libPods-Notesnook-tvOSTests.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -208,7 +198,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
C619D096A9DE2070DBEAC70F /* libPods-Make Note.a in Frameworks */,
2C45ABC3D976E2128085910D /* libPods-Notesnook-Make Note.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -260,12 +250,10 @@
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
4BD34AE0C0FD2416E48803B8 /* libPods-Notesnook.a */,
068FA9BDFA207A50B0A9E597 /* libPods-Notesnook-NotesnookTests.a */,
16C0296DE7A2B4102817F5C1 /* libPods-Notesnook-tvOS.a */,
A03E3F5851D27269540E147C /* libPods-Notesnook-tvOSTests.a */,
41D57E9831C724F59F18FBAE /* libPods-Notesnook-Add to Notes.a */,
65AA857825E6DDEC00772A01 /* WidgetKit.framework */,
65AA857A25E6DDEC00772A01 /* SwiftUI.framework */,
4C4AF691C324D95337F2FB0A /* libPods-Make Note.a */,
224696B070BA15252D9BD04E /* libPods-Notesnook-Make Note.a */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -346,10 +334,6 @@
77124A1C1FB538ED63FDEF82 /* Pods-Notesnook.release.xcconfig */,
B9989E5C777BB11343A62D09 /* Pods-Notesnook-NotesnookTests.debug.xcconfig */,
F284B149424757AABC0A96C2 /* Pods-Notesnook-NotesnookTests.release.xcconfig */,
8297229C2A4840402881ECA8 /* Pods-Notesnook-tvOS.debug.xcconfig */,
06E586B7CB8F9DC9917B1695 /* Pods-Notesnook-tvOS.release.xcconfig */,
747E42E32601638E75E9A3CF /* Pods-Notesnook-tvOSTests.debug.xcconfig */,
D1710CA05FED221CC56D2BE1 /* Pods-Notesnook-tvOSTests.release.xcconfig */,
EF88477758968C47002AB99A /* Pods-Notesnook-Add to Notes.debug.xcconfig */,
7D3F6A50D104CE391243515F /* Pods-Notesnook-Add to Notes.release.xcconfig */,
279A4325E1D27BD3E720F35B /* Pods-Notesnook-Make Note.debug.xcconfig */,
@@ -412,7 +396,6 @@
isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Notesnook-tvOS" */;
buildPhases = (
2A5C8EA7E28E054C7DCF2E4F /* [CP] Check Pods Manifest.lock */,
FD10A7F122414F3F0027D42C /* Start Packager */,
2D02E4771E0B4A5D006451C7 /* Sources */,
2D02E4781E0B4A5D006451C7 /* Frameworks */,
@@ -432,7 +415,6 @@
isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Notesnook-tvOSTests" */;
buildPhases = (
23B3F321642872B180473574 /* [CP] Check Pods Manifest.lock */,
2D02E48C1E0B4A5D006451C7 /* Sources */,
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
2D02E48E1E0B4A5D006451C7 /* Resources */,
@@ -623,28 +605,6 @@
shellPath = /bin/sh;
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
};
23B3F321642872B180473574 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Notesnook-tvOSTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
240525450DF9ABA0F332B52E /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -681,28 +641,6 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Notesnook/Pods-Notesnook-resources.sh\"\n";
showEnvVarsInLog = 0;
};
2A5C8EA7E28E054C7DCF2E4F /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Notesnook-tvOS-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -869,7 +807,7 @@
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Make Note-checkManifestLockResult.txt",
"$(DERIVED_FILE_DIR)/Pods-Notesnook-Make Note-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -882,11 +820,15 @@
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Make Note/Pods-Make Note-resources.sh",
"${PODS_ROOT}/Target Support Files/Pods-Notesnook-Make Note/Pods-Notesnook-Make Note-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo/RNDeviceInfoPrivacyInfo.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/RNImageCropPickerPrivacyInfo.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG/RNSVGFilters.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle",
);
@@ -894,14 +836,18 @@
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNDeviceInfoPrivacyInfo.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNImageCropPickerPrivacyInfo.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNSVGFilters.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Make Note/Pods-Make Note-resources.sh\"\n";
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Notesnook-Make Note/Pods-Notesnook-Make Note-resources.sh\"\n";
showEnvVarsInLog = 0;
};
FD10A7F122414F3F0027D42C /* Start Packager */ = {
@@ -1284,7 +1230,6 @@
};
2D02E4971E0B4A5E006451C7 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 8297229C2A4840402881ECA8 /* Pods-Notesnook-tvOS.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@@ -1315,7 +1260,6 @@
};
2D02E4981E0B4A5E006451C7 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 06E586B7CB8F9DC9917B1695 /* Pods-Notesnook-tvOS.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@@ -1346,7 +1290,6 @@
};
2D02E4991E0B4A5E006451C7 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 747E42E32601638E75E9A3CF /* Pods-Notesnook-tvOSTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES;
@@ -1378,7 +1321,6 @@
};
2D02E49A1E0B4A5E006451C7 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D1710CA05FED221CC56D2BE1 /* Pods-Notesnook-tvOSTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES;
@@ -1497,7 +1439,7 @@
};
65B5014D25A672B200E2D264 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 88211800FA8BF60638327ADE /* Pods-Make Note.debug.xcconfig */;
baseConfigurationReference = 279A4325E1D27BD3E720F35B /* Pods-Notesnook-Make Note.debug.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;
@@ -1607,7 +1549,7 @@
};
65B5014E25A672B200E2D264 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A84F3F0D50641D1CD4569B0E /* Pods-Make Note.release.xcconfig */;
baseConfigurationReference = 47AE097A087A651BD60CAD7B /* Pods-Notesnook-Make Note.release.xcconfig */;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_ANALYZER_NONNULL = YES;

View File

@@ -34,7 +34,7 @@ target 'Notesnook' do
# Upcoming versions of React Native may rely on get_default_flags(), but
# we make it explicit here to aid in the React Native upgrade process.
:hermes_enabled => true,
:fabric_enabled => false,
:fabric_enabled => true,
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
@@ -42,58 +42,21 @@ target 'Notesnook' do
# Pods for testing
end
end
# for share extension
target 'Make Note' do
use_react_native!(
target 'Make Note' do
use_react_native!(
:path => rn_path,
# Hermes is now enabled by default. Disable by setting this flag to false.
# Upcoming versions of React Native may rely on get_default_flags(), but
# we make it explicit here to aid in the React Native upgrade process.
:hermes_enabled => true,
:fabric_enabled => false,
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
# :flipper_configuration => flipper_config,
# An absolute path to your application root.
:fabric_enabled => true,
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
# Link only required libraries in share extension manually
pod 'react-native-blob-util', :path => '../node_modules/react-native-blob-util'
pod 'react-native-share-extension', :path => '../node_modules/@ammarahmed/react-native-share-extension'
pod 'react-native-sodium', :path => '../node_modules/@ammarahmed/react-native-sodium'
pod 'react-native-gzip', :path => '../node_modules/react-native-gzip'
pod 'react-native-mmkv-storage', :path => '../node_modules/react-native-mmkv-storage'
pod 'react-native-webview', :path => '../node_modules/react-native-webview'
pod 'RNKeychain' , :path => '../node_modules/react-native-keychain'
pod 'react-native-netinfo', :path => '../node_modules/@react-native-community/netinfo'
pod 'react-native-safe-area-context', :path => '../node_modules/react-native-safe-area-context'
pod 'react-native-get-random-values', :path => '../node_modules/react-native-get-random-values'
pod 'callstack-repack', :path => '../node_modules/@callstack/repack'
pod 'RNSecureRandom', :path => '../node_modules/react-native-securerandom'
pod "RNCClipboard", :path => '../node_modules/@react-native-clipboard/clipboard'
pod "react-native-quick-sqlite", :path => '../node_modules/react-native-quick-sqlite'
pod "RNDeviceInfo", :path => '../node_modules/react-native-device-info'
pod "RNPrivacySnapshot", :path => '../node_modules/react-native-privacy-snapshot'
pod "react-native-theme-switch-animation", :path => '../node_modules/react-native-theme-switch-animation'
pod "react-native-image-resizer", :path => '../node_modules/@bam.tech/react-native-image-resizer'
end
target 'Notesnook-tvOS' do
# Pods for Notesnook-tvOS
target 'Notesnook-tvOSTests' do
inherit! :search_paths
# Pods for testing
)
inherit! :complete
end
end
post_install do |installer|
react_native_post_install(
installer,

View File

@@ -3940,6 +3940,6 @@ SPEC CHECKSUMS:
toolbar-android: c426ed5bd3dcccfed20fd79533efc0d1ae0ef018
Yoga: 689c8e04277f3ad631e60fe2a08e41d411daf8eb
PODFILE CHECKSUM: f2d4b8561405ce310f16ddc1118ab3a5c80626ab
PODFILE CHECKSUM: 3021ad3db20df40d4106c9be82d0100d9d447239
COCOAPODS: 1.16.2