Skip to content
Snippets Groups Projects
Commit c2c0228a authored by Johannes Barstad's avatar Johannes Barstad
Browse files

Merge branch 'main' of git.gvk.idi.ntnu.no:Johannesb/dcsg2900-threattotal

parents c1d78cb7 eea372fe
No related branches found
No related tags found
No related merge requests found
...@@ -8,6 +8,7 @@ import { useTranslation } from 'react-i18next'; ...@@ -8,6 +8,7 @@ import { useTranslation } from 'react-i18next';
function CookieDisclosure () { function CookieDisclosure () {
const { t } = useTranslation(); const { t } = useTranslation();
// Hide the cookie disclosure if the cookiesEnabled cookie is present
useEffect(() => { useEffect(() => {
if (localStorage.getItem("cookiesEnabled") !== "true") { if (localStorage.getItem("cookiesEnabled") !== "true") {
console.log("True") console.log("True")
......
...@@ -3,29 +3,16 @@ import { useTranslation } from 'react-i18next'; ...@@ -3,29 +3,16 @@ import { useTranslation } from 'react-i18next';
import i18next from '../i18next'; import i18next from '../i18next';
export default function Source(props) { export default function Source(props) {
//i18next.init({ resources: {} });
//i18next.addResourceBundle('en', 'sourceEn', translationData.en);
//i18next.addResourceBundle('no', 'sourceNo', translationData.no);
// Add the translation data from the backend // Add the translation data from the backend
if (props.Data !== "") { if (props.Data !== "") {
const norsk = props.Data.no const norsk = props.Data.no
const english = props.Data.en const english = props.Data.en
i18next.addResources('en', 'translation', english); i18next.addResources('en', 'translation', english);
i18next.addResources('no', 'translation', norsk); i18next.addResources('no', 'translation', norsk);
//i18next.addResource('en', 'translation2', 'status', 'status2', {})
//console.log ("english: ", english)
//i18next.addResources({ lng:'no', ns : 'default', any: norsk });
//console.log("English source x: ", english)
//console.log( i18next.getDataByLanguage('en'))
//console.log( i18next.getResource('en', 'translation', 'status'))
//console.log( i18next.getResource('no', 'translation', 'status'))
} }
const { t } = useTranslation(); const { t } = useTranslation();
// If the input is empty return an empty box // If the input is empty return an empty box
// add a loading animation?
if (props.Data === "") { if (props.Data === "") {
return( return(
<div className='bg-white border-2 m-2 border-gray-400 rounded-lg p-1 text-left'> <div className='bg-white border-2 m-2 border-gray-400 rounded-lg p-1 text-left'>
......
...@@ -7,6 +7,7 @@ import { useTranslation } from 'react-i18next'; ...@@ -7,6 +7,7 @@ import { useTranslation } from 'react-i18next';
function About() { function About() {
// The consts are used for the open / close functionality of the menus
const { t } = useTranslation(); const { t } = useTranslation();
const [q1, setQ1] = useState(false); const [q1, setQ1] = useState(false);
......
...@@ -6,6 +6,7 @@ import ntnuLogo from '../img/ntnuLogoUtenSlagOrd.svg'; ...@@ -6,6 +6,7 @@ import ntnuLogo from '../img/ntnuLogoUtenSlagOrd.svg';
import CookieDisclosure from '../components/cookieDisclosure'; import CookieDisclosure from '../components/cookieDisclosure';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
// Search function which redirects the user to the result page with a search parameter
function search(e){ function search(e){
e.preventDefault(); e.preventDefault();
var formData = new FormData(e.target.form); var formData = new FormData(e.target.form);
...@@ -24,15 +25,13 @@ function search(e){ ...@@ -24,15 +25,13 @@ function search(e){
} }
} }
// Possibly cleaner to use an svg image for the headline text
// consider renaming the file? our main function file probably shouldn't contain "test"
function Homepage() { function Homepage() {
const { t } = useTranslation(); const { t } = useTranslation();
const queryParams = new URLSearchParams(window.location.search); const queryParams = new URLSearchParams(window.location.search);
const code = queryParams.get('code'); const code = queryParams.get('code');
// Put this on a seperate page with a redirect on completion of the request? // Function which handles logging in, if a code parameter is present it is used with a request
// to get a proper authenticaion cookie.
useEffect(() => { useEffect(() => {
if (code != null) { if (code != null) {
fetch('http://localhost:8081/login?code=' + code, { fetch('http://localhost:8081/login?code=' + code, {
......
...@@ -5,9 +5,10 @@ import SubNavbar from '../components/subNavbar' ...@@ -5,9 +5,10 @@ import SubNavbar from '../components/subNavbar'
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import ntnuLogo from '../img/ntnuLogoUtenSlagOrd.svg'; import ntnuLogo from '../img/ntnuLogoUtenSlagOrd.svg';
// Function for logging out the user
function logoutRequest(){ function logoutRequest(){
// Get and remove the local authentication key
const userAuth = localStorage.getItem('userAuth'); const userAuth = localStorage.getItem('userAuth');
localStorage.removeItem('userAuth') localStorage.removeItem('userAuth')
console.log("logging out") console.log("logging out")
fetch(process.env.REACT_APP_BACKEND_URL+'/login?userAuth=' + userAuth, { fetch(process.env.REACT_APP_BACKEND_URL+'/login?userAuth=' + userAuth, {
...@@ -16,6 +17,7 @@ function logoutRequest(){ ...@@ -16,6 +17,7 @@ function logoutRequest(){
Accept: 'application/json', Accept: 'application/json',
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
// Redirect to the logout page at Feide
}).then((response) => response.json()) }).then((response) => response.json())
.then((json) => { .then((json) => {
console.log(json, json.hash) console.log(json, json.hash)
...@@ -31,6 +33,7 @@ function Login(){ ...@@ -31,6 +33,7 @@ function Login(){
const { t } = useTranslation(); const { t } = useTranslation();
const [isLoggedIn, setIsLoggedIn] = useState(false); const [isLoggedIn, setIsLoggedIn] = useState(false);
// Change the display of the component if the user is logged in
useEffect(() => { useEffect(() => {
if (localStorage.getItem('userAuth') != null) { if (localStorage.getItem('userAuth') != null) {
setIsLoggedIn(true) setIsLoggedIn(true)
......
...@@ -32,8 +32,7 @@ const Logout = () => { ...@@ -32,8 +32,7 @@ const Logout = () => {
response_type=code& response_type=code&
redirect_uri=http://localhost:3000& redirect_uri=http://localhost:3000&
scope=openid& scope=openid&
state=whatever& state=whatever">
secret=198cb677-d113-446c-807e-8d9ad81ab8e0">
<button className='bg-blue-400 border-2 rounded-lg p-2'>{t("loginButton")}</button> <button className='bg-blue-400 border-2 rounded-lg p-2'>{t("loginButton")}</button>
</a> </a>
</div> </div>
......
...@@ -20,6 +20,7 @@ function Result() { ...@@ -20,6 +20,7 @@ function Result() {
const userAuth = localStorage.getItem('userAuth') const userAuth = localStorage.getItem('userAuth')
const [ScreenshotProvided, setScreenshotProvided] = useState(false) const [ScreenshotProvided, setScreenshotProvided] = useState(false)
// Perform api request to the backend
useEffect(() => { useEffect(() => {
if (userAuth != null) { if (userAuth != null) {
if (hash != null) { if (hash != null) {
...@@ -107,7 +108,7 @@ function Result() { ...@@ -107,7 +108,7 @@ function Result() {
} }
}, [file, hash, url, userAuth]); }, [file, hash, url, userAuth]);
console.log(JsonData) // Add the translation data if the backend request gave data
if (JsonData !== undefined){ if (JsonData !== undefined){
i18next.addResources('en', 'translation', JsonData.EN); i18next.addResources('en', 'translation', JsonData.EN);
i18next.addResources('no', 'translation', JsonData.NO); i18next.addResources('no', 'translation', JsonData.NO);
...@@ -161,6 +162,7 @@ function Result() { ...@@ -161,6 +162,7 @@ function Result() {
); );
} }
// Function which escalates a request to manual analysis by sending an api request to the backend.
function EscalateAnalysis(url, userAuth, filehash){ function EscalateAnalysis(url, userAuth, filehash){
fetch(process.env.REACT_APP_BACKEND_URL+'/escalate?url=' + url +"&result=" + window.location.href + "&userAuth=" + userAuth + "&hash=" + filehash, { fetch(process.env.REACT_APP_BACKEND_URL+'/escalate?url=' + url +"&result=" + window.location.href + "&userAuth=" + userAuth + "&hash=" + filehash, {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment