Darko Gjorgjijoski
350068706c
Unify form styling across invoice, estimate, and recurring invoice pages
...
Apply consistent rounded-xl shadow border-line-light to customer
selector, date/number fields card, items table, totals card, editor,
tax popup, and view page sidebars. Wrap right-side basic fields in
card container matching the customer card.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 02:18:00 +02:00
Darko Gjorgjijoski
88adfe0e50
Add dark mode with CSS custom property theme system
...
Define 13 semantic color tokens (surface, text, border, hover) with
light/dark values in themes.css. Register with Tailwind via @theme inline.
Migrate all 335 Vue files from hardcoded gray/white classes to semantic
tokens. Add theme toggle (sun/moon/system) in user avatar dropdown.
Replace @tailwindcss/forms with custom form reset using theme vars.
Add status badge and alert tokens for dark mode. Theme-aware chart
grid/labels, skeleton placeholders, and editor. Inline script in
<head> prevents flash of wrong theme on load.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 02:05:00 +02:00
Darko Gjorgjijoski
7fbe3d85a3
UI: Facelift for v3
2026-04-04 01:52:03 +02:00
Darko Gjorgjijoski
eb0a588164
Refactor Administration entrypoint
...
We moved the administration item to the company switcher in the header
2026-04-04 01:36:28 +02:00
Darko Gjorgjijoski
c85051161b
Improve NoCompanyView design and fix header for no-company state
...
Personalize welcome heading with user name, add descriptive subtitle,
improve invitation card styling, remove redundant logout button. Fix
hasCreateAbilities check in header to actually call the function.
Widen company switcher dropdown and improve invitation row layout.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 00:48:00 +02:00
Darko Gjorgjijoski
6343b4a17f
Add invitation frontend: invite modal, pending invitations, no-company view
...
Members Index:
- "Invite Member" button opens InviteMemberModal (email + role dropdown)
- Pending invitations section shows below members table with cancel buttons
- Members store gains inviteMember, fetchPendingInvitations, cancelInvitation
CompanySwitcher:
- Shows pending invitations greyed out below active companies
- Each with Accept/Decline mini-buttons
- Accepting refreshes bootstrap and switches to new company
NoCompanyView:
- Standalone page for users with zero accepted companies
- Shows pending invitations with Accept/Decline or "no companies" message
- Route: /admin/no-company
Invitation Pinia store:
- Manages user's own pending invitations (fetchPending, accept, decline)
- Bootstrap populates invitations from API response
Global store:
- Bootstrap action stores pending_invitations from response
2026-04-03 23:20:41 +02:00
Darko Gjorgjijoski
8a6c085288
Rename company-scoped Users to Members throughout
...
Complete rename across backend and frontend:
- Controller: Company/Users/UsersController -> Company/Members/MembersController
- Service: UserService -> MemberService
- Requests: UserRequest -> MemberRequest, DeleteUserRequest -> DeleteMemberRequest
- API routes: /api/v1/users -> /api/v1/members (company-scoped only)
- Sidebar menu: "Users" -> "Members"
- Frontend: views/users -> views/members, stores/users -> stores/members
- Router: users.index -> members.index, /admin/users -> /admin/members
- i18n: new "members" section with invitation-related keys
- Tests: UserTest -> MemberTest
Admin/super-admin Users (system-wide user management) remains unchanged.
2026-04-03 23:12:30 +02:00
Darko Gjorgjijoski
5014a75fbc
Upgrade eslint tooling to v10 and fix linting bugs ( #601 )
...
- Upgrade eslint 9→10, eslint-config-prettier 9→10, eslint-plugin-vue 9→10
- Upgrade @types/node 20→24
- Migrate from legacy .eslintrc.mjs to flat config eslint.config.mjs
- Remove --ext flag from npm test script (dropped in eslint 10)
- Fix vue/no-ref-as-operand: add missing .value to ref assignments (5 files)
- Fix vue/return-in-computed-property: add default returns (2 files)
- Fix vue/no-side-effects-in-computed-properties: move mutation to watcher
- Fix vue/no-dupe-keys: remove ref shadowing prop in DomPDFDriver
- Fix vue/no-deprecated-slot-attribute: migrate to v-slot syntax (3 files)
- Fix vue/require-valid-default-prop: use factory function for array default
- Fix vue/no-unused-vars: remove unused slot destructure
- Disable vue/no-mutating-props (false positive for Pinia store props)
2026-04-02 17:33:18 +02:00
Darko Gjorgjijoski
d75a957183
Upgrade Tiptap from v2 to v3 ( #597 )
...
- Upgrade @tiptap/core, starter-kit, vue-3, pm, extension-text-align to v3
- Remove @tiptap/extension-link (now bundled in StarterKit v3)
- Move Link config into StarterKit.configure()
2026-04-02 16:35:43 +02:00
Darko Gjorgjijoski
ad5a7e51b9
Upgrade to Vite 8 and Tailwind CSS 4 ( #595 )
...
- Vite 6 → 8 (Rolldown bundler), laravel-vite-plugin 1 → 3, @vitejs/plugin-vue 5 → 6
- Tailwind CSS 3 → 4 with CSS-based config (@theme, @plugin, @utility)
- Add @tailwindcss/vite plugin, remove postcss/autoprefixer/sass
- Convert SCSS files to plain CSS (resources/sass → resources/css)
- Migrate tailwind.config.js to CSS @theme directives
- Rename deprecated utility classes (shadow-sm→shadow-xs, outline-none→outline-hidden,
rounded-sm→rounded-xs, bg-gradient-to→bg-linear-to, ring→ring-3)
- Migrate opacity utilities to color modifiers (bg-opacity, text-opacity,
border-opacity, ring-opacity → color/N syntax)
- Update primary color CSS vars to full rgb() values for TW4 color-mix()
- Fix border-l color specificity for sidebar navigation (TW4 default border
color changed from gray-200 to currentColor)
- Fix invalid border color classes (border-grey-light, border-modal-bg, border--200)
- Add @reference directive for @apply in Vue component style blocks
- Convert Vue component <style lang="scss"> blocks to plain CSS
2026-04-02 15:59:15 +02:00
Darko Gjorgjijoski
691178857f
Add HTTP client wrapper and upgrade Axios to v1 ( #594 )
...
* refactor: add HTTP client wrapper and upgrade axios to v1
Introduce a thin HTTP wrapper (resources/scripts/http) that centralizes
axios configuration, interceptors, and auth header injection. All 43
files now import from the wrapper instead of axios directly, making
future library swaps a single-file change. Upgrade axios from 0.30.0
to 1.14.0.
* fix: restore window.Ls assignment removed during axios refactor
company.js uses window.Ls.set() to persist selected company,
which broke after the axios plugin (that set window.Ls) was deleted.
2026-04-02 15:08:23 +02:00
Corey Salzano
01528d9ebe
Fix wrong customer names on invoice list page 2+
...
On the invoices list, when viewing page 2 or later, customer names in the
table could be wrong—opening an invoice showed a different customer than
the one displayed in that row.
Ensure we only apply API responses that match the currently requested page.
This prevents stale or out-of-order responses from overwriting the displayed
data. Also use row id as v-for key for correct Vue reconciliation.
2026-02-16 11:57:36 -05:00
mchev
ba243b28a9
Upgrade to Heroicons v2 ( #281 )
2025-04-05 02:11:12 +02:00
mchev
6b168f36ec
[HOTFIX] Customers names on table list issue #210 ( #310 )
...
* Fix customer dropdown
* Fix #250
2025-02-17 12:11:10 +01:00
mchev
6a0d3a3bcc
Fix customer dropdown ( #307 )
2025-02-05 11:04:17 +01:00
Darko Gjorgjijoski
fcf64c0b26
Upgrade Vite, Vue and other thrid-party packages
2025-01-12 17:38:54 +01:00
Darko Gjorgjijoski
f52b73f517
Invoice time support ( #269 )
...
* Changed invoice date to datetime
* Fixed code style errors
* Update TimeFormatsController.php
* Update TimeFormatter.php
* Update TimeFormatsController namespace
* Fix missing comma in language file
* Fix formatting
---------
Co-authored-by: troky <troky2001@yahoo.com >
2025-01-12 13:32:47 +01:00
mchev
e1a0a2d8e4
Merge pull request #138 from IDerr/develop
...
Add VAT and Tax into PDF Trait
2024-11-02 12:19:43 +01:00
mchev
bc0c8d5348
Merge pull request #166 from mchev/customer_tax_id
...
Include a Tax ID field in both customer creation and invoices
2024-11-02 10:28:49 +01:00
mchev
6583569b1c
Merge pull request #190 from mchev/issue_71
...
Refactor editor and allow links
2024-11-02 10:28:30 +01:00
Martin Chevignard
4ff62c0adf
Refactor editor and allow links
2024-10-17 11:16:11 +02:00
Martin Chevignard
59b43fa258
Public Invoice View fix
2024-10-15 17:55:56 +02:00
Martin Chevignard
03b9defeb1
Customers tax id field
2024-10-04 12:07:29 +02:00
mchev
dd98df1c77
Fix long text on dropdown items ( #157 )
2024-09-30 20:15:56 +02:00
Darko Gjorgjijoski
56a555bc4a
Fix installer wizard step highlighting
2024-07-29 14:06:21 +02:00
Darko Gjorgjijoski
f95d03f281
Fix "declarations that appear after nested rules" deprecation warning
2024-07-29 12:55:29 +02:00
mchev
592a537379
Replace fixed text length with css line-clamp ( #96 )
2024-06-05 14:36:32 +02:00
agencetwogether
3b61440e1f
Complete dashboard translations & small UI improvements ( #69 )
...
* fix dropdown action Estimate Dashboard and fix translating full Dasboard page
* Update app.php
* fix locale in app.php config
* Wizard install with translation, customer portal with translation, and fixing hardcoding strings to get translation
* fixes asked to review
* fixes pint
---------
Co-authored-by: Max <contact@agencetwogether.fr >
Co-authored-by: Darko Gjorgjijoski <5760249+gdarko@users.noreply.github.com >
2024-06-05 12:07:46 +02:00
Timo
df85fd6a0a
Fix base multi select open direction top ( #55 )
2024-04-16 03:01:53 +02:00
Darko Gjorgjijoski
8788f3d504
Tax calculation issue ( #38 )
...
* fix initial tax per item issue
* remove commit in estimate storage
* add changes in tax per item calculation
* add validation on requests
* fix minimum total issue
* fix table pagination filter issue
* minor fix
* remove compound interest and remove unused code
---------
Co-authored-by: yashkanakiya <yashkanakiya281297@gmail.com >
Co-authored-by: dhruvbhattt <dhruvbhatt7790@gmail.com >
Co-authored-by: gdarko <dg@darkog.com >
2024-02-18 10:54:12 +01:00
Darko Gjorgjijoski
1f05b70b0e
Fix logo
...
Closes #11
2024-01-30 08:55:00 +02:00
Darko Gjorgjijoski
8ed447bea8
Fix company/user profile image
2024-01-30 08:45:00 +02:00
gdarko
ce2d250365
Fix button/menu item border
2024-01-28 18:06:11 -06:00
gdarko
1cd00ae809
Fix profile image size on Installation page
2024-01-28 17:56:58 -06:00
Darko Gjorgjijoski
4cf7055d08
Upgrade vue, vue3-flatpickr, vue-i18n, vue-router to the latest versions
2024-01-28 17:31:13 +01:00
Darko Gjorgjijoski
cd9df54c5b
Upgrade to Laravel 10, Vite 5+
2024-01-28 17:17:32 +01:00
Darko Gjorgjijoski
cec86c39ed
Update logo/screenshots
2024-01-28 02:59:42 +01:00
Darko Gjorgjijoski
06a196029e
Update frontend locales
2024-01-28 00:39:23 +01:00
Darko Gjorgjijoski
aef8b228b8
Replace logo, rebuild assets
2024-01-27 13:22:43 +01:00
Mohit Panjwani
b1689dd2c6
Merge branch 'master' of https://github.com/bytefury/crater
2022-03-06 12:25:44 +05:30
asift798
f6771dafd3
fixed search filter is not working
2022-03-04 15:00:56 +05:30
David Wheatley
c07e44520a
typo: somthing -> something ( #820 )
2022-03-04 08:21:17 +05:30
radhika587
2cb51b84c7
add overdue
2022-03-02 18:09:41 +05:30
radhika587
351e6617d9
fix responsive issue
2022-02-25 12:02:36 +05:30
Mohit Panjwani
c28fc073e4
fix responsive cropping issue for ios
2022-02-22 12:29:37 +05:30
asift798
771d396bfb
Merge branch 'master' of gitlab.com:mohit.panjvani/crater-web into fix_all_customer_load
2022-02-15 18:41:57 +05:30
Mohit Panjwani
67e93dcb00
Merge branch 'mark-as-default-template' into 'master'
...
added mark as default changes in estimate and invoice template
See merge request mohit.panjvani/crater-web!1440
2022-02-15 06:16:57 +00:00
Asif Takavala
8ba84f68c7
fixed uploaded attachment not removed
2022-02-15 06:10:04 +00:00
Mohit Panjwani
84f5890294
Merge branch 'fix_all_customer_load'
2022-02-15 10:51:54 +05:30
Mohit Panjwani
ab8089fe98
Merge branch 'master' into fix_all_customer_load
2022-02-15 10:45:50 +05:30