Add startup banner

This commit is contained in:
Leon Böttger committed 2025-04-04 21:07:30 +02:00
1 parent b81a453b69
commit 6986b6ce2b
23 files changed
+225 -1

No files matched your search

+3
View File
@@ -11,6 +11,7 @@ import NearbyShare
import SwiftUI
import StoreKit
import AudioToolbox
import BezelNotification
@main
class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCenterDelegate, MainAppDelegate{
@@ -75,6 +76,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCenterDele
log("New user - plus version cannot be granted")
}
}
BezelNotification.show(messageText: "ReadyToReceive".localized(), icon: .receiveIcon)
}
UNUserNotificationCenter.current().delegate=self
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "laptopcomputer.and.arrow.down.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

+1
View File
@@ -50,6 +50,7 @@
"GetSupport" = "Support";
"ReadyToReceive" = "Ready to receive";
"PrivacyPolicy" = "Privacy Policy";
"SendClipboard" = "Send Clipboard";
"Clipboard" = "Clipboard";
+139
View File
@@ -133,6 +133,145 @@ See the License for the specific language governing permissions and
limitations under the License.
BezelNotification
https://github.com/BlueHuskyStudios/BezelNotification
BLUE HUSKY LICENSE 1 - PUBLIC SHARE - OPUS 2
0: LAYMAN'S TERMS
This section is meant to explain the purpose of this license in Layman's
terms, and should thusly never be seen as legally binding. This disclaimer does
not apply to further sections of this license.
If you made this:
1. This is your product and you can do what you want with it
a. You must make sure that if you use anyone else's stuff in it, you do so
with their permission, or under Fair Use
b. If you do include someone else's stuff, you can't claim you made that
c. You guarantee you're providing this product for free
2. You must let others do what they want with it
a. They still have to say you made it in the first place
b. You have to include this license along with your product for it to count
c. They have to include this license when they redistribute your product
3. This license is overridden by governmental laws
4. You're not responsible for bad things that might happen because someone
used your product
If you got this:
1. This is not your product, and you need to respect that
a. You must make sure that if you put anyone else's stuff in it, you do so
with their permission, or under Fair Use
b. If you do include someone else's stuff, you can't claim you made that
c. You are guaranteed you're getting this product for free
2. You can still do what you want with this
a. You still have to say who made it in the first place
b. You get all the freedoms in this license along with this product
c. You have to include this license when you redistribute this product
3. This license is overridden by governmental laws
4. The original creator is not responsible for bad things that might happen
because you used this product
1: DECLARATION OF COPYRIGHT
This Product is copyright Ben Leggiero (c) 2017 BH-1-PS
2: DEFINITIONS
- "License": this text
- "Product": the product with which this License was distributed, and any
assets necessary for its use
- "Creator": any entity or entities who originally invented the Product,
withstanding related and contributing parties
- "Licensee": any entity or entities involved in consumption of the Product
- "Licensor": any entity or entities involved in distribution of the Product
and of this License
3: NOTICE OF PERMISSIONS
Permission is hereby granted to any entity obtaining a copy of the Product,
to use, copy, modify, host, redistribute, sublicense, sell copies of, and/or
otherwise handle the Product, and to permit Licensees to also do so, given the
following conditions are obeyed:
- The above copyright notice and this permission notice shall be included in
all copies and/or substantial portions of the Product.
- This License shall be blatantly provided, unmodified, along with the Product
- Attribution to the Creator must be blatantly stated, modifications of the
Product notwithstanding
4: DECLARATION OF OWNERSHIP
The Creator hereby declares that the Product is the intellectual property
solely of the Creator, and of no other party. The Creator maintains that any
intellectual property which falls under § 5.1 of this License is considered
fair use as described in § 5.4 of this License.
5: THE RIGHTS OF THE CREATOR
1. The Creator reserves no rights to any previously-established intellectual
property contained within the Product which is implicitly or explicitly
owned by any other entity or entities.
2. The Creator will not gain any profit through the creation or distribution
of the Product.
a. The Creator forfeits the right to request compensation for any use of the
Product which adheres to the restrictions described by this License.
3. The Creator reserves the right to freely create, edit, distribute, destroy,
or otherwise interact with the whole of, or any part of, the Product.
4. In the case that any entity other than the Creator claims to own
intellectual property contained within the Product and wishes to be
compensated for the use of such, the Creator reserves the right to refuse
such compensation as allowed by the following legal documents:
a. Amendment I of the United States Constitution
b. Article 19 of the Universal Declaration of Human Rights
c. 17 USC § 107 - Limitations on exclusive rights: Fair use
5. In cases where all of the documents listed under § 5.4 of this
License are not legally recognized, the Creator agrees to pay the owner of
the disputed intellectual property a sum which equals the proportion of the
prevalence that the disputed intellectual property maintains in the Product
out of the total sum of profits garnered by the Creator for creating the
Product.
6. The Creator reserves the right to waive any conditions of this License at
the Creator's discretion.
7. The Licensor reserves the right to edit this License at any time.
a. The Licensor agrees to update the Opus number of this License to
correspond with version changes.
b. The Licensor agrees to never publish two or more versions of this License
under the same Opus number.
8. In no way are any of the Creator's moral rights affected by this License
6: RIGHTS AND RESTRICTIONS OF LICENSEES AND LICENSORS ("YOU")
1. You maintain the following rights and restrictions:
a. You are free to copy, distribute and transmit the work.
i. For any reuse or distribution, You must make clear to others the
License terms of the License.
b. You are free to adapt the work.
i. If You alter, transform, or build upon the Product, You may distribute
the resulting work only under this License.
c. You are free to make commercial use of the work.
d. You must attribute the work in the manner specified by the Creator (but
not in any way that suggests that the Creator endorses You or such use of
the work).
e. The Creator and any Licensors or Licensees previous to You are not
responsible for any changes made to the Product, or any effects arising
thereof.
f. You can be granted special rights by the Creator as described in
section 5.6 of the License
2. In no way are any of the following rights affected by the License:
a. The fair dealing or fair use rights afforded to You, or other applicable
copyright exceptions and limitations.
b. Rights another entity may have, either in the Product itself or in how
the Product is used, such as publicity or privacy rights.
7: ACCORDANCE WITH THE LAW
The terms that make up the whole and parts of this License shall not apply
where local, state, provincial, federal, national, or any other law prohibits
such terms.
8: DISCLAIMER
THE PRODUCT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED. IN NO EVENT SHALL THE CREATORS, LICENSEES, OR LICENSORS BE LIABLE FOR
ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT,
OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE PRODUCT OR THE
USE OR OTHER DEALINGS IN OR WITH THE PRODUCT.
All of the sounds listed below are provided under the Creative Commons Attribution 4.0 International License.
https://creativecommons.org/licenses/by/4.0/legalcode
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "التطبيقات الموصى بها";
"GetSupport" = "الدعم";
"PrivacyPolicy" = "سياسة الخصوصية";
"ReadyToReceive" = "جاهز للاستلام";
"SendClipboard" = "إرسال الحافظة";
"Clipboard" = "الحافظة";
"DeviceCurrentlySendingFiles" = "%1$@ يرسل لك %2$@";
+1
View File
@@ -44,6 +44,7 @@
"GetSupport" = "Support";
"PrivacyPolicy" = "Datenschutzerklärung";
"ReadyToReceive" = "Bereit zum Empfangen";
"SendClipboard" = "Zwischenablage senden";
"Clipboard" = "Zwischenablage";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Apps recomendadas";
"GetSupport" = "Soporte";
"PrivacyPolicy" = "Política de privacidad";
"ReadyToReceive" = "Listo para recibir";
"SendClipboard" = "Enviar Portapapeles";
"Clipboard" = "Portapapeles";
"DeviceCurrentlySendingFiles" = "%1$@ te está enviando %2$@";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Applications recommandées";
"GetSupport" = "Support";
"PrivacyPolicy" = "Politique de confidentialité";
"ReadyToReceive" = "Prêt à recevoir";
"SendClipboard" = "Envoyer le Presse-papiers";
"Clipboard" = "Presse-papiers";
"DeviceCurrentlySendingFiles" = "%1$@ vous envoie %2$@";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Ajánlott alkalmazások";
"GetSupport" = "Támogatás";
"PrivacyPolicy" = "Adatvédelmi irányelvek";
"ReadyToReceive" = "Kész a fogadásra";
"SendClipboard" = "Vágólap küldése";
"Clipboard" = "Vágólap";
"DeviceCurrentlySendingFiles" = "%1$@ éppen küldi neked: %2$@";
+1
View File
@@ -42,6 +42,7 @@
"RecommendedApps" = "App consigliate";
"GetSupport" = "Supporto";
"ReadyToReceive" = "Pronto a ricevere";
"PrivacyPolicy" = "Informativa sulla privacy";
"SendClipboard" = "Invia Appunti";
"Clipboard" = "Appunti";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "おすすめアプリ";
"GetSupport" = "サポート";
"PrivacyPolicy" = "プライバシーポリシー";
"ReadyToReceive" = "受信準備完了";
"SendClipboard" = "クリップボードを送信";
"Clipboard" = "クリップボード";
"DeviceCurrentlySendingFiles" = "%1$@ が %2$@ を送信中";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "추천 앱";
"GetSupport" = "지원";
"PrivacyPolicy" = "개인정보 처리방침";
"ReadyToReceive" = "수신 준비 완료";
"SendClipboard" = "클립보드 보내기";
"Clipboard" = "클립보드";
"DeviceCurrentlySendingFiles" = "%1$@이(가) %2$@을(를) 보내는 중입니다";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Aanbevolen apps";
"GetSupport" = "Ondersteuning";
"PrivacyPolicy" = "Privacybeleid";
"ReadyToReceive" = "Klaar om te ontvangen";
"SendClipboard" = "Klembord Verzenden";
"Clipboard" = "Klembord";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Apps recomendados";
"GetSupport" = "Suporte";
"PrivacyPolicy" = "Política de Privacidade";
"ReadyToReceive" = "Pronto para receber";
"SendClipboard" = "Enviar Área de Transferência";
"Clipboard" = "Área de Transferência";
"DeviceCurrentlySendingFiles" = "%1$@ está enviando %2$@ para você";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Aplicativos recomendados";
"GetSupport" = "Suporte";
"PrivacyPolicy" = "Política de privacidade";
"ReadyToReceive" = "Pronto para receber";
"SendClipboard" = "Enviar Área de Transferência";
"Clipboard" = "Área de Transferência";
"DeviceCurrentlySendingFiles" = "%1$@ está a enviar-te %2$@";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Aplicații recomandate";
"GetSupport" = "Suport";
"PrivacyPolicy" = "Politica de confidențialitate";
"ReadyToReceive" = "Pregătit să primești";
"SendClipboard" = "Trimite Clipboard-ul";
"Clipboard" = "Clipboard";
"DeviceCurrentlySendingFiles" = "%1$@ îți trimite %2$@";
+1
View File
@@ -44,6 +44,7 @@
"GetSupport" = "Поддержка";
"PrivacyPolicy" = "Политика конфиденциальности";
"ReadyToReceive" = "Готов к получению";
"SendClipboard" = "Отправить буфер обмена";
"Clipboard" = "Буфер обмена";
"DeviceCurrentlySendingFiles" = "%1$@ отправляет вам %2$@";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "แอปแนะนำ";
"GetSupport" = "การสนับสนุน";
"PrivacyPolicy" = "นโยบายความเป็นส่วนตัว";
"ReadyToReceive" = "พร้อมรับข้อมูล";
"SendClipboard" = "ส่งคลิปบอร์ด";
"Clipboard" = "คลิปบอร์ด";
"DeviceCurrentlySendingFiles" = "%1$@ กำลังส่ง %2$@ ให้คุณ";
+1
View File
@@ -43,6 +43,7 @@
"RecommendedApps" = "Рекомендовані додатки";
"GetSupport" = "Підтримка";
"PrivacyPolicy" = "Політика конфіденційності";
"ReadyToReceive" = "Готовий до отримання";
"SendClipboard" = "Надіслати буфер обміну";
"Clipboard" = "Буфер обміну";
"DeviceCurrentlySendingFiles" = "%1$@ надсилає вам %2$@";
@@ -43,6 +43,7 @@
"RecommendedApps" = "推荐应用";
"GetSupport" = "支持";
"PrivacyPolicy" = "隐私政策";
"ReadyToReceive" = "准备接收";
"SendClipboard" = "发送剪贴板";
"Clipboard" = "剪贴板";
"DeviceCurrentlySendingFiles" = "%1$@ 正在向你发送 %2$@";
+17
View File
@@ -35,6 +35,7 @@
69DCF49D2AB8C9A500CBE2CC /* libNearbyShare.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69DCF4812AB70D0600CBE2CC /* libNearbyShare.dylib */; };
69DCF49E2AB8C9A500CBE2CC /* libNearbyShare.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = 69DCF4812AB70D0600CBE2CC /* libNearbyShare.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
EB2F9BFB2DA04B69004010A2 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2F9BFA2DA04B67004010A2 /* Helpers.swift */; };
EB2F9BFE2DA05F48004010A2 /* BezelNotification in Frameworks */ = {isa = PBXBuildFile; productRef = EB2F9BFD2DA05F48004010A2 /* BezelNotification */; };
EB3643602D73A2A2009CDFF8 /* AudioManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB36435F2D73A29F009CDFF8 /* AudioManager.swift */; };
EB3643622D73A2CA009CDFF8 /* timeIsNow.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = EB3643612D73A2CA009CDFF8 /* timeIsNow.mp3 */; };
EB6F62D72D91F4AF00534EC2 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB6F62D62D91F4AC00534EC2 /* SettingsView.swift */; };
@@ -235,6 +236,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EB2F9BFE2DA05F48004010A2 /* BezelNotification in Frameworks */,
69DCF4942AB8BF7B00CBE2CC /* libNearbyShare.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -401,6 +403,7 @@
);
name = QuickDrop;
packageProductDependencies = (
EB2F9BFD2DA05F48004010A2 /* BezelNotification */,
);
productName = NearDrop;
productReference = 69DA9A0E29E0BF5100A442DA /* QuickDrop.app */;
@@ -477,6 +480,7 @@
packageReferences = (
69DA9A2429E189EF00A442DA /* XCRemoteSwiftPackageReference "swift-protobuf" */,
69DA9A3429E1994C00A442DA /* XCRemoteSwiftPackageReference "SwiftECC" */,
EB2F9BFC2DA05F48004010A2 /* XCRemoteSwiftPackageReference "BezelNotification" */,
);
productRefGroup = 69DA9A0F29E0BF5100A442DA /* Products */;
projectDirPath = "";
@@ -1012,6 +1016,14 @@
minimumVersion = 3.0.0;
};
};
EB2F9BFC2DA05F48004010A2 /* XCRemoteSwiftPackageReference "BezelNotification" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/BlueHuskyStudios/BezelNotification.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.1.0;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
@@ -1025,6 +1037,11 @@
package = 69DA9A3429E1994C00A442DA /* XCRemoteSwiftPackageReference "SwiftECC" */;
productName = SwiftECC;
};
EB2F9BFD2DA05F48004010A2 /* BezelNotification */ = {
isa = XCSwiftPackageProductDependency;
package = EB2F9BFC2DA05F48004010A2 /* XCRemoteSwiftPackageReference "BezelNotification" */;
productName = BezelNotification;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 69DA9A0629E0BF5100A442DA /* Project object */;
@@ -1,5 +1,5 @@
{
"originHash" : "5bbb4a57a61db67d6ce8adc203fbc456a84ce246fff6c01807617c5de6a47adc",
"originHash" : "6548f1bdc1af3a6da1ec955a8aaefefc7a98eef65eb9fe111ae0426a26893d3f",
"pins" : [
{
"identity" : "asn1",
@@ -10,6 +10,15 @@
"version" : "2.7.0"
}
},
{
"identity" : "bezelnotification",
"kind" : "remoteSourceControl",
"location" : "https://github.com/BlueHuskyStudios/BezelNotification.git",
"state" : {
"revision" : "dcdd70b3abb50007d49a8ce23c14e07079d8b0f2",
"version" : "2.1.0"
}
},
{
"identity" : "bigint",
"kind" : "remoteSourceControl",
@@ -19,6 +28,24 @@
"version" : "1.21.0"
}
},
{
"identity" : "swift-cross-kit-types",
"kind" : "remoteSourceControl",
"location" : "https://github.com/RougeWare/Swift-Cross-Kit-Types.git",
"state" : {
"revision" : "d64faa8d5e988352dff45e03a13da4f90c3a70e5",
"version" : "1.0.0"
}
},
{
"identity" : "swift-function-tools",
"kind" : "remoteSourceControl",
"location" : "https://github.com/RougeWare/Swift-Function-Tools.git",
"state" : {
"revision" : "a854f4ed89b7e404019b5a09d24e067acc15432d",
"version" : "1.2.4"
}
},
{
"identity" : "swift-protobuf",
"kind" : "remoteSourceControl",