Skip to content

Commit

Permalink
Merge pull request #38 from solun-pm/dev
Browse files Browse the repository at this point in the history
Added alias active switch
  • Loading branch information
DanielWTE authored Jul 2, 2023
2 parents 74af3f5 + 4a8ffb5 commit 7d7c259
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
19 changes: 11 additions & 8 deletions components/aliases/aliasCard.tsx
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faMailBulk, faTrash, faCopy, faCheck } from "@fortawesome/free-solid-svg-icons";
import { faMailBulk, faTrash, faCopy, faCheck, faToggleOn, faToggleOff } from "@fortawesome/free-solid-svg-icons";
import toast from "react-hot-toast";
import { CopyToClipboard } from 'react-copy-to-clipboard';
import { useState, useEffect } from 'react';

const AliasCard = ({ userInfo, aliasName, domain, refreshAliases }: any) => {
const AliasCard = ({ userInfo, aliasName, domain, isActive, refreshAliases }: any) => {

const [copySuccess, setCopySuccess] = useState(false);

const handleDeleteAlias = async (aliasName: string, domain: string) => {
const handleSwitchAliasState = async (aliasName: string, domain: string) => {
const fqa = aliasName + domain;
const res = await fetch(process.env.NEXT_PUBLIC_API_DOMAIN + "/user/delete_alias", {
const res = await fetch(process.env.NEXT_PUBLIC_API_DOMAIN + "/user/switch_alias_state", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
user_id: userInfo.user_id,
fqa: fqa,
alias_state: !isActive,
}),
});

if (!res.ok) {
toast.error('Something went wrong');
return;
}
toast.success('Alias deleted successfully');

toast.success(`Alias ${isActive ? 'disabled' : 'enabled'} successfully`);
refreshAliases();
}

Expand Down Expand Up @@ -61,10 +64,10 @@ const AliasCard = ({ userInfo, aliasName, domain, refreshAliases }: any) => {
</button>
</CopyToClipboard>
<button
onClick={() => handleDeleteAlias(aliasName, domain)}
className="h-10 text-white bg-red-500 py-2 px-4 rounded font-bold hover:bg-red-600 transition-all text-center"
onClick={() => handleSwitchAliasState(aliasName, domain)}
className={`h-10 text-white py-2 px-4 rounded font-bold hover:bg-${isActive ? 'red' : 'blue'}-600 transition-all text-center ${isActive ? 'bg-red-500' : 'bg-blue-500'}`}
>
<FontAwesomeIcon icon={faTrash} className="h-5 inline-block mr-1" /> Delete
<FontAwesomeIcon icon={isActive ? faToggleOn : faToggleOff} className="h-5 inline-block mr-1" /> {isActive ? 'Disable' : 'Enable'}
</button>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "solun-auth",
"version": "0.2.23",
"version": "0.2.27",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down
2 changes: 1 addition & 1 deletion pages/subpages/aliases.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const AliasesPage = () => {
<>
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4 mt-4">
{aliasesToShow.map((alias: any, index: any) => (
<AliasCard key={index} userInfo={userInfo} aliasName={alias.alias_name} domain={alias.domain} refreshAliases={getAliases} />
<AliasCard key={index} userInfo={userInfo} aliasName={alias.alias_name} domain={alias.domain} isActive={alias.active} refreshAliases={getAliases} />
))}
</div>
<div className="flex justify-center mt-4">
Expand Down

0 comments on commit 7d7c259

Please sign in to comment.