diff --git a/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx b/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx index 39f4029..f9f81fb 100644 --- a/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx @@ -13,9 +13,10 @@ import { apiDeleteCalendarMember, apiGetCalendarOne, apiGetDivisionOneFeature } import { setUpdateCalendar } from "@/lib/calendarUpdate" import { useAuthSession } from "@/providers/AuthProvider" import { MaterialCommunityIcons } from "@expo/vector-icons" +import Clipboard from "@react-native-clipboard/clipboard" import { router, Stack, useLocalSearchParams } from "expo-router" import { useEffect, useState } from "react" -import { RefreshControl, SafeAreaView, ScrollView, View } from "react-native" +import { Pressable, RefreshControl, SafeAreaView, ScrollView, View } from "react-native" import Toast from "react-native-toast-message" import { useDispatch, useSelector } from "react-redux" @@ -115,6 +116,11 @@ export default function DetailEventCalendar() { handleLoadMember(); }, [update.member]); + const handleCopy = (text: string) => { + Clipboard.setString(text); + Toast.show({ type: 'small', text1: 'Berhasil menyalin link', }) + }; + async function handleDeleteUser() { try { const hasil = await decryptToken(String(token?.current)); @@ -216,10 +222,14 @@ export default function DetailEventCalendar() { loading ? : - {data?.linkMeet ? data.linkMeet : '-'} + data?.linkMeet ? + { handleCopy(data.linkMeet) }}> + {data.linkMeet} + + : - } - + { loading ? diff --git a/bun.lockb b/bun.lockb index 62f25d9..3381a39 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 3e509e4..a7e1e3f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2027,6 +2027,8 @@ PODS: - React-utils (= 0.79.5) - RNCAsyncStorage (2.1.2): - React-Core + - RNCClipboard (1.16.3): + - React-Core - RNDateTimePicker (8.4.1): - React-Core - RNFBApp (22.4.0): @@ -2328,6 +2330,7 @@ DEPENDENCIES: - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" + - "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)" - "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)" - "RNFBApp (from `../node_modules/@react-native-firebase/app`)" - "RNFBDatabase (from `../node_modules/@react-native-firebase/database`)" @@ -2570,6 +2573,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon" RNCAsyncStorage: :path: "../node_modules/@react-native-async-storage/async-storage" + RNCClipboard: + :path: "../node_modules/@react-native-clipboard/clipboard" RNDateTimePicker: :path: "../node_modules/@react-native-community/datetimepicker" RNFBApp: @@ -2712,6 +2717,7 @@ SPEC CHECKSUMS: ReactCodegen: 272c9bc1a8a917bf557bd9d032a4b3e181c6abfe ReactCommon: 7eb76fcd5133313d8c6a138a5c7dd89f80f189d5 RNCAsyncStorage: b9f5f78da5d16a853fe3dc22e8268d932fc45a83 + RNCClipboard: f6679d470d0da2bce2a37b0af7b9e0bf369ecda5 RNDateTimePicker: 60f9e986d61e42169a2716c1b51f1f93dfa82665 RNFBApp: 12884d3bf9b3a0223efe4a0adce516edf72c4102 RNFBDatabase: 1e5c4bda4bb47a48820089ddef498f9af21cb52b diff --git a/package.json b/package.json index 815c340..31b5d7b 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@expo/vector-icons": "^14.0.2", "@formatjs/intl-getcanonicallocales": "^2.5.5", "@react-native-async-storage/async-storage": "2.1.2", + "@react-native-clipboard/clipboard": "^1.16.3", "@react-native-community/cli": "^19.1.0", "@react-native-community/datetimepicker": "8.4.1", "@react-native-firebase/app": "^22.4.0",