Merge branch 'main' into candidate

This commit is contained in:
xmflsct 2023-03-14 21:54:36 +01:00
commit d8a14cfe8a
22 changed files with 390 additions and 269 deletions

View File

@ -11,6 +11,7 @@ Please **do not** create a pull request to update translation. tooot's translati
## Special thanks
- [@a_mento](https://crowdin.com/profile/a_mento) for Basques translation
- [@dzmitry.zubialevich](https://crowdin.com/profile/dzmitry.zubialevich) for Belarusian translation
- [@amrtf](https://crowdin.com/profile/amrtf) for Catalan and Spanish translation
- [@forenta](https://github.com/forenta) for German translation
@ -20,6 +21,7 @@ Please **do not** create a pull request to update translation. tooot's translati
- [@hellojaccc](https://github.com/hellojaccc) for Korean translation
- [@jan-vandenberg](https://crowdin.com/profile/jan-vandenberg) for Dutch translation
- [@gaute](https://gauteweb.net/) for Norwegian translation
- [@MStankiewiczOfficial](https://crowdin.com/profile/MStankiewiczOfficial) for Polish translation
- [@luizpicolo](https://github.com/luizpicolo) for Brazilian Portuguese
- [@janlindblom](https://github.com/janlindblom) for Swedish
- [@ihoryan](https://crowdin.com/profile/ihoryan) for Ukrainian

View File

@ -1 +1,3 @@
Enjoy toooting! This version includes following improvements and fixes:
- Added Basque language
- Added Polish language

View File

@ -1 +1,4 @@
toooting愉快此版本包括以下改进和修复
- 添加neodb.social书影音展示卡片
- 新增巴斯克语
- 新增波兰语

View File

@ -8,15 +8,13 @@ PODS:
- ReactCommon/turbomodule/core
- EXConstants (14.2.1):
- ExpoModulesCore
- EXErrorRecovery (4.1.1):
- ExpoModulesCore
- EXFileSystem (15.2.2):
- ExpoModulesCore
- EXFont (11.1.1):
- ExpoModulesCore
- EXNotifications (0.18.1):
- ExpoModulesCore
- Expo (48.0.0-beta.2):
- Expo (48.0.7):
- ExpoModulesCore
- ExpoCrypto (12.2.1):
- ExpoModulesCore
@ -32,7 +30,7 @@ PODS:
- ExpoModulesCore
- ExpoLocalization (14.1.1):
- ExpoModulesCore
- ExpoModulesCore (1.2.1):
- ExpoModulesCore (1.2.5):
- React-Core
- React-RCTAppDelegate
- ReactCommon/turbomodule/core
@ -340,9 +338,9 @@ PODS:
- glog
- react-native-blur (4.3.0):
- React-Core
- react-native-cameraroll (5.3.0):
- react-native-cameraroll (5.3.1):
- React-Core
- react-native-image-picker (5.1.0):
- react-native-image-picker (5.3.1):
- React-Core
- react-native-ios-context-menu (1.15.3):
- React-Core
@ -488,9 +486,9 @@ PODS:
- RNScreens (3.20.0):
- React-Core
- React-RCTImage
- RNSentry (5.1.0):
- RNSentry (5.1.1):
- React-Core
- Sentry/HybridSDK (= 8.2.0)
- Sentry/HybridSDK (= 8.3.0)
- RNShareMenu (6.0.0):
- React
- RNSVG (13.8.0):
@ -506,9 +504,9 @@ PODS:
- SDWebImageWebPCoder (0.9.1):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.13)
- Sentry/HybridSDK (8.2.0):
- SentryPrivate (= 8.2.0)
- SentryPrivate (8.2.0)
- Sentry/HybridSDK (8.3.0):
- SentryPrivate (= 8.3.0)
- SentryPrivate (8.3.0)
- Swime (3.0.6)
- Yoga (1.14.0)
@ -518,7 +516,6 @@ DEPENDENCIES:
- EXApplication (from `../node_modules/expo-application/ios`)
- EXAV (from `../node_modules/expo-av/ios`)
- EXConstants (from `../node_modules/expo-constants/ios`)
- EXErrorRecovery (from `../node_modules/expo-error-recovery/ios`)
- EXFileSystem (from `../node_modules/expo-file-system/ios`)
- EXFont (from `../node_modules/expo-font/ios`)
- EXNotifications (from `../node_modules/expo-notifications/ios`)
@ -620,8 +617,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-av/ios"
EXConstants:
:path: "../node_modules/expo-constants/ios"
EXErrorRecovery:
:path: "../node_modules/expo-error-recovery/ios"
EXFileSystem:
:path: "../node_modules/expo-file-system/ios"
EXFont:
@ -767,17 +762,16 @@ SPEC CHECKSUMS:
EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903
EXAV: f1f69397ecdcf44cfacd4ff5d338cd1b96891e87
EXConstants: f348da07e21b23d2b085e270d7b74f282df1a7d9
EXErrorRecovery: ebb57ae947ff94667f1cbc12f403bb5a043d734d
EXFileSystem: 844e86ca9b5375486ecc4ef06d3838d5597d895d
EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272
EXNotifications: dd628737af60fc8cc62dccebacd326b0fbbc0dcb
Expo: 1b7b4ec09bd939db6d98985231a0789aa3f6670a
Expo: 707f9b0039eacc6a1dce90c08c9e37b9c417bba2
ExpoCrypto: 477dfe89c81527b376f2c344ca1d2a01244b243c
ExpoHaptics: 5156bc5160d8e04c170dd6e645a71154951a2ad9
ExpoImage: b6a65c4aa891cdf00bfba0da46df14b27ae09cc7
ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a
ExpoLocalization: f26cd431ad9ea3533c5b08c4fabd879176a794bb
ExpoModulesCore: 2f4bd2ae0cd03d30c3c286f5d843e22f72ccdb55
ExpoModulesCore: 397fc99e9d6c9dcc010f36d5802097c17b90424c
ExpoStoreReview: d057dcca4b9c95f3c9db11bd2e168dab9cba59f3
ExpoVideoThumbnails: 0021303b614a89fcc5df8b59d9d37ddf14a7d4cf
ExpoWebBrowser: 033d34c478d9986da2f1679729041423837626e0
@ -812,8 +806,8 @@ SPEC CHECKSUMS:
React-jsinspector: 1f51e775819199d3fe9410e69ee8d4c4161c7b06
React-logger: 0d58569ec51d30d1792c5e86a8e3b78d24b582c6
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
react-native-cameraroll: a05136a5e648c35f2e8cced939ba85966e3bba8e
react-native-image-picker: c33d4e79f0a14a2b66e5065e14946ae63749660b
react-native-cameraroll: f3050460fe1708378698c16686bfaa5f34099be2
react-native-image-picker: ec9b713e248760bfa0f879f0715391de4651a7cb
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0
react-native-mmkv: a2a40a0458bdbc9d43c4e7752ecfc5e3a87b66dd
@ -841,15 +835,15 @@ SPEC CHECKSUMS:
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
RNReanimated: f0dd6b881808e635ef0673f89642937d6c141314
RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f
RNSentry: bf01c99057573813a9b965d213801bac4c6a661b
RNSentry: 43658c8c327376e0c06149ce981899f5f84e90d9
RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3
RNSVG: c1e76b81c76cdcd34b4e1188852892dc280eb902
SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
SDWebImageAVIFCoder: d759e21cf4efb640cc97250566aa556ad8bb877c
SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8
SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0
Sentry: cf1d35c866266da58964fe7b62526bda93ffcb38
SentryPrivate: 2909bcc7b19a827b49e9bde0e56116b08d40dfdf
Sentry: 757565eb01e2a6ef6b26e897e4e47e8213e12f06
SentryPrivate: 668d6ce46835769b32e61dc8b5c78ef0b6cdcef8
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
Yoga: 79dd7410de6f8ad73a77c868d3d368843f0c93e0

View File

@ -0,0 +1,2 @@
"NSPhotoLibraryAddUsageDescription" = "Baimendu tooot-i irudiak zure kameraren rollean gordetzeko";
"NSPhotoLibraryUsageDescription" = "Baimendu tooot-i irudiak zure kameraren rollean gordetzeko";

View File

@ -0,0 +1,2 @@
"NSPhotoLibraryAddUsageDescription" = "Zezwól toootowi na zapisywanie zdjęć w rolce z aparatu";
"NSPhotoLibraryUsageDescription" = "Zezwól toootowi na zapisywanie zdjęć w rolce z aparatu";

View File

@ -79,6 +79,7 @@
E63E7FF0292A828100C76FD4 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E66C0842291F095800DFFF60 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E671BDF8290EAFB800287BD0 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
E690907B29C1133000489554 /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = eu; path = eu.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E690AF692926B737002C38A8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E69EBACA28DF282D0057EDEC /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E69EBACB28DF283A0057EDEC /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@ -86,6 +87,7 @@
E69EBACD28DF284D0057EDEC /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
E69EBACE28DF28560057EDEC /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E6A4895D293C1F740047951A /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E6B76A1E29C1147B00187ABB /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E6C8B26628F5F9FC0062CF2E /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E6D64C7A294A90840098F3AC /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E6FD3AA7299EE8A900774C18 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
@ -304,6 +306,8 @@
uk,
nb,
be,
eu,
pl,
);
mainGroup = 83CBB9F61A601CBA00E9B192;
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
@ -539,6 +543,8 @@
E6D64C7A294A90840098F3AC /* uk */,
E6FD3AA7299EE8A900774C18 /* nb */,
E6179D6E29B94551001930D5 /* be */,
E690907B29C1133000489554 /* eu */,
E6B76A1E29C1147B00187ABB /* pl */,
);
name = InfoPlist.strings;
sourceTree = "<group>";

View File

@ -28,7 +28,7 @@
"@mattermost/react-native-paste-input": "^0.6.2",
"@neverdull-agency/expo-unlimited-secure-store": "^1.0.10",
"@react-native-async-storage/async-storage": "~1.17.11",
"@react-native-camera-roll/camera-roll": "^5.3.0",
"@react-native-camera-roll/camera-roll": "^5.3.1",
"@react-native-clipboard/clipboard": "^1.11.2",
"@react-native-community/blur": "^4.3.0",
"@react-native-community/netinfo": "9.3.7",
@ -39,12 +39,12 @@
"@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12",
"@react-navigation/stack": "^6.3.16",
"@sentry/react-native": "5.1.0",
"@sentry/react-native": "5.1.1",
"@sharcoux/slider": "^6.1.1",
"@tanstack/react-query": "^4.26.1",
"axios": "^1.3.4",
"diff": "^5.1.0",
"expo": "48.0.0-beta.2",
"expo": "48.0.7",
"expo-auth-session": "^4.0.3",
"expo-av": "^13.2.1",
"expo-constants": "^14.2.1",
@ -73,7 +73,7 @@
"react-native": "^0.71.4",
"react-native-flash-message": "^0.4.0",
"react-native-gesture-handler": "~2.9.0",
"react-native-image-picker": "^5.1.0",
"react-native-image-picker": "^5.3.1",
"react-native-ios-context-menu": "^1.15.3",
"react-native-language-detection": "^0.2.2",
"react-native-mmkv": "~2.7.0",
@ -88,10 +88,10 @@
"react-native-swipe-list-view": "^3.2.9",
"react-native-tab-view": "^3.5.1",
"rn-placeholder": "^3.0.3",
"zeego": "^1.3.1"
"zeego": "^1.4.1"
},
"devDependencies": {
"@babel/core": "^7.21.0",
"@babel/core": "^7.21.3",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/preset-typescript": "^7.21.0",
"@expo/config": "^8.0.2",

View File

@ -1,7 +1,7 @@
import { useAccessibility } from '@utils/accessibility/AccessibilityManager'
import { connectMedia } from '@utils/api/helpers/connect'
import { useTheme } from '@utils/styles/ThemeManager'
import { Image, ImageSource, ImageStyle } from 'expo-image'
import { Image, ImageContentFit, ImageSource, ImageStyle } from 'expo-image'
import React, { useState } from 'react'
import { AccessibilityProps, Pressable, StyleProp, View, ViewStyle } from 'react-native'
@ -21,6 +21,7 @@ export interface Props {
onPress?: () => void
style?: StyleProp<ViewStyle>
imageStyle?: ImageStyle
contentFit?: ImageContentFit
dim?: boolean
withoutTransition?: boolean
@ -36,6 +37,7 @@ const GracefullyImage = ({
onPress,
style,
imageStyle,
contentFit,
dim,
withoutTransition = false,
enableLiveTextInteraction = false
@ -63,6 +65,7 @@ const GracefullyImage = ({
source={hidden ? sources.blurhash : connectMedia(source)}
{...(!withoutTransition && !reduceMotionEnabled && { transition: { duration: 120 } })}
style={{ flex: 1, ...imageStyle }}
contentFit={contentFit}
onError={() => {
if (
sources.default?.uri &&

View File

@ -5,6 +5,7 @@ import { useNeodbQuery } from '@utils/queryHooks/neodb'
import { StyleConstants } from '@utils/styles/constants'
import { useTheme } from '@utils/styles/ThemeManager'
import * as Linking from 'expo-linking'
import { useState } from 'react'
import { Pressable, View } from 'react-native'
import { Rating } from './Rating'
@ -23,9 +24,9 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
if (!data) return null
const pressableDefaults = {
const pressableProps = {
style: {
marginTop: StyleConstants.Spacing.S,
marginTop: StyleConstants.Spacing.M,
backgroundColor: colors.shimmerDefault,
borderRadius: StyleConstants.BorderRadius,
padding: StyleConstants.Spacing.S,
@ -33,6 +34,9 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
},
onPress: () => openLink(card.url)
}
const contentProps = { style: { flex: 1, gap: StyleConstants.Spacing.S } }
const [headingLines, setHeadingLines] = useState(3)
const itemImage = data.cover_image_url ? (
<GracefullyImage
@ -53,13 +57,14 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
style={{ color: colors.primaryDefault }}
numberOfLines={3}
children={value}
onTextLayout={({ nativeEvent }) => setHeadingLines(nativeEvent.lines.length)}
/>
)
const itemDetails = (value: string) => (
<CustomText
fontStyle='S'
style={{ color: colors.secondary }}
numberOfLines={1}
numberOfLines={4 - headingLines}
children={value}
/>
)
@ -67,9 +72,9 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
switch (segments[0]) {
case 'movie':
return (
<Pressable {...pressableDefaults}>
<Pressable {...pressableProps}>
{itemImage}
<View style={{ flex: 1, gap: StyleConstants.Spacing.S }}>
<View {...contentProps}>
{itemHeading(
[data.title, data.orig_title, data.year ? `(${data.year})` : null]
.filter(d => d)
@ -78,7 +83,11 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
<Rating rating={data.rating / 2} />
{itemDetails(
[
data.duration ? `${data.duration}分钟` : null,
data.duration
? parseInt(data.duration).toString() === data.duration
? `${data.duration}分钟`
: data.duration
: null,
data.area?.join(' '),
data.genre?.join(' '),
data.director?.join(' ')
@ -91,23 +100,16 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
)
case 'book':
return (
<Pressable {...pressableDefaults}>
<Pressable {...pressableProps}>
{itemImage}
<View style={{ flex: 1, gap: StyleConstants.Spacing.S }}>
{itemHeading(
[
data.title,
data.pub_year && data.pub_month ? `(${data.pub_year}${data.pub_month}月)` : null
]
.filter(d => d)
.join(' ')
)}
<View {...contentProps}>
{itemHeading(data.title)}
<Rating rating={data.rating / 2} />
{itemDetails(
[
data.author?.join(' '),
data.language,
data.pages ? `${data.pages}` : null,
data.language,
data.pub_house
]
.filter(d => d)
@ -118,9 +120,9 @@ export const CardNeodb: React.FC<Props> = ({ card }) => {
)
case 'tv':
return (
<Pressable {...pressableDefaults}>
<Pressable {...pressableProps}>
{itemImage}
<View style={{ flex: 1, gap: StyleConstants.Spacing.S }}>
<View {...contentProps}>
{itemHeading(
[data.title, data.orig_title, data.year ? `(${data.year})` : null]
.filter(d => d)

View File

@ -1,6 +1,5 @@
import { useTheme } from '@utils/styles/ThemeManager'
import { uniqueId } from 'lodash'
import { useEffect, useState } from 'react'
import { Defs, LinearGradient, Path, Stop, Svg } from 'react-native-svg'
interface StarProps {
@ -17,10 +16,7 @@ export const Star: React.FC<StarProps> = ({ size, strokeLinejoin, strokeLinecap,
const innerRadius = 25
const outerRadius = 50
const [id, setId] = useState<string>('')
useEffect(() => {
setId(uniqueId())
}, [])
const id = uniqueId()
const center = Math.max(innerRadius, outerRadius)
const angle = Math.PI / NUM_POINT

View File

@ -226,7 +226,7 @@
"profile": {
"feedback": {
"succeed": "{{type}} абноўлена",
"failed": ""
"failed": "Збой абнаўлення {{type}}, паспрабуйце яшчэ раз"
},
"root": {
"name": {
@ -280,7 +280,7 @@
},
"decode": {
"heading": "Паказаць дэталі паведамлення",
"description": ""
"description": "Паведамленні, якія перадаюцца праз сервер tooot, зашыфраваныя, але вы можаце ўключыць расшыфроўку паведамленняў на серверы. Зыходны код нашага сервера адкрыты і даступны для ўсіх. Таксама наш сервер не захоўвае вашы даныя."
},
"default": {
"heading": "Прадвызначана"
@ -386,10 +386,10 @@
"shared": {
"account": {
"actions": {
"accessibilityLabel": "",
"accessibilityLabel": "Дзеянні для карыстальніка {{user}}",
"accessibilityHint": ""
},
"followed_by": "",
"followed_by": " падпісаны на вас",
"privateNote": "",
"moved": "",
"created_at": "",
@ -418,7 +418,7 @@
"name": "Гісторыя рэдагавання"
},
"report": {
"name": "",
"name": "Паскардзіцца на {{acct}}",
"report": "Скарга",
"forward": {
"heading": "Ананімна пераслаць на аддалены сервер {{instance}}"
@ -473,12 +473,12 @@
},
"users": {
"accounts": {
"following": "",
"followers": ""
"following": "Падпіскі {{count}}",
"followers": "{{count}} падпісчыкаў"
},
"statuses": {
"reblogged_by": "",
"favourited_by": ""
"reblogged_by": "{{count}} пашырэнняў",
"favourited_by": "{{count}} дадалі ў абранае"
},
"resultIncomplete": "Вынікі з аддаленага інстанса няпоўныя"
}

View File

@ -80,23 +80,23 @@
"action": "Ezabatu tuta",
"alert": {
"title": "Ezabaketa berretsi?",
"message": ""
"message": "Bultzada eta gogoko guztiak ezabatuko dira, erantzun guztiak barne."
}
},
"deleteEdit": {
"action": "",
"action": "Ezabatu tuta eta berrargitaratu",
"alert": {
"title": "",
"message": ""
"title": "Ezabatu eta berrargitaratzea nahi duzu?",
"message": "Bultzada eta gogoko guztiak ezabatuko dira, erantzun guztiak barne."
}
},
"mute": {
"action_false": "",
"action_true": ""
"action_false": "Mututu tuta eta erantzunak",
"action_true": "Desmututu tuta eta erantzunak"
},
"pin": {
"action_false": "",
"action_true": ""
"action_false": "Finkatu tuta",
"action_true": "Desfinkatu tuta"
},
"filter": {
"action_false": "Tuta iragazi...",

17
src/i18n/eu/index.ts Normal file
View File

@ -0,0 +1,17 @@
export default {
common: require('./common'),
screens: require('./screens'),
screenAnnouncements: require('./screens/announcements'),
screenCompose: require('./screens/compose'),
screenImageViewer: require('./screens/imageViewer'),
screenTabs: require('./screens/tabs'),
componentContextMenu: require('./components/contextMenu'),
componentEmojis: require('./components/emojis'),
componentInstance: require('./components/instance'),
componentMediaSelector: require('./components/mediaSelector'),
componentParse: require('./components/parse'),
componentRelationship: require('./components/relationship'),
componentTimeline: require('./components/timeline')
}

View File

@ -1,6 +1,6 @@
{
"heading": "",
"heading": "Hona partekatu ...",
"content": {
"select_account": ""
"select_account": "Aukeratu kontua"
}
}

View File

@ -196,97 +196,97 @@
},
"preferencesFilter": {
"name": "Izena",
"expiration": "",
"expiration": "Epemuga",
"expirationOptions": {
"0": "",
"1800": "",
"3600": "",
"43200": "",
"86400": "",
"604800": "",
"18144000": ""
"0": "Inoiz",
"1800": "30 minuturen ondoren",
"3600": "Ordu baten ondoren",
"43200": "12 orduren ondoren",
"86400": "Egun baten ondoren",
"604800": "Aste baten ondoren",
"18144000": "Hilabete baten ondoren"
},
"context": "",
"context": "Aplikatzen da",
"contexts": {
"home": "",
"notifications": "",
"public": "",
"thread": "",
"account": ""
"home": "Jarraitutakoak eta zerrendak",
"notifications": "Jakinarazpenak",
"public": "Denbora-lerro federatua",
"thread": "Elkarrizketaren bista",
"account": "Profilaren bista"
},
"action": "",
"action": "Bat etortzean",
"actions": {
"warn": "",
"hide": ""
"warn": "Ezkutuan baina erakuts daiteke",
"hide": "Guztiz ezkutatua"
},
"keywords": "",
"keyword": "",
"statuses": ""
"keywords": "Hitz-gako hauekin bat etortzean",
"keyword": "Hitz-gako",
"statuses": "Tut hauekin bat etortzean"
},
"profile": {
"feedback": {
"succeed": "",
"failed": ""
"succeed": "{{type}} eguneratua",
"failed": "{{type}}(r)en eguneraketak huts egin du, saia zaitez berriro"
},
"root": {
"name": {
"title": ""
"title": "Bistaratutako izena"
},
"avatar": {
"title": "",
"description": ""
"title": "Abatarra",
"description": "400x400px-etara eskalatuko da"
},
"header": {
"title": "",
"description": ""
"title": "Goiburu-irudia",
"description": "1500x1500px-etara eskalatuko da"
},
"note": {
"title": ""
"title": "Deskribapena"
},
"fields": {
"title": "",
"total_one": "",
"total_other": ""
"title": "Metadatuak",
"total_one": "Eremu {{count}}",
"total_other": "{{count}} eremu"
},
"lock": {
"title": "",
"description": ""
"title": "Kontua babestu",
"description": "Jarraitzaileak eskuz onartu beharko dituzu"
},
"bot": {
"title": "",
"description": ""
"title": "Bot kontua",
"description": "Kontu hau, oro har, ekintza automatizatuak egiten ditu eta monitorizatu gabe egon liteke"
}
},
"fields": {
"group": "",
"label": "",
"content": ""
"group": "{{index}} taldea",
"label": "Etiketa",
"content": "Edukia"
},
"mediaSelectionFailed": ""
"mediaSelectionFailed": "Irudi-prozesatzeak huts egin du. Mesedez, saia zaitez berriro."
},
"push": {
"notAvailable": "",
"notAvailable": "Zure telefonoa ez da toooten push jakinarazpenekin bateragarria",
"enable": {
"direct": "",
"settings": ""
"direct": "Gaitu push jakinarazpenak",
"settings": "Gaitu ezarpenetan"
},
"missingServerKey": {
"message": "",
"description": ""
"message": "Zerbitzaria oker konfiguratua push jakinarazpenetarako",
"description": "Mesedez, jar zaitez zerbitzariko administratzailearekin harremanetan push jakinarazpenen bateragarritasuna konfiguratzeko"
},
"global": {
"heading": "",
"description": ""
"heading": "Gaitu {{acct}}-(e)rako",
"description": "Mezuak toooten zerbitzariaren bidez bidaltzen dira"
},
"decode": {
"heading": "",
"description": ""
"heading": "Erakutsi mezuaren xehetasunak",
"description": "toooten zerbitzariaren bidez bidalitako mezuak enkriptatuak daude, baina, zerbitzarian desenkripta daitezen aukera dezakezu. Gure zerbitzariko iturburu-kodea irekia da, eta erregistro gabeko politika du."
},
"default": {
"heading": ""
"heading": "Lehenetsia"
},
"follow": {
"heading": ""
"heading": "Jarraitzaile berria"
},
"follow_request": {
"heading": "Jarraitzeko eskaera"

View File

@ -7,12 +7,14 @@ import ca from './ca'
import de from './de'
import en from './en'
import es from './es'
import eu from './eu'
import fr from './fr'
import it from './it'
import ja from './ja'
import ko from './ko'
import nl from './nl'
import no from './no'
import pl from './pl'
import pt_BR from './pt_BR'
import sv from './sv'
import uk from './uk'
@ -29,12 +31,14 @@ import '@formatjs/intl-pluralrules/locale-data/ca'
import '@formatjs/intl-pluralrules/locale-data/de'
import '@formatjs/intl-pluralrules/locale-data/en'
import '@formatjs/intl-pluralrules/locale-data/es'
import '@formatjs/intl-pluralrules/locale-data/eu'
import '@formatjs/intl-pluralrules/locale-data/fr'
import '@formatjs/intl-pluralrules/locale-data/it'
import '@formatjs/intl-pluralrules/locale-data/ja'
import '@formatjs/intl-pluralrules/locale-data/ko'
import '@formatjs/intl-pluralrules/locale-data/nl'
import '@formatjs/intl-pluralrules/locale-data/no'
import '@formatjs/intl-pluralrules/locale-data/pl'
import '@formatjs/intl-pluralrules/locale-data/pt'
import '@formatjs/intl-pluralrules/locale-data/sv'
import '@formatjs/intl-pluralrules/locale-data/uk'
@ -47,12 +51,14 @@ import '@formatjs/intl-numberformat/locale-data/ca'
import '@formatjs/intl-numberformat/locale-data/de'
import '@formatjs/intl-numberformat/locale-data/en'
import '@formatjs/intl-numberformat/locale-data/es'
import '@formatjs/intl-numberformat/locale-data/eu'
import '@formatjs/intl-numberformat/locale-data/fr'
import '@formatjs/intl-numberformat/locale-data/it'
import '@formatjs/intl-numberformat/locale-data/ja'
import '@formatjs/intl-numberformat/locale-data/ko'
import '@formatjs/intl-numberformat/locale-data/nl'
import '@formatjs/intl-numberformat/locale-data/no'
import '@formatjs/intl-numberformat/locale-data/pl'
import '@formatjs/intl-numberformat/locale-data/pt'
import '@formatjs/intl-numberformat/locale-data/sv'
import '@formatjs/intl-numberformat/locale-data/uk'
@ -67,12 +73,14 @@ import '@formatjs/intl-datetimeformat/locale-data/ca'
import '@formatjs/intl-datetimeformat/locale-data/de'
import '@formatjs/intl-datetimeformat/locale-data/en'
import '@formatjs/intl-datetimeformat/locale-data/es'
import '@formatjs/intl-datetimeformat/locale-data/eu'
import '@formatjs/intl-datetimeformat/locale-data/fr'
import '@formatjs/intl-datetimeformat/locale-data/it'
import '@formatjs/intl-datetimeformat/locale-data/ja'
import '@formatjs/intl-datetimeformat/locale-data/ko'
import '@formatjs/intl-datetimeformat/locale-data/nl'
import '@formatjs/intl-datetimeformat/locale-data/no'
import '@formatjs/intl-datetimeformat/locale-data/pl'
import '@formatjs/intl-datetimeformat/locale-data/pt'
import '@formatjs/intl-datetimeformat/locale-data/sv'
import '@formatjs/intl-datetimeformat/locale-data/uk'
@ -86,12 +94,14 @@ import '@formatjs/intl-relativetimeformat/locale-data/ca'
import '@formatjs/intl-relativetimeformat/locale-data/de'
import '@formatjs/intl-relativetimeformat/locale-data/en'
import '@formatjs/intl-relativetimeformat/locale-data/es'
import '@formatjs/intl-relativetimeformat/locale-data/eu'
import '@formatjs/intl-relativetimeformat/locale-data/fr'
import '@formatjs/intl-relativetimeformat/locale-data/it'
import '@formatjs/intl-relativetimeformat/locale-data/ja'
import '@formatjs/intl-relativetimeformat/locale-data/ko'
import '@formatjs/intl-relativetimeformat/locale-data/nl'
import '@formatjs/intl-relativetimeformat/locale-data/no'
import '@formatjs/intl-relativetimeformat/locale-data/pl'
import '@formatjs/intl-relativetimeformat/locale-data/pt'
import '@formatjs/intl-relativetimeformat/locale-data/sv'
import '@formatjs/intl-relativetimeformat/locale-data/uk'
@ -112,12 +122,14 @@ i18n.use(initReactI18next).init({
de,
en,
es,
eu,
fr,
it,
ja,
ko,
nl,
no,
pl,
'pt-BR': pt_BR,
sv,
uk,

View File

@ -4,12 +4,14 @@ const LOCALES = {
de: 'Deutsch',
en: 'English',
es: 'Español',
eu: 'Euskara',
fr: 'Français',
it: 'Italiano',
ja: '日本語',
ko: '한국어',
nl: 'Nederlands',
no: 'Norsk',
pl: 'Polski',
'pt-br': 'Português (Brasil)',
sv: 'Svenska',
uk: 'українська',

17
src/i18n/pl/index.ts Normal file
View File

@ -0,0 +1,17 @@
export default {
common: require('./common'),
screens: require('./screens'),
screenAnnouncements: require('./screens/announcements'),
screenCompose: require('./screens/compose'),
screenImageViewer: require('./screens/imageViewer'),
screenTabs: require('./screens/tabs'),
componentContextMenu: require('./components/contextMenu'),
componentEmojis: require('./components/emojis'),
componentInstance: require('./components/instance'),
componentMediaSelector: require('./components/mediaSelector'),
componentParse: require('./components/parse'),
componentRelationship: require('./components/relationship'),
componentTimeline: require('./components/timeline')
}

View File

@ -159,8 +159,8 @@ const ScreenImagesViewer = ({
}) => {
const screenRatio = WINDOW_WIDTH / WINDOW_HEIGHT
const imageRatio = item.width && item.height ? item.width / item.height : 1
const imageWidth = item.width || 100
const imageHeight = item.height || 100
const imageWidth = item.width
const imageHeight = item.height
const maxWidthScale = item.width
? (item.width / WINDOW_WIDTH / PixelRatio.get()) * 4
@ -198,16 +198,21 @@ const ScreenImagesViewer = ({
default: { uri: item.url },
remote: { uri: item.remote_url }
}}
dimension={{
width:
screenRatio > imageRatio
? (WINDOW_HEIGHT / imageHeight) * imageWidth
: WINDOW_WIDTH,
height:
screenRatio > imageRatio
? WINDOW_HEIGHT
: (WINDOW_WIDTH / imageWidth) * imageHeight
}}
style={{ flex: 1 }}
contentFit='contain'
{...(imageWidth &&
imageHeight && {
dimension: {
width:
screenRatio > imageRatio
? (WINDOW_HEIGHT / imageHeight) * imageWidth
: WINDOW_WIDTH,
height:
screenRatio > imageRatio
? WINDOW_HEIGHT
: (WINDOW_WIDTH / imageWidth) * imageHeight
}
})}
enableLiveTextInteraction
/>
</View>

View File

@ -111,12 +111,13 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
}
)
flRef.current?.props.data?.length && setTimeout(() => {
flRef.current?.scrollToIndex({
index: ancestorsCache.current?.length || 0,
viewOffset: 50
})
}, 50)
flRef.current?.props.data?.length &&
setTimeout(() => {
flRef.current?.scrollToIndex({
index: ancestorsCache.current?.length || 0,
viewOffset: 50
})
}, 50)
break
}
}
@ -236,14 +237,8 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
return
}
if ((query.data?.pages[0].body.length || 0) <= data.length) {
if (
!hasRemoteContent &&
(query.data?.pages[0].body.length || 0) <= data.length &&
data.length > 1
) {
setHasRemoteContent(true)
}
if ((query.data?.pages[0].body.length || 0) < data.length) {
setHasRemoteContent(true)
queryClient.cancelQueries(queryKey.local)
queryClient.setQueryData<{ pages: { body: Mastodon.Status[] }[] }>(

303
yarn.lock
View File

@ -63,26 +63,26 @@ __metadata:
languageName: node
linkType: hard
"@babel/core@npm:^7.21.0":
version: 7.21.0
resolution: "@babel/core@npm:7.21.0"
"@babel/core@npm:^7.21.3":
version: 7.21.3
resolution: "@babel/core@npm:7.21.3"
dependencies:
"@ampproject/remapping": ^2.2.0
"@babel/code-frame": ^7.18.6
"@babel/generator": ^7.21.0
"@babel/generator": ^7.21.3
"@babel/helper-compilation-targets": ^7.20.7
"@babel/helper-module-transforms": ^7.21.0
"@babel/helper-module-transforms": ^7.21.2
"@babel/helpers": ^7.21.0
"@babel/parser": ^7.21.0
"@babel/parser": ^7.21.3
"@babel/template": ^7.20.7
"@babel/traverse": ^7.21.0
"@babel/types": ^7.21.0
"@babel/traverse": ^7.21.3
"@babel/types": ^7.21.3
convert-source-map: ^1.7.0
debug: ^4.1.0
gensync: ^1.0.0-beta.2
json5: ^2.2.2
semver: ^6.3.0
checksum: 357f4dd3638861ceebf6d95ff49ad8b902065ee8b7b352621deed5666c2a6d702a48ca7254dba23ecae2a0afb67d20f90db7dd645c3b75e35e72ad9776c671aa
checksum: bef25fbea96f461bf79bd1d0e4f0cdce679fd5ada464a89c1141ddba59ae1adfdbb23e04440c266ed525712d33d5ffd818cd8b0c25b1dee0e648d5559516153a
languageName: node
linkType: hard
@ -109,6 +109,18 @@ __metadata:
languageName: node
linkType: hard
"@babel/generator@npm:^7.21.3":
version: 7.21.3
resolution: "@babel/generator@npm:7.21.3"
dependencies:
"@babel/types": ^7.21.3
"@jridgewell/gen-mapping": ^0.3.2
"@jridgewell/trace-mapping": ^0.3.17
jsesc: ^2.5.1
checksum: be6bb5a32a0273260b91210d4137b7b5da148a2db8dd324654275cb0af865ae59de5e1536e93ac83423b2586415059e1c24cf94293026755cf995757238da749
languageName: node
linkType: hard
"@babel/helper-annotate-as-pure@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-annotate-as-pure@npm:7.18.6"
@ -295,9 +307,9 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-module-transforms@npm:^7.21.0":
version: 7.21.0
resolution: "@babel/helper-module-transforms@npm:7.21.0"
"@babel/helper-module-transforms@npm:^7.21.2":
version: 7.21.2
resolution: "@babel/helper-module-transforms@npm:7.21.2"
dependencies:
"@babel/helper-environment-visitor": ^7.18.9
"@babel/helper-module-imports": ^7.18.6
@ -305,9 +317,9 @@ __metadata:
"@babel/helper-split-export-declaration": ^7.18.6
"@babel/helper-validator-identifier": ^7.19.1
"@babel/template": ^7.20.7
"@babel/traverse": ^7.21.0
"@babel/types": ^7.21.0
checksum: bd92d0b73c12dc2f37be906954c58cc3fbec74ba243731e1aa223063b422eef6b961ca7fe19737a073be18db298e1385d370df2e5781646b8c09ecebd7c847de
"@babel/traverse": ^7.21.2
"@babel/types": ^7.21.2
checksum: 8a1c129a4f90bdf97d8b6e7861732c9580f48f877aaaafbc376ce2482febebcb8daaa1de8bc91676d12886487603f8c62a44f9e90ee76d6cac7f9225b26a49e1
languageName: node
linkType: hard
@ -473,6 +485,15 @@ __metadata:
languageName: node
linkType: hard
"@babel/parser@npm:^7.21.3":
version: 7.21.3
resolution: "@babel/parser@npm:7.21.3"
bin:
parser: ./bin/babel-parser.js
checksum: a71e6456a1260c2a943736b56cc0acdf5f2a53c6c79e545f56618967e51f9b710d1d3359264e7c979313a7153741b1d95ad8860834cc2ab4ce4f428b13cc07be
languageName: node
linkType: hard
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6"
@ -1655,6 +1676,24 @@ __metadata:
languageName: node
linkType: hard
"@babel/traverse@npm:^7.21.2, @babel/traverse@npm:^7.21.3":
version: 7.21.3
resolution: "@babel/traverse@npm:7.21.3"
dependencies:
"@babel/code-frame": ^7.18.6
"@babel/generator": ^7.21.3
"@babel/helper-environment-visitor": ^7.18.9
"@babel/helper-function-name": ^7.21.0
"@babel/helper-hoist-variables": ^7.18.6
"@babel/helper-split-export-declaration": ^7.18.6
"@babel/parser": ^7.21.3
"@babel/types": ^7.21.3
debug: ^4.1.0
globals: ^11.1.0
checksum: 0af5bcd47a2fc501592b90ac1feae9d449afb9ab0772a4f6e68230f4cd3a475795d538c1de3f880fe3414b6c2820bac84d02c6549eea796f39d74a603717447b
languageName: node
linkType: hard
"@babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.20.7
resolution: "@babel/types@npm:7.20.7"
@ -1677,6 +1716,17 @@ __metadata:
languageName: node
linkType: hard
"@babel/types@npm:^7.21.2, @babel/types@npm:^7.21.3":
version: 7.21.3
resolution: "@babel/types@npm:7.21.3"
dependencies:
"@babel/helper-string-parser": ^7.19.4
"@babel/helper-validator-identifier": ^7.19.1
to-fast-properties: ^2.0.0
checksum: b750274718ba9cefd0b81836c464009bb6ba339fccce51b9baff497a0a2d96c044c61dc90cf203cec0adc770454b53a9681c3f7716883c802b85ab84c365ba35
languageName: node
linkType: hard
"@dominicstop/ts-event-emitter@npm:^1.1.0":
version: 1.1.0
resolution: "@dominicstop/ts-event-emitter@npm:1.1.0"
@ -1709,20 +1759,20 @@ __metadata:
languageName: node
linkType: hard
"@expo/cli@npm:0.5.1":
version: 0.5.1
resolution: "@expo/cli@npm:0.5.1"
"@expo/cli@npm:0.6.2":
version: 0.6.2
resolution: "@expo/cli@npm:0.6.2"
dependencies:
"@babel/runtime": ^7.20.0
"@expo/code-signing-certificates": 0.0.5
"@expo/config": ~8.0.0
"@expo/config-plugins": ~6.0.0
"@expo/dev-server": 0.2.1
"@expo/dev-server": 0.2.3
"@expo/devcert": ^1.0.0
"@expo/json-file": ^8.2.37
"@expo/metro-config": ~0.6.0
"@expo/metro-config": ~0.7.0
"@expo/osascript": ^2.0.31
"@expo/package-manager": ~0.0.53
"@expo/package-manager": ~1.0.0
"@expo/plist": ^0.0.20
"@expo/prebuild-config": 6.0.0
"@expo/rudder-sdk-node": 1.1.1
@ -1775,7 +1825,7 @@ __metadata:
wrap-ansi: ^7.0.0
bin:
expo-internal: build/bin/cli
checksum: 0865fbf06cbf54789abec77bd10344e30145792f06a26687f5e92071fcd1dcbb65f72e250ef95fa3a2e742514e6ceb8183454a676ebd53856afc416a98fe880d
checksum: 383076f0be5f016ed424468ec008b5d6d02decdfca6ddf1977fb8b0f5de9192b2105919fdaac5053f5ad0428181c562ddd12d310e083f326085f4ce27d1458c3
languageName: node
linkType: hard
@ -1789,9 +1839,9 @@ __metadata:
languageName: node
linkType: hard
"@expo/config-plugins@npm:6.0.0, @expo/config-plugins@npm:~6.0.0":
version: 6.0.0
resolution: "@expo/config-plugins@npm:6.0.0"
"@expo/config-plugins@npm:6.0.1":
version: 6.0.1
resolution: "@expo/config-plugins@npm:6.0.1"
dependencies:
"@expo/config-types": ^48.0.0
"@expo/json-file": ~8.2.37
@ -1808,7 +1858,7 @@ __metadata:
slash: ^3.0.0
xcode: ^3.0.1
xml2js: 0.4.23
checksum: bc3598c38ecef4c673c654632284068f093c33a71725e7f35c889936ffacd92477674c76e13501668f7535d90a8c4629ea727994a7fc3aee380e28ce49cf3604
checksum: ad324c21c546157a5187442a4b9f623a62b5894dd35fa852e3f46ab6cb799706fb814c361f523df391f095aa89d7a7ca04c214de2cd8a5be3b3c85f52f49375f
languageName: node
linkType: hard
@ -1835,6 +1885,29 @@ __metadata:
languageName: node
linkType: hard
"@expo/config-plugins@npm:~6.0.0":
version: 6.0.0
resolution: "@expo/config-plugins@npm:6.0.0"
dependencies:
"@expo/config-types": ^48.0.0
"@expo/json-file": ~8.2.37
"@expo/plist": ^0.0.20
"@expo/sdk-runtime-versions": ^1.0.0
"@react-native/normalize-color": ^2.0.0
chalk: ^4.1.2
debug: ^4.3.1
find-up: ~5.0.0
getenv: ^1.0.0
glob: 7.1.6
resolve-from: ^5.0.0
semver: ^7.3.5
slash: ^3.0.0
xcode: ^3.0.1
xml2js: 0.4.23
checksum: bc3598c38ecef4c673c654632284068f093c33a71725e7f35c889936ffacd92477674c76e13501668f7535d90a8c4629ea727994a7fc3aee380e28ce49cf3604
languageName: node
linkType: hard
"@expo/config-types@npm:^47.0.0":
version: 47.0.0
resolution: "@expo/config-types@npm:47.0.0"
@ -1849,26 +1922,7 @@ __metadata:
languageName: node
linkType: hard
"@expo/config@npm:8.0.1, @expo/config@npm:~8.0.0":
version: 8.0.1
resolution: "@expo/config@npm:8.0.1"
dependencies:
"@babel/code-frame": ~7.10.4
"@expo/config-plugins": ~6.0.0
"@expo/config-types": ^48.0.0
"@expo/json-file": ^8.2.37
getenv: ^1.0.0
glob: 7.1.6
require-from-string: ^2.0.2
resolve-from: ^5.0.0
semver: 7.3.2
slugify: ^1.3.4
sucrase: ^3.20.0
checksum: b3f586ee1a36797de029da2814b54e3917115def89f1327338fffe1e94bc2ef681aef412d40ef354c556b4a076509d9c7aeaee05256616f69208da8073380409
languageName: node
linkType: hard
"@expo/config@npm:^8.0.2":
"@expo/config@npm:8.0.2, @expo/config@npm:^8.0.2":
version: 8.0.2
resolution: "@expo/config@npm:8.0.2"
dependencies:
@ -1887,6 +1941,25 @@ __metadata:
languageName: node
linkType: hard
"@expo/config@npm:~8.0.0":
version: 8.0.1
resolution: "@expo/config@npm:8.0.1"
dependencies:
"@babel/code-frame": ~7.10.4
"@expo/config-plugins": ~6.0.0
"@expo/config-types": ^48.0.0
"@expo/json-file": ^8.2.37
getenv: ^1.0.0
glob: 7.1.6
require-from-string: ^2.0.2
resolve-from: ^5.0.0
semver: 7.3.2
slugify: ^1.3.4
sucrase: ^3.20.0
checksum: b3f586ee1a36797de029da2814b54e3917115def89f1327338fffe1e94bc2ef681aef412d40ef354c556b4a076509d9c7aeaee05256616f69208da8073380409
languageName: node
linkType: hard
"@expo/configure-splash-screen@npm:^0.6.0":
version: 0.6.0
resolution: "@expo/configure-splash-screen@npm:0.6.0"
@ -1906,12 +1979,12 @@ __metadata:
languageName: node
linkType: hard
"@expo/dev-server@npm:0.2.1":
version: 0.2.1
resolution: "@expo/dev-server@npm:0.2.1"
"@expo/dev-server@npm:0.2.3":
version: 0.2.3
resolution: "@expo/dev-server@npm:0.2.3"
dependencies:
"@expo/bunyan": 4.0.0
"@expo/metro-config": ~0.6.0
"@expo/metro-config": ~0.7.0
"@expo/osascript": 2.0.33
"@expo/spawn-async": ^1.5.0
body-parser: ^1.20.1
@ -1926,7 +1999,7 @@ __metadata:
semver: 7.3.2
serialize-error: 6.0.0
temp-dir: ^2.0.0
checksum: ff7801c99477e497960d2d4a78291a200e3ec2e32b2430678fb1b64d61c53441fe0b777897ecfb7efae8ce407ea2cbf845b7693e8b1ef4303c54f2a2a200b38e
checksum: 65cb947d8d552f77911d61f94c2e49ebd9aecb38624fabff0f3ff8f6773b3830e95c573a968bd764d39d4142b7d03852f41a3f6b98367aedbe6ffcc9a4b4a529
languageName: node
linkType: hard
@ -2011,9 +2084,9 @@ __metadata:
languageName: node
linkType: hard
"@expo/metro-config@npm:~0.6.0":
version: 0.6.0
resolution: "@expo/metro-config@npm:0.6.0"
"@expo/metro-config@npm:~0.7.0":
version: 0.7.1
resolution: "@expo/metro-config@npm:0.7.1"
dependencies:
"@expo/config": ~8.0.0
chalk: ^4.1.0
@ -2022,7 +2095,7 @@ __metadata:
getenv: ^1.0.0
resolve-from: ^5.0.0
sucrase: ^3.20.0
checksum: 514e96fc617d6a87870e94ab0bb9f85fc4445927fdd40918b8e87e4962e975be0197924d21d49d8bb889604cb00d12628982e6f6f7d75cd2c9bd88f21aa8ba86
checksum: 4140823d319cf82854044b3b5f5a80a48d727e6f39509a0cf5b4df9f4d6381f431b6b1191402bf921e298c9d452762e5f68a624051e243a10ec4b5e761184f57
languageName: node
linkType: hard
@ -2036,9 +2109,9 @@ __metadata:
languageName: node
linkType: hard
"@expo/package-manager@npm:~0.0.53":
version: 0.0.60
resolution: "@expo/package-manager@npm:0.0.60"
"@expo/package-manager@npm:~1.0.0":
version: 1.0.1
resolution: "@expo/package-manager@npm:1.0.1"
dependencies:
"@expo/json-file": ^8.2.37
"@expo/spawn-async": ^1.5.0
@ -2046,11 +2119,12 @@ __metadata:
chalk: ^4.0.0
find-up: ^5.0.0
find-yarn-workspace-root: ~2.0.0
js-yaml: ^3.13.1
micromatch: ^4.0.2
npm-package-arg: ^7.0.0
rimraf: ^3.0.2
split: ^1.0.1
sudo-prompt: 9.1.1
checksum: 84368554c2def5ba960b3727c8d8d6de16c7a03736bfa09f1b054ea660494d5086b0743f11c0ff3391ebe4d7206f873584971d1243b1bff04fa89e18529e9559
checksum: 44d41c16d9ca8fe0824a050a77960da1948f954b1871617c92c2aaec99b99c2a1c2bb8b59777d236328f868713aaafb04ef3a04f47bb473a33c4b68eb3157841
languageName: node
linkType: hard
@ -3017,12 +3091,12 @@ __metadata:
languageName: node
linkType: hard
"@react-native-camera-roll/camera-roll@npm:^5.3.0":
version: 5.3.0
resolution: "@react-native-camera-roll/camera-roll@npm:5.3.0"
"@react-native-camera-roll/camera-roll@npm:^5.3.1":
version: 5.3.1
resolution: "@react-native-camera-roll/camera-roll@npm:5.3.1"
peerDependencies:
react-native: ">=0.59"
checksum: 89f439802c21d7d5e8a52798aa962bce4b992a46422a1eb780f3af6a09c5985e1baab83363f833c99deb73fbf5b8451bee9c9b646c38667ec1a748ff2f4eaf0c
checksum: 1acda2c68a3038f50b4a4f77b542363313c96ed2c6403298d331f4b6d1cba1c613f088247a59e8f6babf5e5e1bca574b06adce4b8d56bd74cb056eadd168ef9c
languageName: node
linkType: hard
@ -3431,9 +3505,9 @@ __metadata:
languageName: node
linkType: hard
"@sentry/cli@npm:2.14.3":
version: 2.14.3
resolution: "@sentry/cli@npm:2.14.3"
"@sentry/cli@npm:2.14.4":
version: 2.14.4
resolution: "@sentry/cli@npm:2.14.4"
dependencies:
https-proxy-agent: ^5.0.0
node-fetch: ^2.6.7
@ -3442,7 +3516,7 @@ __metadata:
which: ^2.0.2
bin:
sentry-cli: bin/sentry-cli
checksum: 82655c300ec2a01ff43c1b7a5402411ba35cd584a201fedce72e9184cf3fcba038b8cbcf0d4e78c495aa82c2a3e87616e954506db7c19d2dba74fcedb70272d0
checksum: 8cf53cd771839cec104e02afaafe4b7f70895565e56ecf311ef5e981a377d868f4b9afe0913856955714a14853101f1662677d809ef983d30517bcdc53ee3c0f
languageName: node
linkType: hard
@ -3481,12 +3555,12 @@ __metadata:
languageName: node
linkType: hard
"@sentry/react-native@npm:5.1.0":
version: 5.1.0
resolution: "@sentry/react-native@npm:5.1.0"
"@sentry/react-native@npm:5.1.1":
version: 5.1.1
resolution: "@sentry/react-native@npm:5.1.1"
dependencies:
"@sentry/browser": 7.40.0
"@sentry/cli": 2.14.3
"@sentry/cli": 2.14.4
"@sentry/core": 7.40.0
"@sentry/hub": 7.40.0
"@sentry/integrations": 7.40.0
@ -3497,7 +3571,7 @@ __metadata:
peerDependencies:
react: ">=17.0.0"
react-native: ">=0.65.0"
checksum: 341abe11b86fb2127cf2947de15b65df56e6e78102af220f5a8dac5388f8862891bd60c69be1187457e06a4e5d3608ec27c3006f30502a6796b695ab45ab461d
checksum: 3579ab149e18330904762c4cf17cf32e3fa7b2106d416d75ce2b210a02d4ddf344b7136d4ecbbfee26f58ab706dccb087fe0de5d2bbfcfe7705d51b1f09d6fa5
languageName: node
linkType: hard
@ -5778,7 +5852,7 @@ __metadata:
languageName: node
linkType: hard
"expo-asset@npm:~8.9.0":
"expo-asset@npm:~8.9.1":
version: 8.9.1
resolution: "expo-asset@npm:8.9.1"
dependencies:
@ -5839,16 +5913,7 @@ __metadata:
languageName: node
linkType: hard
"expo-error-recovery@npm:~4.1.1":
version: 4.1.1
resolution: "expo-error-recovery@npm:4.1.1"
peerDependencies:
expo: "*"
checksum: d0d012f8ab6354c99cbfb9d825a323b1d17b24fc95abf8b1db11f6e0f57ebcf610a467fa360b9830e7ed2b06abe0d46742f2be6ccfa7c92497d927161c013cf5
languageName: node
linkType: hard
"expo-file-system@npm:^15.2.2, expo-file-system@npm:~15.2.0, expo-file-system@npm:~15.2.1":
"expo-file-system@npm:^15.2.2, expo-file-system@npm:~15.2.0, expo-file-system@npm:~15.2.2":
version: 15.2.2
resolution: "expo-file-system@npm:15.2.2"
dependencies:
@ -5921,9 +5986,9 @@ __metadata:
languageName: node
linkType: hard
"expo-modules-autolinking@npm:1.1.1":
version: 1.1.1
resolution: "expo-modules-autolinking@npm:1.1.1"
"expo-modules-autolinking@npm:1.1.2":
version: 1.1.2
resolution: "expo-modules-autolinking@npm:1.1.2"
dependencies:
chalk: ^4.1.0
commander: ^7.2.0
@ -5932,17 +5997,17 @@ __metadata:
fs-extra: ^9.1.0
bin:
expo-modules-autolinking: bin/expo-modules-autolinking.js
checksum: 6cd30abe7b2bac47e9d2e2be2c5c97c81d60dc58d94cd06eba22108d59c1a18913e0a4d9f3b1d564dfdd5a441ab2db6f717fa6e9ce3f52ee2cc918f21d1f528e
checksum: f7fe666414c5350bf5c2f591adb654fff3f2e7e674ca103a3492002421d7434b6c4782cdca059d8481663b800821570d78bd91f26b014fb64aae6a542edf2068
languageName: node
linkType: hard
"expo-modules-core@npm:1.2.1":
version: 1.2.1
resolution: "expo-modules-core@npm:1.2.1"
"expo-modules-core@npm:1.2.5":
version: 1.2.5
resolution: "expo-modules-core@npm:1.2.5"
dependencies:
compare-versions: ^3.4.0
invariant: ^2.2.4
checksum: 089a5b7366f901b3ae798738f504501927dca3bc9349dba3927a27cc8263f9daa555e578be14a425a28fe6d60baf82efaef1300b0eae8c7dc92110715b997684
checksum: 11c6a280a337a4a2fe13c61f0e56b7e74ceda25ff51ae4fab95539a3aa6bf7c8c5d49457e006fc0bdd83bdd9738147a6bef2abdd752afe753078fec189593ee2
languageName: node
linkType: hard
@ -6034,26 +6099,25 @@ __metadata:
languageName: node
linkType: hard
"expo@npm:48.0.0-beta.2":
version: 48.0.0-beta.2
resolution: "expo@npm:48.0.0-beta.2"
"expo@npm:48.0.7":
version: 48.0.7
resolution: "expo@npm:48.0.7"
dependencies:
"@babel/runtime": ^7.20.0
"@expo/cli": 0.5.1
"@expo/config": 8.0.1
"@expo/config-plugins": 6.0.0
"@expo/cli": 0.6.2
"@expo/config": 8.0.2
"@expo/config-plugins": 6.0.1
"@expo/vector-icons": ^13.0.0
babel-preset-expo: ~9.3.0
cross-spawn: ^6.0.5
expo-application: ~5.1.1
expo-asset: ~8.9.0
expo-asset: ~8.9.1
expo-constants: ~14.2.1
expo-error-recovery: ~4.1.1
expo-file-system: ~15.2.1
expo-file-system: ~15.2.2
expo-font: ~11.1.1
expo-keep-awake: ~12.0.1
expo-modules-autolinking: 1.1.1
expo-modules-core: 1.2.1
expo-modules-autolinking: 1.1.2
expo-modules-core: 1.2.5
fbemitter: ^3.0.0
getenv: ^1.0.0
invariant: ^2.2.4
@ -6061,12 +6125,9 @@ __metadata:
node-fetch: ^2.6.7
pretty-format: ^26.5.2
uuid: ^3.4.0
dependenciesMeta:
expo-error-recovery:
optional: true
bin:
expo: bin/cli.js
checksum: 5ebb41111eb6dd48bd4f6aad03da53de5d4ae4cf83199e96e357056aa16a889142c894085fb77e7bbed8babacb42a4b1ad3cde529cd2ddf405e4488dd3a7b94b
checksum: 50a8d4ca5b9f8cde0d2e1a77a845c7759cc47c181077ddcc5618f9fb971dfb15f151a2b6a47ba7e73061f87f60514434a3eb25da8dfaf88e7d6347b675bd24f2
languageName: node
linkType: hard
@ -9816,13 +9877,13 @@ __metadata:
languageName: node
linkType: hard
"react-native-image-picker@npm:^5.1.0":
version: 5.1.0
resolution: "react-native-image-picker@npm:5.1.0"
"react-native-image-picker@npm:^5.3.1":
version: 5.3.1
resolution: "react-native-image-picker@npm:5.3.1"
peerDependencies:
react: "*"
react-native: "*"
checksum: 4ebf51c5bbc07e4631bda8d9a4cebc64758003ba689ff8cc3a75c4a177c499c6acc59bd9993ae43c9d636894ef945b7593ac5eff1aaf5cbb2f6441dab9b11640
checksum: 183485e9bab619938ab608fbca019c53c049e73bc798ea5ab4ab38d54ee2b7b9dc923b27f26ae070c9b4844af2b521fbd310e1c2f5aea99e851b7abbbcf7f166
languageName: node
linkType: hard
@ -11429,7 +11490,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "tooot@workspace:."
dependencies:
"@babel/core": ^7.21.0
"@babel/core": ^7.21.3
"@babel/plugin-proposal-optional-chaining": ^7.21.0
"@babel/preset-typescript": ^7.21.0
"@expo/config": ^8.0.2
@ -11443,7 +11504,7 @@ __metadata:
"@mattermost/react-native-paste-input": ^0.6.2
"@neverdull-agency/expo-unlimited-secure-store": ^1.0.10
"@react-native-async-storage/async-storage": ~1.17.11
"@react-native-camera-roll/camera-roll": ^5.3.0
"@react-native-camera-roll/camera-roll": ^5.3.1
"@react-native-clipboard/clipboard": ^1.11.2
"@react-native-community/blur": ^4.3.0
"@react-native-community/netinfo": 9.3.7
@ -11454,7 +11515,7 @@ __metadata:
"@react-navigation/native": ^6.1.6
"@react-navigation/native-stack": ^6.9.12
"@react-navigation/stack": ^6.3.16
"@sentry/react-native": 5.1.0
"@sentry/react-native": 5.1.1
"@sharcoux/slider": ^6.1.1
"@tanstack/react-query": ^4.26.1
"@types/diff": ^5.0.2
@ -11470,7 +11531,7 @@ __metadata:
deprecated-react-native-prop-types: ^4.0.0
diff: ^5.1.0
dotenv: ^16.0.3
expo: 48.0.0-beta.2
expo: 48.0.7
expo-auth-session: ^4.0.3
expo-av: ^13.2.1
expo-constants: ^14.2.1
@ -11500,7 +11561,7 @@ __metadata:
react-native-clean-project: ^4.0.1
react-native-flash-message: ^0.4.0
react-native-gesture-handler: ~2.9.0
react-native-image-picker: ^5.1.0
react-native-image-picker: ^5.3.1
react-native-ios-context-menu: ^1.15.3
react-native-language-detection: ^0.2.2
react-native-mmkv: ~2.7.0
@ -11516,7 +11577,7 @@ __metadata:
react-native-tab-view: ^3.5.1
rn-placeholder: ^3.0.3
typescript: ^4.9.5
zeego: ^1.3.1
zeego: ^1.4.1
languageName: unknown
linkType: soft
@ -12317,9 +12378,9 @@ __metadata:
languageName: node
linkType: hard
"zeego@npm:^1.3.1":
version: 1.3.1
resolution: "zeego@npm:1.3.1"
"zeego@npm:^1.4.1":
version: 1.4.1
resolution: "zeego@npm:1.4.1"
dependencies:
"@radix-ui/react-context-menu": ^2.0.1
"@radix-ui/react-dropdown-menu": ^2.0.1
@ -12329,6 +12390,6 @@ __metadata:
react: "*"
react-native: "*"
react-native-ios-context-menu: ^1.15.1
checksum: 2d8c568e72ba6ac1f39e9685016edf13585002511f4e80fd41eecd0c42d4d84442c00fe0ad59aee0a4aedc658c6cd1c29fee30ad176a14bd83d288f45d3808e1
checksum: 4b7e21bb490d8de0281c887391432717e4203ad10e11f4374d7e2396d264e9a2354ff921e70d43cf57ceb0f2a54570fdef5df0beacb6231d55d2f4f7f3776e12
languageName: node
linkType: hard