import React, {ReactNode, useContext, useEffect, useRef, useState} from 'react';
import AuthContext from "../context/auth-context";
import {Microservice, Role} from "../models/EgovUser";

/**
 * Gets module rules on module component mount
 */

const useTranslations = () => {

    const {translations} = useContext(AuthContext)


    const translateRole = (role:Role) => {
        return translations && translations.roles[role].view_name;
    }

    const translateModule = (mod:string) => {
        return translations && translations.modules[mod].view_name;
    }
    const translateModuleDesc = (mod:string) => {
        return translations && translations.modules[mod].description;
    }
    const translateModuleIcon = (mod:string) => {
        return translations && process.env['REACT_APP_BFF']+'/'+translations.modules[mod].filepath;
    }



    const translateMicroservice = (ms:Microservice) => {
        return translations && translations.microservices[ms].view_name;
    }
    const translateMicroserviceDesc = (ms:Microservice) => {
        return translations && translations.microservices[ms].description;
    }

    const translatePermission = (per:string) => {
        return translations && translations.permissions[per].view_name;
    }

    return {
        translateRole,
        translateModule,
        translateModuleDesc,
        translateModuleIcon,
        translateMicroservice,
        translateMicroserviceDesc,
        translatePermission
    } as const

}

export default useTranslations;