Skip to content

Commit

Permalink
Release Goodcook raccoon (#87)
Browse files Browse the repository at this point in the history
* [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
  • Loading branch information
Cl0v1s authored Dec 1, 2022
1 parent 21816f6 commit 07a904d
Show file tree
Hide file tree
Showing 116 changed files with 2,527 additions and 2,466 deletions.
3 changes: 0 additions & 3 deletions app/icons/bdx.svg

This file was deleted.

11 changes: 10 additions & 1 deletion app/manifest.json
Original file line number Diff line number Diff line change
@@ -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": "/",
Expand Down
34 changes: 17 additions & 17 deletions app/soapbox/__fixtures__/intlMessages.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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 <span class='font-bold'>@pseudo</span><br/><br />ex: <a href='{contact_url}'>{contact_name}</a>, 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 <span class='font-bold'>@pseudo@instance</span><br/><br/> ex: <a href='https://oslo.town/@matt'>@[email protected]</a>, 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 <span class='font-bold'>@pseudo</span><br/><br />ex: <a href='{contact_url}'>{contact_name}</a>, 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 <span class='font-bold'>@pseudo@instance</span><br/><br/> ex: <a href='https://oslo.town/@matt'>@[email protected]</a>, 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é”."
}
5 changes: 4 additions & 1 deletion app/soapbox/actions/admin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,12 @@ const fetchReports = (params: Record<string, any> = {}) =>
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,
}));
}
};
Expand Down
4 changes: 1 addition & 3 deletions app/soapbox/actions/instance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ export const fetchInstance = createAsyncThunk<void, void, { state: RootState }>(
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);
Expand Down
1 change: 0 additions & 1 deletion app/soapbox/actions/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ const messages = defineMessages({
});

