Skip to content

Commit 5a8a0af

Browse files
committed
feat(app): souls like banner generator
1 parent eef1cb8 commit 5a8a0af

File tree

3 files changed

+445
-0
lines changed

3 files changed

+445
-0
lines changed

public/apps/apps.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,14 @@
164164
"icon": "SparkleIcon",
165165
"order": 2,
166166
"apps": [
167+
{
168+
"slug": "souls-banner-generator",
169+
"to": "/apps/souls-banner-generator",
170+
"title": "Souls Banner Generator",
171+
"description": "Generate 'Enemy Felled' style banners on your images.",
172+
"icon": "SkullIcon",
173+
"created_at": "2026-01-19T12:00:00+03:00"
174+
},
167175
{
168176
"slug": "tier-forge",
169177
"to": "/apps/tier-forge",

src/components/AnimatedRoutes.jsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const DiceRollerPage = lazy(() => import('../pages/apps/DiceRollerPage'));
4141
const PickerWheelPage = lazy(() => import('../pages/apps/PickerWheelPage'));
4242
const CodenameGeneratorPage = lazy(() => import('../pages/apps/CodenameGeneratorPage'));
4343
const ImageToolkitPage = lazy(() => import('../pages/apps/ImageToolkitPage'));
44+
const SoulsBannerGeneratorPage = lazy(() => import('../pages/apps/SoulsBannerGeneratorPage'));
4445
const PasswordGeneratorPage = lazy(() => import('../pages/apps/PasswordGeneratorPage'));
4546
const JsonFormatterPage = lazy(() => import('../pages/apps/JsonFormatterPage'));
4647
const ColorContrastCheckerPage = lazy(() => import('../pages/apps/ColorContrastCheckerPage'));
@@ -1828,6 +1829,22 @@ const AnimatedRoutes = ({
18281829
</motion.div>
18291830
}
18301831
/>
1832+
<Route
1833+
path="/apps/souls-banner-generator"
1834+
element={
1835+
<motion.div
1836+
initial="initial"
1837+
animate="in"
1838+
exit="out"
1839+
variants={pageVariants}
1840+
transition={pageTransition}
1841+
>
1842+
<Suspense fallback={<Loading />}>
1843+
<SoulsBannerGeneratorPage />
1844+
</Suspense>
1845+
</motion.div>
1846+
}
1847+
/>
18311848
<Route
18321849
path="/apps/password-generator"
18331850
element={

0 commit comments

Comments
 (0)