export type INCREMENT_COUNTER = 'App/INCREMENT_COUNTER';
export const INCREMENT_COUNTER : INCREMENT_COUNTER = 'App/INCREMENT_COUNTER';
These aren't necessary, you can use those type strings directly: export interface IncrementCounterAction = {
type: 'App/INCREMENT_COUNTER',
by: number
};
In vanilla, untyped Redux the constants are a good idea because they
give you some safety and IDE-ability. With Typescript they're just
a waste of code, since TS is going to check those type strings for you.
Cut out the middleman! figure figurecaption {
transition: all 0.4s;
transform: translateY(100%);
}
figure:hover figurecaption { transform: none; }
Will get you the effect you want.
Tatari combines old-school TV advertising with modern tooling and analysis. We build software to automate and improve our media buying operations, and we develop novel statistical analyses to make TV advertising as measurable as digital advertising for our clients, displayed via a beautiful dashboard. Lots of data, wrangled via Python and TypeScript.
We're currently ~35 people, profitable, and growing our business like crazy. We're building out our Toronto office in addition to our existing San Francisco and Santa Monica teams, due in no small part because it's a great city (I moved back here specifically to start this office because I love it here, even the snowy winters).
We have roles open for senior Backend and Frontend engineers, as well as some more jack-of-all-trades positions for a client-facing engineer, and an internal tools engineer.
More details at https://www.tatari.tv/careers. Please email [email protected] directly with your resume or questions!