Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
a3f0409
Setup initial connecting logic for integration status page
gaspergrom Dec 17, 2024
26b6550
added segment id to slack connect and redirect url
emlimlf Dec 18, 2024
8969baa
use encodeURI instead
emlimlf Dec 18, 2024
6d7ee2f
redirect the user to the integrations page instead
emlimlf Dec 18, 2024
c792ca1
fix discord connect redirection for admin panel
emlimlf Dec 18, 2024
d14d6c1
lint fixes
emlimlf Dec 18, 2024
930ecbf
Setup initial connecting logic for integration status page
gaspergrom Dec 17, 2024
c52051e
added segment id to slack connect and redirect url
emlimlf Dec 18, 2024
73f8632
use encodeURI instead
emlimlf Dec 18, 2024
4eb0e22
redirect the user to the integrations page instead
emlimlf Dec 18, 2024
b76f319
fix discord connect redirection for admin panel
emlimlf Dec 18, 2024
358d6ba
lint fixes
emlimlf Dec 18, 2024
b9d225b
Merge branch 'improvement/integration-overview-connect' of github.com…
emlimlf Dec 19, 2024
6d0723a
Remove route and fix redirect urls
gaspergrom Dec 19, 2024
5e14bfd
Fix git integration
gaspergrom Dec 19, 2024
938d2fb
Fix git integration
gaspergrom Dec 19, 2024
50b6270
fix stackoverflow integration
emlimlf Dec 19, 2024
9a01951
Merge branch 'improvement/integration-overview-connect' of github.com…
emlimlf Dec 19, 2024
ca52d76
lint fix
emlimlf Dec 19, 2024
095a703
fix confluence integration
emlimlf Dec 19, 2024
a1ae40c
Groupsio fixing
gaspergrom Dec 19, 2024
6a72c35
Merge branch 'improvement/integration-overview-connect' of github.com…
gaspergrom Dec 19, 2024
692474d
Devto integraion
gaspergrom Dec 19, 2024
344f692
fix reddit integration
emlimlf Dec 19, 2024
57f75ac
Merge branch 'improvement/integration-overview-connect' of github.com…
emlimlf Dec 19, 2024
b136a52
Hackernews and discourse
gaspergrom Dec 19, 2024
aba0c33
change reddit integration to ts
emlimlf Dec 19, 2024
bff8e90
Merge branch 'improvement/integration-overview-connect' of github.com…
gaspergrom Dec 19, 2024
0fdb6c5
Merge branch 'improvement/integration-overview-connect' of github.com…
gaspergrom Dec 19, 2024
4dd9f62
Jira
gaspergrom Dec 19, 2024
bea0d97
Gerrit fixed
gaspergrom Dec 19, 2024
ffc63fb
Github fixes
gaspergrom Dec 19, 2024
3655533
fix linked in integration
emlimlf Dec 19, 2024
a359fd3
Merge branch 'improvement/integration-overview-connect' of github.com…
emlimlf Dec 19, 2024
bb803ca
Gitlab fixes
gaspergrom Dec 19, 2024
147e7d3
Merge branch 'improvement/integration-overview-connect' of github.com…
gaspergrom Dec 19, 2024
c071ef8
Merge branch 'main' into improvement/integration-overview-connect
gaspergrom Dec 20, 2024
8496067
Fix lint
gaspergrom Dec 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,34 @@
<!-- </lf-button>-->
<lf-button type="secondary" @click="isConfluenceSettingsDrawerVisible = true">
<lf-icon name="link-simple" />
Connect
<slot>Connect</slot>
</lf-button>
</div>
<lf-confluence-settings-drawer
v-if="isConfluenceSettingsDrawerVisible"
v-model="isConfluenceSettingsDrawerVisible"
:integration="props.integration"
:segment-id="props.segmentId"
:grandparent-id="props.grandparentId"
/>
</template>

