-
Notifications
You must be signed in to change notification settings - Fork 0
Web department meetings
07-05-2024
Elke 2 weken hebben wij op de woensdag een web department meeting waarbij iemand verteld over waar hij mee bezig is of een nieuw interessant code onderwerp. Zo blijven ze altijd up to date met de nieuwste technieken:
Zelf ben ik ook aan de beurt geweest. Ik heb hier verteld over de typescript cursus die ik eerst heb gevolgd waarna ik de Todo lijst applicatie heb gemaakt. Hier vertelde ik dat alles voor mij nog nieuw was en ik dus erg veel heb geleerd in deze periode. Hierna vertelde ik dat ik te werk ben gegaan bij Sportcity waar ik samen met Jaer de hele website heb gerefactored van javascript naar typescript en ik daarna ook een paar design tickets heb opgepakt waar ik verder ook nog niet eerder met SCSS gewerkt had maar ik dit snel heb kunnen oppakken. Tijdens dit project heb ik ook voor school een express/nodeJS project moeten maken. Ik heb mijn portfolio laten zien en welke Headless CMS ik hiervoor gebruikt heb en hoe mijn schema er uit zag. Ook vertelde ik waarom ik voor Hygraph gekozen had en dat ik dit ook zou aanraden aan anderen. Verder heb ik verteld waarmee ik de aankomende tijd bezig mee zou zijn.
link to document: https://moveagency.atlassian.net/wiki/spaces/MOVE/pages/3895033860/28+02+2024
While the ul is intended for a list of display items, it is not best suited to interactive elements such as buttons.
<menu role="menu">
<li><a href="#" role="menuitem">Lorem.</a></li>
<li><a href="#" role="menuitem">Numquam.</a></li>
<li><a href="#" role="menuitem">Modi!</a></li>
<li><a href="#" role="menuitem">Adipisci.</a></li>
<li><a href="#" role="menuitem">Officiis.</a></li>
</menu>A menu holds a set of actions, which would be triggered by elements inside of them. Other than that, the menu element acts no different to a usual list of items ul. As browser adoption improves it may help assistive technologies find these interactive elements more easily.
Screen readers, by default, don’t recognise it as a menu and only narrates it as a list of elements. To improve the accessibility further, we need to add aria roles to the menu.
More info here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
To specify details that the user can open and close on demand (such as accordions):
<details>
<summary>Title</summary>
<p>Paragraph</p>
</details>This makes it clear to both users and search engines that the content within details is supplementary and can be expanded or collapsed.
Provides an autocomplete interface for input elements. Each list contains a set of option elements that have an associated value. When linked to an input using the “list” attribute, it can provide a drop-down list or even display suggestions as the user types.
<label for="ice-cream-choice">Choose a flavor:</label>
<input list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice" />
<datalist id="ice-cream-flavors">
<option value="Chocolate"></option>
<option value="Coconut"></option>
<option value="Mint"></option>
<option value="Strawberry"></option>
<option value="Vanilla"></option>
</datalist>
<label htmlFor="file">File progress:</label>
<progress id="file" max="100" value="70"></progress>
29-05-2024
Today Montaga wanted to show something about conditional types in typescript:
Hier is de code die ze heeft laten zien:
type Props = {
userName: string;
} & (AdminProps | UserProps);
type AdminProps = {
userRole: "admin";
permission: "read" | "write" | "delete";
};
type UserProps = {
userRole: "user";
subscription: "basic" | "premium";
};
export default function Child(props: Props) {
const { userName, userRole } = props;
return (
<div>
<div>User Name: {userName}</div>
<div>User Role: {userRole}</div>
{props.userRole === "admin" && <div>Permission: {props.permission}</div>}
{props.userRole === "user" && (
<div>Subscription: {props.subscription}</div>
)}
</div>
);
}Link to Codesandbox: https://codesandbox.io/p/sandbox/advanced-typescript-v7t7gl?file=%2Fsrc%2Findex.tsx