mirror of
https://github.com/mastermindzh/rickvanlieshout.com
synced 2025-08-02 23:52:36 +02:00
refactor(starter): upgrade and move to typescript
This commit is contained in:
@@ -2,20 +2,19 @@ import { ICONS } from "@/constants";
|
||||
import { getIcon } from "@/utils";
|
||||
|
||||
test("getIcon", () => {
|
||||
expect(getIcon("rss")).toEqual(ICONS.RSS);
|
||||
expect(getIcon("line")).toEqual(ICONS.LINE);
|
||||
expect(getIcon("github")).toBe(ICONS.GITHUB);
|
||||
expect(getIcon("email")).toEqual(ICONS.EMAIL);
|
||||
expect(getIcon("weibo")).toEqual(ICONS.WEIBO);
|
||||
expect(getIcon("twitter")).toBe(ICONS.TWITTER);
|
||||
expect(getIcon("gitlab")).toEqual(ICONS.GITLAB);
|
||||
expect(getIcon("medium")).toEqual(ICONS.MEDIUM);
|
||||
expect(getIcon("codepen")).toEqual(ICONS.CODEPEN);
|
||||
expect(getIcon("youtube")).toEqual(ICONS.YOUTUBE);
|
||||
expect(getIcon("vkontakte")).toBe(ICONS.VKONTAKTE);
|
||||
expect(getIcon("facebook")).toEqual(ICONS.FACEBOOK);
|
||||
expect(getIcon("telegram")).toEqual(ICONS.TELEGRAM);
|
||||
expect(getIcon("linkedin")).toEqual(ICONS.LINKEDIN);
|
||||
expect(getIcon("instagram")).toEqual(ICONS.INSTAGRAM);
|
||||
expect(getIcon("soundcloud")).toEqual(ICONS.SOUNDCLOUD);
|
||||
expect(getIcon("rss")).toEqual(ICONS.rss);
|
||||
expect(getIcon("line")).toEqual(ICONS.line);
|
||||
expect(getIcon("github")).toBe(ICONS.github);
|
||||
expect(getIcon("email")).toEqual(ICONS.email);
|
||||
expect(getIcon("weibo")).toEqual(ICONS.weibo);
|
||||
expect(getIcon("twitter")).toBe(ICONS.twitter);
|
||||
expect(getIcon("gitlab")).toEqual(ICONS.gitlab);
|
||||
expect(getIcon("medium")).toEqual(ICONS.medium);
|
||||
expect(getIcon("codepen")).toEqual(ICONS.codepen);
|
||||
expect(getIcon("youtube")).toEqual(ICONS.youtube);
|
||||
expect(getIcon("facebook")).toEqual(ICONS.facebook);
|
||||
expect(getIcon("telegram")).toEqual(ICONS.telegram);
|
||||
expect(getIcon("linkedin")).toEqual(ICONS.linkedin);
|
||||
expect(getIcon("instagram")).toEqual(ICONS.instagram);
|
||||
expect(getIcon("soundcloud")).toEqual(ICONS.soundcloud);
|
||||
});
|
||||
|
@@ -1,63 +1,5 @@
|
||||
import { ICONS } from "../constants";
|
||||
import { ICONS } from "@/constants";
|
||||
|
||||
const getIcon = (name: string) => {
|
||||
let icon;
|
||||
|
||||
switch (name) {
|
||||
case "twitter":
|
||||
icon = ICONS.TWITTER;
|
||||
break;
|
||||
case "github":
|
||||
icon = ICONS.GITHUB;
|
||||
break;
|
||||
case "vkontakte":
|
||||
icon = ICONS.VKONTAKTE;
|
||||
break;
|
||||
case "telegram":
|
||||
icon = ICONS.TELEGRAM;
|
||||
break;
|
||||
case "email":
|
||||
icon = ICONS.EMAIL;
|
||||
break;
|
||||
case "rss":
|
||||
icon = ICONS.RSS;
|
||||
break;
|
||||
case "linkedin":
|
||||
icon = ICONS.LINKEDIN;
|
||||
break;
|
||||
case "instagram":
|
||||
icon = ICONS.INSTAGRAM;
|
||||
break;
|
||||
case "line":
|
||||
icon = ICONS.LINE;
|
||||
break;
|
||||
case "facebook":
|
||||
icon = ICONS.FACEBOOK;
|
||||
break;
|
||||
case "gitlab":
|
||||
icon = ICONS.GITLAB;
|
||||
break;
|
||||
case "weibo":
|
||||
icon = ICONS.WEIBO;
|
||||
break;
|
||||
case "codepen":
|
||||
icon = ICONS.CODEPEN;
|
||||
break;
|
||||
case "youtube":
|
||||
icon = ICONS.YOUTUBE;
|
||||
break;
|
||||
case "soundcloud":
|
||||
icon = ICONS.SOUNDCLOUD;
|
||||
break;
|
||||
case "medium":
|
||||
icon = ICONS.MEDIUM;
|
||||
break;
|
||||
default:
|
||||
icon = {};
|
||||
break;
|
||||
}
|
||||
|
||||
return icon;
|
||||
};
|
||||
const getIcon = (name: keyof typeof ICONS) => ICONS[name] || {};
|
||||
|
||||
export default getIcon;
|
||||
|
@@ -1,6 +1,10 @@
|
||||
const toKebabCase = (str: string = ""): string => str.toLowerCase()
|
||||
.replace(/[^\w\s]/gi, "")
|
||||
.split(" ").join("-")
|
||||
.split("_").join("-");
|
||||
const toKebabCase = (str: string = ""): string =>
|
||||
str
|
||||
.toLowerCase()
|
||||
.replace(/[^\w\s]/gi, "")
|
||||
.split(" ")
|
||||
.join("-")
|
||||
.split("_")
|
||||
.join("-");
|
||||
|
||||
export default toKebabCase;
|
||||
|
Reference in New Issue
Block a user