+
-
-
- Archivieren
-
-
- Archivieren bestätigen
-
- Möchten Sie die Datei wirklich archivieren?
-
+ />
{
>{{item.id ? `${dataType.labelSingle} bearbeiten` : `${dataType.labelSingle} erstellen` }}
-
-
- Archivieren
-
-
- Archivieren bestätigen
-
- Möchten Sie das {{dataType.labelSingle}} {{item[dataType.templateColumns.find(i => i.title).key]}} wirklich archivieren?
-
+ :type="type"
+ @confirmed="useEntities(type).archive(item.id)"
+ />
{
+
@@ -181,7 +182,7 @@ const filteredRows = computed(() => {
- {
-
{
@updateNeeded="emit('updateNeeded')"
:platform="platform"
/>
- {
:top-level-type="type"
v-else
:platform="platform"
- />
+ />-->
diff --git a/components/EntityListMobile.vue b/components/EntityTableMobile.vue
similarity index 100%
rename from components/EntityListMobile.vue
rename to components/EntityTableMobile.vue
diff --git a/components/PDFViewer.vue b/components/PDFViewer.vue
new file mode 100644
index 0000000..6bf2b71
--- /dev/null
+++ b/components/PDFViewer.vue
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
handleZoomTool('pageWidth')"
+ icon="i-heroicons-document-text"
+ variant="outline"
+ >
+
+
handleZoomTool('out')"
+ icon="i-heroicons-magnifying-glass-minus"
+ variant="outline"
+ >
+
+
+
handleZoomTool('in')"
+ icon="i-heroicons-magnifying-glass-plus"
+ variant="outline"
+ >
+
+
+
+
+
+
+
+
+ / {{ pageControl?.totalPages }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/displayWelcome.vue b/components/displayWelcome.vue
index fad6478..889b07b 100644
--- a/components/displayWelcome.vue
+++ b/components/displayWelcome.vue
@@ -1,23 +1,14 @@
-
Willkommen zurück {{profileStore.activeProfile.fullName}}
- bei {{tenant.name}}
+ Willkommen zurück {{auth.profile.full_name}}
+ bei {{auth.activeTenantData.name}}
diff --git a/composables/useCapacitor.js b/composables/useCapacitor.js
index 26e7288..64ec2be 100644
--- a/composables/useCapacitor.js
+++ b/composables/useCapacitor.js
@@ -17,10 +17,14 @@ export const useCapacitor = () => {
return deviceInfo.model.toLowerCase().includes('iphone')
}
+ const getIsNative = () => {
+ return Capacitor.isNativePlatform()
+ }
+
const getNetworkStatus = async () => {
return await Network.getStatus()
}
- return {getPlatform, getDeviceInfo, getNetworkStatus, getIsPhone}
+ return {getPlatform, getDeviceInfo, getNetworkStatus, getIsPhone, getIsNative}
}
\ No newline at end of file
diff --git a/composables/useError.js b/composables/useErrorLogging.js
similarity index 92%
rename from composables/useError.js
rename to composables/useErrorLogging.js
index 1c2e742..298ccd0 100644
--- a/composables/useError.js
+++ b/composables/useErrorLogging.js
@@ -1,5 +1,5 @@
-export const useError = (resourceType) => {
+export const useErrorLogging = (resourceType) => {
const supabase = useSupabaseClient()
const toast = useToast()
const profileStore = useProfileStore()
diff --git a/composables/useSum.js b/composables/useSum.js
index 752a9d4..4c11915 100644
--- a/composables/useSum.js
+++ b/composables/useSum.js
@@ -6,7 +6,6 @@ export const useSum = () => {
const getIncomingInvoiceSum = (invoice) => {
let sum = 0
invoice.accounts.forEach(account => {
- console.log(account)
sum += account.amountTax
@@ -23,21 +22,9 @@ export const useSum = () => {
let total19 = 0
let total7 = 0
- /*let usedadvanceinvoices = []
- if(createddocument.usedAdvanceInvoices.length > 0) {
- console.log(createddocument)
- console.log(createddocument.usedAdvanceInvoices)
- console.log((await supabase.from("createddocuments").select().in("id", createddocument.usedAdvanceInvoices)))
-
- usedadvanceinvoices = (await supabase.from("createddocuments").select().in("id", createddocument.usedAdvanceInvoices)).data
- console.log(usedadvanceinvoices)
-
- }*/
-
-
createddocument.rows.forEach(row => {
if(!['pagebreak','title','text'].includes(row.mode)){
let rowPrice = Number(Number(row.quantity) * Number(row.price) * (1 - Number(row.discountPercent) /100) ).toFixed(3)
diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj
index 529ce3c..31a573e 100644
--- a/ios/App/App.xcodeproj/project.pbxproj
+++ b/ios/App/App.xcodeproj/project.pbxproj
@@ -485,7 +485,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 2;
+ CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = GMCGQ8KK2P;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
@@ -493,7 +493,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.8;
+ MARKETING_VERSION = 2.0;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = software.federspiel.fedeo;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -510,7 +510,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 2;
+ CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = GMCGQ8KK2P;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
@@ -518,7 +518,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.8;
+ MARKETING_VERSION = 2.0;
PRODUCT_BUNDLE_IDENTIFIER = software.federspiel.fedeo;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
diff --git a/ios/App/Podfile b/ios/App/Podfile
index 05c9cc3..6006b02 100644
--- a/ios/App/Podfile
+++ b/ios/App/Podfile
@@ -13,6 +13,7 @@ def capacitor_pods
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device'
pod 'CapacitorNetwork', :path => '../../node_modules/@capacitor/network'
+ pod 'CapacitorPreferences', :path => '../../node_modules/@capacitor/preferences'
pod 'CapacitorPluginSafeArea', :path => '../../node_modules/capacitor-plugin-safe-area'
pod 'CordovaPluginsStatic', :path => '../capacitor-cordova-ios-plugins'
end
diff --git a/ios/App/Podfile.lock b/ios/App/Podfile.lock
index 5510ba5..3d267bf 100644
--- a/ios/App/Podfile.lock
+++ b/ios/App/Podfile.lock
@@ -8,6 +8,8 @@ PODS:
- Capacitor
- CapacitorPluginSafeArea (4.0.0):
- Capacitor
+ - CapacitorPreferences (6.0.3):
+ - Capacitor
- CordovaPluginsStatic (7.1.0):
- CapacitorCordova
- OneSignalXCFramework (= 5.2.10)
@@ -64,6 +66,7 @@ DEPENDENCIES:
- "CapacitorDevice (from `../../node_modules/@capacitor/device`)"
- "CapacitorNetwork (from `../../node_modules/@capacitor/network`)"
- CapacitorPluginSafeArea (from `../../node_modules/capacitor-plugin-safe-area`)
+ - "CapacitorPreferences (from `../../node_modules/@capacitor/preferences`)"
- CordovaPluginsStatic (from `../capacitor-cordova-ios-plugins`)
- OneSignalXCFramework (< 6.0, >= 5.0)
@@ -82,6 +85,8 @@ EXTERNAL SOURCES:
:path: "../../node_modules/@capacitor/network"
CapacitorPluginSafeArea:
:path: "../../node_modules/capacitor-plugin-safe-area"
+ CapacitorPreferences:
+ :path: "../../node_modules/@capacitor/preferences"
CordovaPluginsStatic:
:path: "../capacitor-cordova-ios-plugins"
@@ -91,9 +96,10 @@ SPEC CHECKSUMS:
CapacitorDevice: 069faf433b3a99c3d5f0e500fbe634f60a8c6a84
CapacitorNetwork: 30c2e78a0ed32530656cb426c8ee6c2caec10dbf
CapacitorPluginSafeArea: 22031c3436269ca80fac90ec2c94bc7c1e59a81d
+ CapacitorPreferences: f3eadae2369ac3ab8e21743a2959145b0d1286a3
CordovaPluginsStatic: f722d4ff434f50099581e690d579b7c108f490e6
OneSignalXCFramework: 1a3b28dfbff23aabce585796d23c1bef37772774
-PODFILE CHECKSUM: ccfbce7f13cfefd953204fe26b280d6431731aa5
+PODFILE CHECKSUM: d76fcd3d35c3f8c3708303de70ef45a76cc6e2b5
COCOAPODS: 1.16.2
diff --git a/layouts/default.vue b/layouts/default.vue
index 9cb6dbc..e994ab7 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -15,7 +15,6 @@ const route = useRoute()
const auth = useAuthStore()
-//profileStore.initializeData((await supabase.auth.getUser()).data.user.id)
const month = dayjs().format("MM")
diff --git a/layouts/mobile.vue b/layouts/mobile.vue
index 314708f..543a637 100644
--- a/layouts/mobile.vue
+++ b/layouts/mobile.vue
@@ -13,8 +13,9 @@ const { isHelpSlideoverOpen } = useDashboard()
const supabase = useSupabaseClient()
const router = useRouter()
const route = useRoute()
+const auth = useAuthStore()
-profileStore.initializeData((await supabase.auth.getUser()).data.user.id)
+//profileStore.initializeData((await supabase.auth.getUser()).data.user.id)
const month = dayjs().format("MM")
@@ -64,40 +65,6 @@ const actions = [
]
-const groups = computed(() =>
- [{
- key: 'actions',
- commands: actions
- },{
- key: "customers",
- label: "Kunden",
- commands: dataStore.customers.map(item => { return {id: item.id, label: item.name, to: `/customers/show/${item.id}`}})
- },{
- key: "vendors",
- label: "Lieferanten",
- commands: dataStore.vendors.map(item => { return {id: item.id, label: item.name, to: `/vendors/show/${item.id}`}})
- },{
- key: "contacts",
- label: "Ansprechpartner",
- commands: dataStore.contacts.map(item => { return {id: item.id, label: item.fullName, to: `/contacts/show/${item.id}`}})
- },{
- key: "products",
- label: "Artikel",
- commands: dataStore.products.map(item => { return {id: item.id, label: item.name, to: `/products/show/${item.id}`}})
- },{
- key: "tasks",
- label: "Aufgaben",
- commands: dataStore.tasks.map(item => { return {id: item.id, label: item.name, to: `/tasks/show/${item.id}`}})
- },{
- key: "plants",
- label: "Objekte",
- commands: dataStore.plants.map(item => { return {id: item.id, label: item.name, to: `/plants/show/${item.id}`}})
- },{
- key: "projects",
- label: "Projekte",
- commands: dataStore.projects.map(item => { return {id: item.id, label: item.name, to: `/projects/show/${item.id}`}})
- }
- ].filter(Boolean))
const footerLinks = [/*{
label: 'Invite people',
icon: 'i-heroicons-plus',
@@ -111,87 +78,163 @@ const footerLinks = [/*{
-
-
-
-
-
-
-
-
-
-