refactor: rename links module to forum

The links module already implements a reddit-style link aggregator
(NIP-72 communities + kind 1111 + voting). Renaming to forum aligns
the module name with its purpose ahead of extracting it as a
standalone PWA at forum.${domain}.

This is a pure rename — no behavior changes. Affects:
- src/modules/links → src/modules/forum (git mv)
- linksModule export → forumModule
- appConfig.modules.links → appConfig.modules.forum
- log/event source strings: 'links' → 'forum'

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-02 08:52:37 +02:00
commit af338016c6
19 changed files with 19 additions and 19 deletions

View file

@ -32,7 +32,7 @@ export const appConfig: AppConfig = {
},
'nostr-feed': {
name: 'nostr-feed',
enabled: false, // Disabled - replaced by links module
enabled: false, // Disabled - replaced by forum module
lazy: false,
config: {
refreshInterval: 30000,
@ -41,8 +41,8 @@ export const appConfig: AppConfig = {
feedTypes: ['announcements', 'general']
}
},
links: {
name: 'links',
forum: {
name: 'forum',
enabled: true,
lazy: false,
config: {

View file

@ -17,7 +17,7 @@ import activitiesModule from './modules/activities'
import marketModule from './modules/market'
import walletModule from './modules/wallet'
import expensesModule from './modules/expenses'
import linksModule from './modules/links'
import forumModule from './modules/forum'
import tasksModule from './modules/tasks'
// Root component
@ -48,7 +48,7 @@ export async function createAppInstance() {
...marketModule.routes || [],
...walletModule.routes || [],
...expensesModule.routes || [],
...linksModule.routes || [],
...forumModule.routes || [],
...tasksModule.routes || []
].filter(Boolean)
@ -141,10 +141,10 @@ export async function createAppInstance() {
)
}
// Register links module
if (appConfig.modules.links?.enabled) {
// Register forum module
if (appConfig.modules.forum?.enabled) {
moduleRegistrations.push(
pluginManager.register(linksModule, appConfig.modules.links)
pluginManager.register(forumModule, appConfig.modules.forum)
)
}

View file

@ -7,8 +7,8 @@ import { LinkPreviewService } from './services/LinkPreviewService'
import SubmissionList from './components/SubmissionList.vue'
import SubmitComposer from './components/SubmitComposer.vue'
export const linksModule: ModulePlugin = {
name: 'links',
export const forumModule: ModulePlugin = {
name: 'forum',
version: '1.0.0',
dependencies: ['base'],
@ -40,16 +40,16 @@ export const linksModule: ModulePlugin = {
],
async install(app: App) {
console.log('links module: Starting installation...')
console.log('forum module: Starting installation...')
const submissionService = new SubmissionService()
const linkPreviewService = new LinkPreviewService()
container.provide(SERVICE_TOKENS.SUBMISSION_SERVICE, submissionService)
container.provide(SERVICE_TOKENS.LINK_PREVIEW_SERVICE, linkPreviewService)
console.log('links module: Services registered in DI container')
console.log('forum module: Services registered in DI container')
console.log('links module: Initializing services...')
console.log('forum module: Initializing services...')
await Promise.all([
submissionService.initialize({
waitForDependencies: true,
@ -60,10 +60,10 @@ export const linksModule: ModulePlugin = {
maxRetries: 3
})
])
console.log('links module: Services initialized')
console.log('forum module: Services initialized')
app.component('SubmissionList', SubmissionList)
console.log('links module: Installation complete')
console.log('forum module: Installation complete')
},
components: {
@ -74,4 +74,4 @@ export const linksModule: ModulePlugin = {
composables: {}
}
export default linksModule
export default forumModule

View file

@ -369,7 +369,7 @@ export class SubmissionService extends BaseService {
this._submissions.set(submission.id, submissionWithMeta)
// Emit event
eventBus.emit('submission:new', { submission: submissionWithMeta }, 'links')
eventBus.emit('submission:new', { submission: submissionWithMeta }, 'forum')
}
/**

View file

@ -74,9 +74,9 @@ import { Button } from '@/components/ui/button'
import { Plus } from 'lucide-vue-next'
import * as LucideIcons from 'lucide-vue-next'
import PWAInstallPrompt from '@/components/pwa/PWAInstallPrompt.vue'
import SubmissionList from '@/modules/links/components/SubmissionList.vue'
import SubmissionList from '@/modules/forum/components/SubmissionList.vue'
import { useQuickActions } from '@/composables/useQuickActions'
import type { SubmissionWithMeta } from '@/modules/links/types/submission'
import type { SubmissionWithMeta } from '@/modules/forum/types/submission'
import type { QuickAction } from '@/core/types'
const router = useRouter()