1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00

Merge pull request #349 from tooot-app/main

Release v4.1.5
This commit is contained in:
xmflsct
2022-06-21 23:57:19 +02:00
committed by GitHub
13 changed files with 50 additions and 52 deletions

View File

@@ -4,7 +4,7 @@
"native": "220603", "native": "220603",
"major": 4, "major": 4,
"minor": 1, "minor": 1,
"patch": 4, "patch": 5,
"expo": "45.0.0" "expo": "45.0.0"
}, },
"description": "tooot app for Mastodon", "description": "tooot app for Mastodon",

View File

@@ -87,7 +87,7 @@ const MenuRow: React.FC<Props> = ({
> >
<View <View
style={{ style={{
flex: 3, flexGrow: 3,
flexDirection: 'row', flexDirection: 'row',
alignItems: 'center' alignItems: 'center'
}} }}
@@ -111,7 +111,6 @@ const MenuRow: React.FC<Props> = ({
}} }}
/> />
) : null} ) : null}
<View style={{ flex: 1 }}>
<CustomText <CustomText
fontStyle='M' fontStyle='M'
style={{ color: colors.primaryDefault }} style={{ color: colors.primaryDefault }}
@@ -120,7 +119,6 @@ const MenuRow: React.FC<Props> = ({
{title} {title}
</CustomText> </CustomText>
</View> </View>
</View>
{content || switchValue !== undefined || iconBack ? ( {content || switchValue !== undefined || iconBack ? (
<View <View

View File

@@ -150,7 +150,7 @@ const mediaSelector = async ({
for (const image of images) { for (const image of images) {
const croppedImage = await ImagePicker.openCropper({ const croppedImage = await ImagePicker.openCropper({
mediaType: 'photo', mediaType: 'photo',
path: image.path, path: image.sourceURL || image.path,
width: resize.width, width: resize.width,
height: resize.height, height: resize.height,
cropperChooseText: i18next.t('common:buttons.apply'), cropperChooseText: i18next.t('common:buttons.apply'),

View File

@@ -1,25 +1,25 @@
{ {
"accessibilityHint": "Azioni per questo toot, per l'utente che l'ha pubblicato o per il toot stesso", "accessibilityHint": "Azioni per questo toot, per l'utente che l'ha pubblicato o per il toot stesso",
"account": { "account": {
"title": "", "title": "Azioni utente",
"mute": { "mute": {
"action_false": "Muta utente", "action_false": "Muta utente",
"action_true": "" "action_true": "Riattiva utente"
}, },
"block": { "block": {
"action_false": "Blocca utente", "action_false": "Blocca utente",
"action_true": "" "action_true": "Sblocca utente"
}, },
"reports": { "reports": {
"action": "Segnala utente" "action": "Segnala utente"
} }
}, },
"instance": { "instance": {
"title": "", "title": "Azione sull'istanza",
"block": { "block": {
"action": "Blocca istanza {{instance}}", "action": "Blocca istanza {{instance}}",
"alert": { "alert": {
"title": "", "title": "Confermi di voler bloccare l'istanza {{instance}}?",
"message": "Sarebbe meglio mutare o bloccare singoli utenti.\n\nSe blocchi un'istanza, tutti i suoi contenuti a te relativi, inclusi tutti i tuoi seguaci da questa, saranno rimossi.", "message": "Sarebbe meglio mutare o bloccare singoli utenti.\n\nSe blocchi un'istanza, tutti i suoi contenuti a te relativi, inclusi tutti i tuoi seguaci da questa, saranno rimossi.",
"buttons": { "buttons": {
"confirm": "Ho capito" "confirm": "Ho capito"
@@ -36,7 +36,7 @@
} }
}, },
"status": { "status": {
"title": "", "title": "Azioni sul toot",
"edit": { "edit": {
"action": "Modifica toot" "action": "Modifica toot"
}, },
@@ -44,29 +44,29 @@
"action": "Cancella toot", "action": "Cancella toot",
"alert": { "alert": {
"title": "Conferma?", "title": "Conferma?",
"message": "", "message": "Tutti i retoot, gli apprezzamenti, e le risposte, saranno cancellati.",
"buttons": { "buttons": {
"confirm": "Ho capito" "confirm": "Ho capito"
} }
} }
}, },
"deleteEdit": { "deleteEdit": {
"action": "", "action": "Cancella e ripubblica toot",
"alert": { "alert": {
"title": "", "title": "Confermi cancellazione e ripubblicazione?",
"message": "", "message": "Tutti i retoot, gli apprezzamenti, e le risposte, saranno cancellati.",
"buttons": { "buttons": {
"confirm": "Ho capito" "confirm": "Ho capito"
} }
} }
}, },
"mute": { "mute": {
"action_false": "", "action_false": "Muta toot e le sue risposte",
"action_true": "" "action_true": "Riattiva toot e le sue risposte"
}, },
"pin": { "pin": {
"action_false": "", "action_false": "Fissa toot",
"action_true": "" "action_true": "Togli toot all'alto"
} }
} }
} }

View File

@@ -14,7 +14,7 @@
"base": "Per accedere, verrà aperta una pagina del browser di sistema. I dati di accesso del tuo account sono protetti." "base": "Per accedere, verrà aperta una pagina del browser di sistema. I dati di accesso del tuo account sono protetti."
}, },
"terms": { "terms": {
"base": "" "base": "Accedendo, accetti la <0>politica sulla privacy</0> e i <1>termini di servizio</1>."
} }
}, },
"update": { "update": {

View File

@@ -1,10 +1,10 @@
{ {
"title": "Seleziona origine media", "title": "Seleziona origine media",
"options": { "options": {
"image": "", "image": "Carica foto",
"image_max": "", "image_max": "Carica foto (massimo {{max}})",
"video": "", "video": "Carica video",
"video_max": "" "video_max": "Carica video (max {{max}})"
}, },
"library": { "library": {
"alert": { "alert": {

View File

@@ -30,7 +30,7 @@
"default": "{{name}} ha ricondiviso", "default": "{{name}} ha ricondiviso",
"notification": "{{name}} ha ricondiviso il tuo toot" "notification": "{{name}} ha ricondiviso il tuo toot"
}, },
"update": "" "update": "Retoot ha subito una modifica"
}, },
"actions": { "actions": {
"reply": { "reply": {

View File

@@ -1,7 +1,7 @@
{ {
"content": { "content": {
"altText": { "altText": {
"heading": "" "heading": "Testo descrittivo"
}, },
"notificationsFilter": { "notificationsFilter": {
"heading": "Filtra notifiche per tipo", "heading": "Filtra notifiche per tipo",
@@ -12,8 +12,8 @@
"reblog": "$t(screenTabs:me.push.reblog.heading)", "reblog": "$t(screenTabs:me.push.reblog.heading)",
"mention": "$t(screenTabs:me.push.mention.heading)", "mention": "$t(screenTabs:me.push.mention.heading)",
"poll": "$t(screenTabs:me.push.poll.heading)", "poll": "$t(screenTabs:me.push.poll.heading)",
"status": "", "status": "Toot da utenti seguiti",
"update": "" "update": "Retoot ha subito una modifica"
} }
} }
} }

View File

@@ -168,7 +168,7 @@
"header": { "header": {
"title": "Bozza" "title": "Bozza"
}, },
"warning": "", "warning": "Le bozze sono salvate solo in locale, e potrebbero essere perse in seguito a problemi. Evita di usarle per archiviazione a lungo termine.",
"content": { "content": {
"accessibilityHint": "Bozza salvata, premi per modificarla", "accessibilityHint": "Bozza salvata, premi per modificarla",
"textEmpty": "Testo vuoto" "textEmpty": "Testo vuoto"

View File

@@ -170,7 +170,7 @@
"heading": "Nuovi seguaci" "heading": "Nuovi seguaci"
}, },
"follow_request": { "follow_request": {
"heading": "" "heading": "Richiesta di seguirti"
}, },
"favourite": { "favourite": {
"heading": "Apprezzamenti" "heading": "Apprezzamenti"
@@ -185,7 +185,7 @@
"heading": "Novità sui sondaggi" "heading": "Novità sui sondaggi"
}, },
"status": { "status": {
"heading": "" "heading": "Toot da utenti seguiti"
}, },
"howitworks": "Scopri come funziona il traversamento dei messaggi" "howitworks": "Scopri come funziona il traversamento dei messaggi"
}, },

View File

@@ -1,9 +1,8 @@
import Button from '@components/Button' import Button from '@components/Button'
import { useAccessibility } from '@utils/accessibility/AccessibilityManager' import GracefullyImage from '@components/GracefullyImage'
import { useTheme } from '@utils/styles/ThemeManager' import { useTheme } from '@utils/styles/ThemeManager'
import React from 'react' import React from 'react'
import { Dimensions, View } from 'react-native' import { Dimensions, View } from 'react-native'
import FastImage from 'react-native-fast-image'
import { useSafeAreaInsets } from 'react-native-safe-area-context' import { useSafeAreaInsets } from 'react-native-safe-area-context'
export interface Props { export interface Props {
@@ -13,16 +12,13 @@ export interface Props {
const AccountHeader = React.memo( const AccountHeader = React.memo(
({ account, edit }: Props) => { ({ account, edit }: Props) => {
const { reduceMotionEnabled } = useAccessibility()
const { colors } = useTheme() const { colors } = useTheme()
const topInset = useSafeAreaInsets().top const topInset = useSafeAreaInsets().top
return ( return (
<View> <View>
<FastImage <GracefullyImage
source={{ uri={{ original: account?.header, static: account?.header_static }}
uri: reduceMotionEnabled ? account?.header_static : account?.header
}}
style={{ style={{
height: Dimensions.get('screen').width / 3 + topInset, height: Dimensions.get('screen').width / 3 + topInset,
backgroundColor: colors.disabled backgroundColor: colors.disabled

View File

@@ -94,8 +94,8 @@ const pushUseConnect = ({ t, instances }: Params) => {
}, [expoToken, pushEnabled.length]) }, [expoToken, pushEnabled.length])
return useEffect(() => { return useEffect(() => {
if (expoToken && pushEnabled.length) {
Notifications.setBadgeCountAsync(0) Notifications.setBadgeCountAsync(0)
if (expoToken && pushEnabled.length) {
connect() connect()
} }
}, [expoToken, pushEnabled.length]) }, [expoToken, pushEnabled.length])

View File

@@ -64,14 +64,18 @@ type MutationVarsProfile = MutationVarsProfileBase & {
const mutationFunction = async ({ type, data }: MutationVarsProfile) => { const mutationFunction = async ({ type, data }: MutationVarsProfile) => {
const formData = new FormData() const formData = new FormData()
if (type === 'fields_attributes') { if (type === 'fields_attributes') {
if (!data.length) {
formData.append('fields_attributes[]', '')
} else {
const tempData = data as { name: string; value: string }[] const tempData = data as { name: string; value: string }[]
tempData.forEach((d, index) => { tempData.forEach((d, index) => {
formData.append(`fields_attributes[${index}][name]`, d.name) formData.append(`fields_attributes[${index}][name]`, d.name)
formData.append(`fields_attributes[${index}][value]`, d.value) formData.append(`fields_attributes[${index}][value]`, d.value)
}) })
}
} else if (type === 'avatar' || type === 'header') { } else if (type === 'avatar' || type === 'header') {
formData.append(type, { formData.append(type, {
uri: `file://${data}`, uri: data,
name: 'image/jpeg', name: 'image/jpeg',
type: 'image/jpeg' type: 'image/jpeg'
} as any) } as any)