diff --git a/backend/account/__init__.py b/backend/account/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/account/admin.py b/backend/account/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/backend/account/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/backend/account/apps.py b/backend/account/apps.py new file mode 100644 index 0000000..2b08f1a --- /dev/null +++ b/backend/account/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AccountConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'account' diff --git a/backend/account/migrations/__init__.py b/backend/account/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/account/models.py b/backend/account/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/backend/account/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/backend/account/tests.py b/backend/account/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/backend/account/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/backend/account/views.py b/backend/account/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/backend/account/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/backend/entertainment/__init__.py b/backend/entertainment/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/entertainment/admin.py b/backend/entertainment/admin.py new file mode 100644 index 0000000..b9ddb12 --- /dev/null +++ b/backend/entertainment/admin.py @@ -0,0 +1,50 @@ +from django.contrib import admin +from import_export.admin import ImportExportActionModelAdmin +from unfold.admin import ModelAdmin +from .models import * + + +@admin.register(Dare) +class Dare(ModelAdmin): + list_display = ['lang1', 'is_for_adults'] + list_filter = ['is_for_adults'] + + +@admin.register(Truth) +class Truth(ModelAdmin): + list_display = ['lang1', 'is_for_adults'] + list_filter = ['is_for_adults'] + + +@admin.register(Would_you_rather) +class Would_you_rather(ModelAdmin): + list_display = ['lang1', 'is_for_adults'] + list_filter = ['is_for_adults'] + + +@admin.register(challenge) +class Challenge(ModelAdmin): + list_display = ['type'] + +@admin.register(abjad) +class abjad(ModelAdmin): + list_display = ['word', 'difficulty_type', 'answer'] + list_filter = ['difficulty_type'] + + + +@admin.register(MusicModel) +class MusicAdmin(ModelAdmin): + list_display = ['name', 'message_id', 'singer', 'category', 'trand'] + +@admin.register(MovieModel) +class MovieAdmin(ModelAdmin): + list_display = ['name', 'message_id', 'category', 'receommended'] + +@admin.register(MovieCategory) +class MovieCategoryAdmin(ModelAdmin): + pass + +@admin.register(MusicCategory) +class MusicCategoryAdmin(ModelAdmin): + pass \ No newline at end of file diff --git a/backend/entertainment/apps.py b/backend/entertainment/apps.py new file mode 100644 index 0000000..b7f4c42 --- /dev/null +++ b/backend/entertainment/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig + + +class EntertainmentConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'entertainment' + verbose_name = 'بخش سرگرمی ها' \ No newline at end of file diff --git a/backend/entertainment/migrations/__init__.py b/backend/entertainment/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/entertainment/models.py b/backend/entertainment/models.py new file mode 100644 index 0000000..d575fc2 --- /dev/null +++ b/backend/entertainment/models.py @@ -0,0 +1,142 @@ +from django.db import models + + +class BaseModel(models.Model): + lang1 = models.CharField(max_length=200, verbose_name='فارسی') + is_for_adults = models.BooleanField(verbose_name='+18 سوال') + + class Meta: + abstract = True + + def __str__(self): + return self.lang1 + + async def get(self, *attrs): + if len(attrs) == 1: + return getattr(self, attrs[0], None) + else: + return tuple(getattr(self, attr, None) for attr in attrs) + + +class Dare(BaseModel): + class Meta: + verbose_name = 'شجاعت' + verbose_name_plural = 'شجاعت ها' + + +class Truth(BaseModel): + class Meta: + verbose_name = 'حقیقت' + verbose_name_plural = "حقیقت ها" + + +class Would_you_rather(BaseModel): + class Meta: + verbose_name = 'ترجیح میدی' + verbose_name_plural = "ترجیح میدی ها" + + +class challenge(models.Model): + challenge_type = ( + ('map', 'نقشه ی گنج'), + ('prize', 'جوایز') + ) + type = models.CharField(max_length=30, choices=challenge_type, verbose_name='نوع چالش', primary_key=True) + image = models.ImageField(upload_to='media/', verbose_name='عکس') + link = models.URLField(verbose_name='لینک') + text = models.TextField(verbose_name='متن توضیحات') + button_text = models.CharField(max_length=40, verbose_name='متن دکمه') + + def __str__(self): + return f'{self.type} - {self.text[0:50]}' + class Meta: + verbose_name = 'چالش' + verbose_name_plural = 'چالش ها' + +class abjad(models.Model): + word = models.TextField(verbose_name='صورت ی سوال') + difficulty = ( + ('hard', 'سخت'), + ('normal', 'متوسط'), + ('easy', 'اسون') + ) + image = models.ImageField(upload_to='media/', verbose_name='عکس بازی افتابه', blank=True, null=True) + difficulty_type = models.CharField(max_length=13, choices=difficulty, verbose_name='سختی') + answer = models.CharField(max_length=30, verbose_name='جواب') + option2 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True) + option3 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True) + option4 = models.CharField(max_length=30, verbose_name='گزینه ی اشتباه', null=True, blank=True) + def __str__(self): + return f'{self.word}' + class Meta: + verbose_name = 'سوال ابجد' + verbose_name_plural = 'سوالات ابجد' + async def get(self, *attrs): + if len(attrs) == 1: + return getattr(self, attrs[0], None) + else: + return tuple(getattr(self, attr, None) for attr in attrs) + +GAME_DATA = { + Dare: { + 'button': 'dare', + 'game_name': 'شجاعت' + }, + Truth: { + 'button': 'truth', + 'game_name': 'حقیقت' + }, + Would_you_rather: { + 'button': 'wyr', + 'game_name': 'ترجیح میدی' + } +} + + + +from django.db import models + + +class MusicCategory(models.Model): + name = models.CharField(max_length=40, verbose_name='نام دسته بندی') + def __str__(self): + return self.name + + class Meta: + verbose_name = 'دسته بندی موزیک' + verbose_name_plural = 'دسته بندی موزیک ها' + +class MovieCategory(models.Model): + name = models.CharField(max_length=40, verbose_name='نام دسته بندی') + def __str__(self): + return self.name + + class Meta: + verbose_name = 'دسته بندی قیلم' + verbose_name_plural = 'دسته بندی فیلم ها' + + +class UploadParent(models.Model): + name = models.CharField(max_length=300, verbose_name='نام') + message_id = models.CharField(max_length=40, verbose_name='ای دی پیام تلگرام') + def __str__(self): + return self.name + +class MusicModel(UploadParent): + lyric = models.CharField(verbose_name='متن اهنگ', max_length=4000, blank=True, null=True) + singer = models.CharField(max_length=300, verbose_name='خواننده', blank=True, null=True) + category = models.ForeignKey(MusicCategory, on_delete=models.CASCADE, verbose_name='دسته بندی', blank=True, null=True) + trand = models.BooleanField(default=False, verbose_name='ترند') + class Meta: + verbose_name = 'مدل اهنگ' + verbose_name_plural = 'مدل اهنگ ها' + + +class MovieModel(UploadParent): + description = models.CharField(max_length=4000,verbose_name='توضیحات فیلم', blank=True, null=True) + category = models.ForeignKey(MovieCategory, on_delete=models.CASCADE, verbose_name='دسته بندی', blank=True, null=True) + receommended = models.BooleanField(default=False, verbose_name='پیشنهادی') + class Meta: + verbose_name = 'مدل فیلم' + verbose_name_plural = 'مدل فیلم ها' + diff --git a/backend/entertainment/tests.py b/backend/entertainment/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/backend/entertainment/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/backend/entertainment/views.py b/backend/entertainment/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/backend/entertainment/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/backend/product/views.py b/backend/product/views.py index 01192b4..c7061a5 100644 --- a/backend/product/views.py +++ b/backend/product/views.py @@ -51,10 +51,10 @@ class CommentView(APIView): comment_ser = CommentSerializer(data=request.data) product = get_object_or_404(ProductModel, id=pk) if comment_ser.is_valid(): - comment_ser.save(product=product) - #TODO comment_ser.save(product=product, user=request.user) + comment_ser.save(product=product, user=request.user) return Response(comment_ser.data, status=status.HTTP_201_CREATED) return Response(comment_ser.errors, status=status.HTTP_400_BAD_REQUEST) + def delete(self, request, pk): comment = get_object_or_404(CommentModel, pk=pk) if comment.user == request.user: diff --git a/backend/utils/example/admin.py b/backend/utils/example/admin.py new file mode 100644 index 0000000..6e2aafe --- /dev/null +++ b/backend/utils/example/admin.py @@ -0,0 +1,18 @@ +from django.contrib import admin +from unfold.admin import ModelAdmin +from .models import NotifModel +from import_export.admin import ImportExportModelAdmin +from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm + +@admin.register(NotifModel) +class NotifModelAdmin(ModelAdmin, ImportExportModelAdmin): + import_form_class = ImportForm + export_form_class = ExportForm + compressed_fields = True + warn_unsaved_form = True + + list_display = ('subject', 'priority', 'send_time', 'send_by', 'send_to_all') + search_fields = ('subject', 'description', 'send_by__email', 'send_to_branch__name') + list_filter = ('priority', 'send_time', 'send_to_all') + ordering = ('-send_time',) + filter_horizontal = ('send_to_branch', 'read_by') diff --git a/backend/utils/example/serializer.py b/backend/utils/example/serializer.py new file mode 100644 index 0000000..edd0b7e --- /dev/null +++ b/backend/utils/example/serializer.py @@ -0,0 +1,14 @@ +from rest_framework import serializers + + +class GetNotifSerializer(serializers.ModelSerializer): + send_by = UserSerializer() + is_seen = serializers.SerializerMethodField() + read_by = UserSerializer(many=True) + class Meta: + model = NotifModel + fields = ('id', 'subject', 'priority', 'description', 'send_time', 'is_seen', 'send_by', 'read_by') + read_only_fields = ("read_by", "send_by") + def get_is_seen(self, obj): + user = self.context['user'] + return user in obj.read_by.all() \ No newline at end of file diff --git a/backend/utils/example/view.py b/backend/utils/example/view.py new file mode 100644 index 0000000..be9e10c --- /dev/null +++ b/backend/utils/example/view.py @@ -0,0 +1,37 @@ +from django.core.paginator import Paginator +from rest_framework.views import APIView +from .models import * +from .serializers import * +from rest_framework import status +from rest_framework.response import Response +from django.db.models import Q +from django.shortcuts import get_object_or_404 +from rest_framework.permissions import IsAuthenticatedOrReadOnly + + +class CommentView(APIView): + serializer_class = CommentSerializer + permission_classes = [IsAuthenticatedOrReadOnly] + def get(self, request, pk): + product = get_object_or_404(ProductModel, id=pk) + comments = product.comments.filter(show=True) + comments_ser = self.serializer_class(instance=comments, many=True) + return Response({'comments': comments_ser.data}, status=status.HTTP_200_OK) + + def post(self, request, pk): + comment_ser = CommentSerializer(data=request.data) + product = get_object_or_404(ProductModel, id=pk) + if comment_ser.is_valid(): + comment_ser.save(product=product, user=request.user) + return Response(comment_ser.data, status=status.HTTP_201_CREATED) + return Response(comment_ser.errors, status=status.HTTP_400_BAD_REQUEST) + + def delete(self, request, pk): + comment = get_object_or_404(CommentModel, pk=pk) + if comment.user == request.user: + comment.delete() + return Response(status=status.HTTP_204_NO_CONTENT) + else: + return Response({"detail": "شما اجازه ی پاک کردن این کامنت را ندارید"}, status=status.HTTP_403_FORBIDDEN) + + diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index 45a3e2c..3a897fc 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -8,8 +8,8 @@ export default defineNuxtConfig({ postcss: { plugins: { "@tailwindcss/postcss": {}, - autoprefixer: {} - } + autoprefixer: {}, + }, }, icon: { @@ -17,9 +17,9 @@ export default defineNuxtConfig({ customCollections: [ { prefix: "ci", - dir: "./assets/custom-icons" - } - ] + dir: "./public/icons", + }, + ], }, modules: [ @@ -30,11 +30,11 @@ export default defineNuxtConfig({ "DM Sans": "100..900", Inter: "100..900", download: true, - inject: false - } - } + inject: false, + }, + }, ], "@nuxt/icon", - "reka-ui/nuxt" - ] -}); \ No newline at end of file + "reka-ui/nuxt", + ], +}); diff --git a/frontend/assets/custom-icons/Airdrop.svg b/frontend/public/icons/Airdrop.svg similarity index 100% rename from frontend/assets/custom-icons/Airdrop.svg rename to frontend/public/icons/Airdrop.svg diff --git a/frontend/assets/custom-icons/Arrow-back.svg b/frontend/public/icons/Arrow-back.svg similarity index 100% rename from frontend/assets/custom-icons/Arrow-back.svg rename to frontend/public/icons/Arrow-back.svg diff --git a/frontend/assets/custom-icons/Arrow-left.svg b/frontend/public/icons/Arrow-left.svg similarity index 100% rename from frontend/assets/custom-icons/Arrow-left.svg rename to frontend/public/icons/Arrow-left.svg diff --git a/frontend/assets/custom-icons/Arrow-right.svg b/frontend/public/icons/Arrow-right.svg similarity index 100% rename from frontend/assets/custom-icons/Arrow-right.svg rename to frontend/public/icons/Arrow-right.svg diff --git a/frontend/assets/custom-icons/Arrows.svg b/frontend/public/icons/Arrows.svg similarity index 100% rename from frontend/assets/custom-icons/Arrows.svg rename to frontend/public/icons/Arrows.svg diff --git a/frontend/assets/custom-icons/Bag.svg b/frontend/public/icons/Bag.svg similarity index 100% rename from frontend/assets/custom-icons/Bag.svg rename to frontend/public/icons/Bag.svg diff --git a/frontend/assets/custom-icons/Bank-card.svg b/frontend/public/icons/Bank-card.svg similarity index 100% rename from frontend/assets/custom-icons/Bank-card.svg rename to frontend/public/icons/Bank-card.svg diff --git a/frontend/assets/custom-icons/Book.svg b/frontend/public/icons/Book.svg similarity index 100% rename from frontend/assets/custom-icons/Book.svg rename to frontend/public/icons/Book.svg diff --git a/frontend/assets/custom-icons/Branches.svg b/frontend/public/icons/Branches.svg similarity index 100% rename from frontend/assets/custom-icons/Branches.svg rename to frontend/public/icons/Branches.svg diff --git a/frontend/assets/custom-icons/Calendar.svg b/frontend/public/icons/Calendar.svg similarity index 100% rename from frontend/assets/custom-icons/Calendar.svg rename to frontend/public/icons/Calendar.svg diff --git a/frontend/assets/custom-icons/Call.svg b/frontend/public/icons/Call.svg similarity index 100% rename from frontend/assets/custom-icons/Call.svg rename to frontend/public/icons/Call.svg diff --git a/frontend/assets/custom-icons/Cart.svg b/frontend/public/icons/Cart.svg similarity index 100% rename from frontend/assets/custom-icons/Cart.svg rename to frontend/public/icons/Cart.svg diff --git a/frontend/assets/custom-icons/Case.svg b/frontend/public/icons/Case.svg similarity index 100% rename from frontend/assets/custom-icons/Case.svg rename to frontend/public/icons/Case.svg diff --git a/frontend/assets/custom-icons/Chat.svg b/frontend/public/icons/Chat.svg similarity index 100% rename from frontend/assets/custom-icons/Chat.svg rename to frontend/public/icons/Chat.svg diff --git a/frontend/assets/custom-icons/Check-circle-solid.svg b/frontend/public/icons/Check-circle-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Check-circle-solid.svg rename to frontend/public/icons/Check-circle-solid.svg diff --git a/frontend/assets/custom-icons/Check-circle.svg b/frontend/public/icons/Check-circle.svg similarity index 100% rename from frontend/assets/custom-icons/Check-circle.svg rename to frontend/public/icons/Check-circle.svg diff --git a/frontend/assets/custom-icons/Checkmark.svg b/frontend/public/icons/Checkmark.svg similarity index 100% rename from frontend/assets/custom-icons/Checkmark.svg rename to frontend/public/icons/Checkmark.svg diff --git a/frontend/assets/custom-icons/Checks.svg b/frontend/public/icons/Checks.svg similarity index 100% rename from frontend/assets/custom-icons/Checks.svg rename to frontend/public/icons/Checks.svg diff --git a/frontend/assets/custom-icons/Chevron-down.svg b/frontend/public/icons/Chevron-down.svg similarity index 100% rename from frontend/assets/custom-icons/Chevron-down.svg rename to frontend/public/icons/Chevron-down.svg diff --git a/frontend/assets/custom-icons/Chevron-left.svg b/frontend/public/icons/Chevron-left.svg similarity index 100% rename from frontend/assets/custom-icons/Chevron-left.svg rename to frontend/public/icons/Chevron-left.svg diff --git a/frontend/assets/custom-icons/Chevron-right.svg b/frontend/public/icons/Chevron-right.svg similarity index 100% rename from frontend/assets/custom-icons/Chevron-right.svg rename to frontend/public/icons/Chevron-right.svg diff --git a/frontend/assets/custom-icons/Chevron-up.svg b/frontend/public/icons/Chevron-up.svg similarity index 100% rename from frontend/assets/custom-icons/Chevron-up.svg rename to frontend/public/icons/Chevron-up.svg diff --git a/frontend/assets/custom-icons/Close.svg b/frontend/public/icons/Close.svg similarity index 100% rename from frontend/assets/custom-icons/Close.svg rename to frontend/public/icons/Close.svg diff --git a/frontend/assets/custom-icons/Columns.svg b/frontend/public/icons/Columns.svg similarity index 100% rename from frontend/assets/custom-icons/Columns.svg rename to frontend/public/icons/Columns.svg diff --git a/frontend/assets/custom-icons/Comment.svg b/frontend/public/icons/Comment.svg similarity index 100% rename from frontend/assets/custom-icons/Comment.svg rename to frontend/public/icons/Comment.svg diff --git a/frontend/assets/custom-icons/Connected-cable.svg b/frontend/public/icons/Connected-cable.svg similarity index 100% rename from frontend/assets/custom-icons/Connected-cable.svg rename to frontend/public/icons/Connected-cable.svg diff --git a/frontend/assets/custom-icons/Contact.svg b/frontend/public/icons/Contact.svg similarity index 100% rename from frontend/assets/custom-icons/Contact.svg rename to frontend/public/icons/Contact.svg diff --git a/frontend/assets/custom-icons/Cookies.svg b/frontend/public/icons/Cookies.svg similarity index 100% rename from frontend/assets/custom-icons/Cookies.svg rename to frontend/public/icons/Cookies.svg diff --git a/frontend/assets/custom-icons/Delivery-boxes.svg b/frontend/public/icons/Delivery-boxes.svg similarity index 100% rename from frontend/assets/custom-icons/Delivery-boxes.svg rename to frontend/public/icons/Delivery-boxes.svg diff --git a/frontend/assets/custom-icons/Delivery.svg b/frontend/public/icons/Delivery.svg similarity index 100% rename from frontend/assets/custom-icons/Delivery.svg rename to frontend/public/icons/Delivery.svg diff --git a/frontend/assets/custom-icons/Discount.svg b/frontend/public/icons/Discount.svg similarity index 100% rename from frontend/assets/custom-icons/Discount.svg rename to frontend/public/icons/Discount.svg diff --git a/frontend/assets/custom-icons/Explore.svg b/frontend/public/icons/Explore.svg similarity index 100% rename from frontend/assets/custom-icons/Explore.svg rename to frontend/public/icons/Explore.svg diff --git a/frontend/assets/custom-icons/Eye-closed.svg b/frontend/public/icons/Eye-closed.svg similarity index 100% rename from frontend/assets/custom-icons/Eye-closed.svg rename to frontend/public/icons/Eye-closed.svg diff --git a/frontend/assets/custom-icons/Eye-open.svg b/frontend/public/icons/Eye-open.svg similarity index 100% rename from frontend/assets/custom-icons/Eye-open.svg rename to frontend/public/icons/Eye-open.svg diff --git a/frontend/assets/custom-icons/Facebook-solid.svg b/frontend/public/icons/Facebook-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Facebook-solid.svg rename to frontend/public/icons/Facebook-solid.svg diff --git a/frontend/assets/custom-icons/Facebook.svg b/frontend/public/icons/Facebook.svg similarity index 100% rename from frontend/assets/custom-icons/Facebook.svg rename to frontend/public/icons/Facebook.svg diff --git a/frontend/assets/custom-icons/Filter.svg b/frontend/public/icons/Filter.svg similarity index 100% rename from frontend/assets/custom-icons/Filter.svg rename to frontend/public/icons/Filter.svg diff --git a/frontend/assets/custom-icons/Flag.svg b/frontend/public/icons/Flag.svg similarity index 100% rename from frontend/assets/custom-icons/Flag.svg rename to frontend/public/icons/Flag.svg diff --git a/frontend/assets/custom-icons/Grid.svg b/frontend/public/icons/Grid.svg similarity index 100% rename from frontend/assets/custom-icons/Grid.svg rename to frontend/public/icons/Grid.svg diff --git a/frontend/assets/custom-icons/Headphone-lighting.svg b/frontend/public/icons/Headphone-lighting.svg similarity index 100% rename from frontend/assets/custom-icons/Headphone-lighting.svg rename to frontend/public/icons/Headphone-lighting.svg diff --git a/frontend/assets/custom-icons/Headphone.svg b/frontend/public/icons/Headphone.svg similarity index 100% rename from frontend/assets/custom-icons/Headphone.svg rename to frontend/public/icons/Headphone.svg diff --git a/frontend/assets/custom-icons/Headphones.svg b/frontend/public/icons/Headphones.svg similarity index 100% rename from frontend/assets/custom-icons/Headphones.svg rename to frontend/public/icons/Headphones.svg diff --git a/frontend/assets/custom-icons/Headset.svg b/frontend/public/icons/Headset.svg similarity index 100% rename from frontend/assets/custom-icons/Headset.svg rename to frontend/public/icons/Headset.svg diff --git a/frontend/assets/custom-icons/Heart.svg b/frontend/public/icons/Heart.svg similarity index 100% rename from frontend/assets/custom-icons/Heart.svg rename to frontend/public/icons/Heart.svg diff --git a/frontend/assets/custom-icons/Home.svg b/frontend/public/icons/Home.svg similarity index 100% rename from frontend/assets/custom-icons/Home.svg rename to frontend/public/icons/Home.svg diff --git a/frontend/assets/custom-icons/Hourglass.svg b/frontend/public/icons/Hourglass.svg similarity index 100% rename from frontend/assets/custom-icons/Hourglass.svg rename to frontend/public/icons/Hourglass.svg diff --git a/frontend/assets/custom-icons/Instagram-solid.svg b/frontend/public/icons/Instagram-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Instagram-solid.svg rename to frontend/public/icons/Instagram-solid.svg diff --git a/frontend/assets/custom-icons/Instagram.svg b/frontend/public/icons/Instagram.svg similarity index 100% rename from frontend/assets/custom-icons/Instagram.svg rename to frontend/public/icons/Instagram.svg diff --git a/frontend/assets/custom-icons/Lampshade.svg b/frontend/public/icons/Lampshade.svg similarity index 100% rename from frontend/assets/custom-icons/Lampshade.svg rename to frontend/public/icons/Lampshade.svg diff --git a/frontend/assets/custom-icons/Leaves.svg b/frontend/public/icons/Leaves.svg similarity index 100% rename from frontend/assets/custom-icons/Leaves.svg rename to frontend/public/icons/Leaves.svg diff --git a/frontend/assets/custom-icons/Left-rotation.svg b/frontend/public/icons/Left-rotation.svg similarity index 100% rename from frontend/assets/custom-icons/Left-rotation.svg rename to frontend/public/icons/Left-rotation.svg diff --git a/frontend/assets/custom-icons/Loading.svg b/frontend/public/icons/Loading.svg similarity index 100% rename from frontend/assets/custom-icons/Loading.svg rename to frontend/public/icons/Loading.svg diff --git a/frontend/assets/custom-icons/Lock.svg b/frontend/public/icons/Lock.svg similarity index 100% rename from frontend/assets/custom-icons/Lock.svg rename to frontend/public/icons/Lock.svg diff --git a/frontend/assets/custom-icons/Message.svg b/frontend/public/icons/Message.svg similarity index 100% rename from frontend/assets/custom-icons/Message.svg rename to frontend/public/icons/Message.svg diff --git a/frontend/assets/custom-icons/Minus.svg b/frontend/public/icons/Minus.svg similarity index 100% rename from frontend/assets/custom-icons/Minus.svg rename to frontend/public/icons/Minus.svg diff --git a/frontend/assets/custom-icons/Mobile-card.svg b/frontend/public/icons/Mobile-card.svg similarity index 100% rename from frontend/assets/custom-icons/Mobile-card.svg rename to frontend/public/icons/Mobile-card.svg diff --git a/frontend/assets/custom-icons/Notification.svg b/frontend/public/icons/Notification.svg similarity index 100% rename from frontend/assets/custom-icons/Notification.svg rename to frontend/public/icons/Notification.svg diff --git a/frontend/assets/custom-icons/Paper.svg b/frontend/public/icons/Paper.svg similarity index 100% rename from frontend/assets/custom-icons/Paper.svg rename to frontend/public/icons/Paper.svg diff --git a/frontend/assets/custom-icons/Play-down-solid.svg b/frontend/public/icons/Play-down-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Play-down-solid.svg rename to frontend/public/icons/Play-down-solid.svg diff --git a/frontend/assets/custom-icons/Play.svg b/frontend/public/icons/Play.svg similarity index 100% rename from frontend/assets/custom-icons/Play.svg rename to frontend/public/icons/Play.svg diff --git a/frontend/assets/custom-icons/Plus.svg b/frontend/public/icons/Plus.svg similarity index 100% rename from frontend/assets/custom-icons/Plus.svg rename to frontend/public/icons/Plus.svg diff --git a/frontend/assets/custom-icons/Profile.svg b/frontend/public/icons/Profile.svg similarity index 100% rename from frontend/assets/custom-icons/Profile.svg rename to frontend/public/icons/Profile.svg diff --git a/frontend/assets/custom-icons/Question-mark-circle.svg b/frontend/public/icons/Question-mark-circle.svg similarity index 100% rename from frontend/assets/custom-icons/Question-mark-circle.svg rename to frontend/public/icons/Question-mark-circle.svg diff --git a/frontend/assets/custom-icons/Rows.svg b/frontend/public/icons/Rows.svg similarity index 100% rename from frontend/assets/custom-icons/Rows.svg rename to frontend/public/icons/Rows.svg diff --git a/frontend/assets/custom-icons/Safe-battery.svg b/frontend/public/icons/Safe-battery.svg similarity index 100% rename from frontend/assets/custom-icons/Safe-battery.svg rename to frontend/public/icons/Safe-battery.svg diff --git a/frontend/assets/custom-icons/Scan-box.svg b/frontend/public/icons/Scan-box.svg similarity index 100% rename from frontend/assets/custom-icons/Scan-box.svg rename to frontend/public/icons/Scan-box.svg diff --git a/frontend/assets/custom-icons/Search.svg b/frontend/public/icons/Search.svg similarity index 100% rename from frontend/assets/custom-icons/Search.svg rename to frontend/public/icons/Search.svg diff --git a/frontend/assets/custom-icons/Settings.svg b/frontend/public/icons/Settings.svg similarity index 100% rename from frontend/assets/custom-icons/Settings.svg rename to frontend/public/icons/Settings.svg diff --git a/frontend/assets/custom-icons/Share-square.svg b/frontend/public/icons/Share-square.svg similarity index 100% rename from frontend/assets/custom-icons/Share-square.svg rename to frontend/public/icons/Share-square.svg diff --git a/frontend/assets/custom-icons/Share.svg b/frontend/public/icons/Share.svg similarity index 100% rename from frontend/assets/custom-icons/Share.svg rename to frontend/public/icons/Share.svg diff --git a/frontend/assets/custom-icons/Shield-done.svg b/frontend/public/icons/Shield-done.svg similarity index 100% rename from frontend/assets/custom-icons/Shield-done.svg rename to frontend/public/icons/Shield-done.svg diff --git a/frontend/assets/custom-icons/Shopping-bag.svg b/frontend/public/icons/Shopping-bag.svg similarity index 100% rename from frontend/assets/custom-icons/Shopping-bag.svg rename to frontend/public/icons/Shopping-bag.svg diff --git a/frontend/assets/custom-icons/Speaker.svg b/frontend/public/icons/Speaker.svg similarity index 100% rename from frontend/assets/custom-icons/Speaker.svg rename to frontend/public/icons/Speaker.svg diff --git a/frontend/assets/custom-icons/Star-solid.svg b/frontend/public/icons/Star-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Star-solid.svg rename to frontend/public/icons/Star-solid.svg diff --git a/frontend/assets/custom-icons/Star.svg b/frontend/public/icons/Star.svg similarity index 100% rename from frontend/assets/custom-icons/Star.svg rename to frontend/public/icons/Star.svg diff --git a/frontend/assets/custom-icons/Ticket.svg b/frontend/public/icons/Ticket.svg similarity index 100% rename from frontend/assets/custom-icons/Ticket.svg rename to frontend/public/icons/Ticket.svg diff --git a/frontend/assets/custom-icons/Tiktok-solid.svg b/frontend/public/icons/Tiktok-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Tiktok-solid.svg rename to frontend/public/icons/Tiktok-solid.svg diff --git a/frontend/assets/custom-icons/Tiktok.svg b/frontend/public/icons/Tiktok.svg similarity index 100% rename from frontend/assets/custom-icons/Tiktok.svg rename to frontend/public/icons/Tiktok.svg diff --git a/frontend/assets/custom-icons/Trash.svg b/frontend/public/icons/Trash.svg similarity index 100% rename from frontend/assets/custom-icons/Trash.svg rename to frontend/public/icons/Trash.svg diff --git a/frontend/assets/custom-icons/Turn-left.svg b/frontend/public/icons/Turn-left.svg similarity index 100% rename from frontend/assets/custom-icons/Turn-left.svg rename to frontend/public/icons/Turn-left.svg diff --git a/frontend/assets/custom-icons/USB.svg b/frontend/public/icons/USB.svg similarity index 100% rename from frontend/assets/custom-icons/USB.svg rename to frontend/public/icons/USB.svg diff --git a/frontend/assets/custom-icons/Users.svg b/frontend/public/icons/Users.svg similarity index 100% rename from frontend/assets/custom-icons/Users.svg rename to frontend/public/icons/Users.svg diff --git a/frontend/assets/custom-icons/Video-slides.svg b/frontend/public/icons/Video-slides.svg similarity index 100% rename from frontend/assets/custom-icons/Video-slides.svg rename to frontend/public/icons/Video-slides.svg diff --git a/frontend/assets/custom-icons/Youtube-solid.svg b/frontend/public/icons/Youtube-solid.svg similarity index 100% rename from frontend/assets/custom-icons/Youtube-solid.svg rename to frontend/public/icons/Youtube-solid.svg diff --git a/frontend/assets/custom-icons/Youtube.svg b/frontend/public/icons/Youtube.svg similarity index 100% rename from frontend/assets/custom-icons/Youtube.svg rename to frontend/public/icons/Youtube.svg