Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
98179b5
handle optimising better, add cancel button
wizzomafizzo Sep 26, 2025
4beb92f
search improvements
wizzomafizzo Sep 28, 2025
f458a3f
no more live search
wizzomafizzo Sep 29, 2025
57bc3e8
search input spacing
wizzomafizzo Sep 29, 2025
19ebcd5
infinite scroll/pagination
wizzomafizzo Sep 29, 2025
14b52f7
fix virt list handling and managing media db status
wizzomafizzo Sep 29, 2025
0d422b3
better tag selector
wizzomafizzo Sep 29, 2025
c7d4240
add recent search history
wizzomafizzo Sep 29, 2025
c6a2f7a
disable gestures on desktop
wizzomafizzo Oct 20, 2025
34db1a2
remove redundant search parameter checks
wizzomafizzo Nov 7, 2025
4e66960
fix pagination bug and add regression test
wizzomafizzo Nov 7, 2025
205b9e2
feat: enhance tag management and UI adjustments
wizzomafizzo Nov 7, 2025
b2065e1
feat: add `TagBadge` and `TagList` components for consistent tag rend…
wizzomafizzo Nov 7, 2025
b260e9a
fix: regression in cancel button state handling
wizzomafizzo Nov 7, 2025
ca4285b
fix: update media database status messages and tests
wizzomafizzo Nov 7, 2025
429bed5
fix: improve translation clarity and refactor search component
wizzomafizzo Nov 7, 2025
ca8aa3b
feat: restructure settings routes and add tests for WebSocket hot reload
wizzomafizzo Nov 7, 2025
e88d63d
refactor: remove grace period logic and update related components/tests
wizzomafizzo Nov 11, 2025
f5fa8ca
refactor: improve readability and consistency in `SlideModal` component
wizzomafizzo Nov 11, 2025
ab87bd4
feat: add "Show more/Show less" toggle for logs and refactor filters
wizzomafizzo Nov 11, 2025
65ea7fe
feat: add cross-env for environment-specific commands and enable dev …
wizzomafizzo Nov 11, 2025
b0fb05c
feat: add NFC share functionality and improve i18n support
wizzomafizzo Nov 11, 2025
5027046
feat: conditionally render "App Settings" link for native platforms
wizzomafizzo Nov 11, 2025
911bd83
feat: implement shake detection for triggering actions
wizzomafizzo Nov 11, 2025
cf64bd1
feat: implement centralized preferences store with Zustand
wizzomafizzo Nov 11, 2025
9e52a62
feat: centralize queue processing and enhance state management
wizzomafizzo Nov 12, 2025
05684e6
feat: prevent duplicate toast notifications for playing state
wizzomafizzo Nov 12, 2025
75471f5
refactor: replace `SystemsSearchModal` with `SystemSelector` and enha…
wizzomafizzo Nov 12, 2025
b02de94
feat: add `defaultSelection` prop to `SystemSelector` for improved de…
wizzomafizzo Nov 12, 2025
39466e3
feat: add `SimpleSystemSelect` component and integrate it into `Media…
wizzomafizzo Nov 12, 2025
3359846
feat: add `customText` to preferences store and refactor `create.cust…
wizzomafizzo Nov 12, 2025
1042357
feat: add hardware availability checks and conditional rendering for …
wizzomafizzo Nov 12, 2025
5568d03
fix lints
wizzomafizzo Nov 12, 2025
456d518
feat: add optimistic connection state handling and WebSocket enhancem…
wizzomafizzo Nov 12, 2025
4eb0243
**feat: optimize asset formats, improve scrolling logic, and enhance …
wizzomafizzo Nov 12, 2025
316f61e
**feat: optimize asset formats, improve scrolling logic, and enhance …
wizzomafizzo Nov 14, 2025
00bd9e3
**feat: introduce onboarding tour with Shepherd.js integration**
wizzomafizzo Nov 15, 2025
1ff0c29
**feat: add compact mode to ToggleChip and adjust spacing in log filt…
wizzomafizzo Nov 15, 2025
f8edb16
**feat: improve accessibility and handling for camera and NFC modes**
wizzomafizzo Nov 15, 2025
77a348c
**feat: refine connection state handling and update translation**
wizzomafizzo Nov 15, 2025
76c2252
**feat: add onKeyUp support to TextInput and improve Enter key handli…
wizzomafizzo Nov 15, 2025
cee6ea6
**feat: add playtime limits support with configuration and notificati…
wizzomafizzo Nov 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions android/app/capacitor.build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@ dependencies {
implementation project(':capacitor-browser')
implementation project(':capacitor-clipboard')
implementation project(':capacitor-preferences')
implementation project(':capacitor-share')
implementation project(':capacitor-status-bar')
implementation project(':capawesome-team-capacitor-nfc')
implementation project(':capawesome-capacitor-android-edge-to-edge-support')
implementation project(':capgo-capacitor-shake')
implementation project(':revenuecat-purchases-capacitor')

}
Expand Down
13 changes: 11 additions & 2 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,20 @@
<uses-permission android:name="android.permission.NFC" />
<!-- The minimum SDK version that your application can support. -->
<uses-sdk android:minSdkVersion="10" />
<!-- (Optional) This will ensure that your app appears in Google Play only for devices with NFC hardware. -->
<uses-feature android:name="android.hardware.nfc" android:required="true" />
<!-- NFC is optional - app can function without it using remote reader. -->
<uses-feature android:name="android.hardware.nfc" android:required="false" />

