diff --git a/src/FOSSDB/urls.py b/src/FOSSDB/urls.py index e995603..d575c7c 100644 --- a/src/FOSSDB/urls.py +++ b/src/FOSSDB/urls.py @@ -19,9 +19,9 @@ from django.urls import include, path urlpatterns = [ path("admin/", admin.site.urls), - path("", include("account.urls")), path("", include("fossdb.urls")), path("", include("main.urls")), + path("", include("account.urls")), path("", include("django.contrib.auth.urls")), path("__reload__/", include("django_browser_reload.urls")), ] diff --git a/src/apps/fossdb/migrations/0005_operatingsystem_is_linux.py b/src/apps/fossdb/migrations/0005_operatingsystem_is_linux.py new file mode 100644 index 0000000..0448ee0 --- /dev/null +++ b/src/apps/fossdb/migrations/0005_operatingsystem_is_linux.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.2 on 2023-06-28 22:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fossdb', '0004_alter_tag_icon_star'), + ] + + operations = [ + migrations.AddField( + model_name='operatingsystem', + name='is_linux', + field=models.BooleanField(blank=True, default=False), + ), + ] diff --git a/src/apps/fossdb/models.py b/src/apps/fossdb/models.py index c776012..22697a1 100644 --- a/src/apps/fossdb/models.py +++ b/src/apps/fossdb/models.py @@ -18,6 +18,7 @@ class License(models.Model): class OperatingSystem(models.Model): name = models.CharField(max_length=100, unique=True) description = models.TextField(blank=True, default="") + is_linux = models.BooleanField(blank=True, default=False) def __str__(self): return self.name @@ -75,6 +76,26 @@ class Project(models.Model): def star_amount(self): return self.star.count() + @property + def runs_on_macos(self): + return self.operating_system.filter(operating_system__name="macOS").exists() + + @property + def runs_on_linux(self): + return self.operating_system.filter(operating_system__is_linux=True).exists() + + @property + def runs_on_windows(self): + return self.operating_system.filter(operating_system__name="Windows").exists() + + @property + def runs_on_ios(self): + return self.operating_system.filter(operating_system__name="iOS").exists() + + @property + def runs_on_android(self): + return self.operating_system.filter(operating_system__name="Android").exists() + def get_absolute_url(self): return f"/{self.owner}/{self.name}" diff --git a/src/apps/fossdb/templates/detailed_view.html b/src/apps/fossdb/templates/detailed_view.html index fac4530..ebdab84 100644 --- a/src/apps/fossdb/templates/detailed_view.html +++ b/src/apps/fossdb/templates/detailed_view.html @@ -1,48 +1,123 @@ {% extends "base.html" %} {% load static %} {% block title %}{{ project.owner }}/{{ project.name }}{% endblock %} -{% block meta %}{% endblock %} +{% block meta %} + +{% endblock meta %} {% block content %} -

@{{ project.owner }}

-

{{ project.name }}

-

{{ project.description }}

-

- {{ project.projecthostingplatform.hosting_platform }} -

- - - - - - +
+
+

{{ project.name }}

+

+ By {{ project.owner }} +

+ +
+ + + + + +
+ +
+ {% for tag in project.tag.all|dictsort:"name" %} + + + {{ tag }} + + + {% endfor %} +
+ +
+ {% for language in project.projectprogramminglanguage_set.all|dictsortreversed:"percentage" %} + + + {{ language.programming_language }} + + + {% endfor %} +
+ +

{{ project.description }}

+
+ +
+ +
+ +
+ +
+

+ See project source code and read more here! +

+
+
+
+ +
+
+
+ {% if user == project.owner %} +
+ + +
+ {% endif %} +
{% endblock %} diff --git a/src/apps/fossdb/templates/explore.html b/src/apps/fossdb/templates/explore.html index 0b61240..bc46639 100644 --- a/src/apps/fossdb/templates/explore.html +++ b/src/apps/fossdb/templates/explore.html @@ -3,18 +3,6 @@ {% block title %}{{ title }}{% endblock %} {% block meta %}{% endblock %} {% block content %} -

{{ username }}

- - -
-
- {{ filter.form.as_p }} - -
{% for project in projects %}
{{ project }} diff --git a/src/apps/fossdb/urls.py b/src/apps/fossdb/urls.py index 1d4b5d0..9359b2d 100644 --- a/src/apps/fossdb/urls.py +++ b/src/apps/fossdb/urls.py @@ -4,7 +4,7 @@ from . import views urlpatterns = [ path("explore/", views.ProjectListView.as_view(), name="explore"), - path("add/", views.ProjectCreateView.as_view(), name="add-project"), + path("contribute/", views.ProjectCreateView.as_view(), name="contribute"), path("//", views.ProjectDetailView.as_view(), name="project-detail"), path("//edit/", views.ProjectUpdateView.as_view(), name="project-update"), path("//delete/", views.ProjectDeleteView.as_view(), name="project-delete"), diff --git a/src/apps/fossdb/views.py b/src/apps/fossdb/views.py index b2cf66f..beac620 100644 --- a/src/apps/fossdb/views.py +++ b/src/apps/fossdb/views.py @@ -23,7 +23,7 @@ class ProjectListView(FilterView): template_name = "explore.html" filterset_class = ProjectFilter context_object_name = "projects" - paginate_by = 10 # optional 10 projects a page + paginate_by = 100 # optional 10 projects a page class ProjectCreateView(LoginRequiredMixin, CreateView): diff --git a/src/apps/tokyonight_night/static_src/tailwind.config.js b/src/apps/tokyonight_night/static_src/tailwind.config.js index 2883ee0..1f8e88b 100644 --- a/src/apps/tokyonight_night/static_src/tailwind.config.js +++ b/src/apps/tokyonight_night/static_src/tailwind.config.js @@ -126,6 +126,8 @@ module.exports = { fontSize: { base: "1rem", xl: "1.25rem", + "2xl": "1.5rem", + "3xl": "2rem", "4xl": "4rem", xs: "0.75rem", }, diff --git a/src/apps/tokyonight_night/templates/base.html b/src/apps/tokyonight_night/templates/base.html index 86e0eb7..6488240 100644 --- a/src/apps/tokyonight_night/templates/base.html +++ b/src/apps/tokyonight_night/templates/base.html @@ -75,7 +75,7 @@
{% block content %}{% endblock %}
-