diff --git a/src/cljs/athens/electron/db_menu/core.cljs b/src/cljs/athens/electron/db_menu/core.cljs index bbd9797fca..7a6a98308d 100644 --- a/src/cljs/athens/electron/db_menu/core.cljs +++ b/src/cljs/athens/electron/db_menu/core.cljs @@ -24,7 +24,7 @@ [:> Button {:mr "auto" :onClick #(reset! merge-open? true)} "Merge from Roam"] (when-not (= :in-memory (:type db)) - [:> Tooltip {:label "Can't remove last database" + [:> Tooltip {:label "Can't remove the last workspace" :placement "right" :isDisabled (< 1 (count all-dbs))} [:> Button {:isDisabled (= 1 (count all-dbs)) @@ -48,7 +48,7 @@ [:> PopoverTrigger [:> IconButton {:p 0 :variant "ghost" - :aria-label "Database menu"} + :aria-label "Workspaces menu"} ;; DB Icon + Dropdown toggle [db-icon {:db active-db :status sync-status}]]] @@ -76,7 +76,7 @@ :textTransform "uppercase" :fontWeight "bold" :color "foreground.secondary"} - "Other databases"] + "Other workspaces"] [:> VStack {:align "stretch" :position "relative" :spacing 0 @@ -107,4 +107,4 @@ :ml 10 :justifyContent "flex-start"} [:> Button {:onClick #(dispatch [:modal/toggle])} - "Add Database"]]]]]]])) + "Add Workspace"]]]]]]])) diff --git a/src/cljs/athens/electron/db_modal.cljs b/src/cljs/athens/electron/db_modal.cljs index 7dbac5ed69..f68fe5081c 100644 --- a/src/cljs/athens/electron/db_modal.cljs +++ b/src/cljs/athens/electron/db_modal.cljs @@ -27,7 +27,7 @@ [:> FormControl {:isReadOnly true} [:> FormLabel (if @loading "No DB Found At" - "Current database location")] + "Current workspace location")] [:> HStack [:> Text {:as "output" :borderRadius "md" @@ -71,7 +71,7 @@ (->> [:> VStack {:spacing 4} [:> FormControl - [:> FormLabel "Database name"] + [:> FormLabel "Workspace name"] [:> Input {:defaultValue @name :onChange #(reset! name (js-event->val %))}]] [:> FormControl @@ -109,7 +109,7 @@ [:> ModalOverlay] [:> ModalContent [:> ModalHeader - "Add Database"] + "Add Workspace"] (when-not @loading [:> ModalCloseButton]) [:> ModalBody {:display "contents"} @@ -121,9 +121,9 @@ :defaultIndex (if utils/electron? 0 1)} (when utils/electron? [:> TabList - [:> Tab "Open Local"] - [:> Tab "Join Remote"] - [:> Tab "Create New"]]) + [:> Tab "Open Local Workspace"] + [:> Tab "Join Remote Workspace"] + [:> Tab "Create Workspace"]]) [:> TabPanels {:display "contents"} [:> TabPanel {:display "contents"} [open-local-comp loading selected-db]] diff --git a/src/cljs/athens/electron/db_picker.cljs b/src/cljs/athens/electron/db_picker.cljs index d77702111e..1deade3472 100644 --- a/src/cljs/athens/electron/db_picker.cljs +++ b/src/cljs/athens/electron/db_picker.cljs @@ -87,7 +87,7 @@ db-exists? (utils/db-exists? target-db)] (cond (not synced?) - {:dispatch [:alert/js "Database is saving your changes, if you switch now your changes will not be saved."]} + {:dispatch [:alert/js "Athens is saving your changes, if you switch now your changes will not be saved."]} db-exists? {:db (select-db db id) @@ -96,7 +96,7 @@ [:boot]]} :else - {:dispatch-n [[:alert/js "This database does not exist anymore, removing it from list."] + {:dispatch-n [[:alert/js "This workspace does not exist. It will be removed from the list."] [:db-picker/remove-db target-db]]})))) diff --git a/src/cljs/athens/electron/dialogs.cljs b/src/cljs/athens/electron/dialogs.cljs index 7188e753cf..63d8af2849 100644 --- a/src/cljs/athens/electron/dialogs.cljs +++ b/src/cljs/athens/electron/dialogs.cljs @@ -62,7 +62,7 @@ (defn open-dialog! - "Allow user to open db elsewhere from filesystem." + "Allow user to open workspace elsewhere from filesystem." [] (let [res (.showOpenDialogSync (utils/dialog) open-dir-opts) db-location (first res)] @@ -71,7 +71,7 @@ (defn create-dialog! - "Create a new database." + "Create a new workspace" [db-name] (let [res (.showOpenDialogSync (utils/dialog) open-dir-opts) db-location (first res)] @@ -94,7 +94,7 @@ (defn delete-dialog! - "Delete an existing database. Select the first db of the remaining ones if user is deleting the currently selected db." + "Delete an existing workspace. Select the first db of the remaining ones if user is deleting the currently selected db." [{:keys [id] :as db}] (let [remote-db? (utils/remote-db? db) confirmation-msg (delete-msg-prompt db) diff --git a/src/cljs/athens/events/remote.cljs b/src/cljs/athens/events/remote.cljs index 3c7720bcc3..1c6fac5185 100644 --- a/src/cljs/athens/events/remote.cljs +++ b/src/cljs/athens/events/remote.cljs @@ -37,7 +37,7 @@ :remote/connection-failed (fn [_ _] (log/warn ":remote/connection-failed") - {:fx [[:dispatch-n [[:alert/js "Was not able to connect to the remote database."] + {:fx [[:dispatch-n [[:alert/js "Couldn't connect to remote workspace."] [:conn-status :disconnected] [:db-picker/select-default-db]]]]})) diff --git a/src/cljs/athens/import/roam.cljs b/src/cljs/athens/import/roam.cljs index f11f1ff3d8..61b0ce6ec6 100644 --- a/src/cljs/athens/import/roam.cljs +++ b/src/cljs/athens/import/roam.cljs @@ -219,7 +219,7 @@ [:> ButtonGroup [:> Button {:onClick #(.click @inputRef)} - "Upload database"]]]]) + "Upload workspace"]]]]) (let [athens-db @athens.db/dsdb roam-db @transformed-roam-db [shared-pages roam-pages] (shared-and-non-shared-pages athens-db roam-db)] diff --git a/src/cljs/athens/views/app_toolbar.cljs b/src/cljs/athens/views/app_toolbar.cljs index 7fd59788df..4220706c51 100644 --- a/src/cljs/athens/views/app_toolbar.cljs +++ b/src/cljs/athens/views/app_toolbar.cljs @@ -102,7 +102,7 @@ :onPressMinimize on-minimize :currentPageTitle (or @current-page-title nil) :onPressClose on-close - :databaseMenu (r/as-element [db-menu]) + :workspacesMenu (r/as-element [db-menu]) :presenceDetails (when (electron.utils/remote-db? @selected-db) (r/as-element [toolbar-presence-el]))} (when (notifications/enabled?) diff --git a/src/cljs/athens/views/pages/settings.cljs b/src/cljs/athens/views/pages/settings.cljs index 05dc85ee6f..6a4af17174 100644 --- a/src/cljs/athens/views/pages/settings.cljs +++ b/src/cljs/athens/views/pages/settings.cljs @@ -204,7 +204,7 @@ :onChange #(handle-monitoring-click monitoring update-fn)} "Send usage data and diagnostics to Athens"]] [help - [:<> [:p "Athens has never and will never look at the contents of your database."] + [:<> [:p "Athens has never and will never look at the contents of your workspace."] [:p "Athens will never ever sell your data."]]]]]) @@ -305,8 +305,8 @@ "Reset all settings to defaults"]] [help [:<> [:> Text "All settings saved between sessions will be restored to defaults."] - [:> Text "Databases on disk will not be deleted, but you will need to add them to Athens again."] - [:> Text "Athens will restart after reset and open the default database path."]]]]]) + [:> Text "Workspaces on disk will not be deleted, but you will need to add them to Athens again."] + [:> Text "Athens will restart after reset and open the default workspace path."]]]]]) (defn page diff --git a/src/js/components/AppToolbar/AppToolbar.tsx b/src/js/components/AppToolbar/AppToolbar.tsx index 6d9acded1f..984df774c4 100644 --- a/src/js/components/AppToolbar/AppToolbar.tsx +++ b/src/js/components/AppToolbar/AppToolbar.tsx @@ -85,9 +85,9 @@ export interface AppToolbarProps extends React.HTMLAttributes { */ isCommandBarOpen: boolean; /** - * Whether the choose database dialog is open + * Whether the choose workspaces dialog is open */ - isDatabaseDialogOpen: boolean; + isWorkspacesDialogOpen: boolean; /** * Whether the help dialog is open */ @@ -122,7 +122,7 @@ export interface AppToolbarProps extends React.HTMLAttributes { onPressLeftSidebarToggle(): void; onPressRightSidebarToggle(): void; onPressNotification(): void; - databaseMenu?: React.FC; + workspacesMenu?: React.FC; notificationPopover?: React.FC; presenceDetails?: React.FC; } @@ -178,7 +178,7 @@ export const AppToolbar = (props: AppToolbarProps): React.ReactElement => { onPressMinimize: handlePressMinimize, onPressMaximizeRestore: handlePressMaximizeRestore, onPressClose: handlePressClose, - databaseMenu, + workspacesMenu, notificationPopover, currentPageTitle, presenceDetails, @@ -206,7 +206,7 @@ export const AppToolbar = (props: AppToolbarProps): React.ReactElement => { return () => scrollContainer.removeEventListener('scroll', handleScroll); }, []); - // If the database color mode doesn't match + // If the workspace color mode doesn't match // the chakra color mode, update the chakra color mode React.useEffect(() => { if (isThemeDark && colorMode !== 'dark') { @@ -300,7 +300,7 @@ export const AppToolbar = (props: AppToolbarProps): React.ReactElement => { > - {databaseMenu} + {workspacesMenu} {/* Right side */} {isElectron && ( diff --git a/src/js/components/PresenceDetails/PresenceDetails.tsx b/src/js/components/PresenceDetails/PresenceDetails.tsx index c58c0fe2d5..b639e7d2da 100644 --- a/src/js/components/PresenceDetails/PresenceDetails.tsx +++ b/src/js/components/PresenceDetails/PresenceDetails.tsx @@ -98,7 +98,7 @@ export const PresenceDetails = withErrorBoundary((props: PresenceDetailsProps) = {hostAddress && ( <> handleCopyHostAddress(hostAddress)}> - Copy link to database + Copy link to workspace {handleCopyPermalink && handleCopyPermalink()}> Copy link to page diff --git a/src/js/components/utils/interfaces.ts b/src/js/components/utils/interfaces.ts index 37943850b6..d2aa133eff 100644 --- a/src/js/components/utils/interfaces.ts +++ b/src/js/components/utils/interfaces.ts @@ -27,7 +27,7 @@ type HostAddress = string; /** * A knowledge graph */ -type Database = { +type Workspace = { id: string; name: string; isRemote: boolean; diff --git a/src/js/components/utils/useAppState.ts b/src/js/components/utils/useAppState.ts index 6f6d351205..bcc2ee1f3b 100644 --- a/src/js/components/utils/useAppState.ts +++ b/src/js/components/utils/useAppState.ts @@ -16,33 +16,33 @@ const mockData = { export const useAppState = () => { // Session - const [ currentUser, setCurrentUser ] = React.useState(mockData.currentUser); - const [ hostAddress, setHostAddress ] = React.useState(mockData.hostAddress); - const [ currentPageMembers, setCurrentPageMembers ] = React.useState(mockData.currentPageMembers); - const [ differentPageMembers, setDifferentPageMembers ] = React.useState(mockData.differentPageMembers); + const [currentUser, setCurrentUser] = React.useState(mockData.currentUser); + const [hostAddress, setHostAddress] = React.useState(mockData.hostAddress); + const [currentPageMembers, setCurrentPageMembers] = React.useState(mockData.currentPageMembers); + const [differentPageMembers, setDifferentPageMembers] = React.useState(mockData.differentPageMembers); // Preferences - const [ isThemeDark, setIsThemeDark ] = React.useState(false); + const [isThemeDark, setIsThemeDark] = React.useState(false); // App properties - const [ route, setRoute ] = React.useState(''); - const [ isOnline, setIsOnline ] = React.useState(false); + const [route, setRoute] = React.useState(''); + const [isOnline, setIsOnline] = React.useState(false); // Window properties - const [ isWinFullscreen, setIsWinFullscreen ] = React.useState(false); - const [ isWinFocused, setIsWinFocused ] = React.useState(true); - const [ isWinMaximized, setIsWinMaximized ] = React.useState(false); - const [ isElectron, setIsElectron ] = React.useState(true); + const [isWinFullscreen, setIsWinFullscreen] = React.useState(false); + const [isWinFocused, setIsWinFocused] = React.useState(true); + const [isWinMaximized, setIsWinMaximized] = React.useState(false); + const [isElectron, setIsElectron] = React.useState(true); // Layout components - const [ isLeftSidebarOpen, setIsLeftSidebarOpen ] = React.useState(false); - const [ isRightSidebarOpen, setIsRightSidebarOpen ] = React.useState(false); - const [ isCommandBarOpen, setIsCommandBarOpen ] = React.useState(false); + const [isLeftSidebarOpen, setIsLeftSidebarOpen] = React.useState(false); + const [isRightSidebarOpen, setIsRightSidebarOpen] = React.useState(false); + const [isCommandBarOpen, setIsCommandBarOpen] = React.useState(false); // Dialogs and Workflows - const [ isMergeDialogOpen, setIsMergeDialogOpen ] = React.useState(false); - const [ isDatabaseDialogOpen, setIsDatabaseDialogOpen ] = React.useState(false); - const [ isSettingsOpen, setIsSettingsOpen ] = React.useState(false); + const [isMergeDialogOpen, setIsMergeDialogOpen] = React.useState(false); + const [isWorkspaceDialogOpen, setIsWorkspaceDialogOpen] = React.useState(false); + const [isSettingsOpen, setIsSettingsOpen] = React.useState(false); return { currentUser, @@ -77,7 +77,7 @@ export const useAppState = () => { setIsCommandBarOpen, isMergeDialogOpen, setIsMergeDialogOpen, - isDatabaseDialogOpen, - setIsDatabaseDialogOpen, + isWorkspaceDialogOpen, + setIsWorkspaceDialogOpen, } } diff --git a/test/athens/db_test.cljs b/test/athens/db_test.cljs index a5b6e2160a..f251b012a1 100644 --- a/test/athens/db_test.cljs +++ b/test/athens/db_test.cljs @@ -20,7 +20,7 @@ (deftest search-in-node-title-test - ;; Given that database contains nodes with titles node-titles and we search + ;; Given that workspace contains nodes with titles node-titles and we search ;; for query, check that expected-titles were returned by the search. (are [node-titles query expected-titles] (with-redefs diff --git a/test/e2e/utils.ts b/test/e2e/utils.ts index 1ad7d3c75a..dee4dfc70c 100644 --- a/test/e2e/utils.ts +++ b/test/e2e/utils.ts @@ -9,17 +9,17 @@ export const isMac = process.platform === "darwin"; export const createLocalAthensDB = async (page: Page, dbName: string) => { // click db picker await page.click('button:nth-child(1)'); - // click "Add Database" - await page.click('button:has-text("Add Database")'); + // click "Add Workspace" + await page.click('button:has-text("Add Workspace")'); // click "New" await page.click('button:has-text("New")'); - // Click [placeholder="DB Name"] - await page.click('[placeholder="DB Name"]'); + // Click [placeholder="Workspace name"] + await page.click('[placeholder="Workspace name"]'); - // Fill [placeholder="DB Name"] - await page.fill('[placeholder="DB Name"]', dbName); + // Fill [placeholder="Workspace name"] + await page.fill('[placeholder="Workspace name"]', dbName); const [fileChooser] = await Promise.all([ // TODO this is broken in Playwright for electron, no fix in sight