# Use the Legacy Architecture:
# See https://blog.logrocket.com/react-native-new-architecture-sync-async-rendering
#     https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here
ENV['RCT_NEW_ARCH_ENABLED'] = '0'

require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
  'require.resolve(
    "react-native/scripts/react_native_pods.rb",
    {paths: [process.argv[1]]},
  )', __dir__]).strip

# Note: it was 13.4 to get @react-native-community/datetimepicker to work but
# it's probably not necessary actually. Just needed to upgrade XCode.
#
# 2021-11-04: Set to 13.0 because it crashes with 12.x
# https://github.com/laurent22/joplin/issues/5671
#
# 2021-12-17: Changed back to 11.0 because after the fix it works with at least
# 12.x, and probably 11.0 too, which is the version supported by React Native.
platform :ios, min_ios_version_supported
prepare_react_native_project!

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

target 'Joplin' do
  use_expo_modules!
  post_integrate do |installer|
    begin
      expo_patch_react_imports!(installer)
    rescue => e
      Pod::UI.warn e
    end
  end
  config = use_native_modules!

  use_react_native!(
    :path => config[:reactNativePath],
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )
  
  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
  pod 'JoplinRNShareExtension', :path => 'ShareExtension'

  post_install do |installer|
    # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false,
	  # :ccache_enabled => true
    )
  end
end

target 'ShareExtension' do
  pod 'JoplinCommonShareExtension', :path => 'ShareExtension'
end