<script setup>
<script setup lang="ts">
import { defineProps, ref } from 'vue';
import LfIcon from '@/ui-kit/icon/Icon.vue';
import LfButton from '@/ui-kit/button/Button.vue';
import LfConfluenceSettingsDrawer from '@/config/integrations/confluence/components/confluence-settings-drawer.vue';

const props = defineProps({
integration: {
type: Object,
default: () => {},
},
});
const props = defineProps<{
integration: any,
segmentId: string,
grandparentId: string,
}>();

const isConfluenceSettingsDrawerVisible = ref(false);
</script>

<script>
<script lang="ts">
export default {
name: 'LfConfluenceConnect',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,28 @@
v-if="isConfluenceSettingsDrawerVisible"
v-model="isConfluenceSettingsDrawerVisible"
:integration="props.integration"
:segment-id="props.segmentId"
:grandparent-id="props.grandparentId"
/>
</template>

<script setup>
<script setup lang="ts">
import { defineProps, ref } from 'vue';
import LfDropdownItem from '@/ui-kit/dropdown/DropdownItem.vue';
import LfIcon from '@/ui-kit/icon/Icon.vue';
import LfConfluenceSettingsDrawer from '@/config/integrations/confluence/components/confluence-settings-drawer.vue';

const props = defineProps({
integration: {
type: Object,
default: () => {},
},
});
const props = defineProps<{
integration: any,
segmentId: string,
grandparentId: string,
}>();

const isConfluenceSettingsDrawerVisible = ref(false);
// const isDetailsModalOpen = ref(false);
</script>

<script>
<script lang="ts">
export default {
name: 'AppGitConnect',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,14 @@ const props = defineProps({
type: Boolean,
default: false,
},
segmentId: {
type: String,
required: true,
},
grandparentId: {
type: String,
required: true,
},
});

const { trackEvent } = useProductTracking();
Expand Down Expand Up @@ -149,6 +157,8 @@ const connect = async () => {
space: form.space,
},
isUpdate,
segmentId: props.segmentId,
grandparentId: props.grandparentId,
})
.then(() => {
trackEvent({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@
</app-drawer>
</template>

<script setup>
<script setup lang="ts">
import {
ref,
reactive,
Expand All @@ -211,16 +211,12 @@ const { doDevtoConnect } = mapActions('integration');

const { trackEvent } = useProductTracking();

const props = defineProps({
integration: {
type: Object,
default: null,
},
modelValue: {
type: Boolean,
default: false,
},
});
const props = defineProps<{
integration: any;
modelValue: boolean;
segmentId: string;
grandparentId: string;
}>();

const logoUrl = ref(CrowdIntegrations.getConfig('devto').image);
const users = ref([]);
Expand Down Expand Up @@ -424,6 +420,8 @@ const save = async () => {
users: relevantUsers.map((u) => u.username),
organizations: relevantOrganizations.map((o) => o.username),
apiKey: form.apiKey,
segmentId: props.segmentId,
grandparentId: props.grandparentId,
});

const isUpdate = !!props.integration?.settings;
Expand Down Expand Up @@ -495,7 +493,7 @@ const isVisible = computed({
onMounted(syncData);
</script>

<script>
<script lang="ts">
export default {
name: 'LfDevtoConnectDrawer',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,34 @@
<!-- </lf-button>-->
<lf-button type="secondary" @click="isDevtoConnectDrawerVisible = true">
<lf-icon name="link-simple" />
Connect
<slot>Connect</slot>
</lf-button>
</div>
<lf-devto-connect-drawer
v-if="isDevtoConnectDrawerVisible"
v-model="isDevtoConnectDrawerVisible"
:integration="props.integration"
:segment-id="props.segmentId"
:grandparent-id="props.grandparentId"
/>
</template>

<script setup>
<script setup lang="ts">
import { defineProps, ref } from 'vue';
import LfIcon from '@/ui-kit/icon/Icon.vue';
import LfButton from '@/ui-kit/button/Button.vue';
import LfDevtoConnectDrawer from '@/config/integrations/devto/components/devto-connect-drawer.vue';

const props = defineProps({
integration: {
type: Object,
default: () => {},
},
});
const props = defineProps<{
integration: any,
segmentId: string | null;
grandparentId: string | null;
}>();

const isDevtoConnectDrawerVisible = ref(false);
</script>

<script>
<script lang="ts">
export default {
name: 'AppDevtoConnect',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<!-- </lf-button>-->
<lf-button type="secondary" @click="connect()">
<lf-icon name="link-simple" />
Connect
<slot>Connect</slot>
</lf-button>
</div>
</template>

<script setup>
<script setup lang="ts">
import { computed, onMounted } from 'vue';
import config from '@/config';
import LfIcon from '@/ui-kit/icon/Icon.vue';
Expand All @@ -22,12 +22,20 @@ import { mapActions } from '@/shared/vuex/vuex.helpers';
import { useRoute } from 'vue-router';

const route = useRoute();
const props = defineProps<{
segmentId: string | null;
grandparentId: string | null;
}>();

const { doDiscordConnect } = mapActions('integration');

const connectUrl = computed(() => config.discordInstallationUrl);

const connect = () => {
if (props.grandparentId && props.segmentId) {
localStorage.setItem('segmentId', props.segmentId);
localStorage.setItem('segmentGrandparentId', props.grandparentId);
}
Comment on lines +35 to +38
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Consider security implications of storing IDs in localStorage

Storing sensitive IDs in localStorage could pose security risks. Consider:

  1. Using more secure storage methods like sessionStorage
  2. Encrypting the data before storage
  3. Adding expiration mechanism

window.open(connectUrl.value, '_self');
};

Expand Down Expand Up @@ -56,7 +64,7 @@ onMounted(() => {
});
</script>

<script>
<script lang="ts">
export default {
name: 'LfDiscordConnect',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,34 @@
<!-- </lf-button>-->
<lf-button type="secondary" @click="isDiscourseConnectDrawerOpen = true">
<lf-icon name="link-simple" />
Connect
<slot>Connect</slot>
</lf-button>
</div>
<lf-discourse-settings-drawer
v-if="isDiscourseConnectDrawerOpen"
v-model="isDiscourseConnectDrawerOpen"
:integration="props.integration"
:segment-id="props.segmentId"
:grandparent-id="props.grandparentId"
/>
</template>

<script setup>
<script setup lang="ts">
import { defineProps, ref } from 'vue';
import LfDiscourseSettingsDrawer from '@/config/integrations/discourse/components/discourse-settings-drawer.vue';
import LfIcon from '@/ui-kit/icon/Icon.vue';
import LfButton from '@/ui-kit/button/Button.vue';

const props = defineProps({
integration: {
type: Object,
default: () => {},
},
});
const props = defineProps<{
integration: any,
segmentId: string | null;
grandparentId: string | null;
}>();

const isDiscourseConnectDrawerOpen = ref(false);
</script>

<script>
<script lang="ts">
export default {
name: 'AppDiscourseConnect',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,27 @@
v-if="isDiscourseConnectDrawerOpen"
v-model="isDiscourseConnectDrawerOpen"
:integration="props.integration"
:segment-id="props.segmentId"
:grandparent-id="props.grandparentId"
/>
</template>

<script setup>
<script setup lang="ts">
import { defineProps, ref } from 'vue';
import LfDropdownItem from '@/ui-kit/dropdown/DropdownItem.vue';
import LfIcon from '@/ui-kit/icon/Icon.vue';
import LfDiscourseSettingsDrawer from '@/config/integrations/discourse/components/discourse-settings-drawer.vue';

const props = defineProps({
integration: {
type: Object,
default: () => {},
},
});
const props = defineProps<{
integration: any,
segmentId: string | null;
grandparentId: string | null;
}>();

const isDiscourseConnectDrawerOpen = ref(false);
</script>

<script>
<script lang="ts">
export default {
name: 'LfDiscourseDropdown',
};
Expand Down
Loading
Loading