- Add design-token stylesheet (wwwroot/css/user-panel.css): CSS variables derived from the existing p8.css palette (brand maroon, success/danger colors, radius, shadow), plus reusable component classes (card, button variants, alert, badge, empty state, pagination, list item, toast, confirm modal). Includes a prefers-color-scheme dark block compatible with the existing toggleColorScheme() mechanism in bk.js. - Add wwwroot/js/user-panel.js: upConfirm() and upToast() helpers as styled, promise-based replacements for window.confirm()/alert(), falling back to the native dialogs if the modal/toast markup isn't present on a page. - Add Areas/User/Pages/Shared/ partials: _Pagination (wraps the List<NameIdUrlImage> pattern already used by every list page), _EmptyState, _Toasts and _ConfirmModal (hosts, included once by the layout). - Wire the new stylesheet/script and the toast/modal hosts into _UserPanelLayout.cshtml. - Refactor Notifications.cshtml as a first demonstration: replaces the hand-rolled pagination loop, manual gray/lightsteelblue row alternation, and confirm()/alert() calls with the new components. No backend/API changes. Rest of the User area is untouched pending Phase 1+ (nav/dashboard, forms, remaining list pages, moderation queues, editors).
13 lines
367 B
Plaintext
13 lines
367 B
Plaintext
@*
|
|
A consistent "nothing here yet" state for list pages, instead of a bare
|
|
<p>. Pass the explanatory text as the model:
|
|
|
|
<partial name="_EmptyState" model="@("در حال حاضر اعلانی وجود ندارد.")" />
|
|
*@
|
|
@model string
|
|
|
|
<div class="up-empty">
|
|
<div class="up-empty__icon" aria-hidden="true">●</div>
|
|
<p>@Model</p>
|
|
</div>
|