Commit Graph

28 Commits

Author SHA1 Message Date
Ali 38bee59283 desktop modal: fit-to-content, crisp text, matched border radius
Captions wrap to 2 lines with ellipsis inside grid track instead of
overflowing into neighbouring icons. Modal header loses its gradient
bar (title only). Body stops forcing an inner scrollbar when icons
fit. Chrome modal border switches from border-image (sharp rect) to
a plain 1px border that follows border-radius.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 12:48:53 +00:00
Ali 5e78072b0a report view: themed compact checkboxes + filter row flex
The global toggle-switch styling for input[type=checkbox] doesn't fit
the 32px select column or 37px index column in frappe-datatable, so
content was clipped and checkboxes sat flush to the cell baseline.

- Compact 14x14 themed square checkbox (same paint as grid .row-check)
  inside .datatable, with ::after pseudo disabled.
- Flex-center the cell when the only child is a checkbox.
- Let the filter input shrink instead of crushing its help-icon sibling.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:39:53 +00:00
Ali 4e038cf050 list: drag-to-resize and drag-to-reorder for columns
Mirrors the grid module's UX in Frappe's desk list view — drag the right
edge of a header to resize, drag the header itself to reorder. Widths
and order persist per doctype in localStorage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:23:48 +00:00
Ali fe9dc89eb6 sidebar: restore jey buttons under Frappe v16
v16 removed the .collapse-sidebar-link anchor the Full Width / Switch
Theme buttons inserted before, so they silently stopped rendering.
Add a jeySidebarAnchor() helper that falls back to .body-sidebar-bottom,
and re-add a Collapse/Expand button (calls frappe.app.sidebar.toggle_width)
to replace the default v15 link Frappe dropped.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 09:42:32 +00:00
Ali 953bf8b2c8 grids: polish child-table active/read-only cells; misc chrome polish
- Chrome theme: active grid row now visually matches the static row —
  flattened inputs, forced bottom border, padding match, pressed-in
  button-style effect on focused cells with smooth 0.45s transition.
