Skip to content
This repository has been archived by the owner on Feb 19, 2025. It is now read-only.

Commit

Permalink
feat: tailwind css on admin
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanfallet committed Feb 13, 2024
1 parent 42729ad commit 09f8a2a
Show file tree
Hide file tree
Showing 22 changed files with 10,243 additions and 288 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.models.AdminModelRouter
import me.nathanfallet.suitebde.models.associations.Association
import me.nathanfallet.suitebde.models.associations.CreateAssociationPayload
Expand All @@ -15,6 +16,7 @@ class AssociationsRouter(
associationsController: IAssociationsController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
) : ConcatModelRouter<Association, String, CreateAssociationPayload, UpdateAssociationPayload>(
APIModelRouter(
Expand All @@ -33,6 +35,7 @@ class AssociationsRouter(
IAssociationsController::class,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
import me.nathanfallet.suitebde.models.associations.Association
import me.nathanfallet.suitebde.models.associations.CreateDomainInAssociationPayload
Expand All @@ -15,6 +16,7 @@ class DomainsInAssociationsRouter(
domainsInAssociationsController: IDomainsInAssociationsController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationsRouter: AssociationsRouter,
) : ConcatChildModelRouter<DomainInAssociation, String, CreateDomainInAssociationPayload, Unit, Association, String>(
Expand All @@ -37,6 +39,7 @@ class DomainsInAssociationsRouter(
associationsRouter.routerOf(),
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
route = "domains"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
import me.nathanfallet.suitebde.models.associations.Association
import me.nathanfallet.suitebde.models.associations.CreateSubscriptionInAssociationPayload
Expand All @@ -16,6 +17,7 @@ class SubscriptionsInAssociationsRouter(
controller: ISubscriptionsInAssociationsController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -39,6 +41,7 @@ class SubscriptionsInAssociationsRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
route = "subscriptions"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationForCallRouter
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
Expand All @@ -18,6 +19,7 @@ class ClubsRouter(
clubsController: IClubsController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -40,6 +42,7 @@ class ClubsRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
)
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package me.nathanfallet.suitebde.controllers.dashboard

import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.models.AdminUnitRouter
import me.nathanfallet.suitebde.usecases.web.IGetAdminMenuForCallUseCase
import me.nathanfallet.usecases.localization.ITranslateUseCase
Expand All @@ -9,11 +10,13 @@ class DashboardRouter(
controller: IDashboardController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
) : AdminUnitRouter(
controller,
IDashboardController::class,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationForCallRouter
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
Expand All @@ -18,6 +19,7 @@ class EventsRouter(
eventsController: IEventsController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -40,6 +42,7 @@ class EventsRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import me.nathanfallet.ktorx.controllers.IChildModelController
import me.nathanfallet.ktorx.routers.IChildModelRouter
import me.nathanfallet.ktorx.routers.admin.LocalizedAdminChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.usecases.web.IGetAdminMenuForCallUseCase
import me.nathanfallet.usecases.localization.ITranslateUseCase
import me.nathanfallet.usecases.models.IChildModel
Expand All @@ -21,6 +22,7 @@ open class AdminChildModelRouter<Model : IChildModel<Id, CreatePayload, UpdatePa
parentRouter: IChildModelRouter<ParentModel, ParentId, *, *, *, *>?,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
route: String? = null,
id: String? = null,
Expand All @@ -39,6 +41,7 @@ open class AdminChildModelRouter<Model : IChildModel<Id, CreatePayload, UpdatePa
getLocaleForCallUseCase(this),
((model["route"] as String).takeIf { it.isNotEmpty() } ?: "dashboard").let { "admin_menu_$it" }
),
"user" to requireUserForCallUseCase(this),
"menu" to getAdminMenuForCallUseCase(this),
"flatpickr" to flatpickr,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.controllers.IModelController
import me.nathanfallet.ktorx.routers.IModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.usecases.web.IGetAdminMenuForCallUseCase
import me.nathanfallet.usecases.localization.ITranslateUseCase
import me.nathanfallet.usecases.models.IModel
Expand All @@ -18,6 +19,7 @@ open class AdminModelRouter<Model : IModel<Id, CreatePayload, UpdatePayload>, Id
controllerClass: KClass<out IModelController<Model, Id, CreatePayload, UpdatePayload>>,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
route: String? = null,
id: String? = null,
Expand All @@ -30,6 +32,7 @@ open class AdminModelRouter<Model : IModel<Id, CreatePayload, UpdatePayload>, Id
null,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
route,
id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.controllers.IUnitController
import me.nathanfallet.ktorx.routers.IUnitRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.usecases.web.IGetAdminMenuForCallUseCase
import me.nathanfallet.usecases.localization.ITranslateUseCase
import me.nathanfallet.usecases.models.UnitModel
Expand All @@ -14,6 +15,7 @@ open class AdminUnitRouter(
controllerClass: KClass<out IUnitController>,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
route: String? = null,
) : AdminModelRouter<UnitModel, Unit, Unit, Unit>(
Expand All @@ -24,6 +26,7 @@ open class AdminUnitRouter(
controllerClass,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
route ?: "",
), IUnitRouter
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationForCallRouter
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
Expand All @@ -18,6 +19,7 @@ class RolesRouter(
rolesController: IRolesController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -40,6 +42,7 @@ class RolesRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationForCallRouter
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
Expand All @@ -18,6 +19,7 @@ class UsersRouter(
usersController: IUsersController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -40,6 +42,7 @@ class UsersRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationForCallRouter
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
Expand All @@ -18,6 +19,7 @@ class WebMenusRouter(
webMenusController: IWebMenusController,
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -40,6 +42,7 @@ class WebMenusRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import io.ktor.util.reflect.*
import me.nathanfallet.ktorx.routers.api.APIChildModelRouter
import me.nathanfallet.ktorx.routers.concat.ConcatChildModelRouter
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationForCallRouter
import me.nathanfallet.suitebde.controllers.models.AdminChildModelRouter
Expand All @@ -20,6 +21,7 @@ class WebPagesRouter(
getLocaleForCallUseCase: IGetLocaleForCallUseCase,
translateUseCase: ITranslateUseCase,
getPublicMenuForCallUseCase: IGetPublicMenuForCallUseCase,
requireUserForCallUseCase: IRequireUserForCallUseCase,
getAdminMenuForCallUseCase: IGetAdminMenuForCallUseCase,
associationForCallRouter: IAssociationForCallRouter,
associationsRouter: AssociationsRouter,
Expand All @@ -42,6 +44,7 @@ class WebPagesRouter(
associationForCallRouter,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase
),
WebPagesPublicRouter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -731,20 +731,20 @@ fun Application.configureKoin() {
}
val routerModule = module {
single<IAssociationForCallRouter> { AssociationForCallRouter(get(), get()) }
single { DashboardRouter(get(), get(), get(), get()) }
single { AssociationsRouter(get(), get(), get(), get()) }
single { DomainsInAssociationsRouter(get(), get(), get(), get(), get()) }
single { SubscriptionsInAssociationsRouter(get(), get(), get(), get(), get(), get()) }
single { UsersRouter(get(), get(), get(), get(), get(), get()) }
single { DashboardRouter(get(), get(), get(), get(), get()) }
single { AssociationsRouter(get(), get(), get(), get(), get()) }
single { DomainsInAssociationsRouter(get(), get(), get(), get(), get(), get()) }
single { SubscriptionsInAssociationsRouter(get(), get(), get(), get(), get(), get(), get()) }
single { UsersRouter(get(), get(), get(), get(), get(), get(), get()) }
single { SubscriptionsInUsersRouter(get(), get()) }
single { AuthRouter(get(), get()) }
single { RolesRouter(get(), get(), get(), get(), get(), get()) }
single { RolesRouter(get(), get(), get(), get(), get(), get(), get()) }
single { UsersInRolesRouter(get(), get()) }
single { PermissionsInRolesRouter(get(), get()) }
single { WebPagesRouter(get(), get(), get(), get(), get(), get(), get()) }
single { WebMenusRouter(get(), get(), get(), get(), get(), get()) }
single { EventsRouter(get(), get(), get(), get(), get(), get()) }
single { ClubsRouter(get(), get(), get(), get(), get(), get()) }
single { WebPagesRouter(get(), get(), get(), get(), get(), get(), get(), get()) }
single { WebMenusRouter(get(), get(), get(), get(), get(), get(), get()) }
single { EventsRouter(get(), get(), get(), get(), get(), get(), get()) }
single { ClubsRouter(get(), get(), get(), get(), get(), get(), get()) }
single { UsersInClubsRouter(get(), get()) }
}

Expand Down
8,040 changes: 7,976 additions & 64 deletions suitebde-backend/src/commonMain/resources/static/css/admin.css

Large diffs are not rendered by default.

1,829 changes: 1,828 additions & 1 deletion suitebde-backend/src/commonMain/resources/static/js/admin.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,24 +1,35 @@
<#import "../template.ftl" as template>
<@template.page>
<div class="container-fluid py-4">
<div class="row">
<div class="col-md-12">
<div class="card card-body mt-4">
<h6 class="mb-0" id="admin_delete"><@t key="admin_" + route + "_delete" /></h6>
<hr class="horizontal dark my-3">
<div class="mx-auto max-w-screen-2xl p-4 md:p-6 2xl:p-10">
<!-- Breadcrumb Start -->
<div class="mb-6 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between">
<h2 class="text-title-md2 font-bold text-black dark:text-white" id="admin_delete">
<@t key="admin_" + route + "_delete" />
</h2>
</div>
<!-- Breadcrumb End -->

<!-- ====== Form Layout Section Start -->
<div class="grid grid-cols-1 gap-9">
<div class="flex flex-col gap-9">
<!-- Contact Form -->
<div class="rounded-sm border border-stroke bg-white shadow-default dark:border-strokedark dark:bg-boxdark">
<form method="post" id="form">
<div class="d-flex justify-content-end mt-3">
<a class="btn btn-light m-0" href="../../${route}">
<@t key="admin_cancel" />
</a>
<input type="submit"
class="btn btn-danger m-0 ms-2"
value="<@t key="admin_delete" />">
<div class="p-6.5 grid grid-flow-col gap-6">
<div class="mb-4.5 flex flex-col gap-6 xl:flex-row">
<a class="flex w-full justify-center rounded bg-black p-3 font-medium text-gray"
href="../../${route}">
<@t key="admin_cancel" />
</a>
<input type="submit"
class="flex w-full justify-center rounded bg-danger p-3 font-medium text-gray"
value="<@t key="admin_delete" />"/>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- ====== Form Layout Section End -->
</div>
</@template.page>
Loading

0 comments on commit 09f8a2a

Please sign in to comment.