diff --git a/src/components/applicationsComponents/AppPage.css b/src/components/applicationsComponents/AppPage.css index 13e0341..d201772 100644 --- a/src/components/applicationsComponents/AppPage.css +++ b/src/components/applicationsComponents/AppPage.css @@ -1,8 +1,5 @@ .appDesc { - display: grid; - margin: 5%; - grid-gap: 1%; - grid-auto-flow: row; + margin: 2%; flex-wrap: wrap; } @@ -15,17 +12,8 @@ } } -@media (min-width: 981px) { - .appDesc { - grid-template-columns: 47% 47%; - justify-content: center; - } -} - .box { - background-color: rgb(215, 239, 247); - border: 2px solid #acacac; - padding: 5%; + padding: 2%; border-radius: 15px; align-content: center; flex-wrap: wrap; @@ -34,6 +22,13 @@ .box tr { text-align: left; flex-wrap: wrap; + border: 1px solid #acacac; +} +tr:nth-child(odd) { + background-color: rgb(255, 255, 255); +} +tr:nth-child(even) { + background-color: rgb(249, 249, 249); } .box td { @@ -65,9 +60,12 @@ } table { + border: 1px solid #acacac; width: 100%; max-width: 100%; flex-wrap: wrap; + border-collapse: collapse; + box-shadow: 5% #acacac; } .box .form { diff --git a/src/components/applicationsComponents/CasApp.tsx b/src/components/applicationsComponents/CasApp.tsx index 62db62c..1816019 100644 --- a/src/components/applicationsComponents/CasApp.tsx +++ b/src/components/applicationsComponents/CasApp.tsx @@ -11,6 +11,7 @@ import { updateCASexportedVars, } from "../../features/config/configSlice"; import { TableVars } from "./TableVars"; +import { useState } from "react"; export function CasApp({ name }: { name: string }) { const vars = useAppSelector((state) => @@ -28,265 +29,288 @@ export function CasApp({ name }: { name: string }) { ? state.config.data.config.casAppMetaDataOptions[name] : {}; }); + const [optionSelected, setOptionSelected] = useState("basic"); const dispatch = useAppDispatch(); return (
{name} +
+ + + + +
-
- {t("casAppMetaDataExportedVars")} - - - - - - - - - - {TableVars( - name, - vars, - "exportedVars", - delCASexportedVars, - updateCASexportedVars - )} -
{t("keys")}{t("values")}
- -
-
- {t("casAppMetaDataMacros")} - - - - - - + {optionSelected === "casAppMetaDataExportedVars" && ( +
+ + {t("casAppMetaDataExportedVars")} + + +
{t("keys")}{t("values")}
+ + + + + + + + {TableVars( + name, + vars, + "exportedVars", + delCASexportedVars, + updateCASexportedVars + )} +
{t("keys")}{t("values")}
+ +
+ )} + {optionSelected === "casAppMetaDataMacros" && ( +
+ {t("casAppMetaDataMacros")} + + + + + + - - - - {TableVars( - name, - casAppMetaDataMacros, - "macros", - delCASAppMetaDataMacros, - updateCASAppMetaDataMacros - )} -
{t("keys")}{t("values")}
- -
-
- {t("casAppMetaDataOptions")} - - - - - - - - - - - - - - - - - - - - - - - - -
{t("casAppMetaDataOptionsDisplayName")} - - dispatch( - updateCASOptions({ - name, - option: "casAppMetaDataOptionsDisplayName", - value: e.target.value, - }) - ) - } - /> -
{t("casAppMetaDataOptionsService")} - - dispatch( - updateCASOptions({ - name, - option: "casAppMetaDataOptionsService", - value: e.target.value, - }) - ) - } - /> -
{t("casAppMetaDataOptionsLogout")} -
- - - -
-
{t("casAppMetaDataOptionsAuthnLevel")} - - dispatch( - updateCASOptions({ - name, - option: "casAppMetaDataOptionsAuthnLevel", - value: e.target.value, - }) - ) - } - /> -
{t("casAppMetaDataOptionsRule")} - - dispatch( - updateCASOptions({ - name, - option: "casAppMetaDataOptionsRule", - value: e.target.value, - }) - ) - } - /> -
{t("casAppMetaDataOptionsComment")} - - -
- { - handleChangeFile(e).then((fileContent) => { - console.log("File content:", fileContent); + {optionSelected === "samlSPMetaDataXML" && ( +
+ + {t("samlSPMetaDataXML")}{" "} + {name + ? data.samlSPMetaDataXML[name] + ? data.samlSPMetaDataXML[name].samlSPMetaDataXML === "" + ? "⚠️" + : "" + : "⚠️" + : "⚠️"} + +
+ +
+
+ { + handleChangeFile(e).then((fileContent) => { + console.log("File content:", fileContent); + dispatch( + updateSamlSPMetadata({ + name: name ? name : "", + data: fileContent, + }) + ); + }); + }} + /> +
+ +
+ )} + {optionSelected === "samlSPMetaDataExportedAttributes" && ( +
+ + {t("samlSPMetaDataExportedAttributes")} + + + + + + + + + + + + + {data.samlSPMetaDataExportedAttributes + ? ExportedAttribute( + name, + data.samlSPMetaDataExportedAttributes[name] + ) + : ""} +
{t("variableName")}{t("attributeName")}{t("friendlyName")}{t("mandatory")}{t("format")}
+ +
+ )} + {optionSelected === "samlSPMetaDataMacros" && ( +
+ {t("samlSPMetaDataMacros")} + + + + + + + + + {data.samlSPMetaDataMacros + ? TableVars( + name, + data.samlSPMetaDataMacros[name], + "samlSPMetaDataMacros", + delSAMLSPMetaDataMacros, + updateSAMLSPMetaDataMacros + ) + : ""} +
{t("keys")}{t("values")}
+ +
+ )} + {optionSelected === "samlSPMetaDataOptions" && ( +
+ {t("samlSPMetaDataOptions")} +
- -
-
- - {t("samlSPMetaDataExportedAttributes")} - - - - - - - - - - - - - {data.samlSPMetaDataExportedAttributes - ? ExportedAttribute( - name, - data.samlSPMetaDataExportedAttributes[name] - ) - : ""} -
{t("variableName")}{t("attributeName")}{t("friendlyName")}{t("mandatory")}{t("format")}
- -
-
- {t("samlSPMetaDataMacros")} - - - - - - - - - {data.samlSPMetaDataMacros - ? TableVars( - name, - data.samlSPMetaDataMacros[name], - "samlSPMetaDataMacros", - delSAMLSPMetaDataMacros, - updateSAMLSPMetaDataMacros - ) - : ""} -
{t("keys")}{t("values")}
- -
-
- {t("samlSPMetaDataOptions")} - -
+ )} ); diff --git a/src/features/config/configSlice.ts b/src/features/config/configSlice.ts index 531abeb..6c91391 100644 --- a/src/features/config/configSlice.ts +++ b/src/features/config/configSlice.ts @@ -83,6 +83,13 @@ const configSlice = createSlice({ state.data.config.locationRules[action.payload.appName] = action.payload.locationRules; }, + updateDefaultLocationRule( + state, + action: PayloadAction<{ appName: string; rule: string }> + ) { + state.data.config.locationRules[action.payload.appName].default = + action.payload.rule; + }, newLocationRule(state, action: PayloadAction) { state.data.config.locationRules[action.payload] = { ...state.data.config.locationRules[action.payload], @@ -682,6 +689,7 @@ export const { saveSAMLPrivSig, saveSAMLPubSig, updateLocationRule, + updateDefaultLocationRule, newLocationRule, delLocationRule, newVhostHeaders,