diff --git a/apps/oneclient/frontend/src/bindings.gen.ts b/apps/oneclient/frontend/src/bindings.gen.ts index 11dd7f7c..2ba101b4 100644 --- a/apps/oneclient/frontend/src/bindings.gen.ts +++ b/apps/oneclient/frontend/src/bindings.gen.ts @@ -254,7 +254,7 @@ export type VersionType = */ "old_beta" -const ARGS_MAP = { 'events':'{"ingress":["event"],"process":["event"],"message":["event"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}', 'oneclient':'{"getBundlesFor":["cluster_id"],"getClustersGroupedByMajor":[],"openDevTools":[]}', 'core':'{"launchCluster":["id","uuid"],"getRunningProcesses":[],"getUsersFromAuthor":["provider","author"],"convertUsernameUUID":["username_uuid"],"getUsers":[],"getLogs":["id"],"fetchLoggedInProfile":["access_token"],"getGameVersions":[],"updateClusterProfile":["name","profile"],"getClusterById":["id"],"isClusterRunning":["cluster_id"],"readSettings":[],"getPackage":["provider","slug"],"removeUser":["uuid"],"removeCape":["access_token"],"open":["input"],"killProcess":["pid"],"setDefaultUser":["uuid"],"updateClusterById":["id","request"],"getGlobalProfile":[],"createSettingsProfile":["name"],"searchPackages":["provider","query"],"getLoadersForVersion":["mc_version"],"changeCape":["access_token","cape_uuid"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getPackageBody":["provider","body"],"getClusters":[],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"removeCluster":["id"],"createCluster":["options"],"getUser":["uuid"],"getWorlds":["id"],"getScreenshots":["id"],"getProfileOrDefault":["name"],"getMultiplePackages":["provider","slugs"],"fetchMinecraftProfile":["uuid"],"changeSkin":["access_token","skin_url","skin_variant"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"writeSettings":["setting"],"installModpack":["modpack","cluster_id"],"getRunningProcessesByClusterId":["cluster_id"],"getLogByName":["id","name"],"getDefaultUser":["fallback"],"openMsaLogin":[]}' } +const ARGS_MAP = { 'core':'{"fetchLoggedInProfile":["access_token"],"getUsersFromAuthor":["provider","author"],"createCluster":["options"],"convertUsernameUUID":["username_uuid"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"updateClusterById":["id","request"],"launchCluster":["id","uuid"],"createSettingsProfile":["name"],"removeCape":["access_token"],"getLoadersForVersion":["mc_version"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"getLogs":["id"],"readSettings":[],"getClusterById":["id"],"isClusterRunning":["cluster_id"],"getProfileOrDefault":["name"],"getGlobalProfile":[],"open":["input"],"installModpack":["modpack","cluster_id"],"getLogByName":["id","name"],"updateClusterProfile":["name","profile"],"setDefaultUser":["uuid"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getRunningProcessesByClusterId":["cluster_id"],"getDefaultUser":["fallback"],"getMultiplePackages":["provider","slugs"],"removeCluster":["id"],"openMsaLogin":[],"changeCape":["access_token","cape_uuid"],"getUsers":[],"searchPackages":["provider","query"],"getScreenshots":["id"],"killProcess":["pid"],"getRunningProcesses":[],"getPackageBody":["provider","body"],"fetchMinecraftProfile":["uuid"],"changeSkin":["access_token","skin_url","skin_variant"],"getClusters":[],"writeSettings":["setting"],"getGameVersions":[],"getUser":["uuid"],"getPackage":["provider","slug"],"removeUser":["uuid"],"getWorlds":["id"]}', 'events':'{"ingress":["event"],"message":["event"],"process":["event"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}', 'oneclient':'{"openDevTools":[],"getClustersGroupedByMajor":[],"getBundlesFor":["cluster_id"]}' } export type Router = { 'folders': { fromCluster: (folderName: string) => Promise, openCluster: (folderName: string) => Promise }, 'core': { getClusters: () => Promise, @@ -301,12 +301,12 @@ changeCape: (accessToken: string, capeUuid: string) => Promise Promise, convertUsernameUUID: (usernameUuid: string) => Promise, open: (input: string) => Promise }, -'events': { ingress: (event: IngressPayload) => Promise, -message: (event: MessagePayload) => Promise, -process: (event: ProcessPayload) => Promise }, 'oneclient': { openDevTools: () => Promise, getClustersGroupedByMajor: () => Promise>, -getBundlesFor: (clusterId: number) => Promise } }; +getBundlesFor: (clusterId: number) => Promise }, +'events': { ingress: (event: IngressPayload) => Promise, +message: (event: MessagePayload) => Promise, +process: (event: ProcessPayload) => Promise } }; export type { InferCommandOutput } diff --git a/apps/oneclient/frontend/src/components/ExternalLink.tsx b/apps/oneclient/frontend/src/components/ExternalLink.tsx index ab64843f..9679dbf5 100644 --- a/apps/oneclient/frontend/src/components/ExternalLink.tsx +++ b/apps/oneclient/frontend/src/components/ExternalLink.tsx @@ -1,10 +1,12 @@ import type React from 'react'; import type { HTMLProps } from 'react'; import { bindings } from '@/main'; -import { LinkExternal01Icon } from '@untitled-theme/icons-react'; +import { writeText } from '@tauri-apps/plugin-clipboard-manager'; +import { LinkExternal01Icon, Copy03Icon } from '@untitled-theme/icons-react'; import { useState } from 'react'; import { twMerge } from 'tailwind-merge'; import { Overlay } from './overlay'; +import { toast } from '@/utils/toast'; export interface ExternalLinkProps extends HTMLProps { href?: string | undefined; @@ -59,8 +61,13 @@ export function ExternalLink({ buttons={[ { color: 'secondary', - children: 'Cancel', - slot: 'close', + children: 'Copy Link', + onClick: () => { + if (href) + writeText(href); + + setIsOpen(false); + }, }, { color: 'primary',