const defaultSettings = ImmutableMap({
enlisted: false,
onboarded: false,
skinTone: 1,
reduceMotion: false,
Expand Down
8 changes: 6 additions & 2 deletions app/soapbox/components/polls/poll-option.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,11 @@ const PollOptionText: React.FC<IPollOptionText> = ({ poll, option, index, active
return (
<label
className={
classNames('flex relative p-2 bg-white dark:bg-primary-900 cursor-pointer rounded-3xl border border-solid hover:bg-primary-50 dark:hover:bg-primary-800/50', {
classNames('flex relative p-2 bg-white dark:bg-primary-900 cursor-pointer border border-solid hover:bg-primary-50 dark:hover:bg-primary-800/50', {
'border-primary-600 ring-1 ring-primary-600 bg-primary-50 dark:bg-primary-800/50 dark:border-primary-300 dark:ring-primary-300': active,
'border-primary-300 dark:border-primary-500': !active,
'rounded-3xl': poll.multiple !== true,
'rounded-xl': poll.multiple,
})
}
>
Expand All @@ -74,9 +76,11 @@ const PollOptionText: React.FC<IPollOptionText> = ({ poll, option, index, active

<div className='col-start-1 row-start-1 justify-self-end flex items-center'>
<span
className={classNames('flex items-center justify-center w-6 h-6 flex-none border border-solid rounded-full', {
className={classNames('flex items-center justify-center w-6 h-6 flex-none border border-solid', {
'bg-primary-600 border-primary-600 dark:bg-primary-300 dark:border-primary-300': active,
'border-primary-300 bg-white dark:bg-primary-900 dark:border-primary-500': !active,
'rounded-full': poll.multiple !== true,
'rounded': poll.multiple,
})}
tabIndex={0}
role={poll.multiple ? 'checkbox' : 'radio'}
Expand Down
24 changes: 17 additions & 7 deletions app/soapbox/components/sidebar-navigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
import { getSettings } from 'soapbox/actions/settings';
import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
import ComposeButton from 'soapbox/features/ui/components/compose-button';
import { useAppSelector, useOwnAccount } from 'soapbox/hooks';
import { useAppSelector, useOwnAccount, useLogo } from 'soapbox/hooks';
import { getFeatures } from 'soapbox/utils/features';

import SidebarNavigationLink from './sidebar-navigation-link';
Expand All @@ -19,14 +19,16 @@ const messages = defineMessages({
dashboard: { id: 'tabs_bar.dashboard', defaultMessage: 'Dashboard' },
all: { id: 'tabs_bar.all', defaultMessage: 'All' },
fediverse: { id: 'tabs_bar.fediverse', defaultMessage: 'Fediverse' },
settings: { id: 'tabs_bar.settings', defaultMessage: 'Settings'},
settings: { id: 'tabs_bar.settings', defaultMessage: 'Settings' },
direct: { id: 'column.direct', defaultMessage: 'Direct messages' },
directory: { id: 'navigation_bar.profile_directory', defaultMessage: 'Profile directory' },
});

/** Desktop sidebar with links to different views in the app. */
const SidebarNavigation = () => {
const intl = useIntl();

const logo = useLogo();
const instance = useAppSelector((state) => state.instance);
const settings = useAppSelector((state) => getSettings(state));
const account = useOwnAccount();
Expand Down Expand Up @@ -72,6 +74,14 @@ const SidebarNavigation = () => {
});
}

if(features.profileDirectory) {
menu.push({
to: '/directory',
text: intl.formatMessage(messages.directory),
icon: require('@tabler/icons/folder.svg'),
});
}

if (settings.get('isDeveloper')) {
menu.push({
to: '/developers',
Expand Down Expand Up @@ -140,7 +150,7 @@ const SidebarNavigation = () => {
{
features.federating ? (
<SidebarNavigationLink
icon={require('icons/bdx.svg')}
icon={logo}
text={<>{instance.get('title')}</>}
to='/timeline/local'
/>
Expand All @@ -156,10 +166,10 @@ const SidebarNavigation = () => {
{
features.federating && (
<SidebarNavigationLink
icon={require('icons/fediverse.svg')}
text={<FormattedMessage id='tabs_bar.fediverse' defaultMessage='Fediverse' />}
to='/timeline/fediverse'
/>
icon={require('icons/fediverse.svg')}
text={<FormattedMessage id='tabs_bar.fediverse' defaultMessage='Fediverse' />}
to='/timeline/fediverse'
/>
)
}

Expand Down
29 changes: 20 additions & 9 deletions app/soapbox/components/sidebar_menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import Account from 'soapbox/components/account';
import SiteLogo from 'soapbox/components/site-logo';
import { Stack } from 'soapbox/components/ui';
import ProfileStats from 'soapbox/features/ui/components/profile_stats';
import { useAppSelector, useFeatures } from 'soapbox/hooks';
import { useAppSelector, useFeatures, useLogo } from 'soapbox/hooks';
import { makeGetAccount, makeGetOtherAccounts } from 'soapbox/selectors';

import { HStack, Icon, IconButton, Text } from './ui';
Expand Down Expand Up @@ -40,6 +40,7 @@ const messages = defineMessages({
developers: { id: 'navigation.developers', defaultMessage: 'Developers' },
addAccount: { id: 'profile_dropdown.add_account', defaultMessage: 'Add an existing account' },
direct: { id: 'column.direct', defaultMessage: 'Direct messages' },
directory: { id: 'navigation_bar.profile_directory', defaultMessage: 'Profile directory' },
});

interface ISidebarLink {
Expand Down Expand Up @@ -82,6 +83,7 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {
const intl = useIntl();
const dispatch = useDispatch();

const logo = useLogo();
const features = useFeatures();
const getAccount = makeGetAccount();
const instance = useAppSelector((state) => state.instance);
Expand Down Expand Up @@ -218,7 +220,7 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {


<SidebarLink
to={`/messages`}
to={'/messages'}
icon={require('@tabler/icons/mail.svg')}
text={intl.formatMessage(messages.direct)}
onClick={onClose}
Expand All @@ -242,6 +244,15 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {
/>
)}

{features.profileDirectory && (
<SidebarLink
to='/directory'
icon={require('@tabler/icons/folder.svg')}
text={intl.formatMessage(messages.directory)}
onClick={onClose}
/>
)}

{settings.get('isDeveloper') && (
<SidebarLink
to='/developers'
Expand All @@ -256,7 +267,7 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {

<SidebarLink
to='/timeline/local'
icon={features.federating ? require('icons/bdx.svg') : require('@tabler/icons/world.svg')}
icon={features.federating ? logo : require('@tabler/icons/world.svg')}
text={features.federating ? instance.title : <FormattedMessage id='tabs_bar.all' defaultMessage='All' />}
onClick={onClose}
/>
Expand All @@ -274,13 +285,13 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {
<hr />

{
(account.locked || followRequestsCount > 0) &&
(account.locked || followRequestsCount > 0) &&
<SidebarLink
to='/follow_requests'
icon={require('@tabler/icons/user-plus.svg')}
text={intl.formatMessage(messages.follow_requests)}
onClick={onClose}
/>
to='/follow_requests'
icon={require('@tabler/icons/user-plus.svg')}
text={intl.formatMessage(messages.follow_requests)}
onClick={onClose}
/>
}

<SidebarLink
Expand Down
Loading

0 comments on commit 07a904d

Please sign in to comment.