pl-fe is officially woke
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
parent
a3adf16798
commit
1c9f819bee
6 changed files with 12 additions and 7 deletions
|
@ -2,10 +2,10 @@ import { z } from 'zod';
|
|||
|
||||
import { dateSchema } from './utils';
|
||||
|
||||
const markerSchema = z.preprocess((marker: any) => ({
|
||||
const markerSchema = z.preprocess((marker: any) => marker ? ({
|
||||
unread_count: marker.pleroma?.unread_count,
|
||||
...marker,
|
||||
}), z.object({
|
||||
}) : null, z.object({
|
||||
last_read_id: z.string(),
|
||||
version: z.number().int(),
|
||||
updated_at: dateSchema,
|
||||
|
|
|
@ -4,7 +4,7 @@ import { announcementSchema } from './announcement';
|
|||
import { announcementReactionSchema } from './announcement-reaction';
|
||||
import { chatSchema } from './chat';
|
||||
import { conversationSchema } from './conversation';
|
||||
import { markerSchema } from './marker';
|
||||
import { markersSchema } from './marker';
|
||||
import { notificationSchema } from './notification';
|
||||
import { statusSchema } from './status';
|
||||
|
||||
|
@ -82,7 +82,7 @@ const respondStreamingEventSchema = baseStreamingEventSchema.extend({
|
|||
|
||||
const markerStreamingEventSchema = baseStreamingEventSchema.extend({
|
||||
event: z.literal('marker'),
|
||||
payload: z.preprocess((payload: any) => JSON.parse(payload), markerSchema),
|
||||
payload: z.preprocess((payload: any) => JSON.parse(payload), markersSchema),
|
||||
});
|
||||
|
||||
/** @see {@link https://docs.joinmastodon.org/methods/streaming/#events} */
|
||||
|
|
|
@ -14,6 +14,7 @@ const messages = defineMessages({
|
|||
|
||||
/** Type of the inner Streamfield input component. */
|
||||
type StreamfieldComponent<T> = React.ComponentType<{
|
||||
index: number;
|
||||
value: T;
|
||||
onChange: (value: T) => void;
|
||||
autoFocus: boolean;
|
||||
|
@ -70,9 +71,10 @@ const Streamfield: React.FC<IStreamfield> = ({
|
|||
{(values.length > 0) && (
|
||||
<Stack space={1}>
|
||||
{values.map((value, i) => value?._destroy ? null : (
|
||||
<HStack space={2} alignItems='center'>
|
||||
<HStack key={i} space={2} alignItems='center'>
|
||||
<Component
|
||||
key={i}
|
||||
index={i}
|
||||
onChange={handleChange(i)}
|
||||
value={value}
|
||||
autoFocus={i > 0}
|
||||
|
|
|
@ -46,6 +46,7 @@ const messages = defineMessages({
|
|||
header: { id: 'edit_profile.header', defaultMessage: 'Edit profile' },
|
||||
metaFieldLabel: { id: 'edit_profile.fields.meta_fields.label_placeholder', defaultMessage: 'Label' },
|
||||
metaFieldContent: { id: 'edit_profile.fields.meta_fields.content_placeholder', defaultMessage: 'Content' },
|
||||
firstMetaFieldLabel: { id: 'edit_profile.fields.meta_fields.label_placeholder.first', defaultMessage: 'Label (e.g. pronouns)' },
|
||||
success: { id: 'edit_profile.success', defaultMessage: 'Your profile has been successfully saved!' },
|
||||
error: { id: 'edit_profile.error', defaultMessage: 'Profile update failed' },
|
||||
bioPlaceholder: { id: 'edit_profile.fields.bio_placeholder', defaultMessage: 'Tell us about yourself.' },
|
||||
|
@ -142,7 +143,7 @@ const accountToCredentials = (account: Account): AccountCredentials => {
|
|||
};
|
||||
};
|
||||
|
||||
const ProfileField: StreamfieldComponent<AccountCredentialsField> = ({ value, onChange }) => {
|
||||
const ProfileField: StreamfieldComponent<AccountCredentialsField> = ({ index, value, onChange }) => {
|
||||
const intl = useIntl();
|
||||
|
||||
const handleChange = (key: string): React.ChangeEventHandler<HTMLInputElement> => e => {
|
||||
|
@ -156,7 +157,7 @@ const ProfileField: StreamfieldComponent<AccountCredentialsField> = ({ value, on
|
|||
outerClassName='w-2/5 grow'
|
||||
value={value.name}
|
||||
onChange={handleChange('name')}
|
||||
placeholder={intl.formatMessage(messages.metaFieldLabel)}
|
||||
placeholder={index === 0 ? intl.formatMessage(messages.firstMetaFieldLabel) : intl.formatMessage(messages.metaFieldLabel)}
|
||||
/>
|
||||
<Input
|
||||
type='text'
|
||||
|
|
|
@ -655,6 +655,7 @@
|
|||
"edit_profile.fields.locked_label": "Lock account",
|
||||
"edit_profile.fields.meta_fields.content_placeholder": "Content",
|
||||
"edit_profile.fields.meta_fields.label_placeholder": "Label",
|
||||
"edit_profile.fields.meta_fields.label_placeholder.first": "Label (e.g. pronouns)",
|
||||
"edit_profile.fields.meta_fields_label": "Profile fields",
|
||||
"edit_profile.fields.rss_label": "Enable RSS feed for public posts",
|
||||
"edit_profile.fields.stranger_notifications_label": "Block notifications from strangers",
|
||||
|
|
|
@ -655,6 +655,7 @@
|
|||
"edit_profile.fields.locked_label": "Zablokuj konto",
|
||||
"edit_profile.fields.meta_fields.content_placeholder": "Treść",
|
||||
"edit_profile.fields.meta_fields.label_placeholder": "Podpis",
|
||||
"edit_profile.fields.meta_fields.label_placeholder.first": "Podpis (np. zaimki)",
|
||||
"edit_profile.fields.meta_fields_label": "Pola profilu",
|
||||
"edit_profile.fields.rss_label": "Włącz kanał RSS dla publicznych wpisów",
|
||||
"edit_profile.fields.stranger_notifications_label": "Blokuj powiadomienia od nieznajomych",
|
||||
|
|
Loading…
Reference in a new issue