summaryrefslogtreecommitdiffstats
path: root/client/src/Influencers.js
diff options
context:
space:
mode:
authorLibravatarLibravatar Biswakalyan Bhuyan <biswa@surgot.in> 2024-06-28 18:00:44 +0530
committerLibravatarLibravatar Biswakalyan Bhuyan <biswa@surgot.in> 2024-06-28 18:00:44 +0530
commit251ff2f06d8e118e3e81b0458d284fbf62af1934 (patch)
tree6196cb60fb134dc631446516a5ee0b367b21f370 /client/src/Influencers.js
parent8329db0b28cf1a65350daf5505f375cc000383e7 (diff)
downloadinsta-local-251ff2f06d8e118e3e81b0458d284fbf62af1934.tar.gz
insta-local-251ff2f06d8e118e3e81b0458d284fbf62af1934.tar.bz2
insta-local-251ff2f06d8e118e3e81b0458d284fbf62af1934.zip
adding the influencer page and adding the funcitons in it
Diffstat (limited to 'client/src/Influencers.js')
-rw-r--r--client/src/Influencers.js28
1 files changed, 17 insertions, 11 deletions
diff --git a/client/src/Influencers.js b/client/src/Influencers.js
index a72d654..cfa28d9 100644
--- a/client/src/Influencers.js
+++ b/client/src/Influencers.js
@@ -1,16 +1,18 @@
import React, { useState, useEffect, useCallback } from 'react';
import axios from 'axios';
+require('dotenv').config();
-function Influencers({ adminPassword }) {
+function Influencers() {
const [profiles, setProfiles] = useState([]);
const [newProfile, setNewProfile] = useState('');
+ const adminPassword = process.env.ADMIN_PASSWROD;
+
const fetchProfiles = useCallback(async () => {
try {
- const response = await axios.get('http://localhost:5001/profiles', {
- headers: { Authorization: `Bearer ${adminPassword}` }
+ const response = await axios.get('http://localhost:5001/influencers', {
+ headers: { 'x-admin-password': adminPassword }
});
- console.log('Fetched profiles:', response.data);
setProfiles(response.data);
} catch (error) {
console.error('Error fetching profiles:', error);
@@ -23,11 +25,13 @@ function Influencers({ adminPassword }) {
const addProfile = async () => {
try {
+ const updatedProfiles = [...profiles, newProfile];
await axios.post(
- 'http://localhost:5001/profiles',
- { username: newProfile },
- { headers: { Authorization: `Bearer ${adminPassword}` } }
+ 'http://localhost:5001/influencers',
+ { profiles: updatedProfiles },
+ { headers: { 'x-admin-password': adminPassword } }
);
+ setProfiles(updatedProfiles);
setNewProfile('');
fetchProfiles();
} catch (error) {
@@ -42,10 +46,10 @@ function Influencers({ adminPassword }) {
formData.append('file', file);
try {
- await axios.post('http://localhost:5001/upload', formData, {
+ await axios.post('http://localhost:5001/import-influencers', formData, {
headers: {
'Content-Type': 'multipart/form-data',
- Authorization: `Bearer ${adminPassword}`
+ 'x-admin-password': adminPassword
}
});
fetchProfiles();
@@ -57,8 +61,8 @@ function Influencers({ adminPassword }) {
const exportJson = async () => {
try {
- const response = await axios.get('http://localhost:5001/export', {
- headers: { Authorization: `Bearer ${adminPassword}` },
+ const response = await axios.get('http://localhost:5001/export-influencers', {
+ headers: { 'x-admin-password': adminPassword },
responseType: 'blob'
});
const url = window.URL.createObjectURL(new Blob([response.data]));
@@ -82,12 +86,14 @@ function Influencers({ adminPassword }) {
placeholder="Enter Instagram username"
/>
<button onClick={addProfile}>Add</button>
+
<h3>Current Influencers</h3>
<ul>
{profiles.map((profile, index) => (
<li key={index}>{profile}</li>
))}
</ul>
+
<h3>Import/Export Influencers</h3>
<input
type="file"