-
This is the index route
Homepage for guest users. It shows the brand logo and a section where the most recent and the most relevant articles are shown.
The most relevant articles are set at configuration time from the corresponding config file.
See also
Cards.Homecomponent API andConfig.Home. -
This page shows a brief story about the brand and some cards to navigate to the team page.
The team cards are set at configuration time from the corresponding config file.
See also See also
Cards.Teamcomponent API andConfig.Teams. -
A page not found error is shown if not allowed param is passed.
$page.params.team: "tech" | "marketing" | "writers"
This page shows the list of members associated with the corresponding team, with their role in StAItuned and their contacts.
Some team members orders are set at configuration time from the corresponding config file.
See also See also
Cards.TeamMembercomponent API andConfig.Teams. -
This page allows the user to select a target, i.e. Newbie and Expert.
-
A page not found error is shown if not allowed param is passed.
$page.params.target: "newbie" | "expert"
Based on the selected target, this page shows the published articles.
Articles can be filtered by topic, creation date, reading time and languages and they also can be searched by title and author.
See also See also
Cards.Postcomponent API andConfig.Filters. -
A page not found error is shown if not allowed param is passed.
$page.params.target: "newbie" | "expert" $page.params.slug: // slug associated with an article
Based on the selected article, the
.mdfile containing the article content is downloaded from the cms and the page shows the info and the article content. -
This page shows a contact form and the user can send an email to the staff.
-
For any other route the application shows a page not found error.
There is no Server APIs at the moment.
There is no Database at the moment.
-
UI core module includes all the UI components used and the icons submodule.
-
The component allows the user to navigate from a sub-route to a super-route, so that navigating between routes is simpler and smarter.
Prop Type Description Default Required tabsstring[]Array of breadcrumb tabs. None Yes See also See also
utilsHelper. -
The component renders a styled clickable button.
Prop Type Description Default Required variant"primary", "secondary", "transparent"Style variant used for the button. "primary"No rounded"lg", "full"Border radius of the button "lg"No width"full", "fit"Width of the button. "fit"No type"button", "reset", "submit"Type of the button. "button"No onClick() => voidHandle click fuction of the button. () => {}No classNamestringClasses of the button. ""No -
The component render a close icon and it can be used with a openable component to manage its current state, i.e. open or closed.
Prop Type Description Default Required openbooleanCurrent state of the openable component. None Yes -
The component render an hamburger icon, that change based on the current state, and it can be used with a openable component to manage its current state, i.e. open or closed.
Prop Type Description Default Required openbooleanCurrent state of the openable component. None Yes classNamestringClasses of the Hamburger. ""No -
This submodule define all components useful to define a Modal.
-
This component renders the modal itself, i.e. a block of content on top the page content.
Prop Type Description Default Required isOpenbooleanCurrent state of the modal. None Yes -
This component renders the container for the content of the modal, with a title if it is set.
Prop Type Description Default Required titlestringTitle of the modal. ""No -
This component renders the container of the call to actions of the modal.
Prop Type Description Default Required titlestringTitle of the modal. ""No -
This component renders the overlay of the modal, shown when the modal is open.
Prop Type Description Default Required isOpenbooleanCurrent state of the modal. None Yes
-
-
This component renders a list a links to navigate between routes and it highlights the active one.
Prop Type Description Default Required onClick() => voidHandle click function of nav items. () => {}No -
This component renders a styled searchbar and you can set what it should do when its input value change.
Prop Type Description Default Required inconStartbooleanIt set the position of the search icon. If true, the icon is on the right of the input field.falseNo variant"solid", "transparent"Style used for the input field. "solid"No namestringName of the input field. None Yes placeholderstringPlaceholder of the input field. None Yes handleInput(e: Event) => voidFunction to execute on input event. () => {}No handleChange(e: Event) => voidFunction to execute on change event. () => {}No -
This component is a wrapper to define sidebars that are shown based on their current state.
Prop Type Description Default Required openbooleanCurrent state of the Sidebar. None Yes onClose() => voidFunction to execute on close event. () => {}No classNamestringClasses of the Sidebar. ""No -
This component is a wrapper that allows transition when the user navigate between routes.
-
-
Features module includes specific implementations of UI components used inside the website.
-
Cards submodule includes all the cards used.
-
It renders the article card with the color overlay, used in the homepage.
Prop Type Description Default Required articleArticleThe article that has to be shown. None Yes colorstringThe overlay color of the card. None Yes -
It renders the article post, used in the learn pages.
Prop Type Description Default Required articleArticleThe article that has to be shown. None Yes -
It renders the info of a team member, used in the meet pages.
Prop Type Description Default Required authorAuthorThe member that has to be shown. None Yes -
It renders the team card that allows to navigate to the specific team page, used in the meet pages.
Prop Type Description Default Required teamTeamThe team that has to be shown. None Yes
-
-
Sidebars submodule includes all the sidebars used.
-
It renders the filter sidebar, where the user can select params to filter the list of articles shown.
Prop Type Description Default Required openbooleanCurrent state of the Sidebar. None Yes activeFiltersFilterFilters currently active. None Yes filter() => voidFilter function. None Yes -
It renders the mobile main navigation component, included in the header.
Prop Type Description Default Required openbooleanCurrent state of the Sidebar. None Yes
-
-
It renders a modal where the user can search an article by title, included in the header.
Prop Type Description Default Required isOpenbooleanCurrent state of the Modal. None Yes
-
| Prop | Type | Description | Default | Required |
|---|---|---|---|---|
open_header |
boolean |
Current state of the Header. | None | Yes |
Here a list of the interfaces implemented.
-
-
This interface is useful to associate each cover image, dynamically imported, with the corresponding article.
export interface Cover { image: string // cover image, dynamically imported article: string // slug of the corresponding article }
-
This interface defines all the information associated with an article as metadata.
export interface ArticleMetadata { title: string // title of the article author: string // name of the author of the article date: string // publication date topics: string[] // list of tags, e.g. Basic, Machine Learning, ... meta: string // brief introduction or description target: string // users target, e.g. Newbie or Expert cover: string // cover image language: string // language, e.g. Italian or English readingTime: number // reading time in minutes }
-
This interface defines an artile.
export interface Article { slug: string // folder where the post is in the cms (used as an id) filename: string // name of the content file (.md file) metadata: ArticleMetadata // metadata of the article author?: Author | undefined // author with all its info }
-
-
-
This interface defines an author.
interface Author { name: string // name of the author team: string[] // list of teams to which he belongs title: string // role linkedin: string // LinkedIn profile url email: string // contact email address description: string // a brief introduction propic: string // path to the propic }
-
-
-
This interface defines the CMS data.
interface CMSData { articles: Article[] // list of articles authors: Author[] // list of authors }
-
-
-
This interface defines the filter for articles.
export default interface Filter { tags: Tag[] // list of tags creationDate: CreationDate // publication date range readingTime: ReadingTime[] // list of reading time ranges languages: Language[] // list of languages searchParam: string // searching for this string }
-