fix(ui): act-as strip no longer covers headers; customer type and slider permission

- apps: the fixed «در حال مشاهده به‌عنوان» strip (38px) sat over the fixed page
  headers, which still sat at top: 0 (the old 30px body padding was shorter than
  the strip too). The strip's height is now one variable, --aab-h, that the
  fixed headers (PageBar, home, dashboard, toasts) use as their top.
- admin: the customer form offers only «مغازه دار اپلیکیشن» to anyone but the
  super admin; bankers and walk-in shopkeepers are listed by super-admin-only
  endpoints, so ordinary admins lost the customers they created under them.
- admin: the mobile slider rid (custom.config.statics.slider) was only under the
  «سفارشی» branch, which the permission screen hides outside level 104. Same rid,
  now listed under «مدیریت ثابت ها». Display only: the slider routes are still
  gated by config.statics.

Rebuilds admin-panel, user-app and user-app-v2 dist.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mahmood
2026-10-26 11:16:23 +03:30
co-authored by Claude Sonnet 5.5
parent 8c4ca20a25
commit 5ddb225813
240 changed files with 257 additions and 235 deletions
+4 -1
View File
@@ -61,7 +61,10 @@ body::-webkit-scrollbar {
/* The act-as strip is fixed, so push everything down by its height while it is
up — otherwise it covers the top of each page, including sticky headers. */
.is-actingAs {
padding-top: 30px;
/* The strip's height. Fixed headers read it as their `top`, and the page flow
is pushed down by the same amount. */
--aab-h: 38px;
padding-top: var(--aab-h);
}
#app {
@@ -64,7 +64,9 @@ async function leave() {
display: flex;
align-items: center;
gap: 8px;
padding: 7px 16px;
box-sizing: border-box;
height: var(--aab-h, 38px);
padding: 0 16px;
/* Deliberately not a brand colour: this is a warning strip, and it has to be
noticeable at a glance to do its job. */
background: #8d6a46;
@@ -87,7 +87,7 @@ function onBack() {
<style scoped lang="less">
.bar {
position: fixed;
top: 0;
top: var(--aab-h, 0px);
left: 0;
right: 0;
z-index: 20;
@@ -23,7 +23,7 @@ const { toasts, dismiss } = useToast()
<style lang="less">
.toast-host {
position: fixed;
top: 0;
top: var(--aab-h, 0px);
left: 0;
right: 0;
z-index: 3000;
+1 -1
View File
@@ -258,7 +258,7 @@ onActivated(async () => {
// Same chrome as components/ui/PageBar.vue — one look for every top bar.
.home__bar {
position: fixed;
top: 0;
top: var(--aab-h, 0px);
left: 0;
right: 0;
z-index: 20;