This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useLocale } from "next-intl"; | |
import { useEffect } from "react"; | |
/** | |
* Utility component for keeping the lang-attribute of the document up to date. | |
* For Next.js, include this in e.g. custom App component. | |
*/ | |
export const HtmlLangProvider = () => { | |
// Using next-intl here but realistically can be anything | |
const locale = useLocale(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"xo": { | |
"extends": "xo-react", | |
"prettier": true, | |
"space": true, | |
"rules": { | |
"import/extensions": [ | |
2, | |
{ | |
"js": "never", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export interface MatcherOptions { | |
darkMode: boolean; | |
prefersReducedMotion?: boolean; | |
overrideLocale?: string; | |
} | |
declare global { | |
namespace Cypress { | |
interface Chainable { | |
/** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useNavigate } from "react-router-dom"; | |
import useAuth from "./AuthContext"; | |
import React, { useEffect } from "react"; | |
/** | |
* Redirects user to another page if not authenticated. | |
* @param redirectTo Path to redirect to | |
*/ | |
export function useUnauthenticatedRedirect(redirectTo: string = "/") { | |
const navigate = useNavigate(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Config for Intel WiFi6 AX201 | |
ctrl_interface=/var/run/hostapd | |
ctrl_interface_group=0 | |
logger_syslog=-1 | |
logger_syslog_level=2 | |
logger_stdout=-1 | |
logger_stdout_level=1 | |
ssid=AwesomeWifi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Takes an array of any type (object or primitive) and filters it distinctively. | |
* Duplicate values are removed, determined by the compare function. | |
* | |
* @param array Array to filter | |
* @param compare Compare function to compare objects for equality | |
* @returns Filtered array with distinct values | |
*/ | |
export function filterDistinct<T>( | |
array: T[], |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export type MotionBoxProps = Omit<FlexProps, keyof MotionProps> & | |
MotionProps & { | |
as?: React.ElementType; | |
}; | |
export const MotionBox = motion.custom( | |
forwardRef<MotionBoxProps, 'div'>((props, ref) => { | |
const chakraProps = Object.fromEntries( | |
// do not pass framer props to DOM element | |
Object.entries(props).filter(([key]) => !isValidMotionProp(key)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"captainVersion": "2", | |
"documentation": "https://hub.docker.com/r/peterevans/osrm-backend/", | |
"displayName": "Open Source Routing Machine", | |
"description": "The Open Source Routing Machine in a box! This is the routing engine backend.", | |
"dockerCompose": { | |
"version": "3.3", | |
"services": { | |
"$$cap_appname": { | |
"image": "peterevans/osrm-backend:$$cap_osrm_version", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"captainVersion": "2", | |
"documentation": "https://hub.docker.com/r/postgis/postgis", | |
"displayName": "Postgres with PostGIS", | |
"description": "PostGIS is a spatial database extender for PostgreSQL object-relational database.", | |
"dockerCompose": { | |
"version": "3.3", | |
"services": { | |
"$$cap_appname-db": { | |
"image": "postgis/postgis:$$cap_postgres_version", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export class AppModule { | |
constructor(private router: Router, private viewportScroller: ViewportScroller) { | |
// Disable automatic scroll restoration to avoid race conditions | |
this.viewportScroller.setHistoryScrollRestoration('manual'); | |
this.handleScrollOnNavigation(); | |
} | |
/** | |
* When route is changed, Angular interprets a simple query params change as "forward navigation" too. |
NewerOlder