mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-22 07:28:43 -04:00
* add Plausible analytics to landing page
* proxy plausible through vercel
* fix typo & add other options
* add plausible to `sd/client`
* add telemetry sharing option into library config
* add telemetry config option to lib creation dialog
* revert error message change but keep the typo fix
* add telemetry sharing & error handling to client context
* add important note about requiring the tracker component in root/base layouts
* add the `PlausibleTracker`
* grammatical tweaks
* some TS cleanup
* disable analytics in debug mode
* further component improvements and use custom event props
* more cleanup
* remove tracking from onboarding (no telemetry sharing config option)
* update comment
* add fancy new plausible hooks/tracking
* add `pageview` monitoring hook to `$libraryId` layout
* add library creation events to onboarding and creation dialog
* revert `useCurrentLibraryId()` error handling & add important comment
* minor comment tweaks
* replace `usage` with `telemetry`
* add missing newline
* add location create & delete events
* add tag create & delete events
* add/update library create & delete events
* add fn for getting telemetry settings for library by uuid
* add more events + fix a few bugs
* update generics
* add `telemetryState` `valtio` store
* use new telemetry state
* remove old artifacts from `ClientContext`
* Revert "add telemetry sharing option into library config"
This reverts commit afb9f892ab.
* update events, docs & generics
* add `tagAssign` event
* light comment updates
* const names, comments, etc
* add additional info to props and update comment
* add telemetry sharing to debug state (for sharing telemetry in debug mode)
* update `debugState` item name
* change how `Switch` updates the store in privacy settings
* remove `getTelemetryState` from `telemetryState`
* cleanup library creation event handling/telemetry config updating
* add `DebugPopover` to onboarding in debug mode
* improve code quality/comments
* remove useless comment
* rename `ob_store` and `shareTelemetryDataWithDevelopers`
* fix typo
* add `telemetryLogger` and prevent multiple of the same events from firing consecutively
* add more unique path matching and fix an issue with events
* rename `telemetryLogger` -> `telemetryLogging`
---------
Co-authored-by: brxken128 <77554505+brxken128@users.noreply.github.com>
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { useLibraryMutation, usePlausibleEvent } from '@sd/client';
|
|
import { dialogManager } from '@sd/ui';
|
|
import { usePlatform } from '~/util/Platform';
|
|
import AddLocationDialog from '../../settings/library/locations/AddDialog';
|
|
|
|
export default () => {
|
|
const platform = usePlatform();
|
|
const submitPlausibleEvent = usePlausibleEvent({ platformType: platform.platform });
|
|
const createLocation = useLibraryMutation('locations.create', {
|
|
onSuccess: () => {
|
|
submitPlausibleEvent({
|
|
event: {
|
|
type: 'locationCreate'
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
return (
|
|
<button
|
|
onClick={() => {
|
|
if (platform.platform === 'web') {
|
|
dialogManager.create((dp) => <AddLocationDialog {...dp} />);
|
|
} else {
|
|
if (!platform.openDirectoryPickerDialog) {
|
|
alert('Opening a dialogue is not supported on this platform!');
|
|
return;
|
|
}
|
|
platform.openDirectoryPickerDialog().then((result) => {
|
|
// TODO: Pass indexer rules ids to create location
|
|
if (result)
|
|
createLocation.mutate({
|
|
path: result as string,
|
|
indexer_rules_ids: []
|
|
});
|
|
});
|
|
}
|
|
}}
|
|
className="
|
|
border-sidebar-line hover:border-sidebar-selected cursor-normal text-ink-faint mt-1 w-full rounded
|
|
border border-dashed px-2 py-1 text-center
|
|
text-xs font-medium transition
|
|
"
|
|
>
|
|
Add Location
|
|
</button>
|
|
);
|
|
};
|