2023-12-30 20:11:38 +01:00
|
|
|
import { GitHubIconsRepository } from '~/tools/server/images/github-icons-repository';
|
2023-06-10 13:10:02 +02:00
|
|
|
import { JsdelivrIconsRepository } from '~/tools/server/images/jsdelivr-icons-repository';
|
2023-07-21 18:08:40 +09:00
|
|
|
import { LocalIconsRepository } from '~/tools/server/images/local-icons-repository';
|
2023-06-10 13:10:02 +02:00
|
|
|
import { UnpkgIconsRepository } from '~/tools/server/images/unpkg-icons-repository';
|
|
|
|
|
|
2023-07-21 18:08:40 +09:00
|
|
|
import { createTRPCRouter, publicProcedure } from '../trpc';
|
|
|
|
|
|
2023-12-30 20:11:38 +01:00
|
|
|
export const IconRespositories = [
|
|
|
|
|
new LocalIconsRepository(),
|
|
|
|
|
new GitHubIconsRepository(
|
|
|
|
|
GitHubIconsRepository.walkxcode,
|
|
|
|
|
'Walkxcode Dashboard Icons',
|
|
|
|
|
'Walkxcode on Github'
|
|
|
|
|
),
|
|
|
|
|
new UnpkgIconsRepository(
|
|
|
|
|
UnpkgIconsRepository.tablerRepository,
|
|
|
|
|
'Tabler Icons',
|
|
|
|
|
'Tabler Icons - GitHub (MIT)'
|
|
|
|
|
),
|
|
|
|
|
new JsdelivrIconsRepository(
|
|
|
|
|
JsdelivrIconsRepository.papirusRepository,
|
|
|
|
|
'Papirus Icons',
|
|
|
|
|
'Papirus Development Team on GitHub (Apache 2.0)'
|
|
|
|
|
),
|
|
|
|
|
new JsdelivrIconsRepository(
|
|
|
|
|
JsdelivrIconsRepository.homelabSvgAssetsRepository,
|
|
|
|
|
'Homelab Svg Assets',
|
|
|
|
|
'loganmarchione on GitHub (MIT)'
|
|
|
|
|
),
|
|
|
|
|
];
|
|
|
|
|
|
2023-06-10 13:10:02 +02:00
|
|
|
export const iconRouter = createTRPCRouter({
|
|
|
|
|
all: publicProcedure.query(async () => {
|
2023-12-30 20:11:38 +01:00
|
|
|
const fetches = IconRespositories.map((rep) => rep.fetch());
|
2023-06-10 13:10:02 +02:00
|
|
|
const data = await Promise.all(fetches);
|
|
|
|
|
return data;
|
|
|
|
|
}),
|
|
|
|
|
});
|