2023-02-10 20:22:36 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
<!-- Web App Config -->
< title > PairDrop< / title >
2023-04-20 21:40:26 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2023-02-10 20:22:36 +01:00
< meta name = "theme-color" content = "#3367d6" >
< meta name = "color-scheme" content = "dark light" >
< meta name = "apple-mobile-web-app-capable" content = "no" >
< meta name = "apple-mobile-web-app-title" content = "PairDrop" >
< meta name = "application-name" content = "PairDrop" >
<!-- Descriptions -->
< meta name = "description" content = "Instantly share images, videos, PDFs, and links with people nearby. Peer2Peer and Open Source. No Setup, No Signup." >
< meta name = "keywords" content = "File, Transfer, Share, Peer2Peer" >
< meta name = "author" content = "RobinLinus" >
< meta property = "og:title" content = "PairDrop" >
< meta property = "og:type" content = "article" >
< meta property = "og:url" content = "https://pairdrop.net/" >
< meta property = "og:author" content = "https://github.com/schlagmichdoch" >
< meta name = "twitter:author" content = "@schlagmichdoch" >
< meta name = "twitter:card" content = "summary_large_image" >
< meta name = "twitter:description" content = "Instantly share images, videos, PDFs, and links with people nearby. Peer2Peer and Open Source. No Setup, No Signup." >
< meta name = "og:description" content = "Instantly share images, videos, PDFs, and links with people nearby. Peer2Peer and Open Source. No Setup, No Signup." >
<!-- Icons -->
< link rel = "icon" sizes = "96x96" href = "images/favicon-96x96.png" >
< link rel = "shortcut icon" href = "images/favicon-96x96.png" >
< link rel = "apple-touch-icon" href = "images/apple-touch-icon.png" >
< meta name = "msapplication-TileImage" content = "images/mstile-150x150.png" >
< link rel = "fluid-icon" type = "image/png" href = "images/android-chrome-192x192.png" >
< meta name = "twitter:image" content = "images/logo_transparent_512x512.png" >
< meta property = "og:image" content = "images/logo_transparent_512x512.png" >
<!-- Resources -->
< link rel = "stylesheet" type = "text/css" href = "styles.css" >
< link rel = "manifest" href = "manifest.json" >
< / head >
< body translate = "no" >
< header class = "row-reverse" >
2023-07-06 21:29:36 +02:00
< a href = "#about" class = "icon-button" data-i18n-key = "header.about" data-i18n-attrs = "title aria-label" title = "About PairDrop" aria-label = "Open About PairDrop" >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#info-outline" / >
< / svg >
< / a >
2023-08-30 14:57:40 +02:00
< div id = "language-selector" class = "icon-button" data-i18n-key = "header.language-selector" data-i18n-attrs = "title" title = "Select Language" >
< svg class = "icon" >
< use xlink:href = "#icon-language-selector" / >
< / svg >
< / div >
2023-03-28 17:26:22 +02:00
< div id = "theme-wrapper" >
2023-07-06 21:29:36 +02:00
< div id = "theme-auto" class = "icon-button selected" data-i18n-key = "header.theme-auto" data-i18n-attrs = "title" title = "Adapt Theme to System" >
2023-03-28 17:26:22 +02:00
< svg class = "icon" >
< use xlink:href = "#icon-theme-auto" / >
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-03-28 17:26:22 +02:00
< div >
2023-07-06 21:29:36 +02:00
< div id = "theme-light" class = "icon-button" data-i18n-key = "header.theme-light" data-i18n-attrs = "title" title = "Always Use Light-Theme" >
2023-03-28 17:26:22 +02:00
< svg class = "icon" >
< use xlink:href = "#icon-theme-light" / >
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-07-06 21:29:36 +02:00
< div id = "theme-dark" class = "icon-button" data-i18n-key = "header.theme-dark" data-i18n-attrs = "title" title = "Always Use Dark-Theme" >
2023-03-28 17:26:22 +02:00
< svg class = "icon" >
< use xlink:href = "#icon-theme-dark" / >
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-03-28 17:26:22 +02:00
< / div >
< / div >
2023-07-06 21:29:36 +02:00
< div id = "notification" class = "icon-button" data-i18n-key = "header.notification" data-i18n-attrs = "title" title = "Enable Notifications" hidden >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#notifications" / >
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-07-06 21:29:36 +02:00
< div id = "install" class = "icon-button" data-i18n-key = "header.install" data-i18n-attrs = "title" title = "Install PairDrop" hidden >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#homescreen" / >
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< div id = "pair-device" class = "icon-button" data-i18n-key = "header.pair-device" data-i18n-attrs = "title" title = "Pair Your Devices Permanently" >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#pair-device-icon" / >
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-07-06 21:29:36 +02:00
< div id = "edit-paired-devices" class = "icon-button" data-i18n-key = "header.edit-paired-devices" data-i18n-attrs = "title" title = "Edit Paired Devices" hidden >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
2023-05-04 17:38:51 +02:00
< use xlink:href = "#edit-pair-devices-icon" / >
2023-02-10 20:22:36 +01:00
< / svg >
2023-03-08 15:18:22 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< div id = "join-public-room" class = "icon-button" data-i18n-key = "header.join-public-room" data-i18n-attrs = "title" title = "Join Public Room Temporarily" >
< svg class = "icon" >
< use xlink:href = "#public-room-icon" / >
< / svg >
< / div >
2023-07-07 14:58:15 +02:00
< div id = "cancel-paste-mode" class = "button" data-i18n-key = "header.cancel-paste-mode" data-i18n-attrs = "text" hidden > Done< / div >
2023-02-10 20:22:36 +01:00
< / header >
2023-03-01 10:04:37 +01:00
<!-- Center -->
< div id = "center" >
<!-- Peers -->
< div class = "x-peers-filler" > < / div >
< x-peers class = "center" > < / x-peers >
2023-07-06 21:29:36 +02:00
< x-no-peers data-i18n-key = "instructions.no-peers" data-i18n-attrs = "data-drop-bg" data-drop-bg = "Release to select recipient" >
< h2 data-i18n-key = "instructions.no-peers-title" data-i18n-attrs = "text" > Open PairDrop on other devices to send files< / h2 >
2023-09-13 19:00:48 +02:00
< div data-i18n-key = "instructions.no-peers-subtitle" data-i18n-attrs = "text" > Pair devices or enter a public room to be discoverable on other networks< / div >
2023-03-01 10:04:37 +01:00
< / x-no-peers >
2023-07-06 21:29:36 +02:00
< x-instructions data-i18n-key = "instructions.x-instructions" data-i18n-attrs = "desktop mobile data-drop-peer data-drop-bg"
desktop="Click to send files or right click to send a message"
mobile="Tap to send files or long tap to send a message"
data-drop-peer="Release to send to peer"
data-drop-bg="Release to select recipient">
2023-03-01 10:44:57 +01:00
< p id = "paste-filename" > < / p >
2023-03-01 10:04:37 +01:00
< / x-instructions >
2023-09-14 19:03:43 +02:00
< div id = "websocket-fallback" >
< span data-i18n-key = "footer.traffic" data-i18n-attrs = "text" > Traffic is< / span >
< span data-i18n-key = "footer.routed" data-i18n-attrs = "text" > routed through the server< / span >
< span data-i18n-key = "footer.webrtc" data-i18n-attrs = "text" > if WebRTC is not available.< / span >
< / div >
2023-03-01 10:04:37 +01:00
< / div >
2023-02-10 20:22:36 +01:00
<!-- Footer -->
< footer class = "column" >
< svg class = "icon logo" >
< use xlink:href = "#wifi-tethering" / >
< / svg >
2023-09-13 19:00:48 +02:00
< div class = "column" >
< div class = "known-as-wrapper" >
< span data-i18n-key = "footer.known-as" data-i18n-attrs = "text" > You are known as:< / span >
< div id = "display-name" class = "badge" data-i18n-key = "footer.display-name" data-i18n-attrs = "data-placeholder title"
placeholder="Loading..." data-placeholder="Loading..." title="Edit your device name permanently"
autocorrect="off" autocomplete="off" autocapitalize="none" spellcheck="false" contenteditable>< / div >
< svg id = "edit-pen" class = "icon" >
< use xlink:href = "#edit-pen-icon" / >
< / svg >
2023-07-06 21:29:36 +02:00
< / div >
2023-09-13 19:00:48 +02:00
< div class = "discovery-wrapper row" >
< div class = "row center" >
< span data-i18n-key = "footer.discovery" data-i18n-attrs = "text" > You can be discovered:< / span >
< / div >
< div class = "row center" >
< span class = "badge badge-room-ip" data-i18n-key = "footer.on-this-network" data-i18n-attrs = "text title" > on this network< / span >
< span class = "badge badge-room-secret pointer" data-i18n-key = "footer.paired-devices" data-i18n-attrs = "text title" hidden > paired devices< / span >
< span class = "badge badge-room-public-id pointer" data-i18n-key = "footer.public-room-devices" data-i18n-attrs = "text title" hidden > in room IAIAI< / span >
< / div >
2023-07-06 21:29:36 +02:00
< / div >
2023-02-10 20:22:36 +01:00
< / div >
< / footer >
2023-08-30 14:57:40 +02:00
<!-- Language Select Dialog -->
< x-dialog id = "language-select-dialog" >
< x-background class = "full center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< h2 class = "center" data-i18n-key = "dialogs.language-selector-title" data-i18n-attrs = "text" > Select Language< / h2 >
< / div >
2023-08-30 14:57:40 +02:00
< div class = "language-buttons" >
< button class = "button fw" data-i18n-key = "dialogs.system-language" data-i18n-attrs = "text" > System Language< / button >
< button class = "button fw" value = "en" > English< / button >
2023-09-13 18:31:42 +02:00
< button class = "button fw" value = "nb" > Norsk (Norwegian)< / button >
< button class = "button fw" value = "ru" > Русский язык (Russian)< / button >
< button class = "button fw" value = "zh-CN" > 中文 (Chinese)< / button >
2023-08-30 14:57:40 +02:00
< / div >
< div class = "center row-reverse button-row" >
< button class = "button" type = "button" data-i18n-key = "dialogs.close" data-i18n-attrs = "text" close > Close< / button >
< / div >
< / x-paper >
< / x-background >
< / x-dialog >
2023-02-10 20:22:36 +01:00
<!-- Pair Device Dialog -->
2023-03-01 10:44:57 +01:00
< x-dialog id = "pair-device-dialog" >
2023-02-10 20:22:36 +01:00
< form action = "#" >
< x-background class = "full center text-center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< h2 class = "center" data-i18n-key = "dialogs.pair-devices-title" data-i18n-attrs = "text" > Pair Devices< / h2 >
2023-07-06 21:29:36 +02:00
< / div >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< div class = "column" >
< div class = "center key-qr-code" > < / div >
< h1 class = "center key" > 000 000< / h1 >
< p class = "center text-center key-instructions" >
< span class = "font-subheading" data-i18n-key = "dialogs.input-key-on-this-device" data-i18n-attrs = "text" > Input this key on another device< / span >
< span class = "font-subheading" data-i18n-key = "dialogs.scan-qr-code" data-i18n-attrs = "text" > or scan the QR-Code.< / span >
< / p >
< / div >
2023-02-10 20:22:36 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< div class = "hr-note" >
< hr >
< div >
< span data-i18n-key = "dialogs.hr-or" data-i18n-attrs = "text" > OR< / span >
< / div >
< / div >
< div class = "row center" >
< div class = "column" >
< div class = "input-key-container six-chars" >
< input type = "tel" class = "textarea center" aria-label = "pair-key-char-1" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" autofocus contenteditable placeholder = "" disabled >
< input type = "tel" class = "textarea center" aria-label = "pair-key-char-2" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "tel" class = "textarea center" aria-label = "pair-key-char-3" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "tel" class = "textarea center" aria-label = "pair-key-char-4" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "tel" class = "textarea center" aria-label = "pair-key-char-5" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "tel" class = "textarea center" aria-label = "pair-key-char-6" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< / div >
< p class = "font-subheading center text-center" data-i18n-key = "dialogs.enter-key-from-another-device" data-i18n-attrs = "text" > Enter key from another device here.< / p >
< / div >
< / div >
< div class = "button-row row-reverse" >
2023-07-06 21:29:36 +02:00
< button class = "button" type = "submit" data-i18n-key = "dialogs.pair" data-i18n-attrs = "text" disabled > Pair< / button >
< button class = "button" type = "button" data-i18n-key = "dialogs.cancel" data-i18n-attrs = "text" close > Cancel< / button >
2023-02-10 20:22:36 +01:00
< / div >
< / x-paper >
< / x-background >
< / form >
< / x-dialog >
2023-05-04 17:38:51 +02:00
<!-- Edit Paired Devices Dialog -->
< x-dialog id = "edit-paired-devices-dialog" >
2023-02-10 20:22:36 +01:00
< form action = "#" >
< x-background class = "full center text-center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< h2 class = "center" data-i18n-key = "dialogs.edit-paired-devices-title" data-i18n-attrs = "text" > Edit Paired Devices< / h2 >
< / div >
2023-07-07 14:58:15 +02:00
< div class = "paired-devices-wrapper" data-i18n-key = "dialogs.paired-devices-wrapper" data-i18n-attrs = "data-empty" data-empty = "No paired devices." > < / div >
2023-05-04 17:38:51 +02:00
< div class = "font-subheading center" >
2023-07-06 21:29:36 +02:00
< p >
< span data-i18n-key = "dialogs.auto-accept-instructions-1" data-i18n-attrs = "text" >
Activate
< / span >
< u data-i18n-key = "dialogs.auto-accept" data-i18n-attrs = "text" > auto-accept< / u >
< span data-i18n-key = "dialogs.auto-accept-instructions-2" data-i18n-attrs = "text" >
to automatically accept all files sent from that device.
< / span >
< / p >
2023-05-04 17:38:51 +02:00
< / div >
2023-08-30 14:57:40 +02:00
< div class = "center row-reverse button-row" >
2023-07-06 21:29:36 +02:00
< button class = "button" type = "button" data-i18n-key = "dialogs.close" data-i18n-attrs = "text" close > Close< / button >
2023-02-10 20:22:36 +01:00
< / div >
< / x-paper >
< / x-background >
< / form >
< / x-dialog >
2023-09-13 19:00:48 +02:00
<!-- Public Room Dialog -->
< x-dialog id = "public-room-dialog" >
< form action = "#" >
< x-background class = "full center text-center" >
< x-paper shadow = "2" >
< div class = "row center" >
< div class = "column" >
< h2 class = "center" > Temporary Public Room< / h2 >
< / div >
< / div >
< div class = "row center" >
< div class = "column" >
< div class = "center key-qr-code" > < / div >
< h1 class = "center key" > IOX9P< / h1 >
< p class = "center text-center key-instructions" >
< span class = "font-subheading" data-i18n-key = "dialogs.input-room-id-on-another-device" data-i18n-attrs = "text" > Input this room id on another device< / span >
< span class = "font-subheading" data-i18n-key = "dialogs.scan-qr-code" data-i18n-attrs = "text" > or scan the QR-Code.< / span >
< / p >
< / div >
< / div >
< div class = "hr-note" >
< hr >
< div >
< span data-i18n-key = "dialogs.hr-or" data-i18n-attrs = "text" > OR< / span >
< / div >
< / div >
< div class = "row center" >
< div class = "column" >
< div class = "input-key-container" >
< input type = "text" class = "textarea center" aria-label = "room-id-char-1" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" autofocus contenteditable placeholder = "" disabled >
< input type = "text" class = "textarea center" aria-label = "room-id-char-2" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "text" class = "textarea center" aria-label = "room-id-char-3" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "text" class = "textarea center" aria-label = "room-id-char-4" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< input type = "text" class = "textarea center" aria-label = "room-id-char-5" maxlength = "1" autocorrect = "off" autocomplete = "off" autocapitalize = "none" spellcheck = "false" contenteditable placeholder = "" disabled >
< / div >
< p class = "font-subheading center text-center" > Enter room id from another device to join.< / p >
< / div >
< / div >
< div class = "center row-reverse button-row" >
< button class = "button" type = "submit" disabled > Join< / button >
< button class = "button" type = "button" close > Close< / button >
< button class = "button leave-room" type = "button" > Leave< / button >
< / div >
< / x-paper >
< / x-background >
< / form >
< / x-dialog >
2023-02-10 20:22:36 +01:00
<!-- Receive Request Dialog -->
2023-03-01 10:44:57 +01:00
< x-dialog id = "receive-request-dialog" >
2023-02-10 20:22:36 +01:00
< x-background class = "full center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< div class = "column" >
< h2 class = "center" > < / h2 >
2023-02-10 20:22:36 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< / div >
< div class = "row center" >
< div class = "column center file-description" >
< div >
< span class = "display-name badge" > < / span >
< span data-i18n-key = "dialogs.would-like-to-share" data-i18n-attrs = "text" > would like to share< / span >
< / div >
< div class = "row file-name" >
< span class = "file-stem" > < / span >
< span class = "file-extension" > < / span >
< / div >
< div class = "row file-other" >
< / div >
< div class = "row font-body2 file-size" > < / div >
2023-02-10 20:22:36 +01:00
< / div >
< / div >
< div class = "center file-preview" > < / div >
2023-09-13 19:00:48 +02:00
< div class = "row-reverse center button-row" >
2023-07-06 21:29:36 +02:00
< button id = "accept-request" class = "button" title = "ENTER" data-i18n-key = "dialogs.accept" data-i18n-attrs = "text" autofocus > Accept< / button >
< button id = "decline-request" class = "button" title = "ESCAPE" data-i18n-key = "dialogs.decline" data-i18n-attrs = "text" > Decline< / button >
2023-02-10 20:22:36 +01:00
< / div >
< / x-paper >
< / x-background >
< / x-dialog >
<!-- Receive File Dialog -->
2023-03-01 10:44:57 +01:00
< x-dialog id = "receive-file-dialog" >
2023-02-10 20:22:36 +01:00
< x-background class = "full center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< div class = "column" >
< h2 class = "center" > < / h2 >
2023-03-03 12:01:43 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< / div >
< div class = "row center" >
< div class = "column center file-description" >
< div >
< span class = "display-name badge" > < / span >
< span data-i18n-key = "dialogs.has-sent" data-i18n-attrs = "text" > has sent< / span >
< / div >
< div class = "row file-name" >
< span class = "file-stem" > < / span >
< span class = "file-extension" > < / span >
< / div >
< div class = "row file-other" >
< / div >
< div class = "row font-body2 file-size" > < / div >
2023-03-03 12:01:43 +01:00
< / div >
< / div >
2023-02-10 20:22:36 +01:00
< div class = "center file-preview" > < / div >
2023-09-13 19:00:48 +02:00
< div class = "row-reverse center button-row" >
2023-07-06 21:29:36 +02:00
< button id = "share-btn" class = "button" data-i18n-key = "dialogs.share" data-i18n-attrs = "text" autofocus hidden > Share< / button >
< button id = "download-btn" class = "button" data-i18n-key = "dialogs.download" data-i18n-attrs = "text" autofocus > Download< / button >
< button class = "button" data-i18n-key = "dialogs.close" data-i18n-attrs = "text" close > Close< / button >
2023-02-10 20:22:36 +01:00
< / div >
< / x-paper >
< / x-background >
< / x-dialog >
<!-- Send Text Dialog -->
2023-03-01 10:44:57 +01:00
< x-dialog id = "send-text-dialog" >
2023-02-10 20:22:36 +01:00
< form action = "#" >
< x-background class = "full center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< div class = "column" >
< h2 class = "center" data-i18n-key = "dialogs.send-message-title" data-i18n-attrs = "text" > Send Message< / h2 >
< / div >
2023-03-01 10:04:37 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< div class = "row center display-name-wrapper" >
< div class = "column" >
< div class = "text-center" >
< span data-i18n-key = "dialogs.send-message-to" data-i18n-attrs = "text" > Send a Message to< / span >
< span class = "display-name badge" > < / span >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "column fw" >
< div id = "text-input" title = "Message" class = "textarea" role = "textbox" autocapitalize = "none" spellcheck = "false" autofocus contenteditable > < / div >
< / div >
< / div >
< div class = "button-row row-reverse" >
2023-07-06 21:29:36 +02:00
< button class = "button" type = "submit" title = "CTRL/⌘ + ENTER" data-i18n-key = "dialogs.send" data-i18n-attrs = "text" disabled > Send< / button >
< button class = "button" type = "button" title = "ESCAPE" data-i18n-key = "dialogs.cancel" data-i18n-attrs = "text" close > Cancel< / button >
2023-02-10 20:22:36 +01:00
< / div >
< / x-paper >
< / x-background >
< / form >
< / x-dialog >
<!-- Receive Text Dialog -->
2023-03-01 10:44:57 +01:00
< x-dialog id = "receive-text-dialog" >
2023-02-10 20:22:36 +01:00
< x-background class = "full center" >
< x-paper shadow = "2" >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< h2 class = "text-center" data-i18n-key = "dialogs.receive-text-title" data-i18n-attrs = "text" > Message Received< / h2 >
2023-02-10 20:22:36 +01:00
< / div >
2023-09-13 19:00:48 +02:00
< div class = "row center" >
< div class = "text-center" >
< span class = "display-name badge" > < / span >
< span data-i18n-key = "dialogs.has-sent" data-i18n-attrs = "text" > has sent:< / span >
< / div >
< / div >
< div class = "row center" >
< div class = "column fw" >
< div id = "text" class = "textarea fw" > < / div >
< / div >
< / div >
< div class = "row-reverse center button-row" >
2023-07-06 21:29:36 +02:00
< button id = "copy" class = "button" title = "CTRL/⌘ + C" data-i18n-key = "dialogs.copy" data-i18n-attrs = "text" > Copy< / button >
< button id = "close" class = "button" title = "ESCAPE" data-i18n-key = "dialogs.close" data-i18n-attrs = "text" > Close< / button >
2023-02-10 20:22:36 +01:00
< / div >
< / x-paper >
< / x-background >
< / x-dialog >
2023-03-01 10:44:57 +01:00
<!-- base64 Paste Dialog -->
< x-dialog id = "base64-paste-dialog" >
2023-02-10 20:22:36 +01:00
< x-background class = "full center" >
< x-paper shadow = "2" >
2023-07-06 21:29:36 +02:00
< button class = "button center" id = "base64-paste-btn" title = "Paste" > < / button >
2023-03-06 02:18:07 +01:00
< div class = "textarea" placeholder = "Paste here to send files" title = "CMD/⌘ + V" contenteditable hidden > < / div >
2023-07-06 21:29:36 +02:00
< button class = "button center" data-i18n-key = "dialogs.close" data-i18n-attrs = "text" close > Close< / button >
2023-02-10 20:22:36 +01:00
< / x-paper >
< / x-background >
< / x-dialog >
<!-- Toast -->
< div class = "toast-container full center" >
2023-09-13 19:00:48 +02:00
< x-toast id = "toast" class = "row center" shadow = "1" > < / x-toast >
2023-02-10 20:22:36 +01:00
< / div >
<!-- About Page -->
< x-about id = "about" class = "full center column" >
2023-03-04 22:59:49 +01:00
< header class = "row-reverse fade-in" >
2023-07-07 14:58:15 +02:00
< a href = "#" class = "close icon-button" data-i18n-key = "about.close-about" data-i18n-attrs = "aria-label" aria-label = "Close About PairDrop" >
2023-03-04 22:59:49 +01:00
< svg class = "icon" >
< use xlink:href = "#close-icon" / >
< / svg >
< / a >
< / header >
2023-02-10 20:22:36 +01:00
< section class = "center column fade-in" >
< svg class = "icon logo" >
< use xlink:href = "#wifi-tethering" / >
< / svg >
2023-05-23 02:44:25 +02:00
< div class = "title-wrapper" >
< h1 > PairDrop< / h1 >
2023-08-10 17:09:51 +02:00
< div class = "font-subheading" > v1.7.7< / div >
2023-05-23 02:44:25 +02:00
< / div >
2023-07-06 21:29:36 +02:00
< div class = "font-subheading" data-i18n-key = "about.claim" data-i18n-attrs = "text" > The easiest way to transfer files across devices< / div >
2023-02-10 20:22:36 +01:00
< div class = "row" >
2023-07-07 14:58:15 +02:00
< a class = "icon-button" target = "_blank" href = "https://github.com/schlagmichdoch/pairdrop" title = "PairDrop on Github" rel = "noreferrer" data-i18n-key = "about.github" data-i18n-attrs = "title" >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#github" / >
< / svg >
< / a >
2023-07-07 14:58:15 +02:00
< a class = "icon-button" target = "_blank" href = "https://www.buymeacoffee.com/pairdrop" title = "Buy me a coffee!" rel = "noreferrer" data-i18n-key = "about.buy-me-a-coffee" data-i18n-attrs = "title" >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#monetarization" / >
< / svg >
< / a >
2023-07-07 14:58:15 +02:00
< a class = "icon-button" target = "_blank" href = "https://twitter.com/intent/tweet?text=https%3A%2F%2Fpairdrop.net%20by%20https%3A%2F%2Fgithub.com%2Fschlagmichdoch%2F&" title = "Tweet about PairDrop" rel = "noreferrer" data-i18n-key = "about.tweet" data-i18n-attrs = "title" >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#twitter" / >
< / svg >
< / a >
2023-07-07 14:58:15 +02:00
< a class = "icon-button" target = "_blank" href = "https://github.com/schlagmichdoch/pairdrop/blob/master/docs/faq.md" title = "Frequently asked questions" rel = "noreferrer" data-i18n-key = "about.faq" data-i18n-attrs = "title" >
2023-02-10 20:22:36 +01:00
< svg class = "icon" >
< use xlink:href = "#help-outline" / >
< / svg >
< / a >
< / div >
< / section >
< x-background > < / x-background >
< / x-about >
2023-05-16 18:55:36 +02:00
< canvas class = "circles" > < / canvas >
2023-02-10 20:22:36 +01:00
<!-- SVG Icon Library -->
< svg style = "display: none;" >
< symbol id = wifi-tethering viewBox = "0 0 24 24" >
< path d = "M12 11c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 2c0-3.31-2.69-6-6-6s-6 2.69-6 6c0 2.22 1.21 4.15 3 5.19l1-1.74c-1.19-.7-2-1.97-2-3.45 0-2.21 1.79-4 4-4s4 1.79 4 4c0 1.48-.81 2.75-2 3.45l1 1.74c1.79-1.04 3-2.97 3-5.19zM12 3C6.48 3 2 7.48 2 13c0 3.7 2.01 6.92 4.99 8.65l1-1.73C5.61 18.53 4 15.96 4 13c0-4.42 3.58-8 8-8s8 3.58 8 8c0 2.96-1.61 5.53-4 6.92l1 1.73c2.99-1.73 5-4.95 5-8.65 0-5.52-4.48-10-10-10z" > < / path >
< / symbol >
< symbol id = desktop-mac viewBox = "0 0 24 24" >
< path d = "M21 2H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7l-2 3v1h8v-1l-2-3h7c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 12H3V4h18v10z" > < / path >
< / symbol >
< symbol id = phone-iphone viewBox = "0 0 24 24" >
< path d = "M15.5 1h-8C6.12 1 5 2.12 5 3.5v17C5 21.88 6.12 23 7.5 23h8c1.38 0 2.5-1.12 2.5-2.5v-17C18 2.12 16.88 1 15.5 1zm-4 21c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5-4H7V4h9v14z" > < / path >
< / symbol >
< symbol id = tablet-mac viewBox = "0 0 24 24" >
< path d = "M18.5 0h-14C3.12 0 2 1.12 2 2.5v19C2 22.88 3.12 24 4.5 24h14c1.38 0 2.5-1.12 2.5-2.5v-19C21 1.12 19.88 0 18.5 0zm-7 23c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm7.5-4H4V3h15v16z" > < / path >
< / symbol >
< symbol id = info-outline viewBox = "0 0 24 24" >
< path d = "M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h-2v2z" > < / path >
< / symbol >
2023-02-13 17:40:22 +01:00
< symbol id = close-icon viewBox = "0 0 24 24" >
2023-02-10 20:22:36 +01:00
< path d = "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" > < / path >
< / symbol >
< symbol id = help-outline viewBox = "0 0 24 24" >
< path d = "M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z" > < / path >
< / symbol >
< symbol id = "twitter" >
< path d = "M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z" / >
< / symbol >
< symbol id = "github" >
< path d = "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" / >
< / symbol >
< g id = "notifications" >
< path d = "M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z" / >
< / g >
< symbol id = "homescreen" >
< path fill = "none" d = "M0 0h24v24H0V0z" / >
< path d = "M18 1.01L8 1c-1.1 0-2 .9-2 2v3h2V5h10v14H8v-1H6v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM10 15h2V8H5v2h3.59L3 15.59 4.41 17 10 11.41z" / >
< path fill = "none" d = "M0 0h24v24H0V0z" / >
< / symbol >
< symbol id = "monetarization" >
< path d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16z" / >
< / symbol >
2023-03-28 17:26:22 +02:00
< symbol id = "icon-theme-auto" viewBox = "0 0 24 24" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "-54 -54 620 620" > <!-- ! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --> < path d = "M448 256c0-106-86-192-192-192V448c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z" / > < / svg >
< / symbol >
< symbol id = "icon-theme-light" viewBox = "0 0 24 24" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "-54 -54 620 620" > <!-- ! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --> < path d = "M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z" / > < / svg >
< / symbol >
< symbol id = "icon-theme-dark" viewBox = "0 0 24 24" >
2023-02-10 20:22:36 +01:00
< rect fill = "none" height = "24" width = "24" / > < path d = "M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26 c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z" / >
< / symbol >
< symbol id = "pair-device-icon" viewBox = "0 0 640 512" >
<!-- ! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. -->
< path d = "M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z" / >
< / symbol >
2023-05-04 17:38:51 +02:00
< symbol id = "edit-pair-devices-icon" viewBox = "-159 25 640 512" >
<!-- ! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
<!-- ! edited by @schlagmichdoch -->
< path d = "M218,155.4c-56.5-56.5-148-56.5-204.5,0L-98.8,267.7c-56.5,56.5-56.5,148,0,204.5c50,50,128.8,56.5,186.3,15.4l1.6-1.1 c14.4-10.3,17.7-30.3,7.4-44.6s-30.3-17.7-44.6-7.4l-1.6,1.1c-32.1,22.9-76,19.3-103.8-8.6c-31.5-31.6-31.5-82.6,0-114.1L58.7,200.6 c31.5-31.5,82.5-31.5,114,0c15.8,15.8,23.8,36.7,23.6,57.6c7.9-8.3,18.9-13,30.6-13c4.5,0,8.9,0.7,13.2,2l17.4,5.5 c0.9-0.5,1.8-1,2.7-1.5C258.7,216.2,244.4,181.8,218,155.4z M420.8,86.6c-50-50-128.8-56.5-186.3-15.4l-1.6,1.1 c-14.4,10.3-17.7,30.3-7.4,44.6s30.3,17.7,44.6,7.4l1.6-1.1c32.1-22.9,76-19.3,103.8,8.6c25.8,25.8,30.5,64.7,14,95.2 c0.7,2,1.3,4,1.8,6.1l3.9,17.9c1.1,0.6,2.1,1.2,3.2,1.8l17.4-5.5c4.3-1.4,8.7-2,13.1-2c7.3,0,14.3,1.8,20.5,5.2 C474.7,196.8,465.1,130.9,420.8,86.6z M140.7,254.4l1.1-1.6c10.3-14.4,6.9-34.4-7.4-44.6s-34.4-6.9-44.6,7.4l-1.1,1.6 C47.5,274.6,54,353.4,104,403.4c18.7,18.7,41.2,31.2,65,37.5c-1.4-3.1-2.6-6.2-3.8-9.3c-6-16.4-1.5-34.6,11.6-46.4l7.2-6.6 c-12.7-3.6-24.7-10.5-34.8-20.5C121.4,330.3,117.8,286.4,140.7,254.4z" / >
< path d = "M458.9,407.4l-24.3-22.1c0.6-4.7,1-9.4,1-14.2s-0.3-9.6-1-14.2l24.3-22.1c3.9-3.5,5.4-8.9,3.6-13.8v-0.1 c-2.5-6.7-5.4-13.1-8.9-19.2l-2.6-4.5c-3.7-6.2-7.8-12-12.4-17.5c-3.3-4-8.8-5.4-13.7-3.8l-31.2,9.9c-7.5-5.8-15.8-10.6-24.7-14.2 l-7-32c-1.1-5.1-5-9.1-10.2-10c-7.7-1.3-15.7-2-23.8-2s-16.1,0.7-23.8,2c-5.2,0.9-9.1,4.9-10.2,10l-7,32 c-8.9,3.7-17.2,8.5-24.7,14.2l-31.2-9.9c-4.9-1.6-10.4-0.2-13.7,3.8c-4.5,5.5-8.7,11.3-12.4,17.5l-2.6,4.5 c-3.4,6.2-6.4,12.6-8.9,19.2c-1.8,4.9-0.3,10.3,3.6,13.8l24.3,22.1c-0.6,4.7-1,9.4-1,14.2s0.3,9.6,1,14.3L197,407.5 c-3.9,3.5-5.4,8.9-3.6,13.8c2.5,6.7,5.4,13.1,8.9,19.2l2.6,4.5c3.7,6.2,7.8,12,12.4,17.5c3.3,4,8.8,5.4,13.7,3.8l31.2-10 c7.5,5.8,15.8,10.6,24.7,14.2l7,32c1.1,5.1,5,9.1,10.2,10c7.7,1.3,15.7,2,23.8,2c8.1,0,16.1-0.7,23.8-2c5.2-0.8,9.1-4.9,10.2-10 l7-32c8.9-3.6,17.2-8.5,24.7-14.2l31.2,9.9c4.9,1.6,10.4,0.2,13.7-3.8c4.5-5.5,8.7-11.3,12.4-17.5l2.6-4.5 c3.4-6.2,6.4-12.6,8.9-19.2C464.2,416.3,462.7,410.9,458.9,407.4z M328,415.9c-24.8,0-44.9-20.1-44.9-44.8 c0-24.8,20.1-44.8,44.9-44.8s44.8,20.1,44.8,44.8C372.8,395.9,352.7,415.9,328,415.9z" / >
2023-02-10 20:22:36 +01:00
< / symbol >
2023-03-01 21:35:00 +01:00
< symbol id = "edit-pen-icon" viewBox = "0 0 512 512" >
<!-- ! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
< path d = "M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z" / >
< / symbol >
2023-09-13 19:00:48 +02:00
< symbol id = "public-room-icon" viewBox = "0 0 640 512" >
<!-- ! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
< path d = "M0 24C0 10.7 10.7 0 24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM0 488c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM83.2 160a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 320c0-35.3 28.7-64 64-64h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32zm461.6 32c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H493.6zM391.2 290.4c32.1 7.4 58.1 30.9 68.9 61.6c3.5 10 5.5 20.8 5.5 32c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32c10.5-29.7 35.3-52.8 66.1-60.9c7.8-2.1 16-3.1 24.5-3.1h96c7.4 0 14.7 .8 21.6 2.4zm44-130.4a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM321.6 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z" / >
< / symbol >
2023-08-30 14:57:40 +02:00
< symbol id = "icon-language-selector" viewBox = "0 0 640 512" >
<!-- ! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
< path d = "M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z" / >
< / symbol >
2023-02-10 20:22:36 +01:00
< / svg >
<!-- Scripts -->
2023-07-06 21:29:36 +02:00
< script src = "scripts/localization.js" > < / script >
2023-03-08 15:18:22 +01:00
< script src = "scripts/theme.js" > < / script >
2023-02-10 20:22:36 +01:00
< script src = "scripts/network.js" > < / script >
< script src = "scripts/ui.js" > < / script >
2023-03-08 15:18:22 +01:00
< script src = "scripts/util.js" async > < / script >
< script src = "scripts/QRCode.min.js" async > < / script >
2023-02-10 20:22:36 +01:00
< script src = "scripts/zip.min.js" async > < / script >
< script src = "scripts/NoSleep.min.js" async > < / script >
<!-- Sounds -->
< audio id = "blop" autobuffer = "true" >
< source src = "sounds/blop.mp3" type = "audio/mpeg" >
< source src = "sounds/blop.ogg" type = "audio/ogg" >
< / audio >
<!-- no script -->
< noscript >
< x-noscript class = "full center column" >
< h1 > Enable JavaScript< / h1 >
< h3 > PairDrop works only with JavaScript< / h3 >
< / x-noscript >
< / noscript >
< / body >