From a2d3f46f80fcc8fa90b7a8227fc1074973c6066f Mon Sep 17 00:00:00 2001 From: gassims Date: Mon, 26 Jun 2023 12:13:42 +0300 Subject: [PATCH] feat: App Competition Winners page --- community/app-winners.mdx | 8 ++++++ sidebarsCommunity.js | 1 + src/AppWinners/AppWinners.js | 55 ++++++++++++++++++++++++++++++++++++ src/AppWinners/Winners.js | 32 +++++++++++++++++++++ src/AppWinners/Year2020.js | 47 ++++++++++++++++++++++++++++++ src/AppWinners/Year2021.js | 45 +++++++++++++++++++++++++++++ src/AppWinners/Year2022.js | 45 +++++++++++++++++++++++++++++ src/AppWinners/Year2023.js | 46 ++++++++++++++++++++++++++++++ 8 files changed, 279 insertions(+) create mode 100644 community/app-winners.mdx create mode 100644 src/AppWinners/AppWinners.js create mode 100644 src/AppWinners/Winners.js create mode 100644 src/AppWinners/Year2020.js create mode 100644 src/AppWinners/Year2021.js create mode 100644 src/AppWinners/Year2022.js create mode 100644 src/AppWinners/Year2023.js diff --git a/community/app-winners.mdx b/community/app-winners.mdx new file mode 100644 index 00000000..b0575e6b --- /dev/null +++ b/community/app-winners.mdx @@ -0,0 +1,8 @@ +--- +id: app-winners +title: App Competition Winners +--- + +import AppWinners from '@site/src/AppWinners/AppWinners'; + + diff --git a/sidebarsCommunity.js b/sidebarsCommunity.js index df4d6ada..a3889092 100644 --- a/sidebarsCommunity.js +++ b/sidebarsCommunity.js @@ -3,6 +3,7 @@ module.exports = { 'support', 'stay-connected', 'newsletter', + 'app-winners', 'meetups', { type: 'category', diff --git a/src/AppWinners/AppWinners.js b/src/AppWinners/AppWinners.js new file mode 100644 index 00000000..98b8e661 --- /dev/null +++ b/src/AppWinners/AppWinners.js @@ -0,0 +1,55 @@ +import React, { Component } from 'react'; +import Winners from './Winners.js'; +import Year2023 from './Year2023.js'; +import Year2022 from './Year2022.js'; +import Year2021 from './Year2021.js'; +import Year2020 from './Year2020.js'; + +class AppWinners extends Component { + constructor(props) { + super(props); + this.state = { + display: 'Winners', + /* Add a new year for each new year */ + winnersList: { + 2023: Year2023, + 2022: Year2022, + 2021: Year2021, + 2020: Year2020 + }, + className: 'tabs__item--active' + }; + } + + handleNavClick = (component, event) => { + this.setState({ display: component }); + const tabs = document.querySelectorAll('.tabs__item'); + tabs.forEach(tab => tab.classList.remove(this.state.className)); + event.currentTarget.parentNode.classList.add(this.state.className); + } + + render() { + const { display, winnersList } = this.state; + const Year = winnersList[display] ? winnersList[display] : Winners; + return ( +
+ +
+ +
+
+ ); + } +} + +export default AppWinners; diff --git a/src/AppWinners/Winners.js b/src/AppWinners/Winners.js new file mode 100644 index 00000000..ccc084dd --- /dev/null +++ b/src/AppWinners/Winners.js @@ -0,0 +1,32 @@ +import React, { Component } from 'react'; + +class Winners extends Component { + render() { + return ( +
+
+
+

The DHIS2 App Competition

+

The app competition has been and is one of the most important events for the DHIS2 Developers during the DHIS2 Annual Conference. Each year the developers in the DHIS2 Community are asked to submit their applications and a number of finalists are selected by the DHIS2 core-team. During the DHIS2 Annual Conference the voting is open for all the community to vote for the best app. ... (draft description)

+
App Competition submissions for DHIS2 Annual Conference 2024 will be open in May 2024 after an announcement release
+
+
+
+

The DHIS2 App Competition Winners Badge

+
+ Badge +

App Winner Badge (Web)

+ View all badge winners +
+
+ Badge +

App Winner Badge (Android)

+ View all badge winners +
+
+
+ ) + } +} + +export default Winners \ No newline at end of file diff --git a/src/AppWinners/Year2020.js b/src/AppWinners/Year2020.js new file mode 100644 index 00000000..8cf3cd62 --- /dev/null +++ b/src/AppWinners/Year2020.js @@ -0,0 +1,47 @@ +import React, { Component } from 'react'; + +class Year2020 extends Component { + render() { + return ( +
+
+
+
+
+
+
+

App Name

+

App Short Description

+
+
+
+
+ Eric Chingalo +
+
Winner Name
+ + Description such as title, or organization name + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + ) + } +} + +export default Year2020; diff --git a/src/AppWinners/Year2021.js b/src/AppWinners/Year2021.js new file mode 100644 index 00000000..4ba2f697 --- /dev/null +++ b/src/AppWinners/Year2021.js @@ -0,0 +1,45 @@ +import React, {Component} from 'react'; + +class Year2021 extends Component { + render() { + return( +
+
+
+
+
+
+
+

App Name

+

App Short Description

+
+
+
+
+ Eric Chingalo +
+
Winner Name
+ + Description such as title, or organization name + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ )} +} + +export default Year2021 \ No newline at end of file diff --git a/src/AppWinners/Year2022.js b/src/AppWinners/Year2022.js new file mode 100644 index 00000000..42cc14c5 --- /dev/null +++ b/src/AppWinners/Year2022.js @@ -0,0 +1,45 @@ +import React, {Component} from 'react'; + +class Year2022 extends Component { + render() { + return( +
+
+
+
+
+
+
+

App Name

+

App Short Description

+
+
+
+
+ Eric Chingalo +
+
Winner Name
+ + Description such as title, or organization name + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ )} +} + +export default Year2022; \ No newline at end of file diff --git a/src/AppWinners/Year2023.js b/src/AppWinners/Year2023.js new file mode 100644 index 00000000..30e385fd --- /dev/null +++ b/src/AppWinners/Year2023.js @@ -0,0 +1,46 @@ +import React, { Component } from 'react'; + +class One extends Component { + render() { + return ( +
+
+
+
+
+
+
+

DHIS2 Analytics Messenger

+

DHIS2 Annaul Conference 2023 App Competition Winner

+
+
+
+
+ Eric Chingalo +
+
Eric Chingalo
+ + HISP Tanzania + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ ) + } +} + +export default One \ No newline at end of file