Skip to content

Commit e4eda8a

Browse files
committed
feat: add "Refer and Earn" option to widget dropdown menu and localization support
1 parent ae66c19 commit e4eda8a

5 files changed

Lines changed: 29 additions & 3 deletions

File tree

src/apps/renderer/localize/locales/en.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"preferences": "Preferences",
5858
"issues": "Issues",
5959
"support": "Support",
60+
"referAndEarn": "Refer and Earn",
6061
"logout": "Log out",
6162
"quit": "Quit",
6263
"cleaner": "Cleaner",
@@ -412,4 +413,4 @@
412413
"title": "Network connection lost",
413414
"message": "Your network connection has been lost. Please check your internet connection and try again."
414415
}
415-
}
416+
}

src/apps/renderer/localize/locales/es.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"preferences": "Preferencias",
5858
"issues": "Lista de errores",
5959
"support": "Ayuda",
60+
"referAndEarn": "Recomienda y gana",
6061
"logout": "Cerrar sesión",
6162
"quit": "Salir",
6263
"cleaner": "Cleaner",
@@ -412,4 +413,4 @@
412413
"title": "Conexión de red perdida",
413414
"message": "Se ha perdido la conexión de red. Por favor, verifica tu conexión a internet e inténtalo de nuevo."
414415
}
415-
}
416+
}

src/apps/renderer/localize/locales/fr.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"preferences": "Préférences",
5858
"issues": "Liste d'erreurs",
5959
"support": "Aide",
60+
"referAndEarn": "Parrainez et gagnez",
6061
"logout": "Déconnecter",
6162
"quit": "Fermer",
6263
"cleaner": "Cleaner",
@@ -412,4 +413,4 @@
412413
"title": "Connexion réseau perdue",
413414
"message": "Votre connexion réseau a été perdue. Veuillez vérifier votre connexion Internet et réessayer."
414415
}
415-
}
416+
}

src/apps/renderer/pages/Widget/ItemsSection.test.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,4 +145,15 @@ describe('ItemsSection', () => {
145145

146146
expect(window.electron.logout).toHaveBeenCalledOnce();
147147
});
148+
149+
it('calls onOpenURL with referral URL when refer and earn is clicked', () => {
150+
const onOpenURL = vi.fn();
151+
152+
render(<ItemsSection {...defaultProps} onOpenURL={onOpenURL} />);
153+
154+
const referButton = screen.getByText('widget.header.dropdown.referAndEarn').closest('button')!;
155+
fireEvent.click(referButton);
156+
157+
expect(onOpenURL).toHaveBeenCalledWith('https://internxt.com/refer-friends');
158+
});
148159
});

src/apps/renderer/pages/Widget/ItemsSection.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,18 @@ export function ItemsSection({ numberOfIssues, numberOfIssuesDisplay, onQuitClic
121121
</div>
122122
)}
123123
</Menu.Item>
124+
<Menu.Item>
125+
{({ active }) => (
126+
<div>
127+
<DropdownItem
128+
active={active}
129+
onClick={() => onOpenURL('https://internxt.com/refer-friends')}
130+
data-automation-id="menuItemReferAndEarn">
131+
<span>{translate('widget.header.dropdown.referAndEarn')}</span>
132+
</DropdownItem>
133+
</div>
134+
)}
135+
</Menu.Item>
124136
<Menu.Item>
125137
{({ active }) => (
126138
<div>

0 commit comments

Comments
 (0)