diff --git a/.changeset/afraid-tools-arrive.md b/.changeset/afraid-tools-arrive.md new file mode 100644 index 0000000000..40c59b8bc5 --- /dev/null +++ b/.changeset/afraid-tools-arrive.md @@ -0,0 +1,5 @@ +--- +"@ifrc-go/ui": patch +--- + +Add DismissableListOutput, DismissableMultListOutput and DismissableTextOutput components diff --git a/.changeset/chatty-poets-divide.md b/.changeset/chatty-poets-divide.md new file mode 100644 index 0000000000..81c02976c6 --- /dev/null +++ b/.changeset/chatty-poets-divide.md @@ -0,0 +1,5 @@ +--- +"go-web-app": patch +--- + +Create Operational Learning Page and integrate LLM summary generation diff --git a/.changeset/five-elephants-check.md b/.changeset/five-elephants-check.md new file mode 100644 index 0000000000..9d4bc2b93d --- /dev/null +++ b/.changeset/five-elephants-check.md @@ -0,0 +1,5 @@ +--- +"go-web-app": patch +--- + +Integrate multi-select functionality in operational learning filters to allow selection of multiple filter items. diff --git a/.changeset/rude-shoes-hug.md b/.changeset/rude-shoes-hug.md new file mode 100644 index 0000000000..df4ed15d55 --- /dev/null +++ b/.changeset/rude-shoes-hug.md @@ -0,0 +1,5 @@ +--- +"@ifrc-go/ui": minor +--- + +Add Chip component diff --git a/app/src/App/routes/index.tsx b/app/src/App/routes/index.tsx index 9540ea91b7..56bb7961ab 100644 --- a/app/src/App/routes/index.tsx +++ b/app/src/App/routes/index.tsx @@ -727,6 +727,19 @@ const resources = customWrapRoute({ visibility: 'anything', }, }); +const operationalLearning = customWrapRoute({ + parent: rootLayout, + path: 'operational-learning', + component: { + render: () => import('#views/OperationalLearning'), + props: {}, + }, + wrapperComponent: Auth, + context: { + title: 'Operational Learning', + visibility: 'anything', + }, +}); const search = customWrapRoute({ parent: rootLayout, @@ -1227,6 +1240,7 @@ const wrappedRoutes = { perPrioritizationForm, perWorkPlanForm, threeWProjectDetail, + operationalLearning, ...regionRoutes, ...countryRoutes, ...surgeRoutes, diff --git a/app/src/components/Navbar/i18n.json b/app/src/components/Navbar/i18n.json index 752f1e1cf6..74a05e9300 100644 --- a/app/src/components/Navbar/i18n.json +++ b/app/src/components/Navbar/i18n.json @@ -57,9 +57,11 @@ "userMenuOperationalToolbox":"Operational Toolbox", "userMenuCatalogueSurgeServices":"Catalogue of Surge services", "userMenuLearnLabel":"Learn", + "userMenuOperationalLearning":"Operational Learning", "userMenuTools":"Tools", "userMenuResources":"Resources", "userMenuGoBlog":"GO Blog", + "userMenuOperationalLearningDescription":"Operational learning in emergencies is the lesson learned from managing and dealing with crises, refining protocols for resource allocation, decision-making, communication strategies, and others.", "userMenuOperationalToolboxItem":"Operational Toolbox", "userMenuOperationalToolboxItemDescription":"This operational toolbox is a central repository with key operational document helpful for your mission like templates, checklists, guidance and examples.", "userMenuCatalogueSurgeServicesItem": "Catalogue of Surge services", diff --git a/app/src/components/Navbar/index.tsx b/app/src/components/Navbar/index.tsx index 550f34e77a..7914d606d9 100644 --- a/app/src/components/Navbar/index.tsx +++ b/app/src/components/Navbar/index.tsx @@ -44,8 +44,8 @@ function Navbar(props: Props) { type RespondOptionKey = 'emergencies' | 'early-warning' | 'dref-process' | 'surge'; const [activeRespondOption, setActiveRespondOption] = useState('emergencies'); - type LearnOptionKey = 'tools' | 'resources'; - const [activeLearnOption, setActiveLearnOption] = useState('tools'); + type LearnOptionKey = 'tools' | 'resources' | 'operational-learning'; + const [activeLearnOption, setActiveLearnOption] = useState('operational-learning'); return (