- Read-only grid cells get a distinct lighter-grey bg only while their
  row is the active one (uses Frappe's display:none on .field-area).
- Button press animations: expanded shadow set + explicit transitions
  so press/release is symmetric and eased.
- Shared: fixed section-in keyframe leaving a stacking context that
  clipped Link autocomplete dropdowns; dropdown fade-out without
  Popper position reset; smooth sidebar expand to match collapse.
- JS: clip section overflow during collapse transition, restore after
  transitionend; freeze dropdown position during Bootstrap hide.
- CLAUDE.md: rewritten as Claude Code guidance doc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:08:50 +00:00
Ali 5cbc36566b animations: add UI animations across desk for a polished, alive feel
- Dropdowns: smooth fade in/out via visibility+opacity transition
- Modals/Dialogs: entrance with translateY+scale+opacity (0.5s)
- Search dialog: fade in/out with slide, backdrop cleanup, input re-focus
- Form sections: cascade entrance animation on load and tab switch
- Form tabs: sliding active indicator via ::after scaleX
- Collapse/expand: smooth max-height transition with JS-calculated height
- Sidebar: hover padding shift, icon scale, active accent bar
- List view: staggered row entrance from left
- Workspace cards: slower entrance (0.7s), number value delayed fade-in
- Widget z-index: open dropdown (200) above hovered neighbor (100)
- Report summary: cascade card entrance
- Link fields: awesomplete dropdown fade-in
- Input focus: inset press effect
- Buttons: shine sweep on hover, inset shadow on click
- Chrome theme: tab indicator uses ::after instead of border-bottom
- Observer fix: null-check parentNode for detached text nodes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 14:01:53 +00:00
Ali 12f3e16b18 revert notifications position 2026-04-16 09:54:12 +00:00
Ali bae6c16a6b bug fixes and qol changes 2026-04-16 09:49:27 +00:00
Ali 7486c80656 icons: remap user menu lucide sprites and full-width button
Rewrites <use href="#icon-NAME"> inside .frappe-menu dropdown items
(the user/settings menu at top-left) to semantically similar but
visually distinct lucide ids — home→house, sliders-horizontal→
settings-2, rotate-ccw→refresh-ccw, maximize→chevrons-left-right,
moon→moon-star, info→life-buoy, logout→log-out. Idempotent via
.jey-menu-remap-done marker. Wired into processAll + rebuildAllIcons
so it runs on boot, theme switch and DOM mutations.

Also switches the custom .jey-fullwidth-link button to the same
chevrons-left-right icon so its appearance matches the menu entry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 13:20:46 +00:00
Ali 084c92466a taxes workspace: add Taxes Az subsystem via after_migrate setup
Creates a custom /desk subsystem "Taxes Az" listing user-facing doctypes
from the taxes_az module in three cards (Declarations & Returns, Setup &
Reference, Period Closing & Tools). The doctype list is a STATIC snapshot
baked into taxes_workspace.py — adding a new DocType to taxes_az will not
automatically put it into the workspace; edit the tuples and re-run setup.

- Uses "Taxes Az" name (not "Taxes") to avoid collision with erpnext's
  built-in Workspace Sidebar "Taxes", which otherwise hijacks routing to
  /app/sales-taxes-and-charges-template.
- Creates a matching Workspace Sidebar whose first Link is link_type=
  "Workspace" so Frappe's desktop.js get_route() generates a clean
  /app/taxes-az route and the click stays in-tab (standard behaviour).
- Desktop Icon with idx=999 pins it to the end of the /desk grid.
- Cleanup of the obsolete "Taxes" doc we created earlier is idempotent
  and scoped to jey_theme-owned records (never touches erpnext's).

Registered via after_migrate hook so every `bench migrate` re-asserts
the configuration. setup() is idempotent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 13:10:04 +00:00
Ali 6c59231f43 icons: resolve localized menu labels via img src
Menu titles in the app switcher dropdown and sidebar header are
translated (e.g. Azerbaijani), so looking up THEME_ICONS by textContent
missed everything. resolveEnglishKey() now extracts the untranslated
icon name from the <img src> URL, falls back to scanning
frappe.boot.desktop_icons for a matching __(label), then the text.

Also adds a "taxes az" alias to THEME_ICONS.chrome so our new
Taxes Az desktop icon renders the tax document SVG instead of the
alphabet fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 13:09:48 +00:00
Ali 96099513a1 access control: hide Quality and Subcontracting modules
Adds jey_theme.access_control with a single source of truth (BLOCKED_MODULES,
BLOCKED_DOCTYPES_EXTRA) and three Frappe hooks:

- before_request: HTTP-level block on /api/resource/<Doctype>, /app/<slug>
  and any whitelisted method passing `doctype` in form_dict. Runs before the
  Administrator bypass in frappe.permissions, so it blocks every user.
- extend_bootinfo: strips blocked modules/doctypes/workspaces from bootinfo
  (workspaces.pages, module_wise_workspaces, app_data, desktop_icons,
  user.can_read/...) so the client router never registers routes for them
  and the sidebar/switcher hide them.
- has_permission wildcard: per-doc safety net for non-Administrator users.

shared.css gets desktop-icon[data-id] fallbacks for Quality/Subcontracting.

Reversal: clear BLOCKED_MODULES in access_control.py and run
`bench --site <site> clear-cache && bench restart`. No DB writes are made.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:54:48 +00:00
Ali a217ea104a icons: sidebar item icon remap and desktop label overrides
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:54:35 +00:00
Ali 843774e695 icons 2026-04-13 09:22:23 +00:00
Ali 96638dd26f add missing chrome styles + animations across app
- List activity area: timestamps, comments, like button with heart animation
- Indicator pills: metallic colored variants (blue, green, red, orange, etc)
- SVG icons: chrome tinting with drop-shadow
- Tag pills: metallic gradient styling
- Filter area: chrome popover, remove button hover
- List sidebar: buttons, links, filter pills
- Filter/sort selector button groups: metallic gradient
- Animations: dropdown slide-down, modal scale-in, toast slide-up,
  button metal-press + shine sweep, list row glint on hover,
  popover fade-scale, sidebar slide, navbar lift, card transitions,
  number widget hover scale, comment box focus glow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:38:10 +00:00
Ali 513522efb8 full chrome metallic theme for entire app
Extended chrome theme from desktop icons only to the full ERPNext UI:
navbar, sidebar, buttons, inputs, forms, lists, tables, modals,
dropdowns, tabs, timeline, scrollbars. Uses 45° multi-stop reflective
gradients, beveled shadows, conic-gradient accents, and polished
metal body background.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:18:59 +00:00
Ali 37c4ccce88 new chromo ui with new features 2026-04-08 14:27:30 +00:00
Ali 7ea9fa1505 backup push 2025-11-24 15:28:52 +04:00
Ali 45a344447d backup push 2025-11-11 15:09:57 +04:00
Ali 47135107ee backup push 2025-10-24 13:13:11 +04:00
Ali e3ceeb28e6 changed search-bar 2025-10-21 19:08:16 +04:00
Ali 8729ed4d78 changed backroung and a lot of styles 2025-10-21 19:03:51 +04:00
Ali a58b23dbf3 huge app rework, liquid glass 2025-10-20 20:37:41 +04:00
Ali 92b5344130 Fixed visual bug where toggled read-only check displayed as toggled-off 2025-03-25 15:18:04 +04:00
Ali 11ff2f70f7 Fixed margin between menu items 2025-03-19 17:10:35 +04:00
Awey01 9501fb5a43 first commit 2024-09-11 14:15:45 +00:00
Awey01 9ab2ee130e work 2024-08-13 09:57:25 +00:00
ubuntu b0efcf8c6e feat: Initialize App 2024-07-18 15:03:34 +00:00