
* feat: ✨ add taxes app * chore: 🔥 remove files, use monorepo ones instead * chore: ✨ add all env vars to .env.example * refactor: 🔧 use saleor eslint config * build: ⬆️ app-sdk, remove vercel from apl * refactor: ♻️ remove providers/index, infer taxProviders from providerConfig * refactor: ♻️ use tuples to use objects * refactor: 🚚 move types to taxes module * refactor: ♻️ tax-prepare-data -> tax-line-resolver * refactor: get isInFrame from apps-shared * build: ⬆️ next * feat: ✨ add appRegister allowlist * Update apps/taxes/src/pages/api/manifest.ts Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com> * Update apps/taxes/src/pages/api/manifest.ts Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com> * chore: 💡 improve comments * refactor: 🔥 app-dashboard-link * docs: 📝 add taxes to readme * refactor: 🔥 app-main-bar * refactor: ♻️ align saleor-app.ts with the rest * refactor: ♻️ use defaultValues * chore: ♻️ misc --------- Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
24 lines
708 B
TypeScript
24 lines
708 B
TypeScript
import Image, { ImageProps } from "next/image";
|
|
import { providerConfig, TaxProviderName } from "../../taxes/providers/config";
|
|
|
|
type Size = "small" | "medium" | "large" | "xlarge";
|
|
|
|
const sizes: Record<Size, number> = {
|
|
small: 16,
|
|
medium: 24,
|
|
large: 32,
|
|
xlarge: 48,
|
|
};
|
|
|
|
type ProviderIconProps = {
|
|
provider: TaxProviderName;
|
|
size?: Size;
|
|
} & Omit<ImageProps, "src" | "height" | "width" | "alt">;
|
|
|
|
export const ProviderIcon = ({ provider, size = "medium", ...props }: ProviderIconProps) => {
|
|
const { icon, label } = providerConfig[provider];
|
|
const matchedSize = sizes[size];
|
|
return (
|
|
<Image src={icon} alt={`${label} icon`} width={matchedSize} height={matchedSize} {...props} />
|
|
);
|
|
};
|