From 07a904d7a4eb12678476e8cd09fac8ab9afa87a6 Mon Sep 17 00:00:00 2001 From: Clovis Date: Thu, 1 Dec 2022 19:45:43 +0100 Subject: [PATCH] Release Goodcook raccoon (#87) * [CH] Local timeline logo is now instance logo. Instance logo must be svg only. Remove name from Manifest.json (#64) * [FIX] Edit chat check (#65) * [CH] Better UX for polls (#66) * [FIX] Translate config panel, bookmark,muted words, import data pages in French (#67) * [FIX] use actualStatus hidden state boosted status with CW are now working correctly (#76) * [CH] Move custom enlistment directly in the pre-existing onboarding (#73) * [CH] Rework the profile directory (#77) * [ADD][FIX] Add a detailed home description, Show admins and moderators on front page. Fix footer links on mangane settings page. (#83) * [Fix] translations (#84) * [CH] Back arrow should stick to the top of the screen (#86) * [Fix] wrong request on admin dashboard (#85) * [FIX] Fix translation tone * [REM] Remove useless onboarding setting --- app/icons/bdx.svg | 3 - app/manifest.json | 11 +- app/soapbox/__fixtures__/intlMessages.json | 34 +-- app/soapbox/actions/admin.ts | 5 +- app/soapbox/actions/instance.ts | 4 +- app/soapbox/actions/settings.ts | 1 - app/soapbox/components/polls/poll-option.tsx | 8 +- app/soapbox/components/sidebar-navigation.tsx | 24 +- app/soapbox/components/sidebar_menu.tsx | 29 +- app/soapbox/components/site-logo.tsx | 37 +-- app/soapbox/components/status.tsx | 2 +- app/soapbox/components/status_content.tsx | 2 +- app/soapbox/components/sticky.tsx | 44 +++ app/soapbox/components/thumb_navigation.tsx | 15 +- .../components/ui/streamfield/streamfield.tsx | 4 +- .../directory/components/account_card.tsx | 81 ++++-- app/soapbox/features/directory/index.tsx | 28 +- .../features/enlistment/enlistment.tsx | 100 ------- .../features/enlistment/steps/step0.tsx | 44 --- .../features/enlistment/steps/step1.tsx | 54 ---- .../features/enlistment/steps/step2.tsx | 51 ---- .../features/enlistment/steps/step3.tsx | 71 ----- .../features/enlistment/steps/step4.tsx | 59 ---- app/soapbox/features/landing_page/index.tsx | 46 ++- .../features/onboarding/onboarding-wizard.tsx | 10 +- .../steps/cover-photo-selection-step.tsx | 6 +- .../onboarding/steps/display-name-step.tsx | 6 +- .../features/onboarding/steps/feeds.tsx | 62 ++++ .../onboarding/steps/how-it-works.tsx | 65 +++++ .../features/onboarding/steps/privacy.tsx | 80 ++++++ .../features/onboarding/steps/welcome.tsx | 57 ++++ app/soapbox/features/preferences/index.tsx | 4 - .../public_layout/components/header.tsx | 11 - .../components/icon_picker_dropdown.js | 10 +- .../components/site-preview.tsx | 2 +- app/soapbox/features/soapbox_config/index.tsx | 46 ++- app/soapbox/features/status/index.tsx | 11 +- .../features/ui/components/link_footer.tsx | 3 - app/soapbox/features/ui/index.tsx | 3 - app/soapbox/hooks/index.ts | 1 + app/soapbox/hooks/useLogo.ts | 32 +++ app/soapbox/hooks/useTheme.ts | 2 + app/soapbox/locales/ar.json | 54 ++-- app/soapbox/locales/ast.json | 54 ++-- app/soapbox/locales/bg.json | 54 ++-- app/soapbox/locales/bn.json | 54 ++-- app/soapbox/locales/br.json | 54 ++-- app/soapbox/locales/ca.json | 54 ++-- app/soapbox/locales/co.json | 54 ++-- app/soapbox/locales/cs.json | 54 ++-- app/soapbox/locales/cy.json | 54 ++-- app/soapbox/locales/da.json | 54 ++-- app/soapbox/locales/de.json | 54 ++-- app/soapbox/locales/defaultMessages.json | 54 ++-- app/soapbox/locales/el.json | 54 ++-- app/soapbox/locales/en-Shaw.json | 54 ++-- app/soapbox/locales/en.json | 54 ++-- app/soapbox/locales/eo.json | 54 ++-- app/soapbox/locales/es-AR.json | 54 ++-- app/soapbox/locales/es.json | 54 ++-- app/soapbox/locales/et.json | 54 ++-- app/soapbox/locales/eu.json | 54 ++-- app/soapbox/locales/fa.json | 54 ++-- app/soapbox/locales/fi.json | 54 ++-- app/soapbox/locales/fr.json | 270 +++++++++--------- app/soapbox/locales/ga.json | 54 ++-- app/soapbox/locales/gl.json | 54 ++-- app/soapbox/locales/he.json | 54 ++-- app/soapbox/locales/hi.json | 54 ++-- app/soapbox/locales/hr.json | 54 ++-- app/soapbox/locales/hu.json | 54 ++-- app/soapbox/locales/hy.json | 54 ++-- app/soapbox/locales/id.json | 54 ++-- app/soapbox/locales/io.json | 54 ++-- app/soapbox/locales/is.json | 54 ++-- app/soapbox/locales/it.json | 54 ++-- app/soapbox/locales/ja.json | 54 ++-- app/soapbox/locales/ka.json | 54 ++-- app/soapbox/locales/kk.json | 54 ++-- app/soapbox/locales/ko.json | 54 ++-- app/soapbox/locales/lt.json | 54 ++-- app/soapbox/locales/lv.json | 54 ++-- app/soapbox/locales/mk.json | 54 ++-- app/soapbox/locales/ms.json | 54 ++-- app/soapbox/locales/nl.json | 54 ++-- app/soapbox/locales/nn.json | 54 ++-- app/soapbox/locales/no.json | 54 ++-- app/soapbox/locales/oc.json | 54 ++-- app/soapbox/locales/pl.json | 54 ++-- app/soapbox/locales/pt-BR.json | 54 ++-- app/soapbox/locales/pt.json | 54 ++-- app/soapbox/locales/ro.json | 54 ++-- app/soapbox/locales/ru.json | 54 ++-- app/soapbox/locales/sk.json | 54 ++-- app/soapbox/locales/sl.json | 54 ++-- app/soapbox/locales/sq.json | 54 ++-- app/soapbox/locales/sr-Latn.json | 54 ++-- app/soapbox/locales/sr.json | 54 ++-- app/soapbox/locales/sv.json | 54 ++-- app/soapbox/locales/ta.json | 54 ++-- app/soapbox/locales/te.json | 54 ++-- app/soapbox/locales/th.json | 54 ++-- app/soapbox/locales/tr.json | 54 ++-- app/soapbox/locales/uk.json | 54 ++-- app/soapbox/locales/zh-CN.json | 54 ++-- app/soapbox/locales/zh-HK.json | 54 ++-- app/soapbox/locales/zh-TW.json | 54 ++-- app/soapbox/normalizers/instance.ts | 1 + .../normalizers/soapbox/soapbox_config.ts | 1 + app/soapbox/reducers/instance.ts | 10 +- app/soapbox/utils/features.ts | 4 +- app/styles/application.scss | 1 + app/styles/components/directory.scss | 57 ++-- app/styles/components/sticky.scss | 15 + webpack/development.js | 6 +- webpack/rules/assets.js | 4 +- 116 files changed, 2527 insertions(+), 2466 deletions(-) delete mode 100644 app/icons/bdx.svg create mode 100644 app/soapbox/components/sticky.tsx delete mode 100644 app/soapbox/features/enlistment/enlistment.tsx delete mode 100644 app/soapbox/features/enlistment/steps/step0.tsx delete mode 100644 app/soapbox/features/enlistment/steps/step1.tsx delete mode 100644 app/soapbox/features/enlistment/steps/step2.tsx delete mode 100644 app/soapbox/features/enlistment/steps/step3.tsx delete mode 100644 app/soapbox/features/enlistment/steps/step4.tsx create mode 100644 app/soapbox/features/onboarding/steps/feeds.tsx create mode 100644 app/soapbox/features/onboarding/steps/how-it-works.tsx create mode 100644 app/soapbox/features/onboarding/steps/privacy.tsx create mode 100644 app/soapbox/features/onboarding/steps/welcome.tsx create mode 100644 app/soapbox/hooks/useLogo.ts create mode 100644 app/styles/components/sticky.scss diff --git a/app/icons/bdx.svg b/app/icons/bdx.svg deleted file mode 100644 index 3347559b6..000000000 --- a/app/icons/bdx.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/manifest.json b/app/manifest.json index 1f63ee5be..54bfc019f 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,10 +1,19 @@ { - "name": "Mangane", "icons": [ { "src": "/favicon.png", "type": "image/png", "sizes": "250/250" + }, + { + "src": "/favicon.ico", + "type": "image/x-icon", + "sizes": "250/250" + }, + { + "src": "/favicon.svg", + "type": "image/svg+xml", + "sizes": "250/250" } ], "start_url": "/", diff --git a/app/soapbox/__fixtures__/intlMessages.json b/app/soapbox/__fixtures__/intlMessages.json index 211e777c8..e4d6139a5 100644 --- a/app/soapbox/__fixtures__/intlMessages.json +++ b/app/soapbox/__fixtures__/intlMessages.json @@ -797,7 +797,6 @@ "poll_button.add_poll": "Add a poll", "poll_button.remove_poll": "Remove poll", "preferences.fields.auto_play_gif_label": "Auto-play animated GIFs", - "preferences.fields.enlisted": "Ignore onboarding", "preferences.fields.boost_modal_label": "Show confirmation dialog before reposting", "preferences.fields.delete_modal_label": "Show confirmation dialog before deleting a post", "preferences.fields.demetricator_label": "Use Demetricator", @@ -961,20 +960,21 @@ "who_to_follow.title": "Who To Follow", "enlistment.next": "Next", "enlistment.pass": "Ignore", - "enlistment.step0.title": "Bienvenue sur Mangane !", - "enlistment.step0.body": "Mangane c’est votre porte d’entrée vers un réseau de serveurs indépendants qui communiquent ensemble pour former un réseau social plus large : le fediverse. Chaque serveur est appelé “instance”. Ton instance c’est tout simplement ce site : Bdx.town", - "enlistment.step0.username": "ton pseudo complet", - "enlistment.step0.explanation": "c’est cet identifiant que tu peux partager sur le fediverse", - "enlistment.step1.title": "Comment ça marche ?", - "enlistment.step1.left": "Ici tu es sur {title}. Si tu échanges avec des gens de la même instance que toi, tu peux les mentionners avec simplement @pseudo

ex: {contact_name}, si tu veux parler à l’admin de {title}", - "enlistment.step1.right": "Si tu échanges avec une personne d’une autre instance il faudra la mentionner avec son @pseudo@instance

ex: @matt@oslo.town, si tu veux parler à l’admin d’Oslo.town", - "enlistment.step1.explanation": "Pas d’inquiétude cependant, lors de la rédaction d’un post, l’autosuggestion t’aidera à trouver la bonne mention ! Par ailleurs si tu réponds à un post, la mention sera automatiquement écrite de la bonne manière.", - "enlistment.step2.title1": "Home", - "enlistment.step2.title3": "Découvrir", - "enlistment.step2.col1": "Ici tu es en terrain connu : seules tes publications et celles des personnes que tu suis s’afficheront sur ce fil.", - "enlistment.step2.col2": "Ici c’est un peu ton quartier : tu n’y trouveras que des publications venant de membres de cette instance, que tu les suives ou non.", - "enlistment.step2.col3": "Sors des sentiers battus et va explorer le reste du monde : ce fil affiche les publications de l’ensemble des instances connues.", - "enlistment.step2.explanation1": "Au départ ce sera un peu vide mais pas de souci on peut t’aider à le fournir !", - "enlistment.step2.explanation2": "On l’appelle généralementfil “local”.", - "enlistment.step2.explanation3": "On l’appelle généralementfil “global” ou “fédéré”." + "onboarding.welcome.title": "Bienvenue sur Mangane !", + "onboarding.welcome.body1": "Mangane c’est votre porte d’entrée vers un réseau de serveurs indépendants qui communiquent ensemble pour former un réseau social plus large : le fediverse.", + "onboarding.welcome.body2": "Ton instance c’est tout simplement ce site :", + "onboarding.welcome.username": "ton pseudo complet", + "onboarding.welcome.explanation": "c’est cet identifiant que tu peux partager sur le fediverse", + "onboarding.how-it-works.title": "Comment ça marche ?", + "onboarding.how-it-works.left": "Ici tu es sur {title}. Si tu échanges avec des gens de la même instance que toi, tu peux les mentionners avec simplement @pseudo

ex: {contact_name}, si tu veux parler à l’admin de {title}", + "onboarding.how-it-works.right": "Si tu échanges avec une personne d’une autre instance il faudra la mentionner avec son @pseudo@instance

ex: @matt@oslo.town, si tu veux parler à l’admin d’Oslo.town", + "onboarding.how-it-works.explanation": "Pas d’inquiétude cependant, lors de la rédaction d’un post, l’autosuggestion t’aidera à trouver la bonne mention ! Par ailleurs si tu réponds à un post, la mention sera automatiquement écrite de la bonne manière.", + "onboarding.feeds.title1": "Home", + "onboarding.feeds.title3": "Découvrir", + "onboarding.feeds.col1": "Ici tu es en terrain connu : seules tes publications et celles des personnes que tu suis s’afficheront sur ce fil.", + "onboarding.feeds.col2": "Ici c’est un peu ton quartier : tu n’y trouveras que des publications venant de membres de cette instance, que tu les suives ou non.", + "onboarding.feeds.col3": "Sors des sentiers battus et va explorer le reste du monde : ce fil affiche les publications de l’ensemble des instances connues.", + "onboarding.feeds.explanation1": "Au départ ce sera un peu vide mais pas de souci on peut t’aider à le fournir !", + "onboarding.feeds.explanation2": "On l’appelle généralementfil “local”.", + "onboarding.feeds.explanation3": "On l’appelle généralementfil “global” ou “fédéré”." } diff --git a/app/soapbox/actions/admin.ts b/app/soapbox/actions/admin.ts index 660b52dce..0227b7773 100644 --- a/app/soapbox/actions/admin.ts +++ b/app/soapbox/actions/admin.ts @@ -145,9 +145,12 @@ const fetchReports = (params: Record = {}) => return dispatch(fetchMastodonReports(params)); } else { const { resolved } = params; + let state: string | undefined = undefined; + if (resolved === false) state = 'open'; + if (resolved) state = 'resolved'; return dispatch(fetchPleromaReports({ - state: resolved === false ? 'open' : (resolved ? 'resolved' : null), + state, })); } }; diff --git a/app/soapbox/actions/instance.ts b/app/soapbox/actions/instance.ts index 60a6b2e89..317a88e03 100644 --- a/app/soapbox/actions/instance.ts +++ b/app/soapbox/actions/instance.ts @@ -42,9 +42,7 @@ export const fetchInstance = createAsyncThunk( async(_arg, { dispatch, getState, rejectWithValue }) => { try { const { data: instance } = await api(getState).get('/api/v1/instance'); - if (needsNodeinfo(instance)) { - dispatch(fetchNodeinfo()); - } + dispatch(fetchNodeinfo()); return instance; } catch (e) { return rejectWithValue(e); diff --git a/app/soapbox/actions/settings.ts b/app/soapbox/actions/settings.ts index 322abd5a3..44a22f666 100644 --- a/app/soapbox/actions/settings.ts +++ b/app/soapbox/actions/settings.ts @@ -28,7 +28,6 @@ const messages = defineMessages({ }); const defaultSettings = ImmutableMap({ - enlisted: false, onboarded: false, skinTone: 1, reduceMotion: false, diff --git a/app/soapbox/components/polls/poll-option.tsx b/app/soapbox/components/polls/poll-option.tsx index 024f01b7b..87af8ac62 100644 --- a/app/soapbox/components/polls/poll-option.tsx +++ b/app/soapbox/components/polls/poll-option.tsx @@ -46,9 +46,11 @@ const PollOptionText: React.FC = ({ poll, option, index, active return (