@@ -220,3 +220,48 @@ generate-tailwind-for-admin:
220220 @echo " 🔧 Rebuilding backend admin assets..."
221221 docker compose exec php-fpm php phing npm-dev
222222 @echo " 🎉 Admin assets rebuilt! Tailwind classes are now available in GrapesJS."
223+
224+ # ------------------------------------------------------------------------------
225+ # 🎨 Icon Generator for Styleguide
226+ # ------------------------------------------------------------------------------
227+
228+ generate-icons-for-styleguide : # # Generates StyleguideIcons component from all icon files
229+ @echo " 🚀 Generating StyleguideIcons component..."
230+ @echo " "
231+ @echo " 🗑️ Deleting existing file..."
232+ @rm -f storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
233+ @echo " ✅ Deleted"
234+ @echo " "
235+ @echo " 🔄 Generating new component..."
236+ @echo " /*" > storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
237+ @echo " * This file is auto-generated. Do not edit manually." >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
238+ @echo " * To regenerate this file, run: make generate-icons-for-styleguide" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
239+ @echo " */" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
240+ @echo " " >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
241+ @echo " import { StyleguideSection } from './StyleguideElements';" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
242+ @for file in storefront/components/Basic/Icon/* .tsx; do \
243+ name=$$(basename "$$file" .tsx) ; \
244+ if [ " $$ name" != " iconsListGeneratorScript" ]; then \
245+ echo " import { $$ name } from 'components/Basic/Icon/$$ name';" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx; \
246+ fi \
247+ done
248+ @echo " " >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
249+ @echo " export const StyleguideIcons = () => (" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
250+ @echo " <StyleguideSection title=\" Icons\" >" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
251+ @echo " <div className=\" grid grid-cols-2 gap-6 md:grid-cols-4 lg:grid-cols-6\" >" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
252+ @for file in storefront/components/Basic/Icon/* .tsx; do \
253+ name=$$(basename "$$file" .tsx) ; \
254+ if [ " $$ name" != " iconsListGeneratorScript" ]; then \
255+ echo " <div className=\" border-border-less flex flex-col items-center gap-2 rounded-lg border p-4 transition-shadow hover:shadow-md\" >" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx; \
256+ echo " <$$ name className=\" size-10\" />" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx; \
257+ echo " <span className=\" text-center text-xs break-all\" >$$ name</span>" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx; \
258+ echo " </div>" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx; \
259+ fi \
260+ done
261+ @echo " </div>" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
262+ @echo " </StyleguideSection>" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
263+ @echo " );" >> storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx
264+ @echo " ✅ Generated $$ (ls -1 storefront/components/Basic/Icon/*.tsx | grep -v Script | wc -l | xargs) icons"
265+ @echo " "
266+ @echo " 🎉 StyleguideIcons generation complete!"
267+ @echo " 📁 File: storefront/components/Pages/Styleguide/StyleguideIcons.generated.tsx"
0 commit comments