<!-- To get access to the camera. -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Camera features are optional - app can function without them. -->
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.any" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

<!-- To get access to the flashlight. -->
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />

<!-- To get access to the accelerometer for shake detection. -->
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false" />
</manifest>
8 changes: 7 additions & 1 deletion android/capacitor.settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,20 @@ project(':capacitor-clipboard').projectDir = new File('../node_modules/.pnpm/@ca
include ':capacitor-preferences'
project(':capacitor-preferences').projectDir = new File('../node_modules/.pnpm/@capacitor+preferences@7.0.1_@capacitor+core@7.4.1/node_modules/@capacitor/preferences/android')

include ':capacitor-share'
project(':capacitor-share').projectDir = new File('../node_modules/.pnpm/@capacitor+share@7.0.2_@capacitor+core@7.4.1/node_modules/@capacitor/share/android')

include ':capacitor-status-bar'
project(':capacitor-status-bar').projectDir = new File('../node_modules/.pnpm/@capacitor+status-bar@7.0.1_@capacitor+core@7.4.1/node_modules/@capacitor/status-bar/android')

include ':capawesome-team-capacitor-nfc'
project(':capawesome-team-capacitor-nfc').projectDir = new File('../node_modules/.pnpm/@capawesome-team+capacitor-nfc@7.2.0_@capacitor+core@7.4.1/node_modules/@capawesome-team/capacitor-nfc/android')
project(':capawesome-team-capacitor-nfc').projectDir = new File('../node_modules/.pnpm/@capawesome-team+capacitor-nfc@7.3.0_@capacitor+core@7.4.1/node_modules/@capawesome-team/capacitor-nfc/android')

include ':capawesome-capacitor-android-edge-to-edge-support'
project(':capawesome-capacitor-android-edge-to-edge-support').projectDir = new File('../node_modules/.pnpm/@capawesome+capacitor-android-edge-to-edge-support@7.2.3_@capacitor+core@7.4.1/node_modules/@capawesome/capacitor-android-edge-to-edge-support/android')

include ':capgo-capacitor-shake'
project(':capgo-capacitor-shake').projectDir = new File('../node_modules/.pnpm/@capgo+capacitor-shake@7.2.14_@capacitor+core@7.4.1/node_modules/@capgo/capacitor-shake/android')

include ':revenuecat-purchases-capacitor'
project(':revenuecat-purchases-capacitor').projectDir = new File('../node_modules/.pnpm/@revenuecat+purchases-capacitor@10.3.7_@capacitor+core@7.4.1/node_modules/@revenuecat/purchases-capacitor/android')
11 changes: 5 additions & 6 deletions capacitor.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,10 @@ const config: CapacitorConfig = {
appName: "Zaparoo",
backgroundColor: "#111928",
server: {
// url: `http://${process.env.DEV_SERVER_IP}:8100`,
// url:
// process.env.NODE_ENV === "development" && process.env.DEV_SERVER_IP
// ? `http://${process.env.DEV_SERVER_IP}:8100`
// : undefined,
url:
process.env.NODE_ENV === "development" && process.env.DEV_SERVER_IP
? `http://${process.env.DEV_SERVER_IP}:8100`
: undefined,
androidScheme: "http",
cleartext: true
},
Expand All @@ -30,7 +29,7 @@ const config: CapacitorConfig = {
providers: ["google.com"]
},
EdgeToEdge: {
backgroundColor: '#111928'
backgroundColor: "#111928"
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/logo.png" />
<link rel="icon" type="image/webp" href="/logo.webp" />
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0" />
<title>Zaparoo</title>
<link rel="preload" href="/fonts/OpenSans-VariableFont_wdth,wght.woff2" as="font" type="font/woff2" crossOrigin="" />
Expand Down
4 changes: 3 additions & 1 deletion ios/App/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ def capacitor_pods
pod 'CapacitorBrowser', :path => '../../node_modules/.pnpm/@capacitor+browser@7.0.1_@capacitor+core@7.4.1/node_modules/@capacitor/browser'
pod 'CapacitorClipboard', :path => '../../node_modules/.pnpm/@capacitor+clipboard@7.0.1_@capacitor+core@7.4.1/node_modules/@capacitor/clipboard'
pod 'CapacitorPreferences', :path => '../../node_modules/.pnpm/@capacitor+preferences@7.0.1_@capacitor+core@7.4.1/node_modules/@capacitor/preferences'
pod 'CapacitorShare', :path => '../../node_modules/.pnpm/@capacitor+share@7.0.2_@capacitor+core@7.4.1/node_modules/@capacitor/share'
pod 'CapacitorStatusBar', :path => '../../node_modules/.pnpm/@capacitor+status-bar@7.0.1_@capacitor+core@7.4.1/node_modules/@capacitor/status-bar'
pod 'CapawesomeTeamCapacitorNfc', :path => '../../node_modules/.pnpm/@capawesome-team+capacitor-nfc@7.2.0_@capacitor+core@7.4.1/node_modules/@capawesome-team/capacitor-nfc'
pod 'CapawesomeTeamCapacitorNfc', :path => '../../node_modules/.pnpm/@capawesome-team+capacitor-nfc@7.3.0_@capacitor+core@7.4.1/node_modules/@capawesome-team/capacitor-nfc'
pod 'CapgoCapacitorShake', :path => '../../node_modules/.pnpm/@capgo+capacitor-shake@7.2.14_@capacitor+core@7.4.1/node_modules/@capgo/capacitor-shake'
pod 'RevenuecatPurchasesCapacitor', :path => '../../node_modules/.pnpm/@revenuecat+purchases-capacitor@10.3.7_@capacitor+core@7.4.1/node_modules/@revenuecat/purchases-capacitor'
end

Expand Down
19 changes: 14 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
"type": "module",
"scripts": {
"dev": "vite",
"dev:server": "cross-env NODE_ENV=development vite",
"build": "tsc --noEmit -p tsconfig.build.json && vite build && pnpm exec cap sync",
"build:server": "tsc --noEmit -p tsconfig.build.json && vite build && cross-env NODE_ENV=development cap sync",
"build:analyze": "tsc --noEmit -p tsconfig.build.json && vite build --mode analyze",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 3",
"eslist": "pnpm run lint",
"preview": "vite preview",
Expand All @@ -25,9 +28,12 @@
"@capacitor/core": "^7.4.1",
"@capacitor/ios": "^7.4.1",
"@capacitor/preferences": "^7.0.1",
"@capacitor/share": "^7.0.2",
"@capacitor/status-bar": "^7.0.1",
"@capawesome-team/capacitor-nfc": "7.2.0",
"@capawesome-team/capacitor-nfc": "7.3.0",
"@capawesome/capacitor-android-edge-to-edge-support": "^7.2.3",
"@capgo/capacitor-shake": "^7.2.14",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-slot": "^1.2.3",
Expand All @@ -37,22 +43,23 @@
"@tailwindcss/vite": "^4.1.11",
"@tanstack/react-query": "^5.81.5",
"@tanstack/react-router": "^1.125.6",
"@tanstack/react-virtual": "^3.13.12",
"@uidotdev/usehooks": "^2.4.1",
"axios": "1.10.0",
"axios": "1.12.0",
"class-variance-authority": "^0.7.1",
"classnames": "^2.5.1",
"clsx": "^2.1.1",
"dotenv": "^17.1.0",
"firebase": "^11.10.0",
"i18next": "^25.3.1",
"i18next-browser-languagedetector": "^8.2.0",
"lodash": "^4.17.21",
"lucide-react": "^0.525.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-hot-toast": "^2.5.2",
"react-i18next": "^15.6.0",
"react-swipeable": "^7.0.2",
"shepherd.js": "^14.5.1",
"tailwind-merge": "^3.3.1",
"tailwindcss-animate": "^1.0.7",
"use-debounce": "^10.0.5",
Expand All @@ -70,7 +77,6 @@
"@testing-library/jest-dom": "^6.8.0",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/lodash": "^4.17.20",
"@types/node": "^24.0.11",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
Expand All @@ -81,6 +87,7 @@
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"autoprefixer": "^10.4.21",
"cross-env": "^10.1.0",
"eslint": "^9.34.0",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import-x": "^4.16.1",
Expand All @@ -94,11 +101,13 @@
"postcss": "^8.5.6",
"prettier": "^3.6.2",
"prettier-plugin-tailwindcss": "^0.6.13",
"rollup-plugin-visualizer": "^5.12.0",
"tailwindcss": "^4.1.11",
"tdd-guard-vitest": "^0.1.5",
"terser": "^5.44.1",
"tw-animate-css": "^1.3.5",
"typescript": "^5.8.3",
"vite": "7.0.3",
"vite": "7.1.11",
"vitest": "^3.2.4"
},
"pnpm": {
Expand Down
Loading